log --reflog: honour --relative-date

If you say "git log -g --relative-date", it is very likely that
you want to see the reflog names in terms of a relative date.

Signed-off-by: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
Johannes Schindelin
2007-02-08 21:58:33 +01:00
committed by Junio C Hamano
parent b4dd485696
commit 4e244cbc5c
3 changed files with 10 additions and 7 deletions

View File

@ -227,7 +227,8 @@ void fake_reflog_parent(struct reflog_walk_info *info, struct commit *commit)
commit->object.flags &= ~(ADDED | SEEN | SHOWN);
}
void show_reflog_message(struct reflog_walk_info* info, int oneline)
void show_reflog_message(struct reflog_walk_info* info, int oneline,
int relative_date)
{
if (info && info->last_commit_reflog) {
struct commit_reflog *commit_reflog = info->last_commit_reflog;
@ -236,7 +237,7 @@ void show_reflog_message(struct reflog_walk_info* info, int oneline)
info = &commit_reflog->reflogs->items[commit_reflog->recno+1];
if (oneline) {
printf("%s@{", commit_reflog->reflogs->ref);
if (commit_reflog->flag)
if (commit_reflog->flag || relative_date)
printf("%s", show_date(info->timestamp, 0, 1));
else
printf("%d", commit_reflog->reflogs->nr
@ -245,9 +246,10 @@ void show_reflog_message(struct reflog_walk_info* info, int oneline)
}
else {
printf("Reflog: %s@{", commit_reflog->reflogs->ref);
if (commit_reflog->flag)
printf("%s", show_rfc2822_date(info->timestamp,
info->tz));
if (commit_reflog->flag || relative_date)
printf("%s", show_date(info->timestamp,
info->tz,
relative_date));
else
printf("%d", commit_reflog->reflogs->nr
- 2 - commit_reflog->recno);