Re: [PATCH v2 1/2] Refactor code asking the user for input interactively
- From
Johannes Schindelin <johannes.schindelin@gmx.de>
- Date
- Apr 10, 2020, 14:01 UTC
- Message-ID
- <nycvar.QRO.7.76.6.2004101559540.46@tvgsbejvaqbjf.bet>
- In-Reply-To
- <cf6bdc4c-bacf-5de0-b0b3-255e66c7bc18@gmail.com>
Hi Dr Stolee,
On Fri, 10 Apr 2020, Derrick Stolee wrote:
Show 16 quoted lines
> On 4/10/2020 7:27 AM, Johannes Schindelin via GitGitGadget wrote: > > From: Johannes Schindelin <johannes.schindelin@gmx.de> > > > > There are quite a few code locations (e.g. `git clean --interactive`) > > where Git asks the user for an answer. In preparation for fixing a bug > > shared by all of them, and also to DRY up the code, let's refactor it. > > > > Please note that most of these callers trimmed white-space both at the > > beginning and at the end of the answer, instead of trimming only the > > end (as the caller in `add-patch.c` does). > > add-patch also only trims the newline! This is still a good change. > > > THerefore, technically speaking, we change behavior in this patch. At > > Strange capitalization here.
I fixed it and force-pushed, waiting a little with submitting it in case there are more things reviewers point out.
Show 28 quoted lines
> > the same time, it can be argued that this is actually a bug fix.
> >
>
> > @@ -1158,9 +1159,8 @@ static int read_single_character(struct add_p_state *s)
> > return res;
> > }
> >
> > - if (strbuf_getline(&s->answer, stdin) == EOF)
> > + if (git_read_line_interactively(&s->answer) == EOF)
> > return EOF;
> > - strbuf_trim_trailing_newline(&s->answer);
>
> (Pointing out the trailing newline trim here.)
>
> > +
> > +int git_read_line_interactively(struct strbuf *line)
> > +{
> > + int ret = strbuf_getline_lf(line, stdin);
> > +
> > + if (ret != EOF)
> > + strbuf_trim_trailing_newline(line);
> > +
> > + return ret;
> > +}
>
> This looks good. Do we need a trailing newline or something?
> The way the diff ends abruptly after the "}" line made me
> think so.No, this file ends in that line, therefore it ends abruptly ;-)
If I add another newline, `git diff` shows a red `+` at the end, i.e. we consider it a white-space problem.
Thank you for your review! Dscho
Show 5 quoted lines
> > Thanks, > -Stolee > >