refs: make peel_ref() virtual
[gitweb.git] / refs / files-backend.c
index fc67cc6ec74725a28d212e525aea5a4ed64fc785..af3ad83fe59847623fe422f3123a67ec17b30843 100644 (file)
@@ -1759,9 +1759,10 @@ static enum peel_status peel_entry(struct ref_entry *entry, int repeel)
        return status;
 }
 
-int peel_ref(const char *refname, unsigned char *sha1)
+static int files_peel_ref(struct ref_store *ref_store,
+                         const char *refname, unsigned char *sha1)
 {
-       struct files_ref_store *refs = get_files_ref_store(NULL, "peel_ref");
+       struct files_ref_store *refs = files_downcast(ref_store, 0, "peel_ref");
        int flag;
        unsigned char base[20];
 
@@ -4027,6 +4028,7 @@ struct ref_storage_be refs_be_files = {
        files_transaction_commit,
 
        files_pack_refs,
+       files_peel_ref,
        files_create_symref,
 
        files_read_raw_ref,