DORMANTno replies

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

From: Yann Dirson <hidden>
Date: 2016-06-15 22:49:51
Subsystem: the rest · Maintainer: Linus Torvalds

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 <redacted>
---
 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help