Documentation: add shell guidelines
Add the following guideline to Documentation/CodingGuidelines: Break overlong lines after "&&", "||", and "|", not before them; that way the command can continue to subsequent lines without backslash at the end. And the following to t/README (since it is specific to writing tests): Pipes and $(git ...) should be avoided when they swallow exit codes of Git processes Signed-off-by: Matthew DeVore <matvore@google.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:

committed by
Junio C Hamano

parent
441ee35d83
commit
a378fee5b0
@ -118,6 +118,24 @@ For shell scripts specifically (not exhaustive):
|
||||
do this
|
||||
fi
|
||||
|
||||
- If a command sequence joined with && or || or | spans multiple
|
||||
lines, put each command on a separate line and put && and || and |
|
||||
operators at the end of each line, rather than the start. This
|
||||
means you don't need to use \ to join lines, since the above
|
||||
operators imply the sequence isn't finished.
|
||||
|
||||
(incorrect)
|
||||
grep blob verify_pack_result \
|
||||
| awk -f print_1.awk \
|
||||
| sort >actual &&
|
||||
...
|
||||
|
||||
(correct)
|
||||
grep blob verify_pack_result |
|
||||
awk -f print_1.awk |
|
||||
sort >actual &&
|
||||
...
|
||||
|
||||
- We prefer "test" over "[ ... ]".
|
||||
|
||||
- We do not write the noiseword "function" in front of shell
|
||||
|
Reference in New Issue
Block a user