Differences from v1:
* Reordered some of the patches
* added submodule.<name>.active boolean config option which can be used to do
more fine grain selection of submodules while still decoupling the existence
from the URL.
* submodule.<name>.active has precedence over the pathspec stored in
submodule.active
Brandon Williams (11):
submodule--helper: add is_active command
submodule status: use submodule--helper is-active
submodule deinit: use most reliable url
submodule sync: use submodule--helper is-active
submodule--helper clone: check for configured submodules using helper
submodule: decouple url and submodule existence
submodule update: add `--init-active` switch
clone: add --submodule-spec=<pathspec> switch
completion: clone can initialize specific submodules
submodule--helper init: set submodule.<name>.active
submodule add: respect submodule.active and submodule.<name>.active
Documentation/config.txt | 15 ++++-
Documentation/git-clone.txt | 23 ++++---
Documentation/git-submodule.txt | 11 +++-
builtin/clone.c | 36 ++++++++++-
builtin/submodule--helper.c | 33 ++++++----
contrib/completion/git-completion.bash | 1 +
git-submodule.sh | 40 +++++++++---
submodule.c | 36 +++++++++--
t/t7400-submodule-basic.sh | 109 +++++++++++++++++++++++++++++++++
t/t7413-submodule-is-active.sh | 107 ++++++++++++++++++++++++++++++++
10 files changed, 376 insertions(+), 35 deletions(-)
create mode 100755 t/t7413-submodule-is-active.sh