author | Junio C Hamano <gitster@pobox.com> | |
Fri, 6 May 2011 17:50:32 +0000 (10:50 -0700) | ||
committer | Junio C Hamano <gitster@pobox.com> | |
Fri, 6 May 2011 17:50:32 +0000 (10:50 -0700) |
* js/blame-parsename:
t/annotate-tests: Use echo & cat instead of sed
blame: tolerate bogus e-mail addresses a bit better
t/annotate-tests: Use echo & cat instead of sed
blame: tolerate bogus e-mail addresses a bit better
builtin/blame.c | patch | blob | history | |
t/annotate-tests.sh | patch | blob | history | |
t/t8002-blame.sh | patch | blob | history |
diff --git a/builtin/blame.c b/builtin/blame.c
index 463978817871b534dcdfb3c5c630ccd731d9733a..4242e4b513101a09b0f027188095ba3032802d3b 100644 (file)
--- a/builtin/blame.c
+++ b/builtin/blame.c
timepos = tmp;
*tmp = 0;
- while (person < tmp && *tmp != ' ')
+ while (person < tmp && !(*tmp == ' ' && tmp[1] == '<'))
tmp--;
if (tmp <= person)
return;
diff --git a/t/annotate-tests.sh b/t/annotate-tests.sh
index d34208cc27623a6105f6b12f863c648429d2d34d..c56a77d2378117006694d4b575445f89446ae80c 100644 (file)
--- a/t/annotate-tests.sh
+++ b/t/annotate-tests.sh
# This file isn't used as a test script directly, instead it is
-# sourced from t8001-annotate.sh and t8001-blame.sh.
+# sourced from t8001-annotate.sh and t8002-blame.sh.
check_count () {
head=
test_expect_success \
'some edit' \
'check_count A 1 B 1 B1 1 B2 1 "A U Thor" 1 C 1 D 1'
+
+test_expect_success \
+ 'an obfuscated email added' \
+ 'echo "No robots allowed" > file.new &&
+ cat file >> file.new &&
+ mv file.new file &&
+ GIT_AUTHOR_NAME="E" GIT_AUTHOR_EMAIL="E at test dot git" git commit -a -m "norobots"'
+
+test_expect_success \
+ 'obfuscated email parsed' \
+ 'check_count A 1 B 1 B1 1 B2 1 "A U Thor" 1 C 1 D 1 E 1'
diff --git a/t/t8002-blame.sh b/t/t8002-blame.sh
index d3a51e12698bed50d4eef1474e75dbfd0be0d034..e2896cffc17c519d208c26f215e4605d85edb918 100755 (executable)
--- a/t/t8002-blame.sh
+++ b/t/t8002-blame.sh
PROG='git blame -c -e'
test_expect_success 'Blame --show-email works' '
- check_count "<A@test.git>" 1 "<B@test.git>" 1 "<B1@test.git>" 1 "<B2@test.git>" 1 "<author@example.com>" 1 "<C@test.git>" 1 "<D@test.git>" 1
+ check_count "<A@test.git>" 1 "<B@test.git>" 1 "<B1@test.git>" 1 "<B2@test.git>" 1 "<author@example.com>" 1 "<C@test.git>" 1 "<D@test.git>" 1 "<E at test dot git>" 1
'
test_done