To enable pretty-printing to print reflog information, the commit object needs to carry its associated reflog entry. This function uses the util field to point to the appropriate struct reflog_info. Signed-off-by: Deskin Miller <deskinm@xxxxxxxxx> --- reflog-walk.c | 18 ++++++++++++++++++ reflog-walk.h | 2 ++ 2 files changed, 20 insertions(+), 0 deletions(-) diff --git a/reflog-walk.c b/reflog-walk.c index dd172ae..3e8457f 100644 --- a/reflog-walk.c +++ b/reflog-walk.c @@ -235,6 +235,24 @@ void fake_reflog_parent(struct reflog_walk_info *info, struct commit *commit) commit->object.flags &= ~(ADDED | SEEN | SHOWN); } +void attach_reflog_info(struct reflog_walk_info *info, struct commit *commit) +{ + if (info && info->last_commit_reflog) { + struct commit_reflog *commit_reflog = info->last_commit_reflog; + + if (commit->util && + (((void *)(commit_reflog->reflogs->items + + commit_reflog->reflogs->nr) < commit->util) + || ((void *)(commit_reflog->reflogs->items + + commit_reflog->recno + 1) > commit->util))) { + die("commit->util being used, cannot attach reflog"); + } + + commit->util = &commit_reflog->reflogs->items + [commit_reflog->recno+1]; + } +} + void show_reflog_message(struct reflog_walk_info* info, int oneline, int relative_date) { diff --git a/reflog-walk.h b/reflog-walk.h index 7b00993..44f97e1 100644 --- a/reflog-walk.h +++ b/reflog-walk.h @@ -16,6 +16,8 @@ extern int 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 attach_reflog_info(struct reflog_walk_info *info, + struct commit *commit); extern void show_reflog_message(struct reflog_walk_info *info, int, int); #endif -- 1.6.2.rc0.90.g0753 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html