From: Junio C Hamano Date: Mon, 27 Jan 2014 18:44:09 +0000 (-0800) Subject: Merge branch 'jc/revision-range-unpeel' X-Git-Tag: v1.9-rc1~20 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=63763273de8cc7c928d4e8bae4795f84c9deabd4;p=git Merge branch 'jc/revision-range-unpeel' "git log --left-right A...B" lost the "leftness" of commits reachable from A when A is a tag as a side effect of a recent bugfix. This is a regression in 1.8.4.x series. * jc/revision-range-unpeel: revision: propagate flag bits from tags to pointees revision: mark contents of an uninteresting tree uninteresting --- 63763273de8cc7c928d4e8bae4795f84c9deabd4 diff --cc revision.c index a68fde6e95,aec03332ca..a0df72f32c --- a/revision.c +++ b/revision.c @@@ -139,9 -128,23 +134,21 @@@ static void mark_tree_contents_unintere * We don't care about the tree any more * after it has been marked uninteresting. */ - free(tree->buffer); - tree->buffer = NULL; - tree->object.parsed = 0; + free_tree_buffer(tree); } + void mark_tree_uninteresting(struct tree *tree) + { + struct object *obj = &tree->object; + + if (!tree) + return; + if (obj->flags & UNINTERESTING) + return; + obj->flags |= UNINTERESTING; + mark_tree_contents_uninteresting(tree); + } + void mark_parents_uninteresting(struct commit *commit) { struct commit_list *parents = NULL, *l;