diff options
author | Junio C Hamano <gitster@pobox.com> | 2013-03-28 14:38:25 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2013-03-28 14:38:25 -0700 |
commit | 74bd52681d7c57907bef129cdffb6cd0f2895115 (patch) | |
tree | c5c75b549a4cfd2c3804faaedb71534cb90e6576 | |
parent | Merge branch 'rr/tests-dedup-test-config' (diff) | |
parent | Fix revision walk for commits with the same dates (diff) | |
download | tgif-74bd52681d7c57907bef129cdffb6cd0f2895115.tar.xz |
Merge branch 'kk/revwalk-slop-too-many-commit-within-a-second'
Allow the revision "slop" code to look deeper while commits with
exactly the same timestamps come next to each other (which can
often happen after a large "am" and "rebase" session).
* kk/revwalk-slop-too-many-commit-within-a-second:
Fix revision walk for commits with the same dates
-rw-r--r-- | revision.c | 2 | ||||
-rwxr-xr-x | t/t6009-rev-list-parent.sh | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/revision.c b/revision.c index 78397d6486..71e62d8312 100644 --- a/revision.c +++ b/revision.c @@ -709,7 +709,7 @@ static int still_interesting(struct commit_list *src, unsigned long date, int sl * Does the destination list contain entries with a date * before the source list? Definitely _not_ done. */ - if (date < src->item->date) + if (date <= src->item->date) return SLOP; /* diff --git a/t/t6009-rev-list-parent.sh b/t/t6009-rev-list-parent.sh index 30507407ff..66cda17ef3 100755 --- a/t/t6009-rev-list-parent.sh +++ b/t/t6009-rev-list-parent.sh @@ -133,4 +133,17 @@ test_expect_success 'dodecapus' ' check_revlist "--min-parents=13" && check_revlist "--min-parents=4 --max-parents=11" tetrapus ' + +test_expect_success 'ancestors with the same commit time' ' + + test_tick_keep=$test_tick && + for i in 1 2 3 4 5 6 7 8; do + test_tick=$test_tick_keep + test_commit t$i + done && + git rev-list t1^! --not t$i >result && + >expect && + test_cmp expect result +' + test_done |