Re: [PATCH v4] add-patch: response to unknown command
- From
Rubén Justo <rjusto@gmail.com>
- Date
- Apr 26, 2024, 20:41 UTC
- Message-ID
- <433fe12c-170c-48b8-9654-f70d238ab120@gmail.com>
- In-Reply-To
- <20240426202333.GB13703@coredump.intra.peff.net>
On Fri, Apr 26, 2024 at 04:23:33PM -0400, Jeff King wrote:
Show 33 quoted lines
> On Thu, Apr 25, 2024 at 05:04:45AM +0200, Rubén Justo wrote:
>
> > > The test_cmp output looks
> > > like this:
> > >
> > > -(1/1) Stage addition [y,n,q,a,d,e,p,?]? Unknown command 'W' (use '?' for help)
> > > -(1/1) Stage addition [y,n,q,a,d,e,p,?]?
> > > +(1/1) Stage addition [y,n,q,a,d,e,p,?]? (1/1) Stage addition [y,n,q,a,d,e,p,?]?
> > > +Unknown command 'W' (use '?' for help)
> > >
> > > which makes me suspect a race. Perhaps because the prompt is going to
> > > stdout, but the "Unknown command" message goes to stderr?
> >
> > I have to read the thread pointed by Eric, but my knee-jerk reaction has
> > been to think in something like:
> >
> > diff --git a/add-patch.c b/add-patch.c
> > index 447e8166d2..0090543f89 100644
> > --- a/add-patch.c
> > +++ b/add-patch.c
> > @@ -292,6 +292,7 @@ static void err(struct add_p_state *s, const char *fmt, ...)
> > {
> > va_list args;
> >
> > va_start(args, fmt);
> > + fflush(stdout);
> > fputs(s->s.error_color, stderr);
> > vfprintf(stderr, fmt, args);
>
> I think the "just send it all to stdout" approach makes the most sense
> here, but in case we don't do that: I don't think this will fix it. In
> the output above it is the "Unknown command" output which is delayed,
> which is sent to stderr via err().Very true.
I'm happy with what Junio has just queued. I do not plan to send a new iteration, unless a new test break appears :-)
Thanks, all.