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

[RFC/PATCH 4/4] revert: add tests to check cherry-picking a range of commits

From
Christian Couder <chriscool@tuxfamily.org>
Date
May 29, 2010, 04:40 UTC
Message-ID
<20100529044044.569.79624.chriscool@tuxfamily.org>
In-Reply-To
<20100529043738.569.85482.chriscool@tuxfamily.org>
Signed-off-by: Christian Couder <chriscool@tuxfamily.org>
---
 t/t3508-cherry-pick-range.sh |   65 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 65 insertions(+), 0 deletions(-)
 create mode 100755 t/t3508-cherry-pick-range.sh
diff --git a/t/t3508-cherry-pick-range.sh b/t/t3508-cherry-pick-range.sh
new file mode 100755
index 0000000..d83b74b
--- /dev/null
+++ b/t/t3508-cherry-pick-range.sh
@@ -0,0 +1,65 @@
+#!/bin/sh
+
+test_description='test cherry-picking a range of commits'
+
+. ./test-lib.sh
+
+test_expect_success setup '
+	echo first > file1 &&
+	git add file1 &&
+	test_tick &&
+	git commit -m "first" &&
+	git tag first &&
+
+	git checkout -b other &&
+	for val in second third fourth
+	do
+		echo $val >> file1 &&
+		git add file1 &&
+		test_tick &&
+		git commit -m "$val" &&
+		git tag $val
+	done
+'
+
+test_expect_success 'cherry-pick first..fourth works' '
+	git checkout master &&
+	git reset --hard first &&
+	test_tick &&
+	git cherry-pick first..fourth &&
+	git diff --quiet other &&
+	git diff --quiet HEAD other &&
+	test "$(git rev-parse --verify HEAD)" != "$(git rev-parse --verify fourth)"
+'
+
+test_expect_success 'cherry-pick --ff first..fourth works' '
+	git checkout master &&
+	git reset --hard first &&
+	test_tick &&
+	git cherry-pick --ff first..fourth &&
+	git diff --quiet other &&
+	git diff --quiet HEAD other &&
+	test "$(git rev-parse --verify HEAD)" = "$(git rev-parse --verify fourth)"
+'
+
+test_expect_success 'cherry-pick -n first..fourth works' '
+	git checkout master &&
+	git reset --hard first &&
+	test_tick &&
+	git cherry-pick -n first..fourth &&
+	git diff --quiet other &&
+	git diff --cached --quiet other &&
+	git diff --quiet HEAD first
+'
+
+test_expect_success 'revert first..fourth works' '
+	git checkout master &&
+	git reset --hard fourth &&
+	test_tick &&
+	git revert first..fourth &&
+	git diff --quiet first &&
+	git diff --cached --quiet first &&
+	git diff --quiet HEAD first
+'
+
+test_done
-- 
1.7.1.346.g7c1d7.dirty
Previous: Christian CouderNext: Sverre Rabbelier
Message 13 of 15 in “implement "git cherry-pick A..B"”
  1. 0/4 implement "git cherry-pick A..B"Christian Couder, May 29, 2010
  2. 1/4 revert: use run_command_v_opt() instead of execv_git_cmd()Christian Couder, May 29, 2010
  3. 2/4 revert: refactor code into a do_pick_commit() functionChristian Couder, May 29, 2010
  4. Ramkumar RamachandraMay 30, 2010
  5. Jonathan NiederMay 30, 2010
  6. Christian CouderMay 30, 2010
  7. 3/4 revert: allow cherry-picking a range of commitsChristian Couder, May 29, 2010
  8. Junio C HamanoMay 29, 2010
  9. Christian CouderMay 30, 2010
  10. Johannes SchindelinMay 29, 2010
  11. Christian CouderMay 30, 2010
  12. Christian CouderJun 1, 2010
  13. 4/4 revert: add tests to check cherry-picking a range of commitsChristian Couder, May 29, 2010
  14. Sverre RabbelierMay 29, 2010
  15. Christian CouderMay 30, 2010

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.