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

Re: [PATCH 2/4] format-patch: fix a bug in option exclusivity and add a test to t4014

From
DSDragan Simic <dsimic@manjaro.org>
Date
Apr 17, 2024, 06:29 UTC
Message-ID
<8dd3bf56d595801e0f262329a0000ea4@manjaro.org>
In-Reply-To
<CAPig+cTEp799w2-VEACYThW0COyo0SJLRS_sr-PG=LX++Tompw@mail.gmail.com>
On 2024-04-17 08:15, Eric Sunshine wrote:
Show 10 quoted lines
> On Tue, Apr 16, 2024 at 11:33 PM Dragan Simic <dsimic@manjaro.org> 
> wrote:
>> format-patch: fix a bug in option exclusivity and add a test to t4014
> 
> Reviewers assume that a conscientious patch author will add tests when
> appropriate, so stating that you did so is unnecessary. Thus it's safe
> to omit "and add a test to t4014" without negatively impacting
> comprehension of the subject.
> 
>     format-patch: ensure --rfc and -k are mutually exclusive

Makes sense, but the previous authors obviously weren't diligent enough to include such a test, which presumably made the fixed bug remain undetected for so long, so I wanted to put some emphasis on the addition of a test.

Show 13 quoted lines
>> Fix a bug that allows --rfc and -k options to be specified together 
>> when
>> executing "git format-patch".  This bug was introduced back in the 
>> commit
>> e0d7db7423a9 ("format-patch: --rfc honors what --subject-prefix 
>> sets"),
>> about eight months ago, but it has remained undetected so far, 
>> presumably
>> because of no associated test coverage.
> 
> Everything starting at "...about eight months" through the end of the
> paragraph could be easily dropped. Reviewers understand implicitly
> that the bug went undiscovered due to lack of test coverage.

I have no problems with dropping that part, but IMHO that's nitpicking. Also, dropping it would delete some of the context that people might find useful later.

Show 9 quoted lines
>> Add a new test to the t4014 that covers the mutual exclusivity of the 
>> --rfc
>> and -k command-line options for "git format-patch", for future 
>> coverage.
> 
> Similarly, no need for this paragraph. As a conscientious patch
> author, reviewers assume that you added the test, so this paragraph
> adds no information. Also, the body of the patch provides this
> information clearly without it having to be stated here.

With all the respect, I think that having that paragraph is actually good, because explaining it clearly provides good context for the repository history and people reading it later.

Show 19 quoted lines
>> Signed-off-by: Dragan Simic <dsimic@manjaro.org>
>> ---
>> diff --git a/builtin/log.c b/builtin/log.c
>> @@ -2050,8 +2050,11 @@ int cmd_format_patch(int argc, const char 
>> **argv, const char *prefix)
>> -       if (rfc)
>> +       /* Also mark the subject prefix as modified, for later checks 
>> */
>> +       if (rfc) {
>>                 strbuf_insertstr(&sprefix, 0, "RFC ");
>> +               subject_prefix = 1;
>> +       }
> 
> I'm not sure that this new comment (/* Also mark... */) adds any value
> beyond what the code itself already says. It may actually be confusing
> with its current placement. Had you placed it immediately above the
> `stubject_prefix = 1` line, it would have been more understandable,
> but still probably unnecessary since anyone studying this code is
> going to have to understand the purpose of `subject_prefix` anyhow.

Setting such flags should actually be performed in a callback, but in this case creating a callback isn't warranted, IMHO. Thus, that comment tries to explain why a flag is set out of place. I have no objections against removing this comment, if you find it doing more harm than good.

I didn't place it immediately above the relevant line because it also applies to the adjacent block for the --resend option, and I wanted to reduce the code churn that would result from placing it immediately before the relevant line, and moving it a couple of lines above just a couple of patches later.

> At any rate, I doubt that any of these review comments on their own is
> worth a reroll.

Well, I need to split the series anyway, so the v2 is pretty much inevitable.

Previous: Eric SunshineNext: Patrick Steinhardt
Message 5 of 51 in “format-patch: fix an option coexistence bug and add new --resend option”
  1. 0/4 format-patch: fix an option coexistence bug and add new --resend optionDragan Simic, Apr 17, 2024
  2. 1/4 format-patch docs: avoid use of parentheses to improve readabilityDragan Simic, Apr 17, 2024
  3. 2/4 format-patch: fix a bug in option exclusivity and add a test to t4014Dragan Simic, Apr 17, 2024
  4. Eric SunshineApr 17, 2024
  5. Dragan SimicApr 17, 2024
  6. Patrick SteinhardtApr 17, 2024
  7. Dragan SimicApr 17, 2024
  8. Dragan SimicApr 18, 2024
  9. Kristoffer HaugsbakkApr 17, 2024
  10. Eric SunshineApr 17, 2024
  11. Dragan SimicApr 17, 2024
  12. Kristoffer HaugsbakkApr 17, 2024
  13. Dragan SimicApr 17, 2024
  14. Dragan SimicApr 17, 2024
  15. Dragan SimicApr 17, 2024
  16. 4/4 t4014: add tests to cover --resend option and its exclusivityDragan Simic, Apr 17, 2024
  17. Eric SunshineApr 17, 2024
  18. Dragan SimicApr 17, 2024
  19. 3/4 format-patch: new --resend option for adding "RESEND" to patch subjectsDragan Simic, Apr 17, 2024
  20. Kristoffer HaugsbakkApr 17, 2024
  21. Dragan SimicApr 17, 2024
  22. Kristoffer HaugsbakkApr 17, 2024
  23. Dragan SimicApr 17, 2024
  24. Eric SunshineApr 17, 2024
  25. Dragan SimicApr 17, 2024
  26. Eric SunshineApr 17, 2024
  27. Dragan SimicApr 17, 2024
  28. Dragan SimicApr 18, 2024
  29. Phillip WoodApr 17, 2024
  30. Dragan SimicApr 17, 2024
  31. Kristoffer HaugsbakkApr 17, 2024
  32. Dragan SimicApr 17, 2024
  33. Kristoffer HaugsbakkApr 17, 2024
  34. Dragan SimicApr 17, 2024
  35. Junio C HamanoApr 17, 2024
  36. Dragan SimicApr 17, 2024
  37. Junio C HamanoApr 17, 2024
  38. Dragan SimicApr 17, 2024
  39. Dragan SimicApr 18, 2024
  40. Junio C HamanoApr 18, 2024
  41. Dragan SimicApr 19, 2024
  42. Eric SunshineApr 19, 2024
  43. Dragan SimicApr 19, 2024
  44. Eric SunshineApr 19, 2024
  45. Junio C HamanoApr 19, 2024
  46. Eric SunshineApr 19, 2024
  47. Junio C HamanoApr 19, 2024
  48. Eric SunshineApr 17, 2024
  49. Dragan SimicApr 17, 2024
  50. Eric SunshineApr 17, 2024
  51. Dragan SimicApr 17, 2024

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.