aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2011-05-06 10:50:32 -0700
committerJunio C Hamano <gitster@pobox.com>2011-05-06 10:50:32 -0700
commit2190a43c42a049d75344a381f3c8d947876c997b (patch)
treed4b13f587a30d5a4647bdbde192dee9c354be38b
parentace8ebbcf5f07a5519cbeb0ae0571d8b40222e34 (diff)
parentc01bd5a29f38e4e9fd5c03f3e1e84b88c392dd6f (diff)
downloadgit-2190a43c42a049d75344a381f3c8d947876c997b.tar.gz
git-2190a43c42a049d75344a381f3c8d947876c997b.tar.xz
Merge branch 'js/blame-parsename'
* js/blame-parsename: t/annotate-tests: Use echo & cat instead of sed blame: tolerate bogus e-mail addresses a bit better
-rw-r--r--builtin/blame.c2
-rw-r--r--t/annotate-tests.sh13
-rwxr-xr-xt/t8002-blame.sh2
3 files changed, 14 insertions, 3 deletions
diff --git a/builtin/blame.c b/builtin/blame.c
index 463978817..4242e4b51 100644
--- a/builtin/blame.c
+++ b/builtin/blame.c
@@ -1378,7 +1378,7 @@ static void get_ac_line(const char *inbuf, const char *what,
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 d34208cc2..c56a77d23 100644
--- a/t/annotate-tests.sh
+++ b/t/annotate-tests.sh
@@ -1,5 +1,5 @@
# 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=
@@ -124,3 +124,14 @@ test_expect_success \
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 d3a51e126..e2896cffc 100755
--- a/t/t8002-blame.sh
+++ b/t/t8002-blame.sh
@@ -8,7 +8,7 @@ PROG='git blame -c'
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