aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael J Gruber <git@drmicha.warpmail.net>2011-02-17 08:44:42 +0100
committerJunio C Hamano <gitster@pobox.com>2011-02-17 11:56:50 -0800
commit2485eab55cc0dcab34311ecd0ac52038aa9d9db4 (patch)
tree54117a9f94e1cc0c8d2f3dbbd90bc79fd9dd5d7e
parentf2b5e7af10a2d51ce300a958c32d26ec0cf6f678 (diff)
downloadgit-2485eab55cc0dcab34311ecd0ac52038aa9d9db4.tar.gz
git-2485eab55cc0dcab34311ecd0ac52038aa9d9db4.tar.xz
git-patch-id: do not trip over "no newline" markers
Currently, patch-id trips over our very own diff extension for marking the absence of newline at EOF. Fix it. (Ignore it, it's whitespace.) Signed-off-by: Michael J Gruber <git@drmicha.warpmail.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--builtin/patch-id.c2
-rwxr-xr-xt/t4204-patch-id.sh2
2 files changed, 3 insertions, 1 deletions
diff --git a/builtin/patch-id.c b/builtin/patch-id.c
index 512530022..49a0472a9 100644
--- a/builtin/patch-id.c
+++ b/builtin/patch-id.c
@@ -73,6 +73,8 @@ int get_one_patchid(unsigned char *next_sha1, git_SHA_CTX *ctx)
p += 7;
else if (!memcmp(line, "From ", 5))
p += 5;
+ else if (!memcmp(line, "\\ ", 2) && 12 < strlen(line))
+ continue;
if (!get_sha1_hex(p, next_sha1)) {
found_next = 1;
diff --git a/t/t4204-patch-id.sh b/t/t4204-patch-id.sh
index db96064f6..d2c930de8 100755
--- a/t/t4204-patch-id.sh
+++ b/t/t4204-patch-id.sh
@@ -94,7 +94,7 @@ index e69de29..6178079 100644
+b
EOF
-test_expect_failure 'patch-id handles no-nl-at-eof markers' '
+test_expect_success 'patch-id handles no-nl-at-eof markers' '
cat nonl | calc_patch_id nonl &&
cat withnl | calc_patch_id withnl &&
test_cmp patch-id_nonl patch-id_withnl