This looks good to me.

On 04/02/2017 05:49 PM, Linus Torvalds wrote:

From: Linus Torvalds <torva...@linux-foundation.org>
Date: Sat, 1 Apr 2017 12:14:39 -0700
Subject: [PATCH] Fix 'git am' in-body header continuations

An empty line should stop any pending in-body headers, and start the
actual body parsing.

This also modifies the original test for the in-body headers to actually
have a real commit body that starts with spaces, and changes the test to
check that the long line matches _exactly_, and doesn't get extra data
from the body.

Fixes:6b4b013f1884 ("mailinfo: handle in-body header continuations")
Cc: Jonathan Tan <jonathanta...@google.com>
Cc: Jeff King <p...@peff.net>
Signed-off-by: Linus Torvalds <torva...@linux-foundation.org>
---
diff --git a/t/t4150-am.sh b/t/t4150-am.sh
index 89a5bacac..44807e218 100755
--- a/t/t4150-am.sh
+++ b/t/t4150-am.sh
@@ -983,7 +983,9 @@ test_expect_success 'am works with multi-line in-body 
headers' '
        rm -fr .git/rebase-apply &&
        git checkout -f first &&
        echo one >> file &&
-       git commit -am "$LONG" --author="$LONG <l...@example.com>" &&
+       git commit -am "$LONG
+
+    Body test" --author="$LONG <l...@example.com>" &&

Instead of "Body test", I would write something more descriptive like "Not a continuation line because of blank line above", but I'm fine with either.

        git format-patch --stdout -1 >patch &&
        # bump from, date, and subject down to in-body header
        perl -lpe "
@@ -997,7 +999,7 @@ test_expect_success 'am works with multi-line in-body 
headers' '
        git am msg &&
        # Ensure that the author and full message are present
        git cat-file commit HEAD | grep "^author.*l...@example.com" &&
-       git cat-file commit HEAD | grep "^$LONG"
+       git cat-file commit HEAD | grep "^$LONG$"
 '

 test_done

Reply via email to