Subject: [PATCH/RFC] t3404: test autosquash for fixup! commits with funny messages

From: Uwe Storbeck <[email-masked]>
Date: Sat, 15 Mar 2014 00:58:11 +0100

This commit adds a test to verify the correct behavior when
rebase -i is used to autosquash fixup! commits where the commit
message contains a backslash sequence (\n).

When echo is used instead of printf to handle such a commit
message the test will fail on shells (e.g. dash) where the echo
command interprets backslash sequences as control characters.

Signed-off-by: Uwe Storbeck <[email-masked]>
---
 t/t3404-rebase-interactive.sh | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
index 50e22b1..6d32661 100755
--- a/t/t3404-rebase-interactive.sh
+++ b/t/t3404-rebase-interactive.sh
@@ -798,6 +798,18 @@ test_expect_success 'rebase-i history with funny messages' '
 	test_cmp expect actual
 '
 
+test_expect_success 'autosquash fixup! commits with funny messages' '
+	test_when_finished "git rebase --abort || :" &&
+	echo >>file1 &&
+	git commit -a -m "something that looks like a newline (\n)" &&
+	echo >>file1 &&
+	git commit -a --fixup HEAD &&
+	set_fake_editor &&
+	FAKE_LINES="" &&
+	export FAKE_LINES &&
+	git rebase -i --autosquash HEAD~2
+'
+
 
 test_expect_success 'prepare for rebase -i --exec' '
 	git checkout master &&
-- 
1.9.0