aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Schindelin <Johannes.Schindelin@gmx.de>2007-02-08 21:58:33 +0100
committerJunio C Hamano <junkio@cox.net>2007-02-08 16:20:52 -0800
commit4e244cbc5cc4c8a43982d4023bc0d9fb0b0c7d43 (patch)
treef759e8aafb4210b954147f24d52d95540454ec7e
parentb4dd485696d9fb754b0a44649ef4796883d3b903 (diff)
downloadgit-4e244cbc5cc4c8a43982d4023bc0d9fb0b0c7d43.tar.gz
git-4e244cbc5cc4c8a43982d4023bc0d9fb0b0c7d43.tar.xz
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.c3
-rw-r--r--reflog-walk.c12
-rw-r--r--reflog-walk.h2
3 files changed, 10 insertions, 7 deletions
diff --git a/log-tree.c b/log-tree.c
index 85acd66df..4e3c7fd6f 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 653ec956f..afe1577d7 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 e63d86778..a4f7015d3 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