git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 09/13] Add new test to ensure git-merge handles more than 25 refs.

From
Miklos Vajna <vmiklos@frugalware.org>
Date
Jun 21, 2008, 17:00 UTC
Message-ID
<0b7ea424b3d5ea18a5a8660c6aead51adcc6a40f.1214066799.git.vmiklos@frugalware.org>
In-Reply-To
<cover.1214066798.git.vmiklos@frugalware.org>

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>
---
 t/t7602-merge-octopus-many.sh |   52 +++++++++++++++++++++++++++++++++++++++++
 1 files changed, 52 insertions(+), 0 deletions(-)
 create mode 100755 t/t7602-merge-octopus-many.sh
diff --git a/t/t7602-merge-octopus-many.sh b/t/t7602-merge-octopus-many.sh
new file mode 100755
index 0000000..fcb8285
--- /dev/null
+++ b/t/t7602-merge-octopus-many.sh
@@ -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_success '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
-- 
1.5.6
Previous: Miklos VajnaNext: Miklos Vajna
Message 2 of 15 in “Build in merge”
  1. 00/13 Build in mergeMiklos Vajna, Jun 21, 2008
  2. 09/13 Add new test to ensure git-merge handles more than 25 refs.Miklos Vajna, Jun 21, 2008
  3. 10/13 Introduce get_merge_bases_many()Miklos Vajna, Jun 21, 2008
  4. 11/13 Introduce reduce_heads()Miklos Vajna, Jun 21, 2008
  5. 12/13 Build in mergeMiklos Vajna, Jun 21, 2008
  6. 13/13 Add new test case to ensure git-merge filters for independent parentsMiklos Vajna, Jun 21, 2008
  7. 13/13 Add new test case to ensure git-merge reduces octopus parents when possibleMiklos Vajna, Jun 21, 2008
  8. Olivier MarinJun 25, 2008
  9. Miklos VajnaJun 27, 2008
  10. Olivier MarinJun 27, 2008
  11. Miklos VajnaJun 27, 2008
  12. Olivier MarinJun 27, 2008
  13. Miklos VajnaJun 27, 2008
  14. Johannes SchindelinJun 27, 2008
  15. Miklos VajnaJun 27, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.