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

Re: [PATCH] interpret-trailers: obey scissors lines

From
Junio C Hamano <gitster@pobox.com>
Date
May 15, 2017, 04:23 UTC
Message-ID
<xmqq7f1iwxxd.fsf@gitster.mtv.corp.google.com>
In-Reply-To
<xmqqk25iwz7l.fsf@gitster.mtv.corp.google.com>
Junio C Hamano <gitster@pobox.com> writes:
Show 15 quoted lines
>         This can be done by the same logic as the existing helper
>         function, wt_status_truncate_message_at_cut_line(), uses,
>         but it wants the caller to pass a strbuf to it.  Because the
>         helper function ignore_non_trailer() used by the command
>         takes a <pointer, length> pair, not a strbuf, steal the
>         logic from wt_status_truncate_message_at_cut_line() to
>         create a new wt_status_strip_scissors() helper function that
>         takes <poiter, length> pair, and make ignore_non_trailer()
>         call it to help "interpret-trailers".  Since there is only
>         one caller of wt_status_truncate_message_at_cut_line() in
>         cmd_commit(), rewrite it to call wt_status_strip_scissors()
>         helper instead and remove the old helper that no longer has
>         any caller.
>
> The last paragraph would have saved me from getting puzzled.

And re-reading the above, wt_status_strip_scissors() does not sound right to me.

Yes, I am bikeshedding at this point, but names matter. I prefer to keep the distinction between the two clear by not calling the cut_line[] array "scissors", but in any case, the new function is not about "finding" the cut-line or scissors, in other words, wt_status_locate_scissors() is not a good name either (we do not say "not found" when there is none).

We are locating the logical end of the commit log message. It ends at "---\n", if exists, in the output of "git format-patch", and it ends at the cut-line, if exists, in "commit -v" editor buffer, and if there aren't these funny End-Of-Message marks, then we return the location of the last byte. IOW, the helper function you added will be the place to add more logic in the future if we ever found the need to notice other kinds of "logical end" markers (which may be ones we will invent in the future) while accepting a proposed commit log message.

So how about calling it wt_status_locate_end() or something like that, without limiting ourselves only to the "scissors"?

Previous: Junio C HamanoNext: Brian Malehorn
Message 11 of 24 in “interpret-trailers + commit -v bugfix”
  1. 0/3 interpret-trailers + commit -v bugfixBrian Malehorn, May 12, 2017
  2. 2/3 commit.c: add is_scissors_lineBrian Malehorn, May 12, 2017
  3. Jeff KingMay 12, 2017
  4. Jeff KingMay 12, 2017
  5. Brian MalehornMay 14, 2017
  6. interpret-trailers: obey scissors linesBrian Malehorn, May 14, 2017
  7. Jeff KingMay 14, 2017
  8. Brian MalehornMay 14, 2017
  9. interpret-trailers: obey scissors linesBrian Malehorn, May 14, 2017
  10. Junio C HamanoMay 15, 2017
  11. Junio C HamanoMay 15, 2017
  12. Brian MalehornMay 16, 2017
  13. interpret-trailers: honor the cut lineBrian Malehorn, May 16, 2017
  14. Junio C HamanoMay 16, 2017
  15. Jeff KingMay 15, 2017
  16. Junio C HamanoMay 15, 2017
  17. Jeff KingMay 15, 2017
  18. Junio C HamanoMay 15, 2017
  19. Jeff KingMay 15, 2017
  20. Ævar Arnfjörð BjarmasonMay 14, 2017
  21. 1/3 mailinfo.c: is_scissors_line ends on newlineBrian Malehorn, May 12, 2017
  22. Jeff KingMay 12, 2017
  23. 3/3 commit.c: skip scissors when computing trailersBrian Malehorn, May 12, 2017
  24. Jeff KingMay 12, 2017

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.