mirror of
https://github.com/git/git.git
synced 2024-11-23 09:56:28 +08:00
e44f15ba3e
The annotations emitted by chainlint to indicate detected problems are overly terse, so much so that developers new to the project -- those who should most benefit from the linting -- may find them baffling. For instance, although the author of chainlint and seasoned Git developers may understand that "?!AMP?!" is an abbreviation of "ampersand" and indicates a break in the &&-chain, this may not be obvious to newcomers. The "?!LOOP?!" case is particularly serious because that terse single word does nothing to convey that the loop body should end with "|| return 1" (or "|| exit 1" in a subshell) to ensure that a failing command in the body aborts the loop immediately. Moreover, unlike &&-chaining which is ubiquitous in Git tests, the "|| return 1" idiom is relatively infrequent, thus may be harder for a newcomer to discover by consulting nearby code. Address these shortcomings by emitting human-readable messages which both explain the problem and give a strong hint about how to correct it. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
31 lines
428 B
Plaintext
31 lines
428 B
Plaintext
2 (
|
|
3 echo wobba \
|
|
4 gorgo snoot \
|
|
5 wafta snurb <<-EOF &&
|
|
6 quoth the raven,
|
|
7 nevermore...
|
|
8 EOF
|
|
9
|
|
10 cat <<EOF >bip ?!LINT: missing '&&'?!
|
|
11 fish fly high
|
|
12 EOF
|
|
13
|
|
14 echo <<-\EOF >bop
|
|
15 gomez
|
|
16 morticia
|
|
17 wednesday
|
|
18 pugsly
|
|
19 EOF
|
|
20 ) &&
|
|
21 (
|
|
22 cat <<-\ARBITRARY >bup &&
|
|
23 glink
|
|
24 FIZZ
|
|
25 ARBITRARY
|
|
26 cat <<-"ARBITRARY3" >bup3 &&
|
|
27 glink
|
|
28 FIZZ
|
|
29 ARBITRARY3
|
|
30 meep
|
|
31 )
|