path: root/
diff options
authorDavid Kastrup <>2007-09-23 20:42:08 (GMT)
committerJunio C Hamano <>2007-09-23 23:12:00 (GMT)
commit822f7c7349d61f6075961ce42c1bd1a85cf999e5 (patch)
treeae3b0243021d42bf07da00b2d47aa4082a68e720 /
parentb9fc6ea9efdc988d851666d45d80076839d9c225 (diff)
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 <> Signed-off-by: Junio C Hamano <>
Diffstat (limited to '')
1 files changed, 1 insertions, 1 deletions
diff --git a/ b/
index c3a2001..e44af2c 100755
--- a/
+++ b/
@@ -27,7 +27,7 @@ shallow_depth=
test -t 1 || no_progress=--no-progress
-while case "$#" in 0) break ;; esac
+while test $# != 0
case "$1" in