summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 53f420e)
raw | patch | inline | side by side (parent: 53f420e)
author | Junio C Hamano <junkio@cox.net> | |
Mon, 1 May 2006 08:44:33 +0000 (01:44 -0700) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Mon, 1 May 2006 08:44:33 +0000 (01:44 -0700) |
Still Work-in-progress git fmt-patch (should it be known as
format-patch-ng?) is matched with the fix made by Huw Davies
in 262a6ef76a1dde97ab50d79fa5cd6d3f9f125765 commit to use
RFC2822 date format.
Signed-off-by: Junio C Hamano <junkio@cox.net>
format-patch-ng?) is matched with the fix made by Huw Davies
in 262a6ef76a1dde97ab50d79fa5cd6d3f9f125765 commit to use
RFC2822 date format.
Signed-off-by: Junio C Hamano <junkio@cox.net>
cache.h | patch | blob | history | |
commit.c | patch | blob | history | |
date.c | patch | blob | history |
index 69801b02d535dbbe49535c876979cd093c6db2e1..f6c590959853f88a2184cbfe433ad9b88a621546 100644 (file)
--- a/cache.h
+++ b/cache.h
unsigned char *sha1_ret);
const char *show_date(unsigned long time, int timezone);
+const char *show_rfc2822_date(unsigned long time, int timezone);
int parse_date(const char *date, char *buf, int bufsize);
void datestamp(char *buf, int bufsize);
unsigned long approxidate(const char *);
diff --git a/commit.c b/commit.c
index f4e4eea014d997f5b825a09f2c9f7620205e6243..42b44bba52b3bcf8545f7e7753d5ebb755155163 100644 (file)
--- a/commit.c
+++ b/commit.c
@@ -442,7 +442,8 @@ static int add_user_info(const char *what, enum cmit_fmt fmt, char *buf, const c
ret += sprintf(buf + ret, "Date: %s\n", show_date(time, tz));
break;
case CMIT_FMT_EMAIL:
- ret += sprintf(buf + ret, "Date: %s\n", show_date(time, tz));
+ ret += sprintf(buf + ret, "Date: %s\n",
+ show_rfc2822_date(time, tz));
break;
case CMIT_FMT_FULLER:
ret += sprintf(buf + ret, "%sDate: %s\n", what, show_date(time, tz));
index 034d7228bfefff9ba94ed3fd19fe751f924d7a55..365dc3b14e47826dd7becf19a76e29bfaa6b2eb5 100644 (file)
--- a/date.c
+++ b/date.c
* thing, which means that tz -0100 is passed in as the integer -100,
* even though it means "sixty minutes off"
*/
-const char *show_date(unsigned long time, int tz)
+static struct tm *time_to_tm(unsigned long time, int tz)
{
- struct tm *tm;
time_t t;
- static char timebuf[200];
int minutes;
minutes = tz < 0 ? -tz : tz;
minutes = (minutes / 100)*60 + (minutes % 100);
minutes = tz < 0 ? -minutes : minutes;
t = time + minutes * 60;
- tm = gmtime(&t);
+ return gmtime(&t);
+}
+
+const char *show_date(unsigned long time, int tz)
+{
+ struct tm *tm;
+ static char timebuf[200];
+
+ tm = time_to_tm(time, tz);
if (!tm)
return NULL;
sprintf(timebuf, "%.3s %.3s %d %02d:%02d:%02d %d %+05d",
return timebuf;
}
+const char *show_rfc2822_date(unsigned long time, int tz)
+{
+ struct tm *tm;
+ static char timebuf[200];
+
+ tm = time_to_tm(time, tz);
+ if (!tm)
+ return NULL;
+ sprintf(timebuf, "%.3s, %d %.3s %d %02d:%02d:%02d %+05d",
+ weekday_names[tm->tm_wday], tm->tm_mday,
+ month_names[tm->tm_mon], tm->tm_year + 1900,
+ tm->tm_hour, tm->tm_min, tm->tm_sec, tz);
+ return timebuf;
+}
+
/*
* Check these. And note how it doesn't do the summer-time conversion.
*