summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Turner <dturner@twopensource.com>2016-02-24 17:58:43 -0500
committerJunio C Hamano <gitster@pobox.com>2016-02-25 16:01:02 -0800
commita51785e79dec8abe8170d548a808bc18fc8aad17 (patch)
treed5a1ca83535db4894d29c7248e99067746b67907
parent69e7ee70b146e9999431e35f61ac0ab6266a218e (diff)
downloadgit-a51785e79dec8abe8170d548a808bc18fc8aad17.tar.gz
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>
-rw-r--r--refs.c6
-rw-r--r--refs/files-backend.c5
-rw-r--r--refs/refs-internal.h1
3 files changed, 10 insertions, 2 deletions
diff --git a/refs.c b/refs.c
index fd94211622..3255cacb86 100644
--- a/refs.c
+++ b/refs.c
@@ -1396,3 +1396,9 @@ 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)
+{
+ return the_refs_backend->initial_transaction_commit(transaction, err);
+}
diff --git a/refs/files-backend.c b/refs/files-backend.c
index 5bc9933616..3eb5924bf4 100644
--- a/refs/files-backend.c
+++ b/refs/files-backend.c
@@ -3203,8 +3203,8 @@ 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_transaction *transaction,
+ struct strbuf *err)
{
int ret = 0, i;
int n = transaction->nr;
@@ -3428,6 +3428,7 @@ struct ref_storage_be refs_be_files = {
NULL,
"files",
files_transaction_commit,
+ files_initial_transaction_commit,
files_for_each_reflog_ent,
files_for_each_reflog_ent_reverse,
diff --git a/refs/refs-internal.h b/refs/refs-internal.h
index c92e0c31a9..5aa3fa0d1c 100644
--- a/refs/refs-internal.h
+++ b/refs/refs-internal.h
@@ -255,6 +255,7 @@ struct ref_storage_be {
struct ref_storage_be *next;
const char *name;
ref_transaction_commit_fn *transaction_commit;
+ ref_transaction_commit_fn *initial_transaction_commit;
for_each_reflog_ent_fn *for_each_reflog_ent;
for_each_reflog_ent_reverse_fn *for_each_reflog_ent_reverse;