Merge branch 'kb/maint-submodule-savearg'
* kb/maint-submodule-savearg: submodule: only preserve flags across recursive status/update invocations submodule: preserve all arguments exactly when recursing
This commit is contained in:
@ -374,41 +374,35 @@ cmd_init()
|
||||
cmd_update()
|
||||
{
|
||||
# parse $args after "submodule ... update".
|
||||
orig_args="$@"
|
||||
orig_flags=
|
||||
while test $# -ne 0
|
||||
do
|
||||
case "$1" in
|
||||
-q|--quiet)
|
||||
shift
|
||||
GIT_QUIET=1
|
||||
;;
|
||||
-i|--init)
|
||||
init=1
|
||||
shift
|
||||
;;
|
||||
-N|--no-fetch)
|
||||
shift
|
||||
nofetch=1
|
||||
;;
|
||||
-r|--rebase)
|
||||
shift
|
||||
update="rebase"
|
||||
;;
|
||||
--reference)
|
||||
case "$2" in '') usage ;; esac
|
||||
reference="--reference=$2"
|
||||
shift 2
|
||||
orig_flags="$orig_flags $(git rev-parse --sq-quote "$1")"
|
||||
shift
|
||||
;;
|
||||
--reference=*)
|
||||
reference="$1"
|
||||
shift
|
||||
;;
|
||||
-m|--merge)
|
||||
shift
|
||||
update="merge"
|
||||
;;
|
||||
--recursive)
|
||||
shift
|
||||
recursive=1
|
||||
;;
|
||||
--)
|
||||
@ -422,6 +416,8 @@ cmd_update()
|
||||
break
|
||||
;;
|
||||
esac
|
||||
orig_flags="$orig_flags $(git rev-parse --sq-quote "$1")"
|
||||
shift
|
||||
done
|
||||
|
||||
if test -n "$init"
|
||||
@ -500,7 +496,7 @@ cmd_update()
|
||||
|
||||
if test -n "$recursive"
|
||||
then
|
||||
(clear_local_git_env; cd "$path" && cmd_update $orig_args) ||
|
||||
(clear_local_git_env; cd "$path" && eval cmd_update "$orig_flags") ||
|
||||
die "Failed to recurse into submodule path '$path'"
|
||||
fi
|
||||
done
|
||||
@ -733,7 +729,7 @@ cmd_summary() {
|
||||
cmd_status()
|
||||
{
|
||||
# parse $args after "submodule ... status".
|
||||
orig_args="$@"
|
||||
orig_flags=
|
||||
while test $# -ne 0
|
||||
do
|
||||
case "$1" in
|
||||
@ -757,6 +753,7 @@ cmd_status()
|
||||
break
|
||||
;;
|
||||
esac
|
||||
orig_flags="$orig_flags $(git rev-parse --sq-quote "$1")"
|
||||
shift
|
||||
done
|
||||
|
||||
@ -790,7 +787,7 @@ cmd_status()
|
||||
prefix="$displaypath/"
|
||||
clear_local_git_env
|
||||
cd "$path" &&
|
||||
cmd_status $orig_args
|
||||
eval cmd_status "$orig_args"
|
||||
) ||
|
||||
die "Failed to recurse into submodule path '$path'"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user