diff options
Diffstat (limited to 'refs.c')
-rw-r--r-- | refs.c | 13 |
1 files changed, 9 insertions, 4 deletions
@@ -1456,15 +1456,20 @@ static struct ref_store *ref_store_init(const char *submodule) return refs; } +static struct ref_store *get_main_ref_store(void) +{ + if (main_ref_store) + return main_ref_store; + + return ref_store_init(NULL); +} + struct ref_store *get_ref_store(const char *submodule) { struct ref_store *refs; if (!submodule || !*submodule) { - refs = lookup_ref_store(NULL); - - if (!refs) - refs = ref_store_init(NULL); + return get_main_ref_store(); } else { refs = lookup_ref_store(submodule); |