refs.c: remove lock_ref_sha1
[gitweb.git] / refs.c
diff --git a/refs.c b/refs.c
index a6b39ec2d7c96be3c307227ea221c4f05f179e45..fd6768429d1932506caf85c8b70cab533296fb27 100644 (file)
--- a/refs.c
+++ b/refs.c
@@ -2173,15 +2173,6 @@ static struct ref_lock *lock_ref_sha1_basic(const char *refname,
        return NULL;
 }
 
-static struct ref_lock *lock_ref_sha1(const char *refname, const unsigned char *old_sha1)
-{
-       char refpath[PATH_MAX];
-       if (check_refname_format(refname, 0))
-               return NULL;
-       strcpy(refpath, mkpath("refs/%s", refname));
-       return lock_ref_sha1_basic(refpath, old_sha1, 0, NULL);
-}
-
 struct ref_lock *lock_any_ref_for_update(const char *refname,
                                         const unsigned char *old_sha1,
                                         int flags, int *type_p)
@@ -2391,8 +2382,12 @@ static void try_remove_empty_parents(char *name)
 /* make sure nobody touched the ref, and unlink */
 static void prune_ref(struct ref_to_prune *r)
 {
-       struct ref_lock *lock = lock_ref_sha1(r->name + 5, r->sha1);
+       struct ref_lock *lock;
+
+       if (check_refname_format(r->name + 5, 0))
+               return;
 
+       lock = lock_ref_sha1_basic(r->name, r->sha1, 0, NULL);
        if (lock) {
                unlink_or_warn(git_path("%s", r->name));
                unlock_ref(lock);