зеркало из https://github.com/microsoft/git.git
t5317: 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 such that git commands output to a file and surrounding commands only call command substitutions with non-git commands. Signed-off-by: Denton Liu <liu.denton@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
b66e0a1773
Коммит
6c37f3ec1b
|
@ -72,7 +72,8 @@ test_expect_success 'get an error for missing tree object' '
|
|||
echo foo >r5/foo &&
|
||||
git -C r5 add foo &&
|
||||
git -C r5 commit -m "foo" &&
|
||||
del=$(git -C r5 rev-parse HEAD^{tree} | sed "s|..|&/|") &&
|
||||
git -C r5 rev-parse HEAD^{tree} >tree &&
|
||||
del=$(sed "s|..|&/|" tree) &&
|
||||
rm r5/.git/objects/$del &&
|
||||
test_must_fail git -C r5 pack-objects --revs --stdout 2>bad_tree <<-EOF &&
|
||||
HEAD
|
||||
|
@ -230,10 +231,9 @@ test_expect_success 'verify explicitly specifying oversized blob in input' '
|
|||
awk -f print_2.awk ls_files_result |
|
||||
sort >expected &&
|
||||
|
||||
git -C r2 pack-objects --revs --stdout --filter=blob:limit=1k >filter.pack <<-EOF &&
|
||||
HEAD
|
||||
$(git -C r2 rev-parse HEAD:large.10000)
|
||||
EOF
|
||||
echo HEAD >objects &&
|
||||
git -C r2 rev-parse HEAD:large.10000 >>objects &&
|
||||
git -C r2 pack-objects --revs --stdout --filter=blob:limit=1k <objects >filter.pack &&
|
||||
git -C r2 index-pack ../filter.pack &&
|
||||
|
||||
git -C r2 verify-pack -v ../filter.pack >verify_result &&
|
||||
|
@ -377,7 +377,8 @@ test_expect_success 'verify sparse:oid=OID' '
|
|||
awk -f print_2.awk ls_files_result |
|
||||
sort >expected &&
|
||||
|
||||
oid=$(git -C r4 ls-files -s pattern | awk -f print_2.awk) &&
|
||||
git -C r4 ls-files -s pattern >staged &&
|
||||
oid=$(awk -f print_2.awk staged) &&
|
||||
git -C r4 pack-objects --revs --stdout --filter=sparse:oid=$oid >filter.pack <<-EOF &&
|
||||
HEAD
|
||||
EOF
|
||||
|
|
Загрузка…
Ссылка в новой задаче