]> git.ipfire.org Git - thirdparty/git.git/commitdiff
refs.c: remove fallback-to-main-store code get_submodule_ref_store()
authorNguyễn Thái Ngọc Duy <pclouds@gmail.com>
Wed, 23 Aug 2017 12:37:03 +0000 (19:37 +0700)
committerJunio C Hamano <gitster@pobox.com>
Thu, 24 Aug 2017 21:59:02 +0000 (14:59 -0700)
At this state, there are three get_submodule_ref_store() callers:

 - for_each_remote_ref_submodule()
 - handle_revision_pseudo_opt()
 - resolve_gitlink_ref()

The first two deal explicitly with submodules (and we should never fall
back to the main ref store as a result). They are only called from
submodule.c:

 - find_first_merges()
 - submodule_needs_pushing()
 - push_submodule()

The last one, as its name implies, deals only with submodules too, and
the "submodule" (path) argument must be a non-NULL, non-empty string.

So, this "if NULL or empty string" code block should never ever
trigger. And it's wrong to fall back to the main ref store
anyway. Delete it.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
refs.c

diff --git a/refs.c b/refs.c
index 8c989ffec76c5186d342bc3eed3f864d98f11578..a0c5078901294b36856644c5d5d96980b6735df2 100644 (file)
--- a/refs.c
+++ b/refs.c
@@ -1587,6 +1587,9 @@ struct ref_store *get_submodule_ref_store(const char *submodule)
        char *to_free = NULL;
        size_t len;
 
+       if (!submodule)
+               return NULL;
+
        if (submodule) {
                len = strlen(submodule);
                while (len && is_dir_sep(submodule[len - 1]))
@@ -1595,14 +1598,6 @@ struct ref_store *get_submodule_ref_store(const char *submodule)
                        return NULL;
        }
 
-       if (!submodule || !*submodule) {
-               /*
-                * FIXME: This case is ideally not allowed. But that
-                * can't happen until we clean up all the callers.
-                */
-               return get_main_ref_store();
-       }
-
        if (submodule[len])
                /* We need to strip off one or more trailing slashes */
                submodule = to_free = xmemdupz(submodule, len);