зеркало из https://github.com/microsoft/git.git
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>
This commit is contained in:
Родитель
a0fb95e319
Коммит
cfea8e077b
15
blame.c
15
blame.c
|
@ -550,13 +550,22 @@ static void get_commit_info(struct commit* commit, struct commit_info* ret)
|
|||
*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];
|
||||
time_t t = time;
|
||||
int minutes, tz;
|
||||
struct tm *tm;
|
||||
|
||||
strftime(time_buf, sizeof(time_buf), "%Y-%m-%d %H:%M:%S ", gmtime(&t));
|
||||
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;
|
||||
}
|
||||
|
||||
|
|
|
@ -418,7 +418,13 @@ sub format_date {
|
|||
return $_[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..
|
||||
|
|
Загрузка…
Ссылка в новой задаче