v2: * addressed memleaks and messy code in patch 5 * removed the extern keyword where applicable * extended the commit message, stating we want to rename submodule_free in the future. * picked up Jonathans patch and added it as a nice finish of the series. I did not see the need or aesthetic desire to put that patch earlier in the series. Thanks, Stefan v1: 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 Jonathan Tan (1): grep: remove "repo" arg from non-supporting funcs 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 | 14 ++--- builtin/mv.c | 6 +- builtin/submodule--helper.c | 17 +++-- dir.c | 63 ++++++++++++++++++- dir.h | 12 +++- repository.c | 2 +- submodule-config.c | 29 ++++----- submodule-config.h | 15 +++-- 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, 137 insertions(+), 76 deletions(-) -- 2.17.0.rc1.321.gba9d0f2565-goog