packed_ref_store: get rid of the `ref_cache` entirely
[gitweb.git] / refs / packed-backend.c
index dbbba45502ec7690572e6c3413f5cadebacc5c1a..3829e9c29437995652a557c6482dc0aecf8fba95 100644 (file)
@@ -45,8 +45,6 @@ struct packed_ref_cache {
         */
        struct packed_ref_store *refs;
 
-       struct ref_cache *cache;
-
        /* Is the `packed-refs` file currently mmapped? */
        int mmapped;
 
@@ -148,7 +146,6 @@ static void release_packed_ref_buffer(struct packed_ref_cache *packed_refs)
 static int release_packed_ref_cache(struct packed_ref_cache *packed_refs)
 {
        if (!--packed_refs->referrers) {
-               free_ref_cache(packed_refs->cache);
                stat_validity_clear(&packed_refs->validity);
                release_packed_ref_buffer(packed_refs);
                free(packed_refs);
@@ -719,15 +716,10 @@ static const char *find_reference_location(struct packed_ref_cache *cache,
 static struct packed_ref_cache *read_packed_refs(struct packed_ref_store *refs)
 {
        struct packed_ref_cache *packed_refs = xcalloc(1, sizeof(*packed_refs));
-       struct ref_dir *dir;
-       struct ref_iterator *iter;
        int sorted = 0;
-       int ok;
 
        packed_refs->refs = refs;
        acquire_packed_ref_cache(packed_refs);
-       packed_refs->cache = create_ref_cache(NULL, NULL);
-       packed_refs->cache->root->flag &= ~REF_INCOMPLETE;
        packed_refs->peeled = PEELED_NONE;
 
        if (!load_contents(packed_refs))
@@ -800,23 +792,6 @@ static struct packed_ref_cache *read_packed_refs(struct packed_ref_store *refs)
                packed_refs->eof = buf_copy + size;
        }
 
-       dir = get_ref_dir(packed_refs->cache->root);
-       iter = mmapped_ref_iterator_begin(
-                       packed_refs,
-                       packed_refs->buf + packed_refs->header_len,
-                       packed_refs->eof);
-       while ((ok = ref_iterator_advance(iter)) == ITER_OK) {
-               struct ref_entry *entry =
-                       create_ref_entry(iter->refname, iter->oid, iter->flags);
-
-               if ((iter->flags & REF_KNOWS_PEELED))
-                       ref_iterator_peel(iter, &entry->u.value.peeled);
-               add_ref_entry(dir, entry);
-       }
-
-       if (ok != ITER_DONE)
-               die("error reading packed-refs file %s", refs->path);
-
        return packed_refs;
 }
 
@@ -975,8 +950,8 @@ static struct ref_iterator *packed_ref_iterator_begin(
        else
                start = packed_refs->buf + packed_refs->header_len;
 
-       iter->iter0 = mmapped_ref_iterator_begin(
-                       packed_refs, start, packed_refs->eof);
+       iter->iter0 = mmapped_ref_iterator_begin(packed_refs,
+                                                start, packed_refs->eof);
 
        iter->flags = flags;