From 8c3222079a9aca6622c6098a9157e59dddb1cfff Mon Sep 17 00:00:00 2001 From: Mark Wooding Date: Sun, 12 Mar 2006 14:00:30 +0000 Subject: [PATCH 1/2] annotate-tests: override VISUAL when running tests. The tests hang for me waiting for Emacs with its output directed somewhere strage, because I hedged my bets and set both EDITOR and VISUAL to run Emacs. Signed-off-by: Mark Wooding Signed-off-by: Junio C Hamano --- t/annotate-tests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/t/annotate-tests.sh b/t/annotate-tests.sh index 9c5a15a15e..114938c3ff 100644 --- a/t/annotate-tests.sh +++ b/t/annotate-tests.sh @@ -94,7 +94,7 @@ test_expect_success \ test_expect_success \ 'merge-setup part 4' \ 'echo "evil merge." >>file && - EDITOR=: git commit -a --amend' + EDITOR=: VISUAL=: git commit -a --amend' test_expect_success \ 'Two lines blamed on A, one on B, two on B1, one on B2, one on A U Thor' \ From a41e109c4bcd56537fc3801623b1aa0dd4e06f1c Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Sun, 12 Mar 2006 13:39:31 -0800 Subject: [PATCH 2/2] revision traversal: --remove-empty fix. Marco Costalba reports that --remove-empty omits the commit that created paths we are interested in. try_to_simplify_commit() logic was dropping a parent we introduced those paths against, which I think is not what we meant. Instead, this marks such parent uninteresting. The traversal does not go beyond that parent as advertised, but we still say that the current commit changed things from that parent. Signed-off-by: Junio C Hamano --- revision.c | 11 ++++++++--- 1 file 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: