Browse Source

blame and annotate: show localtime with timezone.

Earlier they showed gmtime and timezone, which was inconsistent
with the way our commits and tags are pretty-printed.

Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Junio C Hamano 19 years ago
parent
commit
cfea8e077b
  1. 17
      blame.c
  2. 8
      git-annotate.perl

17
blame.c

@ -550,13 +550,22 @@ static void get_commit_info(struct commit* commit, struct commit_info* ret)
*tmp = 0; *tmp = 0;
} }


char* format_time(unsigned long time, const char* tz) static const char* format_time(unsigned long time, const char* tz_str)
{ {
static char time_buf[128]; static char time_buf[128];
time_t t = time; time_t t = time;

int minutes, tz;
strftime(time_buf, sizeof(time_buf), "%Y-%m-%d %H:%M:%S ", gmtime(&t)); struct tm *tm;
strcat(time_buf, tz);
tz = atoi(tz_str);
minutes = tz < 0 ? -tz : tz;
minutes = (minutes / 100)*60 + (minutes % 100);
minutes = tz < 0 ? -minutes : minutes;
t = time + minutes * 60;
tm = gmtime(&t);

strftime(time_buf, sizeof(time_buf), "%Y-%m-%d %H:%M:%S ", tm);
strcat(time_buf, tz_str);
return time_buf; return time_buf;
} }



8
git-annotate.perl

@ -418,7 +418,13 @@ sub format_date {
return $_[0]; return $_[0];
} }
my ($timestamp, $timezone) = split(' ', $_[0]); my ($timestamp, $timezone) = split(' ', $_[0]);
return strftime("%Y-%m-%d %H:%M:%S " . $timezone, gmtime($timestamp)); my $minutes = abs($timezone);
$minutes = int($minutes / 100) * 60 + ($minutes % 100);
if ($timezone < 0) {
$minutes = -$minutes;
}
my $t = $timestamp + $minutes * 60;
return strftime("%Y-%m-%d %H:%M:%S " . $timezone, gmtime($t));
} }


# Copied from git-send-email.perl - We need a Git.pm module.. # Copied from git-send-email.perl - We need a Git.pm module..

Loading…
Cancel
Save