diff options
author | Junio C Hamano <gitster@pobox.com> | 2011-05-06 10:50:32 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-05-06 10:50:32 -0700 |
commit | 2190a43c42a049d75344a381f3c8d947876c997b (patch) | |
tree | d4b13f587a30d5a4647bdbde192dee9c354be38b | |
parent | ace8ebbcf5f07a5519cbeb0ae0571d8b40222e34 (diff) | |
parent | c01bd5a29f38e4e9fd5c03f3e1e84b88c392dd6f (diff) | |
download | git-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.c | 2 | ||||
-rw-r--r-- | t/annotate-tests.sh | 13 | ||||
-rwxr-xr-x | t/t8002-blame.sh | 2 |
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 |