diff options
author | Johannes Schindelin <Johannes.Schindelin@gmx.de> | 2007-02-08 21:58:33 +0100 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2007-02-08 16:20:52 -0800 |
commit | 4e244cbc5cc4c8a43982d4023bc0d9fb0b0c7d43 (patch) | |
tree | f759e8aafb4210b954147f24d52d95540454ec7e | |
parent | b4dd485696d9fb754b0a44649ef4796883d3b903 (diff) | |
download | git-4e244cbc5cc4c8a43982d4023bc0d9fb0b0c7d43.tar.gz |
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>
-rw-r--r-- | log-tree.c | 3 | ||||
-rw-r--r-- | reflog-walk.c | 12 | ||||
-rw-r--r-- | reflog-walk.h | 2 |
3 files changed, 10 insertions, 7 deletions
diff --git a/log-tree.c b/log-tree.c index 85acd66df7..4e3c7fd6fb 100644 --- a/log-tree.c +++ b/log-tree.c @@ -226,7 +226,8 @@ void show_log(struct rev_info *opt, const char *sep) putchar(opt->commit_format == CMIT_FMT_ONELINE ? ' ' : '\n'); if (opt->reflog_info) { show_reflog_message(opt->reflog_info, - opt->commit_format == CMIT_FMT_ONELINE);; + opt->commit_format == CMIT_FMT_ONELINE, + opt->relative_date); if (opt->commit_format == CMIT_FMT_ONELINE) { printf("%s", sep); return; diff --git a/reflog-walk.c b/reflog-walk.c index 653ec956f0..afe1577d76 100644 --- a/reflog-walk.c +++ b/reflog-walk.c @@ -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); diff --git a/reflog-walk.h b/reflog-walk.h index e63d86778b..a4f7015d3e 100644 --- a/reflog-walk.h +++ b/reflog-walk.h @@ -6,6 +6,6 @@ extern void add_reflog_for_walk(struct reflog_walk_info *info, struct commit *commit, const char *name); extern void fake_reflog_parent(struct reflog_walk_info *info, struct commit *commit); -extern void show_reflog_message(struct reflog_walk_info *info, int); +extern void show_reflog_message(struct reflog_walk_info *info, int, int); #endif |