On Tue, Dec 11, 2018 at 01:09:37PM +0900, Junio C Hamano wrote: > Junio C Hamano <gitster@xxxxxxxxx> writes: > > > John Passaro <john.a.passaro@xxxxxxxxx> writes: > > > >> I've noticed that in v2.19.1, when using git to pretty print > >> information about the signature, if git cannot find gpg (e.g. "git > >> config gpg.program nogpg"), it prints an error to stderr: > >> > >> $ git show -s --pretty=%G? > >> fatal: cannot run nogpg: No such file or directory > >> N > > > > I think the uninteded behaviour change was in 17809a98 ("Merge > > branch 'jk/run-command-notdot'", 2018-10-30). > > Perhaps something like this. There needs an additional test added > for this codepath, which I haven't done yet, though. Thanks, both, for the report and the patch. > diff --git a/run-command.c b/run-command.c > index d679cc267c..e2bc18a083 100644 > --- a/run-command.c > +++ b/run-command.c > @@ -728,6 +728,8 @@ int start_command(struct child_process *cmd) > if (prepare_cmd(&argv, cmd) < 0) { > failed_errno = errno; > cmd->pid = -1; > + if (!cmd->silent_exec_failure) > + error_errno("cannot run %s", cmd->argv[0]); > goto end_of_spawn; > } Yes, I think this is the right fix. For a test, I think we could just do: diff --git a/t/t0061-run-command.sh b/t/t0061-run-command.sh index cf932c8514..866268dfd1 100755 --- a/t/t0061-run-command.sh +++ b/t/t0061-run-command.sh @@ -33,7 +33,8 @@ test_expect_success 'run_command is restricted to PATH' ' write_script should-not-run <<-\EOF && echo yikes EOF - test_must_fail test-tool run-command run-command should-not-run + test_must_fail test-tool run-command run-command should-not-run 2>err && + grep should-not-run err ' test_expect_success !MINGW 'run_command can run a script without a #! line' ' I assume you'll wrap that up into a real commit? -Peff