Merge branch 'jc/empty' into next
authorJunio C Hamano <junkio@cox.net>
Mon, 13 Mar 2006 01:27:23 +0000 (17:27 -0800)
committerJunio C Hamano <junkio@cox.net>
Mon, 13 Mar 2006 01:27:23 +0000 (17:27 -0800)
* jc/empty:
  revision traversal: --remove-empty fix (take #2).

revision.c

index 38a8d1b..12cd052 100644 (file)
@@ -313,12 +313,16 @@ static void try_to_simplify_commit(struct rev_info *revs, struct commit *commit)
                case REV_TREE_NEW:
                        if (revs->remove_empty_trees &&
                            rev_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 REV_TREE_DIFFERENT: