diff options
| author | Johannes Schindelin <johannes.schindelin@gmx.de> | 2019-12-06 13:08:24 +0000 |
|---|---|---|
| committer | Junio C Hamano <gitster@pobox.com> | 2019-12-06 08:57:34 -0800 |
| commit | 89c8559367aae771006cc0956b6f5e54cc8c614c (patch) | |
| tree | 8591edc4703cb6f428d9c48eb05fbaa6a73b387c /t | |
| parent | e91162be9ce7195309dc2b7e3c03988481cee850 (diff) | |
| download | git-89c8559367aae771006cc0956b6f5e54cc8c614c.tar.gz | |
git add -p: use non-zero exit code when the diff generation failed
The first thing `git add -p` does is to generate a diff. If this diff
cannot be generated, `git add -p` should not continue as if nothing
happened, but instead fail.
What we *actually* do here is much broader: we now verify for *every*
`run_cmd_pipe()` call that the spawned process actually succeeded.
Note that we have to change two callers in this patch, as we need to
store the spawned process' output in a local variable, which means that
the callers can no longer decide whether to interpret the `return <$fh>`
in array or in scalar context.
This bug was noticed while writing a test case for the diff.algorithm
feature, and we let that test case double as a regression test for this
fixed bug, too.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't')
| -rwxr-xr-x | t/t3701-add-interactive.sh | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/t/t3701-add-interactive.sh b/t/t3701-add-interactive.sh index f43634102e..5db6432e33 100755 --- a/t/t3701-add-interactive.sh +++ b/t/t3701-add-interactive.sh @@ -530,7 +530,7 @@ test_expect_success 'diff.algorithm is passed to `git diff-files`' ' >file && git add file && echo changed >file && - git -c diff.algorithm=bogus add -p 2>err && + test_must_fail git -c diff.algorithm=bogus add -p 2>err && test_i18ngrep "error: option diff-algorithm accepts " err ' |
