Jonathan Nieder <jrnieder@xxxxxxxxx> writes: > Johannes Schindelin wrote: >> On Fri, 27 Dec 2013, Jonathan Nieder wrote: > >>> Is this easy to reproduce so some interested but lazy person could >>> write a test? >> >> Yep. Make 25 orphan commits, add a graft line to make the first a merge of >> the rest. > > Thanks. Here's a pair of tests doing that. > > Signed-off-by: Jonathan Nieder <jrnieder@xxxxxxxxx> > --- > t/annotate-tests.sh | 21 +++++++++++++++++++++ > t/t6101-rev-parse-parents.sh | 16 +++++++++++++++- > 2 files changed, 36 insertions(+), 1 deletion(-) Makes sense. Thanks, both. Small lint-picking like this change to perfect the system, as opposed to earth-shattering new shinies, tend to often get neglected but are very much appreciated. > diff --git a/t/annotate-tests.sh b/t/annotate-tests.sh > index c9d105d..304c7b7 100644 > --- a/t/annotate-tests.sh > +++ b/t/annotate-tests.sh > @@ -116,6 +116,27 @@ test_expect_success 'blame evil merge' ' > check_count A 2 B 1 B1 2 B2 1 "A U Thor" 1 > ' > > +test_expect_success 'blame huge graft' ' > + test_when_finished "git checkout branch2" && > + test_when_finished "rm -f .git/info/grafts" && > + graft= && > + for i in 0 1 2 > + do > + for j in 0 1 2 3 4 5 6 7 8 9 > + do > + git checkout --orphan "$i$j" && > + printf "%s\n" "$i" "$j" >file && > + test_tick && > + GIT_AUTHOR_NAME=$i$j GIT_AUTHOR_EMAIL=$i$j@xxxxxxxx \ > + git commit -a -m "$i$j" && > + commit=$(git rev-parse --verify HEAD) && > + graft="$graft$commit " > + done > + done && > + printf "%s " $graft >.git/info/grafts && > + check_count -h 00 01 1 10 1 > +' > + > test_expect_success 'setup incomplete line' ' > echo "incomplete" | tr -d "\\012" >>file && > GIT_AUTHOR_NAME="C" GIT_AUTHOR_EMAIL="C@xxxxxxxx" \ > diff --git a/t/t6101-rev-parse-parents.sh b/t/t6101-rev-parse-parents.sh > index 7ea14ce..10b1452 100755 > --- a/t/t6101-rev-parse-parents.sh > +++ b/t/t6101-rev-parse-parents.sh > @@ -20,7 +20,17 @@ test_expect_success 'setup' ' > test_commit start2 && > git checkout master && > git merge -m next start2 && > - test_commit final > + test_commit final && > + > + test_seq 40 | > + while read i > + do > + git checkout --orphan "b$i" && > + test_tick && > + git commit --allow-empty -m "$i" && > + commit=$(git rev-parse --verify HEAD) && > + printf "$commit " >>.git/info/grafts > + done > ' > > test_expect_success 'start is valid' ' > @@ -79,6 +89,10 @@ test_expect_success 'final^1^! = final^1 ^final^1^1 ^final^1^2' ' > test_cmp expect actual > ' > > +test_expect_success 'large graft octopus' ' > + test_cmp_rev_output b31 "git rev-parse --verify b1^30" > +' > + > test_expect_success 'repack for next test' ' > git repack -a -d > ' > -- > 1.8.5.1 > > -- -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html