diff options
author | Taylor Blau <me@ttaylorr.com> | 2022-11-09 01:15:09 +0300 |
---|---|---|
committer | Taylor Blau <me@ttaylorr.com> | 2022-11-09 01:15:09 +0300 |
commit | 3e9303dc8e7c5798b5b83f1c1dfccb875db06b29 (patch) | |
tree | 73c32c654dc74c341bee74388b199335511fad2a | |
parent | ec9a46af4f1320b933a3d43bd8e8f055d350819a (diff) | |
parent | 1e4ea950f7a83240e15f5e77369cf700b94e8759 (diff) |
Merge branch 'rs/archive-filter-error-once'
"git archive" mistakenly complained twice about a missing executable,
which has been corrected.
* rs/archive-filter-error-once:
archive-tar: report filter start error only once
-rw-r--r-- | archive-tar.c | 1 | ||||
-rwxr-xr-x | t/t5000-tar-tree.sh | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/archive-tar.c b/archive-tar.c index 3e4822b6840..f8fad2946ef 100644 --- a/archive-tar.c +++ b/archive-tar.c @@ -498,6 +498,7 @@ static int write_tar_filter_archive(const struct archiver *ar, strvec_push(&filter.args, cmd.buf); filter.use_shell = 1; filter.in = -1; + filter.silent_exec_failure = 1; if (start_command(&filter) < 0) die_errno(_("unable to start '%s' filter"), cmd.buf); diff --git a/t/t5000-tar-tree.sh b/t/t5000-tar-tree.sh index eaa0b22ece4..d4730481384 100755 --- a/t/t5000-tar-tree.sh +++ b/t/t5000-tar-tree.sh @@ -342,6 +342,13 @@ test_expect_success 'only enabled filters are available remotely' ' test_cmp_bin remote.bar config.bar ' +test_expect_success 'invalid filter is reported only once' ' + test_must_fail git -c tar.invalid.command= archive --format=invalid \ + HEAD >out 2>err && + test_must_be_empty out && + test_line_count = 1 err +' + test_expect_success 'git archive --format=tgz' ' git archive --format=tgz HEAD >j.tgz ' |