mirror of
https://github.com/git/git
synced 2024-08-25 02:35:46 +00:00
![Eric Sunshine](/assets/img/avatar_default.png)
This extract from contrib/subtree/t7900 triggered a false positive due to three chainlint limitations: * recognizing only a "blessed" set of here-doc tag names in a subshell ("EOF", "EOT", "INPUT_END"), of which "TXT" is not a member * inability to recognize multi-line $(...) when the first statement of the body is cuddled with the opening "$(" * inability to recognize multiple constructs on a single line, such as opening a multi-line $(...) and starting a here-doc Now that all of these shortcomings have been addressed, turn this rather pathological bit of shell coding into a chainlint test case. Signed-off-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
23 lines
277 B
Plaintext
23 lines
277 B
Plaintext
(
|
|
chks="sub1
|
|
sub2
|
|
sub3
|
|
sub4" &&
|
|
chks_sub=$(cat <<TXT | sed 's,^,sub dir/,'
|
|
$chks
|
|
TXT
|
|
) &&
|
|
chkms="main-sub1
|
|
main-sub2
|
|
main-sub3
|
|
main-sub4" &&
|
|
chkms_sub=$(cat <<TXT | sed 's,^,sub dir/,'
|
|
$chkms
|
|
TXT
|
|
) &&
|
|
|
|
subfiles=$(git ls-files) &&
|
|
check_equal "$subfiles" "$chkms
|
|
$chks"
|
|
)
|