Make git-cherry handle root trees
authorRene Scharfe <rene.scharfe@lsrfire.ath.cx>
Thu, 26 Oct 2006 16:52:39 +0000 (18:52 +0200)
committerJunio C Hamano <junkio@cox.net>
Fri, 27 Oct 2006 01:31:17 +0000 (18:31 -0700)
commit2b60356da5369dd60ab26eabaa91d95b6badf209
treecbbdf8cbe6ef081f5e2d48c5d24d7fe283f443c4
parente827633a5d7d627eb1170b2d0c71e944d0d56faf
Make git-cherry handle root trees

This patch on top of 'next' makes built-in git-cherry handle root
commits.

It moves the static function log-tree.c::diff_root_tree() to
tree-diff.c and makes it more similar to diff_tree_sha1() by
shuffling around arguments and factoring out the call to
log_tree_diff_flush().  Consequently the name is changed to
diff_root_tree_sha1().  It is a version of diff_tree_sha1() that
compares the empty tree (= root tree) against a single 'real' tree.

This function is then used in get_patch_id() to compute patch IDs
for initial commits instead of SEGFAULTing, as the current code
does if confronted with parentless commits.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <junkio@cox.net>
builtin-log.c
diff.h
log-tree.c
tree-diff.c