Cool. I think git blame would need to be tweaked a bit after my patch (at least documentation wise), since it already has a "raw timestamp" option (-t). On Fri, Feb 20, 2009 at 2:15 PM, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > > Subject: 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@xxxxxxxxxxxxxxxxxxxx> > --- > > Not a whole lot of testing. But > > git show --date=raw v2.6.29-rc5 > > works correctly. > > Documentation/rev-list-options.txt | 4 +++- > cache.h | 3 ++- > date.c | 7 +++++++ > 3 files changed, 12 insertions(+), 2 deletions(-) > > diff --git i/Documentation/rev-list-options.txt w/Documentation/rev-list-options.txt > index b9f6e4d..5076322 100644 > --- i/Documentation/rev-list-options.txt > +++ w/Documentation/rev-list-options.txt > @@ -13,7 +13,7 @@ include::pretty-options.txt[] > > Synonym for `--date=relative`. > > ---date={relative,local,default,iso,rfc,short}:: > +--date={relative,local,default,iso,rfc,short,raw}:: > > Only takes effect for dates shown in human-readable format, such > as when using "--pretty". `log.date` 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). > > diff --git i/cache.h w/cache.h > index 21a6310..189151d 100644 > --- i/cache.h > +++ w/cache.h > @@ -696,7 +696,8 @@ enum date_mode { > DATE_SHORT, > DATE_LOCAL, > DATE_ISO8601, > - DATE_RFC2822 > + DATE_RFC2822, > + DATE_RAW > }; > > const char *show_date(unsigned long time, int timezone, enum date_mode mode); > diff --git i/date.c w/date.c > index 950b88f..d75dff4 100644 > --- i/date.c > +++ w/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); > } > -- Eugene -- 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