summaryrefslogtreecommitdiff
path: root/builtin-shortlog.c
diff options
context:
space:
mode:
authorAndy Whitcroft <apw@shadowen.org>2008-03-05 14:24:10 (GMT)
committerJunio C Hamano <gitster@pobox.com>2008-03-05 21:28:39 (GMT)
commitc1ce83a5b64618a8a4ac313da82c156558cbe259 (patch)
tree7f3a23f2e21296857f5ed13f16c20fed8d0c6f1f /builtin-shortlog.c
parent52dce39762fbec75b2d561e5dedb25b8e51f83eb (diff)
downloadgit-c1ce83a5b64618a8a4ac313da82c156558cbe259.zip
git-c1ce83a5b64618a8a4ac313da82c156558cbe259.tar.gz
git-c1ce83a5b64618a8a4ac313da82c156558cbe259.tar.bz2
shortlog: take the first populated line of the description
Way back the perl version of shortlog would take the first populated line of the commit body. The builtin version mearly takes the first line. This leads to empty shortlog entries when there is some viable text in the commit. Reinstate this behaviour igoring all lines with nothing but whitespace. This is often useful when dealing with commits imported from foreign SCMs that do not tidy up the log message of useless blank lines at the beginning. Signed-off-by: Andy Whitcroft <apw@shadowen.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin-shortlog.c')
-rw-r--r--builtin-shortlog.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/builtin-shortlog.c b/builtin-shortlog.c
index fa8bc7d..f08095b 100644
--- a/builtin-shortlog.c
+++ b/builtin-shortlog.c
@@ -74,11 +74,12 @@ static void insert_one_record(struct path_list *list,
else
free(buffer);
+ /* Skip any leading whitespace, including any blank lines. */
+ while (*oneline && isspace(*oneline))
+ oneline++;
eol = strchr(oneline, '\n');
if (!eol)
eol = oneline + strlen(oneline);
- while (*oneline && isspace(*oneline) && *oneline != '\n')
- oneline++;
if (!prefixcmp(oneline, "[PATCH")) {
char *eob = strchr(oneline, ']');
if (eob && (!eol || eob < eol))