Merge branch 'jk/ident-split-fix'
authorJunio C Hamano <gitster@pobox.com>
Fri, 25 May 2012 19:05:26 +0000 (12:05 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 25 May 2012 19:05:26 +0000 (12:05 -0700)
An author/committer name that is a single character was mishandled as an
invalid name by mistake.

ident.c
t/t6006-rev-list-format.sh
diff --git a/ident.c b/ident.c
index 87c697c2b09692ec8a36d557aa0c73de38223492..5df094d175ab91afb9ead68431f0c99bde7fd03f 100644 (file)
--- a/ident.c
+++ b/ident.c
@@ -244,7 +244,7 @@ int split_ident_line(struct ident_split *split, const char *line, int len)
        if (!split->mail_begin)
                return status;
 
-       for (cp = split->mail_begin - 2; line < cp; cp--)
+       for (cp = split->mail_begin - 2; line <= cp; cp--)
                if (!isspace(*cp)) {
                        split->name_end = cp + 1;
                        break;
index a01d2445022ecb82fe0e31739527339fa02e44a5..f94f0c48e6337f6bd718b4fc6859a52411e09326 100755 (executable)
@@ -283,4 +283,11 @@ test_expect_success 'oneline with empty message' '
        test_line_count = 5 testg.txt
 '
 
+test_expect_success 'single-character name is parsed correctly' '
+       git commit --author="a <a@example.com>" --allow-empty -m foo &&
+       echo "a <a@example.com>" >expect &&
+       git log -1 --format="%an <%ae>" >actual &&
+       test_cmp expect actual
+'
+
 test_done