git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH v4.1 09/12] sequencer.c: teach append_signoff to avoid adding a duplicate newline

From
John Keeping <john@keeping.me.uk>
Date
Feb 17, 2013, 22:49 UTC
Message-ID
<20130217224919.GA5011@serenity.lan>
In-Reply-To
<CA+sFfMecyfD7x_8Jk-hUDceL_nS5kuKq5nF0vRBqLROWFgdypA@mail.gmail.com>
On Fri, Feb 15, 2013 at 10:58:38AM -0800, Brandon Casey wrote:
Show 15 quoted lines
> On Thu, Feb 14, 2013 at 9:58 AM, John Keeping <john@keeping.me.uk> wrote:
> > As Jonathan Nieder wondered before [1], this changes the behaviour when
> > the commit message is empty.  Before this commit, there is an empty line
> > followed by the S-O-B line; now the S-O-B is on the first line of the
> > commit.
> >
> > The previous behaviour seems better to me since the empty line is
> > hinting that the user should fill something in.  It looks particularly
> > strange if your editor has syntax highlighting for commit messages such
> > that the first line is in a different colour.
> 
> Are you talking about the output produced by format-patch?  Or are you
> talking about what happens when you do 'commit --amend -s' for a
> commit with an empty commit message. (The email that you referenced
> was about the behavior of format-patch).

I'm talking about plain 'commit -s' which seems to use the same code path.

Show 26 quoted lines
> I'm thinking you must be talking about the 'commit --amend -s'
> behavior since you mentioned your editor.  Is there another case that
> is affected by this?  Normally, any extra blank lines that precede or
> follow a commit message are removed before the commit object is
> created.  So, I guess it wouldn't hurt to insert a newline (or maybe
> it should be two?) before the signoff in this case.  Would this
> provide an improvement or change for any other commands than 'commit
> --amend -s'?
> 
> If we want to do this, then I'd probably do it like this:
> 
> -               if (len && msgbuf->buf[len - 1] != '\n')
> +               if (!len || msgbuf->buf[len - 1] != '\n')
>                         append_newlines = "\n\n";
> -               else if (len > 1 && msgbuf->buf[len - 2] != '\n')
> +               else if (len == 1 || msgbuf->buf[len - 2] != '\n')
>                         append_newlines = "\n";
> 
> This would ensure there were two newlines preceding the sob.  The
> editor would place its cursor on the top line where the user should
> begin typing in a commit message.  If an editor was not opened up
> (e.g. if 'git cherry-pick -s --allow-empty-message ...' was used) then
> the normal mechanism that removes extra blank lines would trigger to
> remove the extra blank lines.
> 
> I think that's reasonable.
Two blank lines seems like an improvement to me, FWIW.
John
Previous: Brandon CaseyNext: Junio C Hamano
Message 21 of 41 in “unify appending of sob”
  1. 00/12 unify appending of sobBrandon Casey, Feb 12, 2013
  2. 01/12 sequencer.c: rework search for start of footer to improve clarityBrandon Casey, Feb 12, 2013
  3. 02/12 commit, cherry-pick -s: remove broken support for multiline rfc2822 fieldsBrandon Casey, Feb 12, 2013
  4. 03/12 t/test-lib-functions.sh: allow to specify the tag name to test_commitBrandon Casey, Feb 12, 2013
  5. Ævar Arnfjörð BjarmasonMay 13, 2017
  6. 04/12 t/t3511: add some tests of 'cherry-pick -s' functionalityBrandon Casey, Feb 12, 2013
  7. 05/12 sequencer.c: recognize "(cherry picked from ..." as part of s-o-b footerBrandon Casey, Feb 12, 2013
  8. Junio C HamanoFeb 12, 2013
  9. Brandon CaseyFeb 12, 2013
  10. Junio C HamanoFeb 12, 2013
  11. Brandon CaseyFeb 12, 2013
  12. Junio C HamanoFeb 12, 2013
  13. Jonathan NiederFeb 12, 2013
  14. 06/12 sequencer.c: require a conforming footer to be preceded by a blank lineBrandon Casey, Feb 12, 2013
  15. 07/12 sequencer.c: always separate "(cherry picked from" from commit bodyBrandon Casey, Feb 12, 2013
  16. 08/12 sequencer.c: teach append_signoff how to detect duplicate s-o-bBrandon Casey, Feb 12, 2013
  17. 09/12 sequencer.c: teach append_signoff to avoid adding a duplicate newlineBrandon Casey, Feb 12, 2013
  18. 09/12 sequencer.c: teach append_signoff to avoid adding a duplicate newlineBrandon Casey, Feb 12, 2013
  19. John KeepingFeb 14, 2013
  20. Brandon CaseyFeb 15, 2013
  21. John KeepingFeb 17, 2013
  22. Junio C HamanoFeb 21, 2013
  23. Brandon CaseyFeb 21, 2013
  24. Brandon CaseyFeb 21, 2013
  25. Junio C HamanoFeb 21, 2013
  26. git-commit: populate the edit buffer with 2 blank lines before s-o-bBrandon Casey, Feb 22, 2013
  27. Junio C HamanoFeb 22, 2013
  28. Brandon CaseyFeb 22, 2013
  29. git-commit: populate the edit buffer with 2 blank lines before s-o-bBrandon Casey, Feb 22, 2013
  30. Jeff KingFeb 22, 2013
  31. Junio C HamanoFeb 22, 2013
  32. 10/12 t4014: more tests about appending s-o-b linesBrandon Casey, Feb 12, 2013
  33. 11/12 format-patch: update append_signoff prototypeBrandon Casey, Feb 12, 2013
  34. Junio C HamanoFeb 12, 2013
  35. Brandon CaseyFeb 12, 2013
  36. 12/12 Unify appending signoff in format-patch, commit and sequencerBrandon Casey, Feb 12, 2013
  37. 13/12 fixup! t/t3511: add some tests of 'cherry-pick -s' functionalityBrandon Casey, Feb 12, 2013
  38. Jonathan NiederFeb 12, 2013
  39. Junio C HamanoFeb 12, 2013
  40. Jonathan NiederFeb 12, 2013
  41. Junio C HamanoFeb 12, 2013

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.