diff options
-rw-r--r-- | builtin/shortlog.c | 7 | ||||
-rwxr-xr-x | t/t4201-shortlog.sh | 6 |
2 files changed, 10 insertions, 3 deletions
diff --git a/builtin/shortlog.c b/builtin/shortlog.c index 35ebd17f8..ab25b443d 100644 --- a/builtin/shortlog.c +++ b/builtin/shortlog.c @@ -94,8 +94,9 @@ static void read_from_stdin(struct shortlog *log) char author[1024], oneline[1024]; while (fgets(author, sizeof(author), stdin) != NULL) { - if (!(author[0] == 'A' || author[0] == 'a') || - !starts_with(author + 1, "uthor: ")) + const char *v; + if (!skip_prefix(author, "Author: ", &v) && + !skip_prefix(author, "author ", &v)) continue; while (fgets(oneline, sizeof(oneline), stdin) && oneline[0] != '\n') @@ -103,7 +104,7 @@ static void read_from_stdin(struct shortlog *log) while (fgets(oneline, sizeof(oneline), stdin) && oneline[0] == '\n') ; /* discard blanks */ - insert_one_record(log, author + 8, oneline); + insert_one_record(log, v, oneline); } } diff --git a/t/t4201-shortlog.sh b/t/t4201-shortlog.sh index 7600a3e3e..82b231451 100755 --- a/t/t4201-shortlog.sh +++ b/t/t4201-shortlog.sh @@ -120,6 +120,12 @@ test_expect_success !MINGW 'shortlog from non-git directory' ' test_cmp expect out ' +test_expect_success !MINGW 'shortlog can read --format=raw output' ' + git log --format=raw HEAD >log && + GIT_DIR=non-existing git shortlog -w <log >out && + test_cmp expect out +' + test_expect_success 'shortlog should add newline when input line matches wraplen' ' cat >expect <<\EOF && A U Thor (2): |