This fixes the bug reported in [1] ("Bug: moving submodules that have submodules inside them causes a fatal error in git status") [1] https://public-inbox.org/git/20180306192017.GA5797@xxxxxxxxxx/ Thanks, Stefan Stefan Beller (5): submodule.h: drop declaration of connect_work_tree_and_git_dir submodule-config: allow submodule_free to handle arbitrary repositories submodule-config: add repository argument to submodule_from_{name, path} submodule-config: remove submodule_from_cache submodule: fixup nested submodules after moving the submodule .../technical/api-submodule-config.txt | 2 +- builtin/grep.c | 2 +- builtin/mv.c | 6 +- builtin/submodule--helper.c | 17 +++-- dir.c | 70 ++++++++++++++++++- dir.h | 12 +++- repository.c | 2 +- submodule-config.c | 29 +++----- submodule-config.h | 9 +-- submodule.c | 40 ++++++----- submodule.h | 1 - t/helper/test-submodule-config.c | 8 ++- t/t7001-mv.sh | 2 +- unpack-trees.c | 2 +- 14 files changed, 135 insertions(+), 67 deletions(-) -- 2.17.0.rc1.321.gba9d0f2565-goog