From: Junio C Hamano Date: Mon, 13 Mar 2006 01:27:23 +0000 (-0800) Subject: Merge branch 'jc/empty' into next X-Git-Tag: v1.3.0-rc1~33 X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=a7e71bb4898223b0be41e44f52f382c884404434;p=git.git Merge branch 'jc/empty' into next * jc/empty: revision traversal: --remove-empty fix (take #2). --- a7e71bb4898223b0be41e44f52f382c884404434 diff --cc revision.c index 38a8d1b9,73fba5d3..12cd0529 --- a/revision.c +++ b/revision.c @@@ -310,18 -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)) { - /* 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: + case REV_TREE_DIFFERENT: tree_changed = 1; pp = &parent->next; continue;