David Kastrup <dak@xxxxxxx> writes: > 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@xxxxxxx> > --- > > Ok, this is not really what we have been talking about except in one > case, but I think it is actually more of an improvement. Gaah, didn't I say I do NOT think it is an improvement? > I consider breaking out of the condition instead of the > body od the loop ugly, Well, as we all know that we disagree on this point, stating what you consider one-sidedly here is quite inappropriate. > and the implied "true" value of the > non-matching case is not really obvious to humans at first > glance. It is more like "if you do not know shell". In other words, I am somewhat disgusted with the first part of your proposed commit log message, although I like what the patch does ;-). > -while case "$#" in 0) break ;; esac > +while test "$#" != 0 > do > case "$1" in > -a) And let's not quote "$#". - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html