From: Junio C Hamano Date: Mon, 30 Nov 2009 22:42:28 +0000 (-0800) Subject: Merge branch 'uk/maint-shortlog-encoding' X-Git-Tag: v1.6.6-rc1~16 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=a689faeb5850174edfbbb0a502ef7eee8cd06d76;p=git.git Merge branch 'uk/maint-shortlog-encoding' Conflicts: builtin-shortlog.c --- a689faeb5850174edfbbb0a502ef7eee8cd06d76 diff --cc builtin-shortlog.c index 8aa63c785,b98edc3ba..b3b055f68 --- a/builtin-shortlog.c +++ b/builtin-shortlog.c @@@ -139,8 -139,12 +139,12 @@@ static void read_from_stdin(struct shor void shortlog_add_commit(struct shortlog *log, struct commit *commit) { const char *author = NULL, *buffer; + struct strbuf buf = STRBUF_INIT; + struct strbuf ufbuf = STRBUF_INIT; ++ struct pretty_print_context ctx = {0}; - buffer = commit->buffer; - pretty_print_commit(CMIT_FMT_RAW, commit, &buf, - 0, NULL, NULL, DATE_NORMAL, 0); ++ pretty_print_commit(CMIT_FMT_RAW, commit, &buf, &ctx); + buffer = buf.buf; while (*buffer && *buffer != '\n') { const char *eol = strchr(buffer, '\n'); @@@ -157,20 -161,15 +161,19 @@@ die("Missing author: %s", sha1_to_hex(commit->object.sha1)); if (log->user_format) { - struct strbuf buf = STRBUF_INIT; - pretty_print_commit(CMIT_FMT_USERFORMAT, commit, &ufbuf, - DEFAULT_ABBREV, "", "", DATE_NORMAL, 0); + struct pretty_print_context ctx = {0}; + ctx.abbrev = DEFAULT_ABBREV; + ctx.subject = ""; + ctx.after_subject = ""; + ctx.date_mode = DATE_NORMAL; - pretty_print_commit(CMIT_FMT_USERFORMAT, commit, &buf, &ctx); - insert_one_record(log, author, buf.buf); - strbuf_release(&buf); - return; - } - if (*buffer) ++ pretty_print_commit(CMIT_FMT_USERFORMAT, commit, &ufbuf, &ctx); + buffer = ufbuf.buf; + } else if (*buffer) { buffer++; + } insert_one_record(log, author, !*buffer ? "" : buffer); + strbuf_release(&ufbuf); + strbuf_release(&buf); } static void get_from_rev(struct rev_info *rev, struct shortlog *log)