[PATCH] Add a test for "git rebase" with a From_ line in the commit message

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This test ensures that all tools underlying "git rebase", (such as
"git format-patch" and "git am"), collectively agree on a robust
escaping mechanism for a line in the commit message that looks like
an mbox separator.

Specifically, the problematic line begins with "From " and ends with a
timestamp in the form returned by the asctime function.

Signed-off-by: Carl Worth <cworth@xxxxxxxxxx>
---

This test fails with git from origin/master but passes with my current
series of patches to implement mboxrd format in both format-patch and
mailsplit. This would also be a useful test even if some other robust
format were chosen other than mboxrd.

 t/t3418-rebase-From_.sh |   38 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 38 insertions(+), 0 deletions(-)
 create mode 100755 t/t3418-rebase-From_.sh

diff --git a/t/t3418-rebase-From_.sh b/t/t3418-rebase-From_.sh
new file mode 100755
index 0000000..c809fda
--- /dev/null
+++ b/t/t3418-rebase-From_.sh
@@ -0,0 +1,38 @@
+#!/bin/sh
+#
+# Copyright (c) 2010 Carl Worth
+#
+
+test_description='git rebase with a commit with a From_ line in it
+
+This test ensures that git rebase will not get confused by a commit
+that contains a line in the commit message that looks like a mbox
+separator (begins with "From " and ends with an asctime-like timestamp)
+'
+. ./test-lib.sh
+
+cat >msg <<EOF
+From_-line commit
+
+This crafty commit message contains a line that looks an awful lot
+like an mbox separator. This kind of thing has been known to happen,
+(often accidentally), but git rebase should still support it.
+
+Here's the tricky line:
+
+From 74df72aec0b959c3015f4d7f213453217cb21aed Mon Sep 17 00:00:00 2001
+
+EOF
+test_expect_success 'setup' '
+	test_commit A &&
+	test_commit B &&
+	echo "hello world" > file &&
+	git add file &&
+	git commit -F msg
+'
+
+test_expect_success 'git rebase replaying a commit with a From_ line' '
+	git rebase --onto A B
+'
+
+test_done
-- 
1.7.1.249.g74df7

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]