diff options
author | David Kastrup <dak@gnu.org> | 2007-09-23 22:42:08 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2007-09-23 16:12:00 -0700 |
commit | 822f7c7349d61f6075961ce42c1bd1a85cf999e5 (patch) | |
tree | ae3b0243021d42bf07da00b2d47aa4082a68e720 | |
parent | b9fc6ea9efdc988d851666d45d80076839d9c225 (diff) | |
download | git-822f7c7349d61f6075961ce42c1bd1a85cf999e5.tar.gz |
Supplant the "while case ... break ;; esac" idiom
A lot of shell scripts contained stuff starting with
while case "$#" in 0) break ;; esac
and similar. I consider breaking out of the condition instead of the
body od the loop ugly, and the implied "true" value of the
non-matching case is not really obvious to humans at first glance. It
happens not to be obvious to some BSD shells, either, but that's
because they are not POSIX-compliant. In most cases, this has been
replaced by a straight condition using "test". "case" has the
advantage of being faster than "test" on vintage shells where "test"
is not a builtin. Since none of them is likely to run the git
scripts, anyway, the added readability should be worth the change.
A few loops have had their termination condition expressed
differently.
Signed-off-by: David Kastrup <dak@gnu.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-x | contrib/examples/git-gc.sh | 2 | ||||
-rwxr-xr-x | contrib/examples/git-tag.sh | 2 | ||||
-rwxr-xr-x | contrib/examples/git-verify-tag.sh | 2 | ||||
-rwxr-xr-x | git-am.sh | 2 | ||||
-rwxr-xr-x | git-clean.sh | 2 | ||||
-rwxr-xr-x | git-commit.sh | 2 | ||||
-rwxr-xr-x | git-fetch.sh | 2 | ||||
-rwxr-xr-x | git-filter-branch.sh | 3 | ||||
-rwxr-xr-x | git-instaweb.sh | 2 | ||||
-rwxr-xr-x | git-ls-remote.sh | 2 | ||||
-rwxr-xr-x | git-merge.sh | 2 | ||||
-rwxr-xr-x | git-mergetool.sh | 2 | ||||
-rwxr-xr-x | git-pull.sh | 6 | ||||
-rwxr-xr-x | git-quiltimport.sh | 2 | ||||
-rwxr-xr-x | git-rebase--interactive.sh | 2 | ||||
-rwxr-xr-x | git-rebase.sh | 5 | ||||
-rwxr-xr-x | git-repack.sh | 2 | ||||
-rwxr-xr-x | git-reset.sh | 2 | ||||
-rwxr-xr-x | git-submodule.sh | 2 |
19 files changed, 23 insertions, 23 deletions
diff --git a/contrib/examples/git-gc.sh b/contrib/examples/git-gc.sh index 2ae235b081..1597e9f33f 100755 --- a/contrib/examples/git-gc.sh +++ b/contrib/examples/git-gc.sh @@ -9,7 +9,7 @@ SUBDIRECTORY_OK=Yes . git-sh-setup no_prune=: -while case $# in 0) break ;; esac +while test $# != 0 do case "$1" in --prune) diff --git a/contrib/examples/git-tag.sh b/contrib/examples/git-tag.sh index 5ee3f50a3c..ae7c531666 100755 --- a/contrib/examples/git-tag.sh +++ b/contrib/examples/git-tag.sh @@ -14,7 +14,7 @@ username= list= verify= LINES=0 -while case "$#" in 0) break ;; esac +while test $# != 0 do case "$1" in -a) diff --git a/contrib/examples/git-verify-tag.sh b/contrib/examples/git-verify-tag.sh index 37b0023b27..0902a5c21a 100755 --- a/contrib/examples/git-verify-tag.sh +++ b/contrib/examples/git-verify-tag.sh @@ -5,7 +5,7 @@ SUBDIRECTORY_OK='Yes' . git-sh-setup verbose= -while case $# in 0) break;; esac +while test $# != 0 do case "$1" in -v|--v|--ve|--ver|--verb|--verbo|--verbos|--verbose) @@ -109,7 +109,7 @@ dotest=.dotest sign= utf8=t keep= skip= interactive= resolved= binary= resolvemsg= resume= git_apply_opt= -while case "$#" in 0) break;; esac +while test $# != 0 do case "$1" in -d=*|--d=*|--do=*|--dot=*|--dote=*|--dotes=*|--dotest=*) diff --git a/git-clean.sh b/git-clean.sh index a5cfd9f07a..4491738186 100755 --- a/git-clean.sh +++ b/git-clean.sh @@ -26,7 +26,7 @@ rmrf="rm -rf --" rm_refuse="echo Not removing" echo1="echo" -while case "$#" in 0) break ;; esac +while test $# != 0 do case "$1" in -d) diff --git a/git-commit.sh b/git-commit.sh index bb113e858b..7a7a2cb4b4 100755 --- a/git-commit.sh +++ b/git-commit.sh @@ -89,7 +89,7 @@ force_author= only_include_assumed= untracked_files= templatefile="`git config commit.template`" -while case "$#" in 0) break;; esac +while test $# != 0 do case "$1" in -F|--F|-f|--f|--fi|--fil|--file) diff --git a/git-fetch.sh b/git-fetch.sh index c3a200120d..e44af2c86d 100755 --- a/git-fetch.sh +++ b/git-fetch.sh @@ -27,7 +27,7 @@ shallow_depth= no_progress= test -t 1 || no_progress=--no-progress quiet= -while case "$#" in 0) break ;; esac +while test $# != 0 do case "$1" in -a|--a|--ap|--app|--appe|--appen|--append) diff --git a/git-filter-branch.sh b/git-filter-branch.sh index a4b6577bd4..a12f6c2d4c 100755 --- a/git-filter-branch.sh +++ b/git-filter-branch.sh @@ -105,8 +105,9 @@ filter_tag_name= filter_subdir= orig_namespace=refs/original/ force= -while case "$#" in 0) usage;; esac +while : do + test $# = 0 && usage case "$1" in --) shift diff --git a/git-instaweb.sh b/git-instaweb.sh index b79c6b6a42..f5629e7439 100755 --- a/git-instaweb.sh +++ b/git-instaweb.sh @@ -61,7 +61,7 @@ stop_httpd () { test -f "$fqgitdir/pid" && kill `cat "$fqgitdir/pid"` } -while case "$#" in 0) break ;; esac +while test $# != 0 do case "$1" in --stop|stop) diff --git a/git-ls-remote.sh b/git-ls-remote.sh index b7e5d04584..d56cf92ebf 100755 --- a/git-ls-remote.sh +++ b/git-ls-remote.sh @@ -13,7 +13,7 @@ die () { } exec= -while case "$#" in 0) break;; esac +while test $# != 0 do case "$1" in -h|--h|--he|--hea|--head|--heads) diff --git a/git-merge.sh b/git-merge.sh index 3a01db0d75..cde09d4d60 100755 --- a/git-merge.sh +++ b/git-merge.sh @@ -122,7 +122,7 @@ merge_name () { case "$#" in 0) usage ;; esac have_message= -while case "$#" in 0) break ;; esac +while test $# != 0 do case "$1" in -n|--n|--no|--no-|--no-s|--no-su|--no-sum|--no-summ|\ diff --git a/git-mergetool.sh b/git-mergetool.sh index 47a80553ad..a0e44f71c4 100755 --- a/git-mergetool.sh +++ b/git-mergetool.sh @@ -268,7 +268,7 @@ merge_file () { cleanup_temp_files } -while case $# in 0) break ;; esac +while test $# != 0 do case "$1" in -t|--tool*) diff --git a/git-pull.sh b/git-pull.sh index 5e96d1f228..c3f05f56de 100755 --- a/git-pull.sh +++ b/git-pull.sh @@ -16,7 +16,7 @@ test -z "$(git ls-files -u)" || die "You are in the middle of a conflicted merge." strategy_args= no_summary= no_commit= squash= -while case "$#,$1" in 0) break ;; *,-*) ;; *) break ;; esac +while : do case "$1" in -n|--n|--no|--no-|--no-s|--no-su|--no-sum|--no-summ|\ @@ -46,8 +46,8 @@ do -h|--h|--he|--hel|--help) usage ;; - -*) - # Pass thru anything that is meant for fetch. + *) + # Pass thru anything that may be meant for fetch. break ;; esac diff --git a/git-quiltimport.sh b/git-quiltimport.sh index 9de54d19fb..74a54d5d08 100755 --- a/git-quiltimport.sh +++ b/git-quiltimport.sh @@ -5,7 +5,7 @@ SUBDIRECTORY_ON=Yes dry_run="" quilt_author="" -while case "$#" in 0) break;; esac +while test $# != 0 do case "$1" in --au=*|--aut=*|--auth=*|--autho=*|--author=*) diff --git a/git-rebase--interactive.sh b/git-rebase--interactive.sh index abc2b1c3e0..2fa53fdaeb 100755 --- a/git-rebase--interactive.sh +++ b/git-rebase--interactive.sh @@ -317,7 +317,7 @@ do_rest () { done } -while case $# in 0) break ;; esac +while test $# != 0 do case "$1" in --continue) diff --git a/git-rebase.sh b/git-rebase.sh index 3bd66b0a04..058fcacb7e 100755 --- a/git-rebase.sh +++ b/git-rebase.sh @@ -122,15 +122,14 @@ finish_rb_merge () { is_interactive () { test -f "$dotest"/interactive || - while case $#,"$1" in 0,|*,-i|*,--interactive) break ;; esac - do + while :; do case $#,"$1" in 0,|*,-i|*,--interactive) break ;; esac shift done && test -n "$1" } is_interactive "$@" && exec git-rebase--interactive "$@" -while case "$#" in 0) break ;; esac +while test $# != 0 do case "$1" in --continue) diff --git a/git-repack.sh b/git-repack.sh index 156c5e8f4a..0aae1a3ed5 100755 --- a/git-repack.sh +++ b/git-repack.sh @@ -9,7 +9,7 @@ SUBDIRECTORY_OK='Yes' no_update_info= all_into_one= remove_redundant= local= quiet= no_reuse= extra= -while case "$#" in 0) break ;; esac +while test $# != 0 do case "$1" in -n) no_update_info=t ;; diff --git a/git-reset.sh b/git-reset.sh index 1dc606fbd3..bafeb52cd1 100755 --- a/git-reset.sh +++ b/git-reset.sh @@ -11,7 +11,7 @@ require_work_tree update= reset_type=--mixed unset rev -while case $# in 0) break ;; esac +while test $# != 0 do case "$1" in --mixed | --soft | --hard) diff --git a/git-submodule.sh b/git-submodule.sh index 3320998c76..673aa27a45 100755 --- a/git-submodule.sh +++ b/git-submodule.sh @@ -251,7 +251,7 @@ modules_list() done } -while case "$#" in 0) break ;; esac +while test $# != 0 do case "$1" in add) |