changes in v3:
* Droped a patch which tried to use a more accurate URL for deinit. It didn't
really fit inside the scope of this series. It may be something we want to
revisit later though.
* The --init-active flag now ensure that all submodules which are configured to
be 'active' (either via 'submodule.active' or 'submodule.<name>.active') go
through the initialization phase and have their relevent info copied over to
the config.
Brandon Williams (10):
submodule--helper: add is_active command
submodule status: use submodule--helper is-active
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 | 9 +++
builtin/clone.c | 36 +++++++++-
builtin/submodule--helper.c | 68 ++++++++++++++----
contrib/completion/git-completion.bash | 1 +
git-submodule.sh | 43 +++++++++--
submodule.c | 36 ++++++++--
t/t7400-submodule-basic.sh | 128 +++++++++++++++++++++++++++++++++
t/t7413-submodule-is-active.sh | 107 +++++++++++++++++++++++++++
10 files changed, 431 insertions(+), 35 deletions(-)
create mode 100755 t/t7413-submodule-is-active.sh