From: Felipe Contreras <felipe.contreras@gmail.com>
To: Jeff King <peff@peff.net>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
Sverre Rabbelier <srabbelier@gmail.com>,
Thomas Rast <trast@student.ethz.ch>
Subject: Re: [PATCH 1/2] transport-helper: report errors properly
Date: Thu, 11 Apr 2013 08:22:26 -0500 [thread overview]
Message-ID: <CAMP44s02K5ydKLNi0umMkuAicoVTWyCdVfjs0yssCa2oyFShGQ@mail.gmail.com> (raw)
In-Reply-To: <20130410211552.GA3256@sigill.intra.peff.net>
On Wed, Apr 10, 2013 at 4:15 PM, Jeff King <peff@peff.net> wrote:
> From: Felipe Contreras <felipe.contreras@gmail.com>
>
> If a push fails because the remote-helper died (with
> fast-export), the user does not see any error message. We do
> correctly die with a failed exit code, as we notice that the
> helper has died while reading back the ref status from the
> helper. However, we don't print any message. This is OK if
> the helper itself printed a useful error message, but we
> cannot count on that; let's let the user know that the
> helper failed.
This explained the same thing:
> If a push fails because the remote-helper died (with fast-export), the user won't see any error message. So let's add one.
Granted, depending on the way the remote-helper died, an error might
or might not been printed, so s/won't/might not/.
The fact that an exit code was returned before is not relevant,
neither is how the exit was returned, and for that matter neither is
all the other things that are happening in this code. It's just noise.
The only thing that is relevant is this:
- exit(128);
+ die("Reading from remote helper failed");
It's a simple change, and simple to explain.
> In the long run, it may make more sense to propagate the
> error back up to push, so that it can present the usual
> status table and give a nicer message. But this is a much
> simpler fix that can help immediately.
Yes it might, and it might make sense to rewrite much of this code,
but that's not relevant.
> While we're adding tests, let's also confirm that the
> remote-helper dying is also detect when importing refs.
That is enough explanation.
> We
> currently do so robustly when the helper uses the "done"
> feature (and that is what we test). We cannot do so
> reliably when the helper does not use the "done" feature,
> but it is not even worth testing; the right solution is for
> the helper to start using "done".
This doesn't help anyone, and it's not even accurate. I think it might
be possible enforce remote-helpers to implement the "done" feature,
and we might want to do that later. But of course, discussing what bad
things remote-helpers could do, and how we should test and babysit
them is not relevant here.
If it was important to explain the subtleties and reasoning behind
this change, it should be a separate patch.
> Suggested-by: Jeff King <peff@peff.net>
> Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com>
> Signed-off-by: Jeff King <peff@peff.net>
I would add:
[jk: rewrote every piece of text]
> export)
> + if test -n "$GIT_REMOTE_TESTGIT_FAILURE"
> + then
> + # consume input so fast-export doesn't get SIGPIPE;
I think this is explanation enough.
> + # git would also notice that case, but we want
> + # to make sure we are exercising the later
> + # error checks
I don't understand what is being said here. What is "that case"?
> + while read line; do
> + test "done" = "$line" && break
> + done
> + exit
LGTM.
Cheers.
--
Felipe Contreras
next prev parent reply other threads:[~2013-04-11 13:22 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-08 14:40 [PATCH v4] transport-helper: report errors properly Felipe Contreras
2013-04-08 18:20 ` Sverre Rabbelier
2013-04-08 19:30 ` Jeff King
2013-04-08 19:28 ` Jeff King
2013-04-09 21:38 ` Thomas Rast
2013-04-09 21:50 ` Jeff King
2013-04-10 21:13 ` [PATCH v5 0/2] reporting transport helper errors Jeff King
2013-04-10 21:15 ` [PATCH 1/2] transport-helper: report errors properly Jeff King
2013-04-10 21:22 ` Sverre Rabbelier
2013-04-10 21:46 ` Eric Sunshine
2013-04-11 13:22 ` Felipe Contreras [this message]
2013-04-11 16:18 ` Jeff King
2013-04-11 16:49 ` Felipe Contreras
2013-04-11 16:59 ` Jeff King
2013-04-11 17:57 ` Felipe Contreras
2013-04-11 18:49 ` Junio C Hamano
2013-04-11 21:35 ` Felipe Contreras
2013-04-11 18:44 ` Junio C Hamano
2013-04-11 21:21 ` Felipe Contreras
2013-04-11 23:05 ` Junio C Hamano
2013-04-13 5:42 ` Felipe Contreras
2013-04-13 6:00 ` Jeff King
2013-04-13 6:43 ` Felipe Contreras
2013-04-14 5:23 ` Junio C Hamano
2013-04-14 15:54 ` Felipe Contreras
2013-04-10 21:16 ` [PATCH 2/2] transport-helper: mention helper name when it dies Jeff King
2013-04-10 21:23 ` Sverre Rabbelier
2013-04-10 21:28 ` Jeff King
2013-04-10 21:35 ` Sverre Rabbelier
2013-04-10 23:13 ` [PATCH v4] transport-helper: report errors properly rh
2013-04-11 3:39 ` Jeff King
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=CAMP44s02K5ydKLNi0umMkuAicoVTWyCdVfjs0yssCa2oyFShGQ@mail.gmail.com \
--to=felipe.contreras@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=peff@peff.net \
--cc=srabbelier@gmail.com \
--cc=trast@student.ethz.ch \
/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).