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 -- 2.12.0.246.ga2ecc84866-goog