Merge branch 'ks/tree-diff-walk'
* ks/tree-diff-walk: tree-walk: finally switch over tree descriptors to contain a pre-parsed entry revision: convert to using diff_tree_sha1() line-log: convert to using diff_tree_sha1() tree-diff: convert diff_root_tree_sha1() to just call diff_tree_sha1 with old=NULL tree-diff: allow diff_tree_sha1 to accept NULL sha1
This commit is contained in:
12
revision.c
12
revision.c
@ -497,24 +497,14 @@ static int rev_compare_tree(struct rev_info *revs,
|
||||
static int rev_same_tree_as_empty(struct rev_info *revs, struct commit *commit)
|
||||
{
|
||||
int retval;
|
||||
void *tree;
|
||||
unsigned long size;
|
||||
struct tree_desc empty, real;
|
||||
struct tree *t1 = commit->tree;
|
||||
|
||||
if (!t1)
|
||||
return 0;
|
||||
|
||||
tree = read_object_with_reference(t1->object.sha1, tree_type, &size, NULL);
|
||||
if (!tree)
|
||||
return 0;
|
||||
init_tree_desc(&real, tree, size);
|
||||
init_tree_desc(&empty, "", 0);
|
||||
|
||||
tree_difference = REV_TREE_SAME;
|
||||
DIFF_OPT_CLR(&revs->pruning, HAS_CHANGES);
|
||||
retval = diff_tree(&empty, &real, "", &revs->pruning);
|
||||
free(tree);
|
||||
retval = diff_tree_sha1(NULL, t1->object.sha1, "", &revs->pruning);
|
||||
|
||||
return retval >= 0 && (tree_difference == REV_TREE_SAME);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user