mirror of
https://github.com/git/git.git
synced 2024-11-08 15:19:28 +01:00
refs: remove functions without ref store
The preceding commit has rewritten all callers of ref-related functions to use the equivalents that accept a `struct ref_store`. Consequently, the respective variants without the ref store are now unused. Remove them. There are likely patch series in-flight that use the now-removed functions. To help the authors, the old implementations have been added to "refs.c" in an ifdef'd section as a reference for how to migrate each of the respective callers. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
2e5c4758b7
commit
c8f815c208
198
refs.c
198
refs.c
@ -384,14 +384,6 @@ char *refs_resolve_refdup(struct ref_store *refs,
|
||||
return xstrdup_or_null(result);
|
||||
}
|
||||
|
||||
char *resolve_refdup(const char *refname, int resolve_flags,
|
||||
struct object_id *oid, int *flags)
|
||||
{
|
||||
return refs_resolve_refdup(get_main_ref_store(the_repository),
|
||||
refname, resolve_flags,
|
||||
oid, flags);
|
||||
}
|
||||
|
||||
/* The argument to for_each_filter_refs */
|
||||
struct for_each_ref_filter {
|
||||
const char *pattern;
|
||||
@ -409,33 +401,17 @@ int refs_read_ref_full(struct ref_store *refs, const char *refname,
|
||||
return -1;
|
||||
}
|
||||
|
||||
int read_ref_full(const char *refname, int resolve_flags, struct object_id *oid, int *flags)
|
||||
{
|
||||
return refs_read_ref_full(get_main_ref_store(the_repository), refname,
|
||||
resolve_flags, oid, flags);
|
||||
}
|
||||
|
||||
int refs_read_ref(struct ref_store *refs, const char *refname, struct object_id *oid)
|
||||
{
|
||||
return refs_read_ref_full(refs, refname, RESOLVE_REF_READING, oid, NULL);
|
||||
}
|
||||
|
||||
int read_ref(const char *refname, struct object_id *oid)
|
||||
{
|
||||
return refs_read_ref(get_main_ref_store(the_repository), refname, oid);
|
||||
}
|
||||
|
||||
int refs_ref_exists(struct ref_store *refs, const char *refname)
|
||||
{
|
||||
return !!refs_resolve_ref_unsafe(refs, refname, RESOLVE_REF_READING,
|
||||
NULL, NULL);
|
||||
}
|
||||
|
||||
int ref_exists(const char *refname)
|
||||
{
|
||||
return refs_ref_exists(get_main_ref_store(the_repository), refname);
|
||||
}
|
||||
|
||||
static int for_each_filter_refs(const char *refname,
|
||||
const struct object_id *oid,
|
||||
int flags, void *data)
|
||||
@ -530,31 +506,16 @@ int refs_for_each_tag_ref(struct ref_store *refs, each_ref_fn fn, void *cb_data)
|
||||
return refs_for_each_ref_in(refs, "refs/tags/", fn, cb_data);
|
||||
}
|
||||
|
||||
int for_each_tag_ref(each_ref_fn fn, void *cb_data)
|
||||
{
|
||||
return refs_for_each_tag_ref(get_main_ref_store(the_repository), fn, cb_data);
|
||||
}
|
||||
|
||||
int refs_for_each_branch_ref(struct ref_store *refs, each_ref_fn fn, void *cb_data)
|
||||
{
|
||||
return refs_for_each_ref_in(refs, "refs/heads/", fn, cb_data);
|
||||
}
|
||||
|
||||
int for_each_branch_ref(each_ref_fn fn, void *cb_data)
|
||||
{
|
||||
return refs_for_each_branch_ref(get_main_ref_store(the_repository), fn, cb_data);
|
||||
}
|
||||
|
||||
int refs_for_each_remote_ref(struct ref_store *refs, each_ref_fn fn, void *cb_data)
|
||||
{
|
||||
return refs_for_each_ref_in(refs, "refs/remotes/", fn, cb_data);
|
||||
}
|
||||
|
||||
int for_each_remote_ref(each_ref_fn fn, void *cb_data)
|
||||
{
|
||||
return refs_for_each_remote_ref(get_main_ref_store(the_repository), fn, cb_data);
|
||||
}
|
||||
|
||||
int refs_head_ref_namespaced(struct ref_store *refs, each_ref_fn fn, void *cb_data)
|
||||
{
|
||||
struct strbuf buf = STRBUF_INIT;
|
||||
@ -570,12 +531,6 @@ int refs_head_ref_namespaced(struct ref_store *refs, each_ref_fn fn, void *cb_da
|
||||
return ret;
|
||||
}
|
||||
|
||||
int head_ref_namespaced(each_ref_fn fn, void *cb_data)
|
||||
{
|
||||
return refs_head_ref_namespaced(get_main_ref_store(the_repository),
|
||||
fn, cb_data);
|
||||
}
|
||||
|
||||
void normalize_glob_ref(struct string_list_item *item, const char *prefix,
|
||||
const char *pattern)
|
||||
{
|
||||
@ -632,25 +587,12 @@ int refs_for_each_glob_ref_in(struct ref_store *refs, each_ref_fn fn,
|
||||
return ret;
|
||||
}
|
||||
|
||||
int for_each_glob_ref_in(each_ref_fn fn, const char *pattern,
|
||||
const char *prefix, void *cb_data)
|
||||
{
|
||||
return refs_for_each_glob_ref_in(get_main_ref_store(the_repository),
|
||||
fn, pattern, prefix, cb_data);
|
||||
}
|
||||
|
||||
int refs_for_each_glob_ref(struct ref_store *refs, each_ref_fn fn,
|
||||
const char *pattern, void *cb_data)
|
||||
{
|
||||
return refs_for_each_glob_ref_in(refs, fn, pattern, NULL, cb_data);
|
||||
}
|
||||
|
||||
int for_each_glob_ref(each_ref_fn fn, const char *pattern, void *cb_data)
|
||||
{
|
||||
return refs_for_each_glob_ref(get_main_ref_store(the_repository),
|
||||
fn, pattern, cb_data);
|
||||
}
|
||||
|
||||
const char *prettify_refname(const char *name)
|
||||
{
|
||||
if (skip_prefix(name, "refs/heads/", &name) ||
|
||||
@ -1024,13 +966,6 @@ int refs_delete_ref(struct ref_store *refs, const char *msg,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int delete_ref(const char *msg, const char *refname,
|
||||
const struct object_id *old_oid, unsigned int flags)
|
||||
{
|
||||
return refs_delete_ref(get_main_ref_store(the_repository), msg, refname,
|
||||
old_oid, flags);
|
||||
}
|
||||
|
||||
static void copy_reflog_msg(struct strbuf *sb, const char *msg)
|
||||
{
|
||||
char c;
|
||||
@ -1223,11 +1158,6 @@ struct ref_transaction *ref_store_transaction_begin(struct ref_store *refs,
|
||||
return tr;
|
||||
}
|
||||
|
||||
struct ref_transaction *ref_transaction_begin(struct strbuf *err)
|
||||
{
|
||||
return ref_store_transaction_begin(get_main_ref_store(the_repository), err);
|
||||
}
|
||||
|
||||
void ref_transaction_free(struct ref_transaction *transaction)
|
||||
{
|
||||
size_t i;
|
||||
@ -1396,15 +1326,6 @@ int refs_update_ref(struct ref_store *refs, const char *msg,
|
||||
return 0;
|
||||
}
|
||||
|
||||
int update_ref(const char *msg, const char *refname,
|
||||
const struct object_id *new_oid,
|
||||
const struct object_id *old_oid,
|
||||
unsigned int flags, enum action_on_err onerr)
|
||||
{
|
||||
return refs_update_ref(get_main_ref_store(the_repository), msg, refname, new_oid,
|
||||
old_oid, flags, onerr);
|
||||
}
|
||||
|
||||
/*
|
||||
* Check that the string refname matches a rule of the form
|
||||
* "{prefix}%.*s{suffix}". So "foo/bar/baz" would match the rule
|
||||
@ -1506,12 +1427,6 @@ char *refs_shorten_unambiguous_ref(struct ref_store *refs,
|
||||
return xstrdup(refname);
|
||||
}
|
||||
|
||||
char *shorten_unambiguous_ref(const char *refname, int strict)
|
||||
{
|
||||
return refs_shorten_unambiguous_ref(get_main_ref_store(the_repository),
|
||||
refname, strict);
|
||||
}
|
||||
|
||||
int parse_hide_refs_config(const char *var, const char *value, const char *section,
|
||||
struct strvec *hide_refs)
|
||||
{
|
||||
@ -1630,11 +1545,6 @@ int refs_head_ref(struct ref_store *refs, each_ref_fn fn, void *cb_data)
|
||||
return 0;
|
||||
}
|
||||
|
||||
int head_ref(each_ref_fn fn, void *cb_data)
|
||||
{
|
||||
return refs_head_ref(get_main_ref_store(the_repository), fn, cb_data);
|
||||
}
|
||||
|
||||
struct ref_iterator *refs_ref_iterator_begin(
|
||||
struct ref_store *refs,
|
||||
const char *prefix,
|
||||
@ -1729,30 +1639,12 @@ int refs_for_each_ref(struct ref_store *refs, each_ref_fn fn, void *cb_data)
|
||||
return do_for_each_ref(refs, "", NULL, fn, 0, 0, cb_data);
|
||||
}
|
||||
|
||||
int for_each_ref(each_ref_fn fn, void *cb_data)
|
||||
{
|
||||
return refs_for_each_ref(get_main_ref_store(the_repository), fn, cb_data);
|
||||
}
|
||||
|
||||
int refs_for_each_ref_in(struct ref_store *refs, const char *prefix,
|
||||
each_ref_fn fn, void *cb_data)
|
||||
{
|
||||
return do_for_each_ref(refs, prefix, NULL, fn, strlen(prefix), 0, cb_data);
|
||||
}
|
||||
|
||||
int for_each_ref_in(const char *prefix, each_ref_fn fn, void *cb_data)
|
||||
{
|
||||
return refs_for_each_ref_in(get_main_ref_store(the_repository), prefix, fn, cb_data);
|
||||
}
|
||||
|
||||
int for_each_fullref_in(const char *prefix,
|
||||
const char **exclude_patterns,
|
||||
each_ref_fn fn, void *cb_data)
|
||||
{
|
||||
return refs_for_each_fullref_in(get_main_ref_store(the_repository),
|
||||
prefix, exclude_patterns, fn, cb_data);
|
||||
}
|
||||
|
||||
int refs_for_each_fullref_in(struct ref_store *refs, const char *prefix,
|
||||
const char **exclude_patterns,
|
||||
each_ref_fn fn, void *cb_data)
|
||||
@ -1780,24 +1672,12 @@ int refs_for_each_namespaced_ref(struct ref_store *refs,
|
||||
return ret;
|
||||
}
|
||||
|
||||
int for_each_namespaced_ref(const char **exclude_patterns,
|
||||
each_ref_fn fn, void *cb_data)
|
||||
{
|
||||
return refs_for_each_namespaced_ref(get_main_ref_store(the_repository),
|
||||
exclude_patterns, fn, cb_data);
|
||||
}
|
||||
|
||||
int refs_for_each_rawref(struct ref_store *refs, each_ref_fn fn, void *cb_data)
|
||||
{
|
||||
return do_for_each_ref(refs, "", NULL, fn, 0,
|
||||
DO_FOR_EACH_INCLUDE_BROKEN, cb_data);
|
||||
}
|
||||
|
||||
int for_each_rawref(each_ref_fn fn, void *cb_data)
|
||||
{
|
||||
return refs_for_each_rawref(get_main_ref_store(the_repository), fn, cb_data);
|
||||
}
|
||||
|
||||
int refs_for_each_include_root_refs(struct ref_store *refs, each_ref_fn fn,
|
||||
void *cb_data)
|
||||
{
|
||||
@ -2063,13 +1943,6 @@ int refs_init_db(struct ref_store *refs, int flags, struct strbuf *err)
|
||||
return refs->be->init_db(refs, flags, err);
|
||||
}
|
||||
|
||||
const char *resolve_ref_unsafe(const char *refname, int resolve_flags,
|
||||
struct object_id *oid, int *flags)
|
||||
{
|
||||
return refs_resolve_ref_unsafe(get_main_ref_store(the_repository), refname,
|
||||
resolve_flags, oid, flags);
|
||||
}
|
||||
|
||||
int resolve_gitlink_ref(const char *submodule, const char *refname,
|
||||
struct object_id *oid)
|
||||
{
|
||||
@ -2323,13 +2196,6 @@ int refs_create_symref(struct ref_store *refs,
|
||||
return retval;
|
||||
}
|
||||
|
||||
int create_symref(const char *ref_target, const char *refs_heads_master,
|
||||
const char *logmsg)
|
||||
{
|
||||
return refs_create_symref(get_main_ref_store(the_repository), ref_target,
|
||||
refs_heads_master, logmsg);
|
||||
}
|
||||
|
||||
int ref_update_reject_duplicates(struct string_list *refnames,
|
||||
struct strbuf *err)
|
||||
{
|
||||
@ -2623,11 +2489,6 @@ int refs_for_each_reflog(struct ref_store *refs, each_reflog_fn fn, void *cb_dat
|
||||
do_for_each_reflog_helper, &hp);
|
||||
}
|
||||
|
||||
int for_each_reflog(each_reflog_fn fn, void *cb_data)
|
||||
{
|
||||
return refs_for_each_reflog(get_main_ref_store(the_repository), fn, cb_data);
|
||||
}
|
||||
|
||||
int refs_for_each_reflog_ent_reverse(struct ref_store *refs,
|
||||
const char *refname,
|
||||
each_reflog_ent_fn fn,
|
||||
@ -2637,58 +2498,28 @@ int refs_for_each_reflog_ent_reverse(struct ref_store *refs,
|
||||
fn, cb_data);
|
||||
}
|
||||
|
||||
int for_each_reflog_ent_reverse(const char *refname, each_reflog_ent_fn fn,
|
||||
void *cb_data)
|
||||
{
|
||||
return refs_for_each_reflog_ent_reverse(get_main_ref_store(the_repository),
|
||||
refname, fn, cb_data);
|
||||
}
|
||||
|
||||
int refs_for_each_reflog_ent(struct ref_store *refs, const char *refname,
|
||||
each_reflog_ent_fn fn, void *cb_data)
|
||||
{
|
||||
return refs->be->for_each_reflog_ent(refs, refname, fn, cb_data);
|
||||
}
|
||||
|
||||
int for_each_reflog_ent(const char *refname, each_reflog_ent_fn fn,
|
||||
void *cb_data)
|
||||
{
|
||||
return refs_for_each_reflog_ent(get_main_ref_store(the_repository), refname,
|
||||
fn, cb_data);
|
||||
}
|
||||
|
||||
int refs_reflog_exists(struct ref_store *refs, const char *refname)
|
||||
{
|
||||
return refs->be->reflog_exists(refs, refname);
|
||||
}
|
||||
|
||||
int reflog_exists(const char *refname)
|
||||
{
|
||||
return refs_reflog_exists(get_main_ref_store(the_repository), refname);
|
||||
}
|
||||
|
||||
int refs_create_reflog(struct ref_store *refs, const char *refname,
|
||||
struct strbuf *err)
|
||||
{
|
||||
return refs->be->create_reflog(refs, refname, err);
|
||||
}
|
||||
|
||||
int safe_create_reflog(const char *refname, struct strbuf *err)
|
||||
{
|
||||
return refs_create_reflog(get_main_ref_store(the_repository), refname,
|
||||
err);
|
||||
}
|
||||
|
||||
int refs_delete_reflog(struct ref_store *refs, const char *refname)
|
||||
{
|
||||
return refs->be->delete_reflog(refs, refname);
|
||||
}
|
||||
|
||||
int delete_reflog(const char *refname)
|
||||
{
|
||||
return refs_delete_reflog(get_main_ref_store(the_repository), refname);
|
||||
}
|
||||
|
||||
int refs_reflog_expire(struct ref_store *refs,
|
||||
const char *refname,
|
||||
unsigned int flags,
|
||||
@ -2702,19 +2533,6 @@ int refs_reflog_expire(struct ref_store *refs,
|
||||
cleanup_fn, policy_cb_data);
|
||||
}
|
||||
|
||||
int reflog_expire(const char *refname,
|
||||
unsigned int flags,
|
||||
reflog_expiry_prepare_fn prepare_fn,
|
||||
reflog_expiry_should_prune_fn should_prune_fn,
|
||||
reflog_expiry_cleanup_fn cleanup_fn,
|
||||
void *policy_cb_data)
|
||||
{
|
||||
return refs_reflog_expire(get_main_ref_store(the_repository),
|
||||
refname, flags,
|
||||
prepare_fn, should_prune_fn,
|
||||
cleanup_fn, policy_cb_data);
|
||||
}
|
||||
|
||||
int initial_ref_transaction_commit(struct ref_transaction *transaction,
|
||||
struct strbuf *err)
|
||||
{
|
||||
@ -2793,12 +2611,6 @@ out:
|
||||
return ret;
|
||||
}
|
||||
|
||||
int delete_refs(const char *msg, struct string_list *refnames,
|
||||
unsigned int flags)
|
||||
{
|
||||
return refs_delete_refs(get_main_ref_store(the_repository), msg, refnames, flags);
|
||||
}
|
||||
|
||||
int refs_rename_ref(struct ref_store *refs, const char *oldref,
|
||||
const char *newref, const char *logmsg)
|
||||
{
|
||||
@ -2811,11 +2623,6 @@ int refs_rename_ref(struct ref_store *refs, const char *oldref,
|
||||
return retval;
|
||||
}
|
||||
|
||||
int rename_ref(const char *oldref, const char *newref, const char *logmsg)
|
||||
{
|
||||
return refs_rename_ref(get_main_ref_store(the_repository), oldref, newref, logmsg);
|
||||
}
|
||||
|
||||
int refs_copy_existing_ref(struct ref_store *refs, const char *oldref,
|
||||
const char *newref, const char *logmsg)
|
||||
{
|
||||
@ -2827,8 +2634,3 @@ int refs_copy_existing_ref(struct ref_store *refs, const char *oldref,
|
||||
free(msg);
|
||||
return retval;
|
||||
}
|
||||
|
||||
int copy_existing_ref(const char *oldref, const char *newref, const char *logmsg)
|
||||
{
|
||||
return refs_copy_existing_ref(get_main_ref_store(the_repository), oldref, newref, logmsg);
|
||||
}
|
||||
|
279
refs.h
279
refs.h
@ -72,22 +72,14 @@ const char *refs_resolve_ref_unsafe(struct ref_store *refs,
|
||||
struct object_id *oid,
|
||||
int *flags);
|
||||
|
||||
const char *resolve_ref_unsafe(const char *refname, int resolve_flags,
|
||||
struct object_id *oid, int *flags);
|
||||
|
||||
char *refs_resolve_refdup(struct ref_store *refs,
|
||||
const char *refname, int resolve_flags,
|
||||
struct object_id *oid, int *flags);
|
||||
char *resolve_refdup(const char *refname, int resolve_flags,
|
||||
struct object_id *oid, int *flags);
|
||||
|
||||
int refs_read_ref_full(struct ref_store *refs, const char *refname,
|
||||
int resolve_flags, struct object_id *oid, int *flags);
|
||||
int read_ref_full(const char *refname, int resolve_flags,
|
||||
struct object_id *oid, int *flags);
|
||||
|
||||
int refs_read_ref(struct ref_store *refs, const char *refname, struct object_id *oid);
|
||||
int read_ref(const char *refname, struct object_id *oid);
|
||||
|
||||
int refs_read_symbolic_ref(struct ref_store *ref_store, const char *refname,
|
||||
struct strbuf *referent);
|
||||
@ -118,8 +110,6 @@ int refs_verify_refname_available(struct ref_store *refs,
|
||||
|
||||
int refs_ref_exists(struct ref_store *refs, const char *refname);
|
||||
|
||||
int ref_exists(const char *refname);
|
||||
|
||||
int should_autocreate_reflog(const char *refname);
|
||||
|
||||
int is_branch(const char *refname);
|
||||
@ -334,18 +324,6 @@ int refs_for_each_branch_ref(struct ref_store *refs,
|
||||
int refs_for_each_remote_ref(struct ref_store *refs,
|
||||
each_ref_fn fn, void *cb_data);
|
||||
|
||||
/* just iterates the head ref. */
|
||||
int head_ref(each_ref_fn fn, void *cb_data);
|
||||
|
||||
/* iterates all refs. */
|
||||
int for_each_ref(each_ref_fn fn, void *cb_data);
|
||||
|
||||
/**
|
||||
* iterates all refs which have a defined prefix and strips that prefix from
|
||||
* the passed variable refname.
|
||||
*/
|
||||
int for_each_ref_in(const char *prefix, each_ref_fn fn, void *cb_data);
|
||||
|
||||
/*
|
||||
* references matching any pattern in "exclude_patterns" are omitted from the
|
||||
* result set on a best-effort basis.
|
||||
@ -353,8 +331,6 @@ int for_each_ref_in(const char *prefix, each_ref_fn fn, void *cb_data);
|
||||
int refs_for_each_fullref_in(struct ref_store *refs, const char *prefix,
|
||||
const char **exclude_patterns,
|
||||
each_ref_fn fn, void *cb_data);
|
||||
int for_each_fullref_in(const char *prefix, const char **exclude_patterns,
|
||||
each_ref_fn fn, void *cb_data);
|
||||
|
||||
/**
|
||||
* iterate all refs in "patterns" by partitioning patterns into disjoint sets
|
||||
@ -374,23 +350,16 @@ int refs_for_each_fullref_in_prefixes(struct ref_store *refs,
|
||||
/**
|
||||
* iterate refs from the respective area.
|
||||
*/
|
||||
int for_each_tag_ref(each_ref_fn fn, void *cb_data);
|
||||
int for_each_branch_ref(each_ref_fn fn, void *cb_data);
|
||||
int for_each_remote_ref(each_ref_fn fn, void *cb_data);
|
||||
int for_each_replace_ref(struct repository *r, each_repo_ref_fn fn, void *cb_data);
|
||||
|
||||
/* iterates all refs that match the specified glob pattern. */
|
||||
int refs_for_each_glob_ref(struct ref_store *refs, each_ref_fn fn,
|
||||
const char *pattern, void *cb_data);
|
||||
int for_each_glob_ref(each_ref_fn fn, const char *pattern, void *cb_data);
|
||||
|
||||
int refs_for_each_glob_ref_in(struct ref_store *refs, each_ref_fn fn,
|
||||
const char *pattern, const char *prefix, void *cb_data);
|
||||
int for_each_glob_ref_in(each_ref_fn fn, const char *pattern,
|
||||
const char *prefix, void *cb_data);
|
||||
|
||||
int refs_head_ref_namespaced(struct ref_store *refs, each_ref_fn fn, void *cb_data);
|
||||
int head_ref_namespaced(each_ref_fn fn, void *cb_data);
|
||||
|
||||
/*
|
||||
* references matching any pattern in "exclude_patterns" are omitted from the
|
||||
@ -399,12 +368,9 @@ int head_ref_namespaced(each_ref_fn fn, void *cb_data);
|
||||
int refs_for_each_namespaced_ref(struct ref_store *refs,
|
||||
const char **exclude_patterns,
|
||||
each_ref_fn fn, void *cb_data);
|
||||
int for_each_namespaced_ref(const char **exclude_patterns,
|
||||
each_ref_fn fn, void *cb_data);
|
||||
|
||||
/* can be used to learn about broken ref and symref */
|
||||
int refs_for_each_rawref(struct ref_store *refs, each_ref_fn fn, void *cb_data);
|
||||
int for_each_rawref(each_ref_fn fn, void *cb_data);
|
||||
|
||||
/*
|
||||
* Iterates over all refs including root refs, i.e. pseudorefs and HEAD.
|
||||
@ -460,7 +426,6 @@ int refs_pack_refs(struct ref_store *refs, struct pack_refs_opts *opts);
|
||||
*/
|
||||
int refs_create_reflog(struct ref_store *refs, const char *refname,
|
||||
struct strbuf *err);
|
||||
int safe_create_reflog(const char *refname, struct strbuf *err);
|
||||
|
||||
/**
|
||||
* Reads log for the value of ref during at_time (in which case "cnt" should be
|
||||
@ -484,7 +449,6 @@ int read_ref_at(struct ref_store *refs,
|
||||
|
||||
/** Check if a particular reflog exists */
|
||||
int refs_reflog_exists(struct ref_store *refs, const char *refname);
|
||||
int reflog_exists(const char *refname);
|
||||
|
||||
/*
|
||||
* Delete the specified reference. If old_oid is non-NULL, then
|
||||
@ -498,8 +462,6 @@ int refs_delete_ref(struct ref_store *refs, const char *msg,
|
||||
const char *refname,
|
||||
const struct object_id *old_oid,
|
||||
unsigned int flags);
|
||||
int delete_ref(const char *msg, const char *refname,
|
||||
const struct object_id *old_oid, unsigned int flags);
|
||||
|
||||
/*
|
||||
* Delete the specified references. If there are any problems, emit
|
||||
@ -509,12 +471,9 @@ int delete_ref(const char *msg, const char *refname,
|
||||
*/
|
||||
int refs_delete_refs(struct ref_store *refs, const char *msg,
|
||||
struct string_list *refnames, unsigned int flags);
|
||||
int delete_refs(const char *msg, struct string_list *refnames,
|
||||
unsigned int flags);
|
||||
|
||||
/** Delete a reflog */
|
||||
int refs_delete_reflog(struct ref_store *refs, const char *refname);
|
||||
int delete_reflog(const char *refname);
|
||||
|
||||
/*
|
||||
* Callback to process a reflog entry found by the iteration functions (see
|
||||
@ -560,17 +519,7 @@ int refs_for_each_reflog_ent_reverse(struct ref_store *refs,
|
||||
void *cb_data);
|
||||
|
||||
/*
|
||||
* Iterate over reflog entries in the log for `refname` in the main ref store.
|
||||
*/
|
||||
|
||||
/* oldest entry first */
|
||||
int for_each_reflog_ent(const char *refname, each_reflog_ent_fn fn, void *cb_data);
|
||||
|
||||
/* youngest entry first */
|
||||
int for_each_reflog_ent_reverse(const char *refname, each_reflog_ent_fn fn, void *cb_data);
|
||||
|
||||
/*
|
||||
* The signature for the callback function for the {refs_,}for_each_reflog()
|
||||
* The signature for the callback function for the refs_for_each_reflog()
|
||||
* functions below. The memory pointed to by the refname argument is only
|
||||
* guaranteed to be valid for the duration of a single callback invocation.
|
||||
*/
|
||||
@ -581,7 +530,6 @@ typedef int each_reflog_fn(const char *refname, void *cb_data);
|
||||
* and returns the value. Reflog file order is unspecified.
|
||||
*/
|
||||
int refs_for_each_reflog(struct ref_store *refs, each_reflog_fn fn, void *cb_data);
|
||||
int for_each_reflog(each_reflog_fn fn, void *cb_data);
|
||||
|
||||
#define REFNAME_ALLOW_ONELEVEL 1
|
||||
#define REFNAME_REFSPEC_PATTERN 2
|
||||
@ -606,23 +554,17 @@ const char *prettify_refname(const char *refname);
|
||||
|
||||
char *refs_shorten_unambiguous_ref(struct ref_store *refs,
|
||||
const char *refname, int strict);
|
||||
char *shorten_unambiguous_ref(const char *refname, int strict);
|
||||
|
||||
/** rename ref, return 0 on success **/
|
||||
int refs_rename_ref(struct ref_store *refs, const char *oldref,
|
||||
const char *newref, const char *logmsg);
|
||||
int rename_ref(const char *oldref, const char *newref,
|
||||
const char *logmsg);
|
||||
|
||||
/** copy ref, return 0 on success **/
|
||||
int refs_copy_existing_ref(struct ref_store *refs, const char *oldref,
|
||||
const char *newref, const char *logmsg);
|
||||
int copy_existing_ref(const char *oldref, const char *newref,
|
||||
const char *logmsg);
|
||||
|
||||
int refs_create_symref(struct ref_store *refs, const char *refname,
|
||||
const char *target, const char *logmsg);
|
||||
int create_symref(const char *refname, const char *target, const char *logmsg);
|
||||
|
||||
enum action_on_err {
|
||||
UPDATE_REFS_MSG_ON_ERR,
|
||||
@ -636,7 +578,6 @@ enum action_on_err {
|
||||
*/
|
||||
struct ref_transaction *ref_store_transaction_begin(struct ref_store *refs,
|
||||
struct strbuf *err);
|
||||
struct ref_transaction *ref_transaction_begin(struct strbuf *err);
|
||||
|
||||
/*
|
||||
* Reference transaction updates
|
||||
@ -867,9 +808,6 @@ void ref_transaction_free(struct ref_transaction *transaction);
|
||||
int refs_update_ref(struct ref_store *refs, const char *msg, const char *refname,
|
||||
const struct object_id *new_oid, const struct object_id *old_oid,
|
||||
unsigned int flags, enum action_on_err onerr);
|
||||
int update_ref(const char *msg, const char *refname,
|
||||
const struct object_id *new_oid, const struct object_id *old_oid,
|
||||
unsigned int flags, enum action_on_err onerr);
|
||||
|
||||
int parse_hide_refs_config(const char *var, const char *value, const char *,
|
||||
struct strvec *);
|
||||
@ -927,7 +865,7 @@ enum expire_reflog_flags {
|
||||
|
||||
/*
|
||||
* The following interface is used for reflog expiration. The caller
|
||||
* calls reflog_expire(), supplying it with three callback functions,
|
||||
* calls refs_reflog_expire(), supplying it with three callback functions,
|
||||
* of the following types. The callback functions define the
|
||||
* expiration policy that is desired.
|
||||
*
|
||||
@ -964,12 +902,6 @@ int refs_reflog_expire(struct ref_store *refs,
|
||||
reflog_expiry_should_prune_fn should_prune_fn,
|
||||
reflog_expiry_cleanup_fn cleanup_fn,
|
||||
void *policy_cb_data);
|
||||
int reflog_expire(const char *refname,
|
||||
unsigned int flags,
|
||||
reflog_expiry_prepare_fn prepare_fn,
|
||||
reflog_expiry_should_prune_fn should_prune_fn,
|
||||
reflog_expiry_cleanup_fn cleanup_fn,
|
||||
void *policy_cb_data);
|
||||
|
||||
struct ref_store *get_main_ref_store(struct repository *r);
|
||||
|
||||
@ -1068,4 +1000,211 @@ void update_ref_namespace(enum ref_namespace namespace, char *ref);
|
||||
int is_pseudoref(struct ref_store *refs, const char *refname);
|
||||
int is_headref(struct ref_store *refs, const char *refname);
|
||||
|
||||
/*
|
||||
* The following functions have been removed in Git v2.45 in favor of functions
|
||||
* that receive a `ref_store` as parameter. The intent of this section is
|
||||
* merely to help patch authors of in-flight series to have a reference what
|
||||
* they should be migrating to. The section will be removed in Git v2.46.
|
||||
*/
|
||||
#if 0
|
||||
static char *resolve_refdup(const char *refname, int resolve_flags,
|
||||
struct object_id *oid, int *flags)
|
||||
{
|
||||
return refs_resolve_refdup(get_main_ref_store(the_repository),
|
||||
refname, resolve_flags,
|
||||
oid, flags);
|
||||
}
|
||||
|
||||
static int read_ref_full(const char *refname, int resolve_flags,
|
||||
struct object_id *oid, int *flags)
|
||||
{
|
||||
return refs_read_ref_full(get_main_ref_store(the_repository), refname,
|
||||
resolve_flags, oid, flags);
|
||||
}
|
||||
|
||||
static int read_ref(const char *refname, struct object_id *oid)
|
||||
{
|
||||
return refs_read_ref(get_main_ref_store(the_repository), refname, oid);
|
||||
}
|
||||
|
||||
static int ref_exists(const char *refname)
|
||||
{
|
||||
return refs_ref_exists(get_main_ref_store(the_repository), refname);
|
||||
}
|
||||
|
||||
static int for_each_tag_ref(each_ref_fn fn, void *cb_data)
|
||||
{
|
||||
return refs_for_each_tag_ref(get_main_ref_store(the_repository), fn, cb_data);
|
||||
}
|
||||
|
||||
static int for_each_branch_ref(each_ref_fn fn, void *cb_data)
|
||||
{
|
||||
return refs_for_each_branch_ref(get_main_ref_store(the_repository), fn, cb_data);
|
||||
}
|
||||
|
||||
static int for_each_remote_ref(each_ref_fn fn, void *cb_data)
|
||||
{
|
||||
return refs_for_each_remote_ref(get_main_ref_store(the_repository), fn, cb_data);
|
||||
}
|
||||
|
||||
static int head_ref_namespaced(each_ref_fn fn, void *cb_data)
|
||||
{
|
||||
return refs_head_ref_namespaced(get_main_ref_store(the_repository),
|
||||
fn, cb_data);
|
||||
}
|
||||
|
||||
static int for_each_glob_ref_in(each_ref_fn fn, const char *pattern,
|
||||
const char *prefix, void *cb_data)
|
||||
{
|
||||
return refs_for_each_glob_ref_in(get_main_ref_store(the_repository),
|
||||
fn, pattern, prefix, cb_data);
|
||||
}
|
||||
|
||||
static int for_each_glob_ref(each_ref_fn fn, const char *pattern, void *cb_data)
|
||||
{
|
||||
return refs_for_each_glob_ref(get_main_ref_store(the_repository),
|
||||
fn, pattern, cb_data);
|
||||
}
|
||||
|
||||
static int delete_ref(const char *msg, const char *refname,
|
||||
const struct object_id *old_oid, unsigned int flags)
|
||||
{
|
||||
return refs_delete_ref(get_main_ref_store(the_repository), msg, refname,
|
||||
old_oid, flags);
|
||||
}
|
||||
|
||||
static struct ref_transaction *ref_transaction_begin(struct strbuf *err)
|
||||
{
|
||||
return ref_store_transaction_begin(get_main_ref_store(the_repository), err);
|
||||
}
|
||||
|
||||
static int update_ref(const char *msg, const char *refname,
|
||||
const struct object_id *new_oid,
|
||||
const struct object_id *old_oid,
|
||||
unsigned int flags, enum action_on_err onerr)
|
||||
{
|
||||
return refs_update_ref(get_main_ref_store(the_repository), msg, refname, new_oid,
|
||||
old_oid, flags, onerr);
|
||||
}
|
||||
|
||||
static char *shorten_unambiguous_ref(const char *refname, int strict)
|
||||
{
|
||||
return refs_shorten_unambiguous_ref(get_main_ref_store(the_repository),
|
||||
refname, strict);
|
||||
}
|
||||
|
||||
static int head_ref(each_ref_fn fn, void *cb_data)
|
||||
{
|
||||
return refs_head_ref(get_main_ref_store(the_repository), fn, cb_data);
|
||||
}
|
||||
|
||||
static int for_each_ref(each_ref_fn fn, void *cb_data)
|
||||
{
|
||||
return refs_for_each_ref(get_main_ref_store(the_repository), fn, cb_data);
|
||||
}
|
||||
|
||||
static int for_each_ref_in(const char *prefix, each_ref_fn fn, void *cb_data)
|
||||
{
|
||||
return refs_for_each_ref_in(get_main_ref_store(the_repository), prefix, fn, cb_data);
|
||||
}
|
||||
|
||||
static int for_each_fullref_in(const char *prefix,
|
||||
const char **exclude_patterns,
|
||||
each_ref_fn fn, void *cb_data)
|
||||
{
|
||||
return refs_for_each_fullref_in(get_main_ref_store(the_repository),
|
||||
prefix, exclude_patterns, fn, cb_data);
|
||||
}
|
||||
|
||||
static int for_each_namespaced_ref(const char **exclude_patterns,
|
||||
each_ref_fn fn, void *cb_data)
|
||||
{
|
||||
return refs_for_each_namespaced_ref(get_main_ref_store(the_repository),
|
||||
exclude_patterns, fn, cb_data);
|
||||
}
|
||||
|
||||
static int for_each_rawref(each_ref_fn fn, void *cb_data)
|
||||
{
|
||||
return refs_for_each_rawref(get_main_ref_store(the_repository), fn, cb_data);
|
||||
}
|
||||
|
||||
static const char *resolve_ref_unsafe(const char *refname, int resolve_flags,
|
||||
struct object_id *oid, int *flags)
|
||||
{
|
||||
return refs_resolve_ref_unsafe(get_main_ref_store(the_repository), refname,
|
||||
resolve_flags, oid, flags);
|
||||
}
|
||||
|
||||
static int create_symref(const char *ref_target, const char *refs_heads_master,
|
||||
const char *logmsg)
|
||||
{
|
||||
return refs_create_symref(get_main_ref_store(the_repository), ref_target,
|
||||
refs_heads_master, logmsg);
|
||||
}
|
||||
|
||||
static int for_each_reflog(each_reflog_fn fn, void *cb_data)
|
||||
{
|
||||
return refs_for_each_reflog(get_main_ref_store(the_repository), fn, cb_data);
|
||||
}
|
||||
|
||||
static int for_each_reflog_ent_reverse(const char *refname, each_reflog_ent_fn fn,
|
||||
void *cb_data)
|
||||
{
|
||||
return refs_for_each_reflog_ent_reverse(get_main_ref_store(the_repository),
|
||||
refname, fn, cb_data);
|
||||
}
|
||||
|
||||
static int for_each_reflog_ent(const char *refname, each_reflog_ent_fn fn,
|
||||
void *cb_data)
|
||||
{
|
||||
return refs_for_each_reflog_ent(get_main_ref_store(the_repository), refname,
|
||||
fn, cb_data);
|
||||
}
|
||||
|
||||
static int reflog_exists(const char *refname)
|
||||
{
|
||||
return refs_reflog_exists(get_main_ref_store(the_repository), refname);
|
||||
}
|
||||
|
||||
static int safe_create_reflog(const char *refname, struct strbuf *err)
|
||||
{
|
||||
return refs_create_reflog(get_main_ref_store(the_repository), refname,
|
||||
err);
|
||||
}
|
||||
|
||||
static int delete_reflog(const char *refname)
|
||||
{
|
||||
return refs_delete_reflog(get_main_ref_store(the_repository), refname);
|
||||
}
|
||||
|
||||
static int reflog_expire(const char *refname,
|
||||
unsigned int flags,
|
||||
reflog_expiry_prepare_fn prepare_fn,
|
||||
reflog_expiry_should_prune_fn should_prune_fn,
|
||||
reflog_expiry_cleanup_fn cleanup_fn,
|
||||
void *policy_cb_data)
|
||||
{
|
||||
return refs_reflog_expire(get_main_ref_store(the_repository),
|
||||
refname, flags,
|
||||
prepare_fn, should_prune_fn,
|
||||
cleanup_fn, policy_cb_data);
|
||||
}
|
||||
|
||||
static int delete_refs(const char *msg, struct string_list *refnames,
|
||||
unsigned int flags)
|
||||
{
|
||||
return refs_delete_refs(get_main_ref_store(the_repository), msg, refnames, flags);
|
||||
}
|
||||
|
||||
static int rename_ref(const char *oldref, const char *newref, const char *logmsg)
|
||||
{
|
||||
return refs_rename_ref(get_main_ref_store(the_repository), oldref, newref, logmsg);
|
||||
}
|
||||
|
||||
static int copy_existing_ref(const char *oldref, const char *newref, const char *logmsg)
|
||||
{
|
||||
return refs_copy_existing_ref(get_main_ref_store(the_repository), oldref, newref, logmsg);
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* REFS_H */
|
||||
|
Loading…
Reference in New Issue
Block a user