This helps the future changes in this code. And because get_ref_store()
is destined to become get_submodule_ref_store(), the "get main store"
code path will be removed eventually. After this the patch to delete
that code will be cleaner.

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

diff --git a/refs.c b/refs.c
index ea13a5b86..76a0e7b5a 100644
--- a/refs.c
+++ b/refs.c
@@ -1454,22 +1454,21 @@ static struct ref_store *get_main_ref_store(void)
 
 struct ref_store *get_ref_store(const char *submodule)
 {
+       struct strbuf submodule_sb = STRBUF_INIT;
        struct ref_store *refs;
 
        if (!submodule || !*submodule) {
                return get_main_ref_store();
-       } else {
-               refs = lookup_submodule_ref_store(submodule);
+       }
 
-               if (!refs) {
-                       struct strbuf submodule_sb = STRBUF_INIT;
+       refs = lookup_submodule_ref_store(submodule);
+       if (refs)
+               return refs;
 
-                       strbuf_addstr(&submodule_sb, submodule);
-                       if (is_nonbare_repository_dir(&submodule_sb))
-                               refs = ref_store_init(submodule);
-                       strbuf_release(&submodule_sb);
-               }
-       }
+       strbuf_addstr(&submodule_sb, submodule);
+       if (is_nonbare_repository_dir(&submodule_sb))
+               refs = ref_store_init(submodule);
+       strbuf_release(&submodule_sb);
        return refs;
 }
 
-- 
2.11.0.157.gd943d85

Reply via email to