summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--revision.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/revision.c b/revision.c
index c8d93ff106..03085ffe9d 100644
--- a/revision.c
+++ b/revision.c
@@ -315,9 +315,14 @@ static void try_to_simplify_commit(struct rev_info *revs, struct commit *commit)
return;
case TREE_NEW:
- if (revs->remove_empty_trees && same_tree_as_empty(p->tree)) {
- *pp = parent->next;
- continue;
+ 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.
+ */
+ p->object.flags |= UNINTERESTING;
}
/* fallthrough */
case TREE_DIFFERENT: