blob: 8076f10d9fbc0dd5588582f5bfec105416037233 [file] [log] [blame]
Johannes Schindelin8860fd42007-01-11 11:47:48 +01001#ifndef REFLOG_WALK_H
2#define REFLOG_WALK_H
3
Jeff Kingcd437122009-03-20 02:00:43 -04004#include "cache.h"
5
Elijah Newrenef3ca952018-08-15 10:54:05 -07006struct commit;
Thomas Rast8f8f5472009-10-19 17:48:10 +02007struct reflog_walk_info;
Ævar Arnfjörð Bjarmason88c7b4c2022-02-16 09:14:02 +01008struct date_mode;
Thomas Rast8f8f5472009-10-19 17:48:10 +02009
Denton Liu55454422019-04-29 04:28:14 -040010void init_reflog_walk(struct reflog_walk_info **info);
Ævar Arnfjörð Bjarmason81ffbf82022-04-13 22:01:52 +020011void reflog_walk_info_release(struct reflog_walk_info *info);
Denton Liu55454422019-04-29 04:28:14 -040012int add_reflog_for_walk(struct reflog_walk_info *info,
Denton Liuad6dad02019-04-29 04:28:23 -040013 struct commit *commit, const char *name);
Denton Liu55454422019-04-29 04:28:14 -040014void show_reflog_message(struct reflog_walk_info *info, int,
Denton Liuad6dad02019-04-29 04:28:23 -040015 const struct date_mode *, int force_date);
Denton Liu55454422019-04-29 04:28:14 -040016void get_reflog_message(struct strbuf *sb,
Denton Liuad6dad02019-04-29 04:28:23 -040017 struct reflog_walk_info *reflog_info);
Denton Liu55454422019-04-29 04:28:14 -040018const char *get_reflog_ident(struct reflog_walk_info *reflog_info);
19timestamp_t get_reflog_timestamp(struct reflog_walk_info *reflog_info);
20void get_reflog_selector(struct strbuf *sb,
Denton Liuad6dad02019-04-29 04:28:23 -040021 struct reflog_walk_info *reflog_info,
22 const struct date_mode *dmode, int force_date,
23 int shorten);
Johannes Schindelin8860fd42007-01-11 11:47:48 +010024
Denton Liu55454422019-04-29 04:28:14 -040025int reflog_walk_empty(struct reflog_walk_info *walk);
Jeff King7f97de52017-07-07 05:08:30 -040026
Jeff Kingd08565b2017-07-07 05:14:07 -040027struct commit *next_reflog_entry(struct reflog_walk_info *reflog_info);
28
Johannes Schindelin8860fd42007-01-11 11:47:48 +010029#endif