Sync with 'maint'
[git/gitster.git] / reflog.h
blobd2906fb9f8dd8beb80e12f7af831adff7aeb8c75
1 #ifndef REFLOG_H
2 #define REFLOG_H
3 #include "refs.h"
5 struct cmd_reflog_expire_cb {
6 int stalefix;
7 int explicit_expiry;
8 timestamp_t expire_total;
9 timestamp_t expire_unreachable;
10 int recno;
13 struct expire_reflog_policy_cb {
14 enum {
15 UE_NORMAL,
16 UE_ALWAYS,
17 UE_HEAD
18 } unreachable_expire_kind;
19 struct commit_list *mark_list;
20 unsigned long mark_limit;
21 struct cmd_reflog_expire_cb cmd;
22 struct commit *tip_commit;
23 struct commit_list *tips;
24 unsigned int dry_run:1;
27 int reflog_delete(const char *rev, enum expire_reflog_flags flags,
28 int verbose);
29 void reflog_expiry_cleanup(void *cb_data);
30 void reflog_expiry_prepare(const char *refname, const struct object_id *oid,
31 void *cb_data);
32 int should_expire_reflog_ent(struct object_id *ooid, struct object_id *noid,
33 const char *email, timestamp_t timestamp, int tz,
34 const char *message, void *cb_data);
35 int count_reflog_ent(struct object_id *ooid, struct object_id *noid,
36 const char *email, timestamp_t timestamp, int tz,
37 const char *message, void *cb_data);
38 int should_expire_reflog_ent_verbose(struct object_id *ooid,
39 struct object_id *noid,
40 const char *email,
41 timestamp_t timestamp, int tz,
42 const char *message, void *cb_data);
43 #endif /* REFLOG_H */