t3301: stop losing return codes of git commands
commit29a40b5a678fc9014063988ab74d34d156dfb385
authorDenton Liu <liu.denton@gmail.com>
Wed, 27 Nov 2019 19:53:13 +0000 (27 11:53 -0800)
committerJunio C Hamano <gitster@pobox.com>
Fri, 29 Nov 2019 21:20:14 +0000 (29 13:20 -0800)
tree916ac70e54593b21f89873ccafde87d44b42d4b9
parent9b5a9fa60a444058c07c6f8df08fd779aaebfaae
t3301: stop losing return codes of git commands

Currently, there are two ways where the return codes of git commands are
lost. The first way is when a command is in the upstream of a pipe. In a
pipe, only the return code of the last command is used. Thus, all other
commands will have their return codes masked. Rewrite pipes so that
there are no git commands upstream.

The other way is when a command is in a non-assignment command
substitution. The return code will be lost in favour of the surrounding
command's. Rewrite instances of this so that git commands are either run
on their own or in an assignment-only command substitution.

This patch fixes a real buggy test: in 'copy note with "git notes
copy"', `git notes` was mistyped as `git note`.

Signed-off-by: Denton Liu <liu.denton@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t3301-notes.sh