Browse Source

refs: add method for initial ref transaction commit

Signed-off-by: Ronnie Sahlberg <rsahlberg@google.com>
Signed-off-by: David Turner <dturner@twopensource.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
David Turner 9 years ago committed by Junio C Hamano
parent
commit
fc6814637d
  1. 8
      refs.c
  2. 8
      refs/files-backend.c
  3. 1
      refs/refs-internal.h

8
refs.c

@ -1524,3 +1524,11 @@ int reflog_expire(const char *refname, const unsigned char *sha1, @@ -1524,3 +1524,11 @@ int reflog_expire(const char *refname, const unsigned char *sha1,
prepare_fn, should_prune_fn,
cleanup_fn, policy_cb_data);
}

int initial_ref_transaction_commit(struct ref_transaction *transaction,
struct strbuf *err)
{
struct ref_store *refs = get_ref_store(NULL);

return refs->be->initial_transaction_commit(refs, transaction, err);
}

8
refs/files-backend.c

@ -3829,11 +3829,12 @@ static int ref_present(const char *refname, @@ -3829,11 +3829,12 @@ static int ref_present(const char *refname,
return string_list_has_string(affected_refnames, refname);
}

int initial_ref_transaction_commit(struct ref_transaction *transaction,
struct strbuf *err)
static int files_initial_transaction_commit(struct ref_store *ref_store,
struct ref_transaction *transaction,
struct strbuf *err)
{
struct files_ref_store *refs =
get_files_ref_store(NULL, "initial_ref_transaction_commit");
files_downcast(ref_store, 0, "initial_ref_transaction_commit");
int ret = 0, i;
struct string_list affected_refnames = STRING_LIST_INIT_NODUP;

@ -4061,6 +4062,7 @@ struct ref_storage_be refs_be_files = { @@ -4061,6 +4062,7 @@ struct ref_storage_be refs_be_files = {
"files",
files_ref_store_create,
files_transaction_commit,
files_initial_transaction_commit,

files_pack_refs,
files_peel_ref,

1
refs/refs-internal.h

@ -582,6 +582,7 @@ struct ref_storage_be { @@ -582,6 +582,7 @@ struct ref_storage_be {
const char *name;
ref_store_init_fn *init;
ref_transaction_commit_fn *transaction_commit;
ref_transaction_commit_fn *initial_transaction_commit;

pack_refs_fn *pack_refs;
peel_ref_fn *peel_ref;

Loading…
Cancel
Save