summaryrefslogtreecommitdiff
path: root/refs
diff options
context:
space:
mode:
authorMichael Haggerty <mhagger@alum.mit.edu>2016-09-04 16:08:33 (GMT)
committerJunio C Hamano <gitster@pobox.com>2016-09-09 22:28:13 (GMT)
commitb3bbbc5c245b2599f3b53122f2bb57a054027413 (patch)
tree6be1c62a700dec28a4b006a03d7b08a790e69e69 /refs
parentf18a7892500d494b96c992084951fa85dec4abc2 (diff)
downloadgit-b3bbbc5c245b2599f3b53122f2bb57a054027413.zip
git-b3bbbc5c245b2599f3b53122f2bb57a054027413.tar.gz
git-b3bbbc5c245b2599f3b53122f2bb57a054027413.tar.bz2
lock_ref_for_update(): add a files_ref_store argument
Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'refs')
-rw-r--r--refs/files-backend.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/refs/files-backend.c b/refs/files-backend.c
index 82d9148..7e869ba 100644
--- a/refs/files-backend.c
+++ b/refs/files-backend.c
@@ -3482,20 +3482,21 @@ static const char *original_update_refname(struct ref_update *update)
* - If it is an update of head_ref, add a corresponding REF_LOG_ONLY
* update of HEAD.
*/
-static int lock_ref_for_update(struct ref_update *update,
+static int lock_ref_for_update(struct files_ref_store *refs,
+ struct ref_update *update,
struct ref_transaction *transaction,
const char *head_ref,
struct string_list *affected_refnames,
struct strbuf *err)
{
- struct files_ref_store *refs =
- get_files_ref_store(NULL, "lock_ref_for_update");
struct strbuf referent = STRBUF_INIT;
int mustexist = (update->flags & REF_HAVE_OLD) &&
!is_null_sha1(update->old_sha1);
int ret;
struct ref_lock *lock;
+ assert_main_repository(&refs->base, "lock_ref_for_update");
+
if ((update->flags & REF_HAVE_NEW) && is_null_sha1(update->new_sha1))
update->flags |= REF_DELETING;
@@ -3720,8 +3721,8 @@ static int files_transaction_commit(struct ref_store *ref_store,
for (i = 0; i < transaction->nr; i++) {
struct ref_update *update = transaction->updates[i];
- ret = lock_ref_for_update(update, transaction, head_ref,
- &affected_refnames, err);
+ ret = lock_ref_for_update(refs, update, transaction,
+ head_ref, &affected_refnames, err);
if (ret)
goto cleanup;
}