Re: [RFH] revision limiting sometimes ignored
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 3, 2008, 07:47 UTC
- Message-ID
- <7v4pcqzdkl.fsf@gitster.siamese.dyndns.org>
- In-Reply-To
- <7vbq6yzdvr.fsf@gitster.siamese.dyndns.org>
By the way, the issue does not have anything to do with merges.
This is the absolute minimum (and reliable) reproduction recipe. You need four commits. If you remove "commit three &&", the traversal will contaminate "one".
---
t/t6009-rev-list-parent.sh | 38 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 38 insertions(+), 0 deletions(-)
diff --git a/t/t6009-rev-list-parent.sh b/t/t6009-rev-list-parent.sh new file mode 100755 index 0000000..1da5dbb --- /dev/null +++ b/t/t6009-rev-list-parent.sh @@ -0,0 +1,38 @@ +#!/bin/sh + +test_description='properly cull all ancestors' + +. ./test-lib.sh + +commit () { + test_tick && + echo $1 >file && + git commit -a -m $1 && + git tag $1 +} + +test_expect_success setup ' + + touch file && + git add file && + + commit one && + + test_tick=$(($test_tick - 2400)) + + commit two && + commit three && + commit four && + + git log --pretty=oneline --abbrev-commit +' + +test_expect_failure 'one is ancestor of others and should not be shown' ' + + git rev-list one --not four >result && + >expect && + diff -u expect result + +' + +test_done