diff options
author | Matthew DeVore <matvore@google.com> | 2018-10-06 00:54:02 +0300 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2018-10-07 02:51:17 +0300 |
commit | a378fee5b0795d671722d803b93b7b32941c0067 (patch) | |
tree | 67b3d1b032b4de9f14749ed7e1c31c9b6e963f12 /Documentation | |
parent | 441ee35d8384fe7f6328584ac1634da14ed42e11 (diff) |
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>
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/CodingGuidelines | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines index 48aa4edfbd..72967deb78 100644 --- a/Documentation/CodingGuidelines +++ b/Documentation/CodingGuidelines @@ -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 |