refs: add a transaction_commit() method
[gitweb.git] / refs / files-backend.c
index 17404413cc813b3f0b16bbb1ba0b0c463451481b..2d847f57e438b2342eb0846c4f60ba89203e2df7 100644 (file)
@@ -3700,11 +3700,12 @@ static int lock_ref_for_update(struct ref_update *update,
        return 0;
 }
 
-int ref_transaction_commit(struct ref_transaction *transaction,
-                          struct strbuf *err)
+static int files_transaction_commit(struct ref_store *ref_store,
+                                   struct ref_transaction *transaction,
+                                   struct strbuf *err)
 {
        struct files_ref_store *refs =
-               get_files_ref_store(NULL, "ref_transaction_commit");
+               files_downcast(ref_store, 0, "ref_transaction_commit");
        int ret = 0, i;
        struct string_list refs_to_delete = STRING_LIST_INIT_NODUP;
        struct string_list_item *ref_to_delete;
@@ -4093,5 +4094,6 @@ int reflog_expire(const char *refname, const unsigned char *sha1,
 struct ref_storage_be refs_be_files = {
        NULL,
        "files",
-       files_ref_store_create
+       files_ref_store_create,
+       files_transaction_commit
 };