Commit 7dff9b30 authored by Linus Torvalds's avatar Linus Torvalds Committed by Junio C Hamano

Support 'raw' date format

Talking about --date, one thing I wanted for the 1234567890 date was to
get things in the raw format. Sure, you get them with --pretty=raw, but it
felt a bit sad that you couldn't just ask for the date in raw format.

So here's a throw-away patch (meaning: I won't be re-sending it, because I
really don't think it's a big deal) to add "--date=raw". It just prints
out the internal raw git format - seconds since epoch plus timezone (put
another way: 'date +"%s %z"' format)
Signed-off-by: default avatarLinus Torvalds <>
Signed-off-by: default avatarJunio C Hamano <>
parent 8c5b85ce
......@@ -13,7 +13,7 @@ include::pretty-options.txt[]
Synonym for `--date=relative`.
Only takes effect for dates shown in human-readable format, such
as when using "--pretty". `` config variable sets a default
......@@ -31,6 +31,8 @@ format, often found in E-mail messages.
`--date=short` shows only date but not time, in `YYYY-MM-DD` format.
`--date=raw` shows the date in the internal raw git format `%s %z` format.
`--date=default` shows timestamps in the original timezone
(either committer's or author's).
......@@ -696,7 +696,8 @@ enum date_mode {
const char *show_date(unsigned long time, int timezone, enum date_mode mode);
......@@ -89,6 +89,11 @@ const char *show_date(unsigned long time, int tz, enum date_mode mode)
struct tm *tm;
static char timebuf[200];
if (mode == DATE_RAW) {
snprintf(timebuf, sizeof(timebuf), "%lu %+05d", time, tz);
return timebuf;
if (mode == DATE_RELATIVE) {
unsigned long diff;
struct timeval now;
......@@ -615,6 +620,8 @@ enum date_mode parse_date_format(const char *format)
return DATE_LOCAL;
else if (!strcmp(format, "default"))
else if (!strcmp(format, "raw"))
return DATE_RAW;
die("unknown date format %s", format);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment