Skip to content

Commit

Permalink
Add new test to ensure git-merge handles more than 25 refs.
Browse files Browse the repository at this point in the history
The old shell version handled only 25 refs but we no longer have this
limitation. Add a test to make sure this limitation will not be
introduced again in the future.

Signed-off-by: Miklos Vajna <vmiklos@frugalware.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
Miklos Vajna authored and Junio C Hamano committed Jul 1, 2008
1 parent 5240c9d commit 5948e2a
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions t/t7602-merge-octopus-many.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
#!/bin/sh

test_description='git-merge
Testing octopus merge with more than 25 refs.'

. ./test-lib.sh

test_expect_success 'setup' '
echo c0 > c0.c &&
git add c0.c &&
git commit -m c0 &&
git tag c0 &&
i=1 &&
while test $i -le 30
do
git reset --hard c0 &&
echo c$i > c$i.c &&
git add c$i.c &&
git commit -m c$i &&
git tag c$i &&
i=`expr $i + 1` || return 1
done
'

test_expect_failure 'merge c1 with c2, c3, c4, ... c29' '
git reset --hard c1 &&
i=2 &&
refs="" &&
while test $i -le 30
do
refs="$refs c$i"
i=`expr $i + 1`
done
git merge $refs &&
test "$(git rev-parse c1)" != "$(git rev-parse HEAD)" &&
i=1 &&
while test $i -le 30
do
test "$(git rev-parse c$i)" = "$(git rev-parse HEAD^$i)" &&
i=`expr $i + 1` || return 1
done &&
git diff --exit-code &&
i=1 &&
while test $i -le 30
do
test -f c$i.c &&
i=`expr $i + 1` || return 1
done
'

test_done

0 comments on commit 5948e2a

Please sign in to comment.