Junio C Hamano <gitster@xxxxxxxxx> writes: > if test -z "$module_path" > then > for candidate in \ > /etc/httpd \ > /usr/lib/apache2 \ > /usr/lib/httpd \ I obviously missed semicolon here... > do > if test -d "$candidate/modules" > then > module_path="$candidate/modules" > break > fi One more thing to note is that the fourth candidate might not end with "/modules" and force us to update these existing three to have "/modules" at the end and lose appending "/modules" from these two lines to compensate. That is sort of deliberate (i.e. as long as we can share "/modules" as a common substring at the end, it is OK to take advantage of that). > done > fi > > is when you go from 2 to 3. Two points to note are: > > - It would be easier to add the fourth one this way > > - The explicit "break" makes it clear that the paths are listed in > decreasing order of precedence (i.e. /etc/httpd if exists makes > /usr/lib/httpd ignored even if the latter exists); the original > "test -d X && M=X ; test -d Y && M=Y" gives higher precedence to > the later items but readers need to wonder if it is intended or > the code is simply being sloppy. > > Hope this helps.