Files
git/reflog.h
Patrick Steinhardt 2ed8008399 reflog: rename cmd_reflog_expire_cb to reflog_expire_options
We're about to expose `struct cmd_reflog_expire_cb` via "reflog.h" so
that we can also use this structure in "builtin/gc.c". Once we make it
accessible to a wider scope though it becomes awkwardly named, as it
isn't only useful in the context of a callback. Instead, the function is
containing all kinds of options relevant to whether or not a reflog
entry should be expired.

Rename the structure to `reflog_expire_options` to prepare for this.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
2025-04-08 07:53:25 -07:00

44 lines
1.3 KiB
C

#ifndef REFLOG_H
#define REFLOG_H
#include "refs.h"
struct reflog_expire_options {
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 reflog_expire_options opts;
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 */