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

[PATCH] rebase-autosquash: add testcase for fixup occuring before its fixed commit.

From
Yann Dirson <ydirson@altern.org>
Date
Oct 23, 2010, 13:33 UTC
Message-ID
<1287840813-6454-1-git-send-email-ydirson@altern.org>

Can easily occur when one has started splitting a patch in two, and subsequently wants to migrate more contents from the bottom patch to the top one: extracting a fixup using an interactive rebase, committing it between the two.

Currently, the generated instructions do add the "fixup" directive at the correct place, but the "pick" is also left where it was, making the "fixup" a noop.

Signed-off-by: Yann Dirson <ydirson@altern.org>
---
 t/t3415-rebase-autosquash.sh |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)
diff --git a/t/t3415-rebase-autosquash.sh b/t/t3415-rebase-autosquash.sh
index fd2184c..226394d 100755
--- a/t/t3415-rebase-autosquash.sh
+++ b/t/t3415-rebase-autosquash.sh
@@ -50,6 +50,31 @@ test_expect_success 'auto fixup (config)' '
 	test_must_fail test_auto_fixup final-fixup-config-false
 '
 
+test_auto_fixup_reversed() {
+	git reset --hard base &&
+
+	echo 3 >file1 &&
+	git add -u &&
+	test_tick &&
+	git commit -m "fixup! first" &&
+
+	echo 3 >file2 &&
+	git add -u &&
+	test_tick &&
+	git commit -m "first" &&
+
+	git tag $1 &&
+	test_tick &&
+	git rebase --autosquash -i base &&
+	git log --oneline base..HEAD >actual &&
+	test 1 = $(wc -l <actual) &&
+	git diff --exit-code $1
+}
+
+test_expect_failure 'auto reversed fixup (option)' '
+	test_auto_fixup_reversed final-revfixup-option
+'
+
 test_auto_squash() {
 	git reset --hard base &&
 	echo 1 >file1 &&
-- 
1.7.2.3
Message 1 of 1 in “rebase-autosquash: add testcase for fixup occuring before its fixed commit.”
  1. rebase-autosquash: add testcase for fixup occuring before its fixed commit.Yann Dirson, Oct 23, 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.