git/reflog.h

44 lines
1.3 KiB
C

#ifndef REFLOG_H
#define REFLOG_H
#include "refs.h"
struct cmd_reflog_expire_cb {
int stalefix;
int explicit_expiry;
timestamp_t expire_total;
timestamp_t expire_unreachable;
int recno;
};
struct expire_reflog_policy_cb {
enum {
UE_NORMAL,
UE_ALWAYS,
UE_HEAD
} unreachable_expire_kind;
struct commit_list *mark_list;
unsigned long mark_limit;
struct cmd_reflog_expire_cb cmd;
struct commit *tip_commit;
struct commit_list *tips;
unsigned int dry_run:1;
};
int reflog_delete(const char *rev, enum expire_reflog_flags flags,
int verbose);
void reflog_expiry_cleanup(void *cb_data);
void reflog_expiry_prepare(const char *refname, const struct object_id *oid,
void *cb_data);
int should_expire_reflog_ent(struct object_id *ooid, struct object_id *noid,
const char *email, timestamp_t timestamp, int tz,
const char *message, void *cb_data);
int count_reflog_ent(struct object_id *ooid, struct object_id *noid,
const char *email, timestamp_t timestamp, int tz,
const char *message, void *cb_data);
int should_expire_reflog_ent_verbose(struct object_id *ooid,
struct object_id *noid,
const char *email,
timestamp_t timestamp, int tz,
const char *message, void *cb_data);
#endif /* REFLOG_H */