summaryrefslogtreecommitdiff
path: root/builtin/shortlog.c
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2016-01-18 20:02:40 (GMT)
committerJunio C Hamano <gitster@pobox.com>2016-01-19 17:53:00 (GMT)
commit5c3894c39d4095e6875376a6c05c6390b9a50754 (patch)
treef99a644d7242a86427a5d9e5ccee2d751b1c4e44 /builtin/shortlog.c
parent754884255bb580df159e58defa81cdd30b5c430c (diff)
downloadgit-5c3894c39d4095e6875376a6c05c6390b9a50754.zip
git-5c3894c39d4095e6875376a6c05c6390b9a50754.tar.gz
git-5c3894c39d4095e6875376a6c05c6390b9a50754.tar.bz2
shortlog: match both "Author:" and "author" on stdin
The original git-shortlog could read both the normal "git log" output as well as "git log --format=raw". However, when it was converted to C by b8ec592 (Build in shortlog, 2006-10-22), the trailing colon became mandatory, and we no longer matched the raw output. Given the amount of intervening time without any bug reports, it's probable that nobody cares. But it's relatively easy to fix, and the end result is hopefully more readable than the original. Note that this no longer matches "author: ", which we did before, but that has never been a format generated by git. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin/shortlog.c')
-rw-r--r--builtin/shortlog.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/builtin/shortlog.c b/builtin/shortlog.c
index 35ebd17..ab25b44 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);
}
}