transport-helper: be quiet on read errors from helpers
Prior to commit 81d340d4, we did not print any error message if a remote transport helper died unexpectedly. If a helper did not print any error message (e.g., because it crashed), the user could be left confused. That commit tried to rectify the situation by printing a note that the helper exited unexpectedly. However, this makes a much more common case worse: when a helper does die with a useful message, we print the extra "Reading from 'git-remote-foo failed" message. This can also end up confusing users, as they may not even know what remote helpers are (e.g., the fact that http support comes through git-remote-https is purely an implementation detail that most users do not know or care about). Since we do not have a good way of knowing whether the helper printed a useful error, and since the common failure mode is for it to do so, let's default to remaining quiet. Debuggers can dig further by setting GIT_TRANSPORT_HELPER_DEBUG. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
21ff9151e8
commit
266f1fdfa9
@ -210,9 +210,7 @@ test_expect_success 'proper failure checks for pushing' '
|
||||
(GIT_REMOTE_TESTGIT_FAILURE=1 &&
|
||||
export GIT_REMOTE_TESTGIT_FAILURE &&
|
||||
cd local &&
|
||||
test_must_fail git push --all 2> error &&
|
||||
cat error &&
|
||||
grep -q "Reading from helper .git-remote-testgit. failed" error
|
||||
test_must_fail git push --all
|
||||
)
|
||||
'
|
||||
|
||||
|
@ -56,7 +56,7 @@ static int recvline_fh(FILE *helper, struct strbuf *buffer, const char *name)
|
||||
if (strbuf_getline(buffer, helper, '\n') == EOF) {
|
||||
if (debug)
|
||||
fprintf(stderr, "Debug: Remote helper quit.\n");
|
||||
die("Reading from helper 'git-remote-%s' failed", name);
|
||||
exit(128);
|
||||
}
|
||||
|
||||
if (debug)
|
||||
|
Loading…
x
Reference in New Issue
Block a user