From: Junio C Hamano Date: Thu, 28 Mar 2013 21:38:25 +0000 (-0700) Subject: Merge branch 'kk/revwalk-slop-too-many-commit-within-a-second' X-Git-Tag: v1.8.3-rc0~154 X-Git-Url: https://www.git.lorimer.id.au/gitweb.git/diff_plain/74bd52681d7c57907bef129cdffb6cd0f2895115?hp=4806c8c5cae6864f7a478be3b32b3aa354aaad66 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 --- 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