revision.c: explain what tree_difference does
This explains how tree_difference variable is used, and updates two places where the code knows symbolic constant REV_TREE_SAME is 0. Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
822cac0155
commit
0a4ba7f8c6
11
revision.c
11
revision.c
@ -213,6 +213,13 @@ static int everybody_uninteresting(struct commit_list *orig)
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The goal is to get REV_TREE_NEW as the result only if the
|
||||||
|
* diff consists of all '+' (and no other changes), and
|
||||||
|
* REV_TREE_DIFFERENT otherwise (of course if the trees are
|
||||||
|
* the same we want REV_TREE_SAME). That means that once we
|
||||||
|
* get to REV_TREE_DIFFERENT, we do not have to look any further.
|
||||||
|
*/
|
||||||
static int tree_difference = REV_TREE_SAME;
|
static int tree_difference = REV_TREE_SAME;
|
||||||
|
|
||||||
static void file_add_remove(struct diff_options *options,
|
static void file_add_remove(struct diff_options *options,
|
||||||
@ -277,11 +284,11 @@ int rev_same_tree_as_empty(struct rev_info *revs, struct tree *t1)
|
|||||||
empty.buf = "";
|
empty.buf = "";
|
||||||
empty.size = 0;
|
empty.size = 0;
|
||||||
|
|
||||||
tree_difference = 0;
|
tree_difference = REV_TREE_SAME;
|
||||||
retval = diff_tree(&empty, &real, "", &revs->pruning);
|
retval = diff_tree(&empty, &real, "", &revs->pruning);
|
||||||
free(tree);
|
free(tree);
|
||||||
|
|
||||||
return retval >= 0 && !tree_difference;
|
return retval >= 0 && (tree_difference == REV_TREE_SAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void try_to_simplify_commit(struct rev_info *revs, struct commit *commit)
|
static void try_to_simplify_commit(struct rev_info *revs, struct commit *commit)
|
||||||
|
Loading…
Reference in New Issue
Block a user