Signed-off-by: Nguyễn Thái Ngọc Duy <pclo...@gmail.com>
---
 refs.c | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/refs.c b/refs.c
index 7a474198e..10994d992 100644
--- a/refs.c
+++ b/refs.c
@@ -1445,15 +1445,23 @@ static struct ref_store *ref_store_init(const char 
*submodule)
        return refs;
 }
 
+static struct ref_store *get_main_ref_store(void)
+{
+       struct ref_store *refs;
+
+       if (main_ref_store)
+               return main_ref_store;
+
+       refs = ref_store_init(NULL);
+       return refs;
+}
+
 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);
 
-- 
2.11.0.157.gd943d85

Reply via email to