git-submodule.sh: improve variables readability

When git-submodule.sh parses various options and switches, it sets some
variables to values; the variables in turn affect the options given to
git-submodule--helper.

Currently, variables which correspond to switches have boolean values
(for example, whenever "--force" is passed, force=1), while variables
which correspond to options which take arguments have string values that
sometimes contain the option name and sometimes only the option value.

Set all of the variables to strings which contain the option name (e.g.
force="--force" rather than force=1); this has a couple of advantages:
it improves consistency, readability and debuggability.

Suggested-by: Junio C Hamano <gitster@pobox.com>
Signed-off-by: Roy Eldar <royeldar0@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Roy Eldar
2024-12-11 08:32:33 +02:00
committed by Junio C Hamano
parent 57f9b30fcd
commit 3ad0ba7227

View File

@ -52,6 +52,10 @@ single_branch=
jobs= jobs=
recommend_shallow= recommend_shallow=
filter= filter=
deinit_all=
default=
summary_limit=
for_status=
# #
# Add a new submodule to the working tree, .gitmodules and the index # Add a new submodule to the working tree, .gitmodules and the index
@ -63,37 +67,33 @@ filter=
cmd_add() cmd_add()
{ {
# parse $args after "submodule ... add". # parse $args after "submodule ... add".
reference_path=
while test $# -ne 0 while test $# -ne 0
do do
case "$1" in case "$1" in
-b | --branch) -b | --branch)
case "$2" in '') usage ;; esac case "$2" in '') usage ;; esac
branch=$2 branch="--branch=$2"
shift shift
;; ;;
-b*) -b* | --branch=*)
branch="${1#-b}" branch="$1"
;;
--branch=*)
branch="${1#--branch=}"
;; ;;
-f | --force) -f | --force)
force=$1 force=$1
;; ;;
-q|--quiet) -q|--quiet)
quiet=1 quiet=$1
;; ;;
--progress) --progress)
progress=1 progress=$1
;; ;;
--reference) --reference)
case "$2" in '') usage ;; esac case "$2" in '') usage ;; esac
reference_path=$2 reference="--reference=$2"
shift shift
;; ;;
--reference=*) --reference=*)
reference_path="${1#--reference=}" reference="$1"
;; ;;
--ref-format) --ref-format)
case "$2" in '') usage ;; esac case "$2" in '') usage ;; esac
@ -104,15 +104,15 @@ cmd_add()
ref_format="$1" ref_format="$1"
;; ;;
--dissociate) --dissociate)
dissociate=1 dissociate=$1
;; ;;
--name) --name)
case "$2" in '') usage ;; esac case "$2" in '') usage ;; esac
custom_name=$2 custom_name="--name=$2"
shift shift
;; ;;
--name=*) --name=*)
custom_name="${1#--name=}" custom_name="$1"
;; ;;
--depth) --depth)
case "$2" in '') usage ;; esac case "$2" in '') usage ;; esac
@ -120,7 +120,7 @@ cmd_add()
shift shift
;; ;;
--depth=*) --depth=*)
depth=$1 depth="$1"
;; ;;
--) --)
shift shift
@ -142,14 +142,14 @@ cmd_add()
fi fi
git ${wt_prefix:+-C "$wt_prefix"} submodule--helper add \ git ${wt_prefix:+-C "$wt_prefix"} submodule--helper add \
${quiet:+--quiet} \ $quiet \
${force:+--force} \ $force \
${progress:+"--progress"} \ $progress \
${branch:+--branch "$branch"} \ ${branch:+"$branch"} \
${reference_path:+--reference "$reference_path"} \ ${reference:+"$reference"} \
${ref_format:+"$ref_format"} \ ${ref_format:+"$ref_format"} \
${dissociate:+--dissociate} \ $dissociate \
${custom_name:+--name "$custom_name"} \ ${custom_name:+"$custom_name"} \
${depth:+"$depth"} \ ${depth:+"$depth"} \
-- \ -- \
"$@" "$@"
@ -168,10 +168,10 @@ cmd_foreach()
do do
case "$1" in case "$1" in
-q|--quiet) -q|--quiet)
quiet=1 quiet=$1
;; ;;
--recursive) --recursive)
recursive=1 recursive=$1
;; ;;
-*) -*)
usage usage
@ -184,8 +184,8 @@ cmd_foreach()
done done
git ${wt_prefix:+-C "$wt_prefix"} submodule--helper foreach \ git ${wt_prefix:+-C "$wt_prefix"} submodule--helper foreach \
${quiet:+--quiet} \ $quiet \
${recursive:+--recursive} \ $recursive \
-- \ -- \
"$@" "$@"
} }
@ -202,7 +202,7 @@ cmd_init()
do do
case "$1" in case "$1" in
-q|--quiet) -q|--quiet)
quiet=1 quiet=$1
;; ;;
--) --)
shift shift
@ -219,7 +219,7 @@ cmd_init()
done done
git ${wt_prefix:+-C "$wt_prefix"} submodule--helper init \ git ${wt_prefix:+-C "$wt_prefix"} submodule--helper init \
${quiet:+--quiet} \ $quiet \
-- \ -- \
"$@" "$@"
} }
@ -230,7 +230,6 @@ cmd_init()
cmd_deinit() cmd_deinit()
{ {
# parse $args after "submodule ... deinit". # parse $args after "submodule ... deinit".
deinit_all=
while test $# -ne 0 while test $# -ne 0
do do
case "$1" in case "$1" in
@ -238,10 +237,10 @@ cmd_deinit()
force=$1 force=$1
;; ;;
-q|--quiet) -q|--quiet)
quiet=1 quiet=$1
;; ;;
--all) --all)
deinit_all=t deinit_all=$1
;; ;;
--) --)
shift shift
@ -258,9 +257,9 @@ cmd_deinit()
done done
git ${wt_prefix:+-C "$wt_prefix"} submodule--helper deinit \ git ${wt_prefix:+-C "$wt_prefix"} submodule--helper deinit \
${quiet:+--quiet} \ $quiet \
${force:+--force} \ $force \
${deinit_all:+--all} \ $deinit_all \
-- \ -- \
"$@" "$@"
} }
@ -277,31 +276,31 @@ cmd_update()
do do
case "$1" in case "$1" in
-q|--quiet) -q|--quiet)
quiet=1 quiet=$1
;; ;;
-v|--verbose) -v|--verbose)
quiet=0 quiet=
;; ;;
--progress) --progress)
progress=1 progress=$1
;; ;;
-i|--init) -i|--init)
init=1 init=$1
;; ;;
--require-init) --require-init)
require_init=1 require_init=$1
;; ;;
--remote) --remote)
remote=1 remote=$1
;; ;;
-N|--no-fetch) -N|--no-fetch)
nofetch=1 nofetch=$1
;; ;;
-f|--force) -f|--force)
force=$1 force=$1
;; ;;
-r|--rebase) -r|--rebase)
rebase=1 rebase=$1
;; ;;
--ref-format) --ref-format)
case "$2" in '') usage ;; esac case "$2" in '') usage ;; esac
@ -320,22 +319,19 @@ cmd_update()
reference="$1" reference="$1"
;; ;;
--dissociate) --dissociate)
dissociate=1 dissociate=$1
;; ;;
-m|--merge) -m|--merge)
merge=1 merge=$1
;; ;;
--recursive) --recursive)
recursive=1 recursive=$1
;; ;;
--checkout) --checkout)
checkout=1 checkout=$1
;; ;;
--recommend-shallow) --recommend-shallow|--no-recommend-shallow)
recommend_shallow="--recommend-shallow" recommend_shallow=$1
;;
--no-recommend-shallow)
recommend_shallow="--no-recommend-shallow"
;; ;;
--depth) --depth)
case "$2" in '') usage ;; esac case "$2" in '') usage ;; esac
@ -343,24 +339,18 @@ cmd_update()
shift shift
;; ;;
--depth=*) --depth=*)
depth=$1 depth="$1"
;; ;;
-j|--jobs) -j|--jobs)
case "$2" in '') usage ;; esac case "$2" in '') usage ;; esac
jobs="--jobs=$2" jobs="--jobs=$2"
shift shift
;; ;;
-j*) -j*|--jobs=*)
jobs="--jobs=${1#-j}" jobs="$1"
;; ;;
--jobs=*) --single-branch|--no-single-branch)
jobs=$1 single_branch=$1
;;
--single-branch)
single_branch="--single-branch"
;;
--no-single-branch)
single_branch="--no-single-branch"
;; ;;
--filter) --filter)
case "$2" in '') usage ;; esac case "$2" in '') usage ;; esac
@ -385,22 +375,21 @@ cmd_update()
done done
git ${wt_prefix:+-C "$wt_prefix"} submodule--helper update \ git ${wt_prefix:+-C "$wt_prefix"} submodule--helper update \
${quiet:+--quiet} \ $quiet \
${force:+--force} \ $force \
${progress:+"--progress"} \ $progress \
${remote:+--remote} \ $remote \
${recursive:+--recursive} \ $recursive \
${init:+--init} \ $init \
${nofetch:+--no-fetch} \ $nofetch \
${rebase:+--rebase} \ $rebase \
${merge:+--merge} \ $merge \
${checkout:+--checkout} \ $checkout \
${ref_format:+"$ref_format"} \ ${ref_format:+"$ref_format"} \
${reference:+"$reference"} \ ${reference:+"$reference"} \
${dissociate:+"--dissociate"} \ $dissociate \
${depth:+"$depth"} \ ${depth:+"$depth"} \
${require_init:+--require-init} \ $require_init \
${dissociate:+"--dissociate"} \
$single_branch \ $single_branch \
$recommend_shallow \ $recommend_shallow \
$jobs \ $jobs \
@ -415,9 +404,6 @@ cmd_update()
# $@ = requested path # $@ = requested path
# #
cmd_set_branch() { cmd_set_branch() {
default=
branch=
# parse $args after "submodule ... set-branch". # parse $args after "submodule ... set-branch".
while test $# -ne 0 while test $# -ne 0
do do
@ -426,18 +412,15 @@ cmd_set_branch() {
# we don't do anything with this but we need to accept it # we don't do anything with this but we need to accept it
;; ;;
-d|--default) -d|--default)
default=1 default=$1
;; ;;
-b|--branch) -b|--branch)
case "$2" in '') usage ;; esac case "$2" in '') usage ;; esac
branch=$2 branch="--branch=$2"
shift shift
;; ;;
-b*) -b*|--branch=*)
branch="${1#-b}" branch="$1"
;;
--branch=*)
branch="${1#--branch=}"
;; ;;
--) --)
shift shift
@ -454,9 +437,9 @@ cmd_set_branch() {
done done
git ${wt_prefix:+-C "$wt_prefix"} submodule--helper set-branch \ git ${wt_prefix:+-C "$wt_prefix"} submodule--helper set-branch \
${quiet:+--quiet} \ $quiet \
${branch:+--branch "$branch"} \ ${branch:+"$branch"} \
${default:+--default} \ $default \
-- \ -- \
"$@" "$@"
} }
@ -472,7 +455,7 @@ cmd_set_url() {
do do
case "$1" in case "$1" in
-q|--quiet) -q|--quiet)
quiet=1 quiet=$1
;; ;;
--) --)
shift shift
@ -489,7 +472,7 @@ cmd_set_url() {
done done
git ${wt_prefix:+-C "$wt_prefix"} submodule--helper set-url \ git ${wt_prefix:+-C "$wt_prefix"} submodule--helper set-url \
${quiet:+--quiet} \ $quiet \
-- \ -- \
"$@" "$@"
} }
@ -503,32 +486,26 @@ cmd_set_url() {
# $@ = [commit (default 'HEAD'),] requested paths (default all) # $@ = [commit (default 'HEAD'),] requested paths (default all)
# #
cmd_summary() { cmd_summary() {
summary_limit=-1
for_status=
# parse $args after "submodule ... summary". # parse $args after "submodule ... summary".
while test $# -ne 0 while test $# -ne 0
do do
case "$1" in case "$1" in
--cached) --cached)
cached=1 cached=$1
;; ;;
--files) --files)
files="$1" files=$1
;; ;;
--for-status) --for-status)
for_status="$1" for_status=$1
;; ;;
-n|--summary-limit) -n|--summary-limit)
case "$2" in '') usage ;; esac case "$2" in '') usage ;; esac
summary_limit="$2" summary_limit="--summary-limit=$2"
shift shift
;; ;;
-n*) -n*|--summary-limit=*)
summary_limit="${1#-n}" summary_limit="$1"
;;
--summary-limit=*)
summary_limit="${1#--summary-limit=}"
;; ;;
--) --)
shift shift
@ -545,10 +522,10 @@ cmd_summary() {
done done
git ${wt_prefix:+-C "$wt_prefix"} submodule--helper summary \ git ${wt_prefix:+-C "$wt_prefix"} submodule--helper summary \
${files:+--files} \ $files \
${cached:+--cached} \ $cached \
${for_status:+--for-status} \ $for_status \
${summary_limit:+-n "$summary_limit"} \ ${summary_limit:+"$summary_limit"} \
-- \ -- \
"$@" "$@"
} }
@ -569,13 +546,13 @@ cmd_status()
do do
case "$1" in case "$1" in
-q|--quiet) -q|--quiet)
quiet=1 quiet=$1
;; ;;
--cached) --cached)
cached=1 cached=$1
;; ;;
--recursive) --recursive)
recursive=1 recursive=$1
;; ;;
--) --)
shift shift
@ -592,9 +569,9 @@ cmd_status()
done done
git ${wt_prefix:+-C "$wt_prefix"} submodule--helper status \ git ${wt_prefix:+-C "$wt_prefix"} submodule--helper status \
${quiet:+--quiet} \ $quiet \
${cached:+--cached} \ $cached \
${recursive:+--recursive} \ $recursive \
-- \ -- \
"$@" "$@"
} }
@ -611,11 +588,11 @@ cmd_sync()
do do
case "$1" in case "$1" in
-q|--quiet) -q|--quiet)
quiet=1 quiet=$1
shift shift
;; ;;
--recursive) --recursive)
recursive=1 recursive=$1
shift shift
;; ;;
--) --)
@ -632,8 +609,8 @@ cmd_sync()
done done
git ${wt_prefix:+-C "$wt_prefix"} submodule--helper sync \ git ${wt_prefix:+-C "$wt_prefix"} submodule--helper sync \
${quiet:+--quiet} \ $quiet \
${recursive:+--recursive} \ $recursive \
-- \ -- \
"$@" "$@"
} }
@ -656,10 +633,10 @@ do
command=$1 command=$1
;; ;;
-q|--quiet) -q|--quiet)
quiet=1 quiet=$1
;; ;;
--cached) --cached)
cached=1 cached=$1
;; ;;
--) --)
break break