@@ -14,7 +14,7 @@ SYNOPSIS
'git submodule' [--quiet] status [--cached] [--recursive] [--] [<path>...]
'git submodule' [--quiet] init [--] [<path>...]
'git submodule' [--quiet] deinit [-f|--force] (--all|[--] <path>...)
-'git submodule' [--quiet] update [-v] [<options>] [--] [<path>...]
+'git submodule' [--quiet] update [-v | --verbose] [<options>] [--] [<path>...]
'git submodule' [--quiet] set-branch [<options>] [--] <path>
'git submodule' [--quiet] set-url [--] <path> <newurl>
'git submodule' [--quiet] summary [<options>] [--] [<path>...]
@@ -133,7 +133,7 @@ If you really want to remove a submodule from the repository and commit
that use linkgit:git-rm[1] instead. See linkgit:gitsubmodules[7] for removal
options.
-update [-v] [--init] [--remote] [-N|--no-fetch] [--[no-]recommend-shallow] [-f|--force] [--checkout|--rebase|--merge] [--reference <repository>] [--depth <depth>] [--recursive] [--jobs <n>] [--[no-]single-branch] [--filter <filter spec>] [--] [<path>...]::
+update [-v | --verbose] [--init] [--remote] [-N|--no-fetch] [--[no-]recommend-shallow] [-f|--force] [--checkout|--rebase|--merge] [--reference <repository>] [--depth <depth>] [--recursive] [--jobs <n>] [--[no-]single-branch] [--filter <filter spec>] [--] [<path>...]::
+
--
Update the registered submodules to match what the superproject
@@ -271,6 +271,7 @@ OPTIONS
Only print error messages.
-v::
+--verbose::
Don't be quiet. This option is only valid for the update command.
--progress::
@@ -30,163 +30,7 @@ GIT_PROTOCOL_FROM_USER=0
export GIT_PROTOCOL_FROM_USER
command=
-force=
-reference=
cached=
-recursive=
-init=
-require_init=
-remote=
-nofetch=
-rebase=
-merge=
-checkout=
-depth=
-progress=
-dissociate=
-single_branch=
-jobs=
-recommend_shallow=
-filter=
-
-#
-# Update each submodule path to correct revision, using clone and checkout as needed
-#
-# $@ = requested paths (default to all)
-#
-cmd_update()
-{
- # parse $args after "submodule ... update".
- while test $# -ne 0
- do
- case "$1" in
- -q|--quiet)
- GIT_QUIET=1
- ;;
- -v)
- unset GIT_QUIET
- ;;
- --progress)
- progress=1
- ;;
- -i|--init)
- init=1
- ;;
- --require-init)
- require_init=1
- ;;
- --remote)
- remote=1
- ;;
- -N|--no-fetch)
- nofetch=1
- ;;
- -f|--force)
- force=$1
- ;;
- -r|--rebase)
- rebase=1
- ;;
- --reference)
- case "$2" in '') usage ;; esac
- reference="--reference=$2"
- shift
- ;;
- --reference=*)
- reference="$1"
- ;;
- --dissociate)
- dissociate=1
- ;;
- -m|--merge)
- merge=1
- ;;
- --recursive)
- recursive=1
- ;;
- --checkout)
- checkout=1
- ;;
- --recommend-shallow)
- recommend_shallow="--recommend-shallow"
- ;;
- --no-recommend-shallow)
- recommend_shallow="--no-recommend-shallow"
- ;;
- --depth)
- case "$2" in '') usage ;; esac
- depth="--depth=$2"
- shift
- ;;
- --depth=*)
- depth=$1
- ;;
- -j|--jobs)
- case "$2" in '') usage ;; esac
- jobs="--jobs=$2"
- shift
- ;;
- --jobs=*)
- jobs=$1
- ;;
- --single-branch)
- single_branch="--single-branch"
- ;;
- --no-single-branch)
- single_branch="--no-single-branch"
- ;;
- --filter)
- case "$2" in '') usage ;; esac
- filter="--filter=$2"
- shift
- ;;
- --filter=*)
- filter="$1"
- ;;
- --)
- shift
- break
- ;;
- -*)
- usage
- ;;
- *)
- break
- ;;
- esac
- shift
- done
-
- git ${wt_prefix:+-C "$wt_prefix"} submodule--helper update \
- ${GIT_QUIET:+--quiet} \
- ${force:+--force} \
- ${progress:+"--progress"} \
- ${remote:+--remote} \
- ${recursive:+--recursive} \
- ${init:+--init} \
- ${nofetch:+--no-fetch} \
- ${wt_prefix:+--prefix "$wt_prefix"} \
- ${rebase:+--rebase} \
- ${merge:+--merge} \
- ${checkout:+--checkout} \
- ${reference:+"$reference"} \
- ${dissociate:+"--dissociate"} \
- ${depth:+"$depth"} \
- ${require_init:+--require-init} \
- ${dissociate:+"--dissociate"} \
- $single_branch \
- $recommend_shallow \
- $jobs \
- $filter \
- -- \
- "$@"
-}
-
-# This loop parses the command line arguments to find the
-# subcommand name to dispatch. Parsing of the subcommand specific
-# options are primarily done by the subcommand implementations.
-# Subcommand specific options such as --branch and --cached are
-# parsed here as well, for backward compatibility.
while test $# != 0 && test -z "$command"
do
@@ -235,7 +79,8 @@ absorbgitdirs)
git submodule--helper "$command" --prefix "$wt_prefix" "$@"
;;
update)
- cmd_update "$@"
+ git ${wt_prefix:+-C "$wt_prefix"} submodule--helper "$command" \
+ ${GIT_QUIET:+--quiet} ${wt_prefix:+--prefix "$wt_prefix"} "$@"
;;
add | foreach | init | deinit | set-branch | set-url | status | summary | sync)
git ${wt_prefix:+-C "$wt_prefix"} submodule--helper "$command" \
Dispatch the "update" command directly to "git submodule--helper update", rather than doing our own argument parsing in git-submodule.sh. As this is the last cmd_*() function to be removed from git-submodule.sh we can do some larger cleanup of that file as a result. As noted in a preceding commit the only behavior change here should be the desirable change of better "-h" output, and that this implementation understands the "--verbose" synonym for "-v". Let's update the documentation to reflect the new "--verbose" synonym. Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com> --- Documentation/git-submodule.txt | 5 +- git-submodule.sh | 159 +------------------------------- 2 files changed, 5 insertions(+), 159 deletions(-)