mirror of
https://github.com/git/git.git
synced 2024-12-18 06:14:59 +08:00
revision traversal: --remove-empty fix (take #2).
Marco Costalba reports that --remove-empty omits the commit that created paths we are interested in. try_to_simplify_commit() logic was dropping a parent we introduced those paths against, which I think is not what we meant. Instead, this makes such parent parentless. Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
a41e109c4b
commit
c348f31ab9
14
revision.c
14
revision.c
@ -317,12 +317,16 @@ static void try_to_simplify_commit(struct rev_info *revs, struct commit *commit)
|
||||
case TREE_NEW:
|
||||
if (revs->remove_empty_trees &&
|
||||
same_tree_as_empty(p->tree)) {
|
||||
/* We are adding all the specified paths from
|
||||
* this parent, so the parents of it is
|
||||
* not interesting, but the difference between
|
||||
* this parent and us still is interesting.
|
||||
/* We are adding all the specified
|
||||
* paths from this parent, so the
|
||||
* history beyond this parent is not
|
||||
* interesting. Remove its parents
|
||||
* (they are grandparents for us).
|
||||
* IOW, we pretend this parent is a
|
||||
* "root" commit.
|
||||
*/
|
||||
p->object.flags |= UNINTERESTING;
|
||||
parse_commit(p);
|
||||
p->parents = NULL;
|
||||
}
|
||||
/* fallthrough */
|
||||
case TREE_DIFFERENT:
|
||||
|
Loading…
Reference in New Issue
Block a user