From: Linus Torvalds Date: Fri, 6 May 2005 22:33:59 +0000 (-0700) Subject: diff-tree: add author/date information to the verbose output X-Git-Tag: v0.99~613 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=a02ebff6127c5fc981668fb570f0a80f2b7657ca;p=git.git diff-tree: add author/date information to the verbose output --- diff --git a/diff-tree.c b/diff-tree.c index cdd224c14..51e3274f3 100644 --- a/diff-tree.c +++ b/diff-tree.c @@ -284,6 +284,26 @@ static int get_one_line(const char *msg, unsigned long len) return ret; } +static int add_author_info(char *buf, const char *line, int len) +{ + char *date; + unsigned int namelen; + unsigned long time; + int tz; + + line += strlen("author "); + date = strchr(line, '>'); + if (!date) + return 0; + namelen = ++date - line; + time = strtoul(date, &date, 10); + tz = strtol(date, NULL, 10); + + return sprintf(buf, "Author: %.*s\nDate: %s\n", + namelen, line, + show_date(time, tz)); +} + static char *generate_header(const char *commit, const char *parent, const char *msg, unsigned long len) { static char this_header[1000]; @@ -306,8 +326,11 @@ static char *generate_header(const char *commit, const char *parent, const char len -= linelen; if (linelen == 1) hdr = 0; - if (hdr) + if (hdr) { + if (!memcmp(line, "author ", 7)) + offset += add_author_info(this_header + offset, line, linelen); continue; + } memset(this_header + offset, ' ', 4); memcpy(this_header + offset + 4, line, linelen); offset += linelen + 4;