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

Re: [PATCH v4 05/12] sequencer.c: recognize "(cherry picked from ..." as part of s-o-b footer

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Feb 12, 2013, 19:45 UTC
Message-ID
<20130212194502.GA12240@google.com>
In-Reply-To
<511A98C0.70201@nvidia.com>
Brandon Casey wrote:
> On 2/12/2013 11:13 AM, Junio C Hamano wrote:
>> Brandon Casey <drafnel@gmail.com> writes:
Show 14 quoted lines
>>> +static int is_cherry_picked_from_line(const char *buf, int len)
>>> +{
>>> +	/*
>>> +	 * We only care that it looks roughly like (cherry picked from ...)
>>> +	 */
>>> +	return len > strlen(cherry_picked_prefix) + 1 &&
>>> +		!prefixcmp(buf, cherry_picked_prefix) && buf[len - 1] == ')';
>>> +}
>>
>> Does the first "is it longer than the prefix?" check matter?  If it
>> is not, prefixcmp() would not match anyway, no?
>
> Probably not in practice, but technically we should only be accessing
> len characters in buf even though buf may be longer than len.

Yep. Technically the buf[len - 1] == ')' check is enough to avoid false positives, but if it and the 'len' check were dropped then this would be checking that buf is a "(cherry-picked from" line instead of checking that its first 'len' bytes are one.

So it's just paranoid futureproofing. In the long term, it would be nice to drop the "number of bytes to ignore at the end" argument to append_signoff to avoid having to think about this kind of thing.

Jonathan
Previous: Junio C HamanoNext: Brandon Casey
Message 13 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.