summaryrefslogtreecommitdiff
path: root/git-rebase.sh
diff options
context:
space:
mode:
authorDavid Kastrup <dak@gnu.org>2007-09-23 22:42:08 +0200
committerJunio C Hamano <gitster@pobox.com>2007-09-23 16:12:00 -0700
commit822f7c7349d61f6075961ce42c1bd1a85cf999e5 (patch)
treeae3b0243021d42bf07da00b2d47aa4082a68e720 /git-rebase.sh
parentb9fc6ea9efdc988d851666d45d80076839d9c225 (diff)
downloadgit-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>
Diffstat (limited to 'git-rebase.sh')
-rwxr-xr-xgit-rebase.sh5
1 files changed, 2 insertions, 3 deletions
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)