summaryrefslogtreecommitdiffstats
path: root/archive-tar.c
diff options
context:
space:
mode:
authorRené Scharfe <l.s.r@web.de>2022-10-29 12:06:06 +0200
committerTaylor Blau <me@ttaylorr.com>2022-10-31 00:50:43 +0100
commit1e4ea950f7a83240e15f5e77369cf700b94e8759 (patch)
tree16f59142c91397e585f27ede92bd600512d6ee83 /archive-tar.c
parentThe eighth batch (diff)
downloadgit-1e4ea950f7a83240e15f5e77369cf700b94e8759.tar.xz
git-1e4ea950f7a83240e15f5e77369cf700b94e8759.zip
archive-tar: report filter start error only once
A missing tar filter is reported by start_command() using error(), but also by its caller, write_tar_filter_archive(), using die(): $ git -c tar.invalid.command=foo archive --format=invalid HEAD error: cannot run foo: No such file or directory fatal: unable to start 'foo' filter: No such file or directory The second message contains all relevant information and even says that the failed command was intended to be used as a filter. Silence the first one because it's redundant. Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Taylor Blau <me@ttaylorr.com>
Diffstat (limited to 'archive-tar.c')
-rw-r--r--archive-tar.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/archive-tar.c b/archive-tar.c
index 3e4822b684..f8fad2946e 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);