summaryrefslogtreecommitdiff
path: root/date.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-02-20 14:15:22 -0800
committerJunio C Hamano <gitster@pobox.com>2009-02-20 21:45:42 -0800
commit7dff9b30ea0603fe265f9f7da055fc34f5d57d2f (patch)
treea59ae4b1012d9e64a74e5cde457f3f9eb12da2e6 /date.c
parent8c5b85ce87d15e4db37a6408f03b0eb71dde080e (diff)
downloadgit-7dff9b30ea0603fe265f9f7da055fc34f5d57d2f.tar.gz
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: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'date.c')
-rw-r--r--date.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/date.c b/date.c
index 950b88fdcf..d75dff4240 100644
--- a/date.c
+++ b/date.c
@@ -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"))
return DATE_NORMAL;
+ else if (!strcmp(format, "raw"))
+ return DATE_RAW;
else
die("unknown date format %s", format);
}