Put the commit date in the 'From COMMIT DATE' header line instead of using the fixed date 'Mon Sep 17 00:00:00 2001'. A DATE_UTC mode for show_date() is introduced so we can easily generate this line in the correct format, and t4013 is fixed not to expect a constant From line. Signed-off-by: Chris Webb <chris@xxxxxxxxxxxx> --- builtin/blame.c | 1 + cache.h | 3 ++- date.c | 4 +++- log-tree.c | 2 +- t/t4013-diff-various.sh | 3 ++- 5 files changed, 9 insertions(+), 4 deletions(-) diff --git a/builtin/blame.c b/builtin/blame.c index fc15863..42fb1bd 100644 --- a/builtin/blame.c +++ b/builtin/blame.c @@ -2301,6 +2301,7 @@ parse_done: /* "normal" is used as the fallback for "relative" */ case DATE_LOCAL: case DATE_NORMAL: + case DATE_UTC: blame_date_width = sizeof("Thu Oct 19 16:00:04 2006 -0700"); break; } diff --git a/cache.h b/cache.h index 5eb0573..fdb0643 100644 --- a/cache.h +++ b/cache.h @@ -769,7 +769,8 @@ enum date_mode { DATE_LOCAL, DATE_ISO8601, DATE_RFC2822, - DATE_RAW + DATE_RAW, + DATE_UTC }; const char *show_date(unsigned long time, int timezone, enum date_mode mode); diff --git a/date.c b/date.c index 002aa3c..88b1b58 100644 --- a/date.c +++ b/date.c @@ -166,6 +166,8 @@ const char *show_date(unsigned long time, int tz, enum date_mode mode) if (mode == DATE_LOCAL) tz = local_tzoffset(time); + else if (mode == DATE_UTC) + tz = 0; tm = time_to_tm(time, tz); if (!tm) @@ -192,7 +194,7 @@ const char *show_date(unsigned long time, int tz, enum date_mode mode) tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec, tm->tm_year + 1900, - (mode == DATE_LOCAL) ? 0 : ' ', + (mode != DATE_NORMAL) ? 0 : ' ', tz); return timebuf; } diff --git a/log-tree.c b/log-tree.c index d3ae969..90262f9 100644 --- a/log-tree.c +++ b/log-tree.c @@ -217,7 +217,7 @@ void log_write_email_headers(struct rev_info *opt, struct commit *commit, subject = "Subject: "; } - printf("From %s Mon Sep 17 00:00:00 2001\n", name); + printf("From %s %s\n", name, show_date(commit->date, 0, DATE_UTC)); graph_show_oneline(opt->graph); if (opt->message_id) { printf("Message-Id: <%s>\n", opt->message_id); diff --git a/t/t4013-diff-various.sh b/t/t4013-diff-various.sh index dae6358..ce42d3f 100755 --- a/t/t4013-diff-various.sh +++ b/t/t4013-diff-various.sh @@ -110,7 +110,8 @@ do echo "\$ git $cmd" git $cmd | sed -e "s/^\\(-*\\)$V\\(-*\\)\$/\\1g-i-t--v-e-r-s-i-o-n\2/" \ - -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/" + -e "s/^\\(.*mixed; boundary=\"-*\\)$V\\(-*\\)\"\$/\\1g-i-t--v-e-r-s-i-o-n\2\"/" \ + -e "s/^\\(From [0-9a-f][0-9a-f]*\\) .*/\\1 Mon Sep 17 00:00:00 2001/" echo "\$" } >"$actual" && if test -f "$expect" -- 1.7.0.3 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html