From: Frans Klaver <fransklaver@gmail.com>
To: git@vger.kernel.org
Cc: "Junio C. Hamano" <gitster@pobox.com>,
Jonathan Nieder <jrnieder@gmail.com>,
Johannes Sixt <j6t@kdbg.org>,
Frans Klaver <fransklaver@gmail.com>
Subject: [PATCH 5/5] run-command: Error out if interpreter not found
Date: Tue, 24 Jan 2012 23:32:26 +0100 [thread overview]
Message-ID: <1327444346-6243-6-git-send-email-fransklaver@gmail.com> (raw)
In-Reply-To: <1327444346-6243-1-git-send-email-fransklaver@gmail.com>
If the interpreter wasn't found, execvp returns ENOENT. The existing
error checking did not differentiate between file not found and
interpreter not found. While the former may be an incentive to start
inspecting aliases, the latter is an error because the desired script is
actually found.
This patch explicitly makes the interpreter failure a fatal error.
Signed-off-by: Frans Klaver <fransklaver@gmail.com>
---
As far as I'm concerned, this is a bug fix. However, since it really is
a change in git's behavior, we can still consider postponing this patch.
run-command.c | 7 +------
t/t0061-run-command.sh | 4 ++--
2 files changed, 3 insertions(+), 8 deletions(-)
diff --git a/run-command.c b/run-command.c
index ab14910..9179daf 100644
--- a/run-command.c
+++ b/run-command.c
@@ -201,12 +201,7 @@ static void inspect_file(struct strbuf *fn, int err, const char *argv0)
}
free(i);
strbuf_release(fn);
- if (err == ENOENT) {
- error("%s", es);
- exit(127);
- } else {
- die("%s", es);
- }
+ die("%s", es);
}
strbuf_release(fn);
diff --git a/t/t0061-run-command.sh b/t/t0061-run-command.sh
index a4585b0..f08163f 100755
--- a/t/t0061-run-command.sh
+++ b/t/t0061-run-command.sh
@@ -76,12 +76,12 @@ test_expect_success POSIXPERM 'run_command reports EACCES, interpreter fails' '
grep "bad interpreter" err
'
-test_expect_failure POSIXPERM 'run_command reports ENOENT, interpreter' '
+test_expect_success POSIXPERM 'run_command reports ENOENT, interpreter' '
cat non-existing-interpreter >hello.sh &&
chmod +x hello.sh &&
test_must_fail test-run-command start-command-ENOENT ./hello.sh 2>err &&
- grep "error: cannot exec.*hello.sh" err &&
+ grep "fatal: cannot exec.*hello.sh" err &&
grep "bad interpreter" err
'
--
1.7.8.1
next prev parent reply other threads:[~2012-01-24 22:33 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-24 22:32 [PATCH 0/6 v3] Add execvp failure diagnostics Frans Klaver
2012-01-24 22:32 ` [PATCH 1/5] t0061: Fix incorrect indentation Frans Klaver
2012-01-24 22:39 ` Junio C Hamano
2012-01-24 22:40 ` Jonathan Nieder
2012-01-25 6:27 ` Frans Klaver
2012-01-25 7:00 ` Junio C Hamano
2012-01-25 7:08 ` Frans Klaver
2012-01-25 8:08 ` Frans Klaver
2012-01-24 22:32 ` [PATCH 2/5] t0061: Add tests Frans Klaver
2012-01-24 22:56 ` Jonathan Nieder
2012-01-25 6:47 ` Frans Klaver
2012-01-24 22:32 ` [PATCH 3/5] run-command: Elaborate execvp error checking Frans Klaver
2012-01-24 23:22 ` Jonathan Nieder
2012-01-25 7:09 ` Frans Klaver
2012-01-25 19:22 ` Jonathan Nieder
2012-01-25 22:48 ` Frans Klaver
2012-01-25 19:03 ` Johannes Sixt
2012-01-25 22:59 ` Frans Klaver
2012-01-24 22:32 ` [PATCH 4/5] run-command: Warn if PATH entry cannot be searched Frans Klaver
2012-01-24 22:32 ` Frans Klaver [this message]
2012-01-24 23:24 ` [PATCH 5/5] run-command: Error out if interpreter not found Jonathan Nieder
2012-01-25 7:12 ` Frans Klaver
2012-01-25 18:55 ` Johannes Sixt
2012-01-25 23:09 ` Frans Klaver
2012-01-26 19:32 ` Junio C Hamano
2012-01-27 8:29 ` Frans Klaver
2012-01-27 8:48 ` Jonathan Nieder
2012-01-27 9:11 ` Frans Klaver
2012-01-27 9:41 ` Jonathan Nieder
2012-01-27 11:46 ` Frans Klaver
2012-02-04 21:31 ` Frans Klaver
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1327444346-6243-6-git-send-email-fransklaver@gmail.com \
--to=fransklaver@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=j6t@kdbg.org \
--cc=jrnieder@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).