Merge branch 'jc/empty'
authorJunio C Hamano <junkio@cox.net>
Sat, 18 Mar 2006 08:43:47 +0000 (00:43 -0800)
committerJunio C Hamano <junkio@cox.net>
Sat, 18 Mar 2006 08:43:47 +0000 (00:43 -0800)
* jc/empty:
  revision traversal: --remove-empty fix (take #2).
  revision traversal: --remove-empty fix.

Conflicts:

revision.c (adjust for the updates by Fredrik)

1  2 
revision.c

diff --cc revision.c
@@@ -310,14 -314,22 +310,22 @@@ static void try_to_simplify_commit(stru
                        commit->parents = parent;
                        return;
  
 -              case TREE_NEW:
 +              case REV_TREE_NEW:
                        if (revs->remove_empty_trees &&
 -                          same_tree_as_empty(p->tree)) {
 +                          rev_same_tree_as_empty(p->tree)) {
-                               *pp = parent->next;
-                               continue;
+                               /* 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.
+                                */
+                               parse_commit(p);
+                               p->parents = NULL;
                        }
                /* fallthrough */
 -              case TREE_DIFFERENT:
 +              case REV_TREE_DIFFERENT:
                        tree_changed = 1;
                        pp = &parent->next;
                        continue;