[PATCH] --walk-reflogs: honour --relative-date
From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:42:50
Subsystem:
the rest · Maintainer:
Linus Torvalds
Now, if you say
git log --walk-reflogs --relative-date next@{yesterday}
it shows the reflog date as a relative date expression.
Signed-off-by: Johannes Schindelin <redacted>
---
log-tree.c | 3 ++-
reflog-walk.c | 6 +++---
reflog-walk.h | 3 ++-
3 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/log-tree.c b/log-tree.c
index f043ad3..843a7c5 100644
--- a/log-tree.c
+++ b/log-tree.c@@ -225,7 +225,8 @@ void show_log(struct rev_info *opt, const char *sep) diff_get_color(opt->diffopt.color_diff, DIFF_RESET)); putchar(opt->commit_format == CMIT_FMT_ONELINE ? ' ' : '\n'); if (opt->reflog_info) - show_reflog_message(opt->reflog_info); + show_reflog_message(opt->reflog_info, + opt->relative_date); } /*
diff --git a/reflog-walk.c b/reflog-walk.c
index d58ff9b..6706f45 100644
--- a/reflog-walk.c
+++ b/reflog-walk.c@@ -215,7 +215,7 @@ 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) +void show_reflog_message(struct reflog_walk_info* info, int relative_date) { if (info && info->last_commit_reflog) { struct commit_reflog *commit_reflog = info->last_commit_reflog;
@@ -224,8 +224,8 @@ void show_reflog_message(struct reflog_walk_info* info) printf("Reflog: %s@{", commit_reflog->reflogs->ref); info = &commit_reflog->reflogs->items[commit_reflog->recno + 1]; if (commit_reflog->flag) - printf("%s", show_rfc2822_date(info->timestamp, - info->tz)); + 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 787996b..b7a65e7 100644
--- a/reflog-walk.h
+++ b/reflog-walk.h@@ -6,6 +6,7 @@ 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); +extern void show_reflog_message(struct reflog_walk_info* info, + int relative_date); #endif
--
1.5.0.rc1.g956c1-dirty