Here's a more polished series taking into account some of the feedback on the RFC. As Junio pointed out URL encoding makes the directories much more human readable, but I'm open to other ideas if we don't think URL encoding is the right thing to do. Brandon Williams (2): submodule: create helper to build paths to submodule gitdirs submodule: munge paths to submodule git directories builtin/submodule--helper.c | 28 +++++++++++-- dir.c | 2 +- git-submodule.sh | 7 ++-- repository.c | 3 +- submodule.c | 67 ++++++++++++++++++++++---------- submodule.h | 7 ++++ t/t7400-submodule-basic.sh | 32 ++++++++++++++- t/t7406-submodule-update.sh | 21 +++------- t/t7410-submodule-checkout-to.sh | 6 ++- 9 files changed, 126 insertions(+), 47 deletions(-) -- 2.18.0.597.ga71716f1ad-goog