read_loose_refs(): eliminate ref_cache argument
authorMichael Haggerty <mhagger@alum.mit.edu>
Thu, 26 Apr 2012 22:27:06 +0000 (00:27 +0200)
committerJunio C Hamano <gitster@pobox.com>
Thu, 3 May 2012 20:15:36 +0000 (13:15 -0700)
The ref_cache can now be read from the ref_dir.

Signed-off-by: Michael Haggerty <mhagger@alum.mit.edu>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
refs.c

diff --git a/refs.c b/refs.c
index 6720b9020196644ce8d9663040cad79c3ec08e9a..746661ecf4c0b0818ee597216cbed321fc818c19 100644 (file)
--- a/refs.c
+++ b/refs.c
@@ -785,9 +785,9 @@ void add_packed_ref(const char *refname, const unsigned char *sha1)
  * dirname must end with '/'.  dir must be the directory entry
  * corresponding to dirname.
  */
-static void read_loose_refs(struct ref_cache *refs, const char *dirname,
-                           struct ref_dir *dir)
+static void read_loose_refs(const char *dirname, struct ref_dir *dir)
 {
+       struct ref_cache *refs = dir->ref_cache;
        DIR *d;
        const char *path;
        struct dirent *de;
@@ -824,7 +824,7 @@ static void read_loose_refs(struct ref_cache *refs, const char *dirname,
                        ; /* silently ignore */
                } else if (S_ISDIR(st.st_mode)) {
                        strbuf_addch(&refname, '/');
-                       read_loose_refs(refs, refname.buf,
+                       read_loose_refs(refname.buf,
                                        search_for_subdir(dir, refname.buf, 1));
                } else {
                        if (*refs->name) {
@@ -851,7 +851,7 @@ static struct ref_dir *get_loose_refs(struct ref_cache *refs)
 {
        if (!refs->loose) {
                refs->loose = create_dir_entry(refs, "");
-               read_loose_refs(refs, "refs/",
+               read_loose_refs("refs/",
                                search_for_subdir(get_ref_dir(refs->loose),
                                                  "refs/", 1));
        }