diff options
author | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-06 15:33:59 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-05-06 15:33:59 -0700 |
commit | a02ebff6127c5fc981668fb570f0a80f2b7657ca (patch) | |
tree | 8477488c1965186c98b59ad0da04d221aff3c9a1 | |
parent | date.c: add "show_date()" function. (diff) | |
download | tgif-a02ebff6127c5fc981668fb570f0a80f2b7657ca.tar.xz |
diff-tree: add author/date information to the verbose output
-rw-r--r-- | diff-tree.c | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/diff-tree.c b/diff-tree.c index cdd224c147..51e3274f36 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; |