Skip to content
  • David Kastrup's avatar
    Supplant the "while case ... break ;; esac" idiom · 822f7c73
    David Kastrup authored and Junio C Hamano's avatar Junio C Hamano committed
    
    
    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's avatarDavid Kastrup <dak@gnu.org>
    Signed-off-by: default avatarJunio C Hamano <gitster@pobox.com>
    822f7c73