Re: [PATCH] Make find_commit_subject() more robust
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Jun 20, 2016, 19:35 UTC
- Message-ID
- <xmqqeg7ru00i.fsf@gitster.mtv.corp.google.com>
- In-Reply-To
- <34ef85eb4e2aef0b342ef5d3bce9e468c8339486.1466255489.git.johannes.schindelin@gmx.de>
Johannes Schindelin <johannes.schindelin@gmx.de> writes:
Show 13 quoted lines
> Just like the pretty printing machinery, we should simply ignore empty > lines at the beginning of the commit messages. > > This discrepancy was noticed when an early version of the rebase--helper > produced commit objects with more than one empty line between the header > and the commit message. > > Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> > --- > Published-As: https://github.com/dscho/git/releases/tag/leading-empty-lines-v1 > > Aaaaand another patch from the rebase--helper front. I guess I'll > call it a day with this one.
Makes sense. This has a trivial textual conflict with cleanup patches in flight, I think, but that is not a big problem. It does hint that we might want to find a library function that can replace a hand-rolled while loop we are adding here, though ;-)
Perhaps cast this new behaviour in stone by adding a test?
Thanks.
Show 16 quoted lines
> commit.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/commit.c b/commit.c
> index 3f4f371..7b00989 100644
> --- a/commit.c
> +++ b/commit.c
> @@ -415,6 +415,8 @@ int find_commit_subject(const char *commit_buffer, const char **subject)
> p++;
> if (*p) {
> p += 2;
> + while (*p == '\n')
> + p++;
> for (eol = p; *eol && *eol != '\n'; eol++)
> ; /* do nothing */
> } else