refs.c: remove fallback-to-main-store code get_submodule_ref_store()

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>

Nguyễn Thái Ngọc Duy committed Aug 23, 2017 at 19:37 UTC 82a150f27a16cd1425d4c78904470e4b7b8c4cf7
1 file changed +3 -8
refs.c
+3 -8
@@ -1587,6 +1587,9 @@ struct ref_store *get_submodule_ref_store(const char *submodule)
1587 char *to_free = NULL;
1588 size_t len;
1589
1590 + if (!submodule)
1591 + return NULL;
1592 +
1593 if (submodule) {
1594 len = strlen(submodule);
1595 while (len && is_dir_sep(submodule[len - 1]))
@@ -1595,14 +1598,6 @@ struct ref_store *get_submodule_ref_store(const char *submodule)
1598 return NULL;
1599 }
1600
1598 - if (!submodule || !*submodule) {
1599 - /*
1600 - * FIXME: This case is ideally not allowed. But that
1601 - * can't happen until we clean up all the callers.
1602 - */
1603 - return get_main_ref_store();
1604 - }
1605 -
1601 if (submodule[len])
1602 /* We need to strip off one or more trailing slashes */
1603 submodule = to_free = xmemdupz(submodule, len);