refs: plumb repo into ref stores
In preparation for the next 2 patches that adds (partial) support for arbitrary repositories to ref iterators, plumb a repository into all ref stores. There are no changes to program logic. Signed-off-by: Jonathan Tan <jonathantanmy@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
b6b210c5e1
commit
34224e14d6
@ -79,13 +79,15 @@ static void clear_loose_ref_cache(struct files_ref_store *refs)
|
||||
* Create a new submodule ref cache and add it to the internal
|
||||
* set of caches.
|
||||
*/
|
||||
static struct ref_store *files_ref_store_create(const char *gitdir,
|
||||
static struct ref_store *files_ref_store_create(struct repository *repo,
|
||||
const char *gitdir,
|
||||
unsigned int flags)
|
||||
{
|
||||
struct files_ref_store *refs = xcalloc(1, sizeof(*refs));
|
||||
struct ref_store *ref_store = (struct ref_store *)refs;
|
||||
struct strbuf sb = STRBUF_INIT;
|
||||
|
||||
ref_store->repo = repo;
|
||||
ref_store->gitdir = xstrdup(gitdir);
|
||||
base_ref_store_init(ref_store, &refs_be_files);
|
||||
refs->store_flags = flags;
|
||||
@ -93,7 +95,7 @@ static struct ref_store *files_ref_store_create(const char *gitdir,
|
||||
get_common_dir_noenv(&sb, gitdir);
|
||||
refs->gitcommondir = strbuf_detach(&sb, NULL);
|
||||
strbuf_addf(&sb, "%s/packed-refs", refs->gitcommondir);
|
||||
refs->packed_ref_store = packed_ref_store_create(sb.buf, flags);
|
||||
refs->packed_ref_store = packed_ref_store_create(repo, sb.buf, flags);
|
||||
strbuf_release(&sb);
|
||||
|
||||
chdir_notify_reparent("files-backend $GIT_DIR", &refs->base.gitdir);
|
||||
|
||||
Reference in New Issue
Block a user