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

[PATCH v2 0/4] more automation for cover letter generation

From
FTFrank Terbeck <ft@bewatermyfriend.org>
Date
May 4, 2009, 09:58 UTC
Message-ID
<1241431142-8444-1-git-send-email-ft@bewatermyfriend.org>
In-Reply-To
<7v8wlxx18c.fsf@gitster.siamese.dyndns.org>
Sorry for taking this long, I was covered in work.
Junio C Hamano <gitster@pobox.com> wrote:
Show 21 quoted lines
> Frank Terbeck <ft@bewatermyfriend.org> writes:
> > [format]
> >     coverletter = true
> >     coveronepatch = false
> 
> Nobody wants a cover letter to a single patch, so a better way
> would probably be:
> 
> 	'yes' means default behaviour, that is add cover letter for
> 	multiple-patch series, non for a single patch;
> 
> 	'no' means no cover; and
> 
> 	'always' means a probably insane "cover even a single patch".
> 
> In any case, because this new feature is way too late to be in the
> upcoming 1.6.3 release anyway, I think it is a saner approach to add a
> command line option "--cover=yes" to "cover if multiple", "--cover=always"
> to "cover even a single patch", and "--cover=no" to countermand a
> configured "format.cover" the user may have in the configuration from the
> command line.

You're right. And so is Jeff. I'll send a followup, that will address comments of the both of you. See below.

Show 15 quoted lines
> 
> >     overwritecoverletter = false
> 
> I do not think it is particularly a good idea, and it is a good idea to
> have it in the configuration.
> 
>  - Why not protect the earlier patch output?  People often tweak messages
>    (both above and below the three-dash lines) in them.
> 
>  - Isn't this pretty much per invocation?
> 
> I can understand (I may not be enthused about it) a new --clobber={yes,no}
> command line option to allow/forbid clobbering the existing files, and you
> may want to add --clobber=patches to allow clobbering only the patches but
> not cover (which I do not think makes much sense, though).

This was a followup idea, which I thought was a reasonable. In the meantime, I feel this is not needed. I'd agree that a more generic --clobber option would make sense but frankly, protecting overwrites at this stage is not something worth putting much effort into, IMHO.

Jeff King <peff@peff.net> wrote:
> On Sat, Apr 18, 2009 at 06:16:15PM +0200, Frank Terbeck wrote:
[...]
Show 7 quoted lines
> Something about "coveronepatch" seems a bit hack-ish to me. Perhaps it
> should be "generate cover letter if there are more than N patches". You
> could even just overload "format.coverletter" as:
> 
>   true - always generate cover letter
>   false - never generate cover letter
>   <number> - generate if there are at least <number> patches

Yeah, a lot better. As Junio said, noone wants cover letters for single patches. Therefore, I made format.coverletter default to 2. Setting it to one makes --cover-letter produce for cover letter for single patches, too. Setting it to 0 disables cover letters, even with --cover-letter. Any other value sets the minimum size of patch series that will trigger --cover-letter to create a cover letter.

That can be altered from the command-line via:
    --cover-letter=always
    --cover-letter=never
    --cover-letter=<length>

In addition to that I did add format.coverauto. Setting it to true (it defaults to false) makes format-patch behave like the user gave the --cover-letter option - with the following exception: if --stdout is specified, cover letters are disabled. To force cover letters in that case too, --cover-letter needs to be specified *after* --stdout.

Now that I think of it again, two weeks after writing this mail originally, I guess it would be possible to drop format.coverauto altogether and tell users to use:

  % git config --global alias.fp format-patch --cover-letter

I don't know which solution would be preferred. If it's the user-should- use-an-alias approach, I'll create a series that gets rid of format.coverauto changes.

[...]
Show 8 quoted lines
> > The series is based on master and doesn't seem to break anything
> > within the test suite. It could maybe use own tests, but I must admit
> > that I didn't look too closely at how git's test suite works and where
> > to put in tests for this.
> 
> The tests below were not actually run (and you can see they are based on
> what I proposed above, not your existing patches), but they should give
> hopefully give you a headstart.
Yes, it did. Thank you.
Frank Terbeck (4):
The new options and changes:
  Add format.coverletter option
  Add format.coverauto boolean
Tests, thanks to Jeff:
  Add tests for coverauto, coverletter and --cover-letter
And finally documentation.
  Documentation for format.coverletter and --cover-letter
 Documentation/config.txt           |    9 +++++
 Documentation/git-format-patch.txt |   17 ++++++++--
 builtin-log.c                      |   32 +++++++++++++++++--
 t/t3400-rebase.sh                  |    1 +
 t/t4014-format-patch.sh            |   58 ++++++++++++++++++++++++++++++++++-
 5 files changed, 108 insertions(+), 9 deletions(-)
Previous: Junio C HamanoNext: Frank Terbeck
Message 9 of 21 in “more automation for cover letter generation”
  1. 0/6 more automation for cover letter generationFrank Terbeck, Apr 18, 2009
  2. 1/6 format-patch: add cover{letter,onepatch} optionsFrank Terbeck, Apr 18, 2009
  3. 2/6 Add documentation for format-patch's --cover-one-patchFrank Terbeck, Apr 18, 2009
  4. 3/6 Document format.coverletter and format.coveronepatchFrank Terbeck, Apr 18, 2009
  5. 4/6 format-patch: introduce overwritecoverletter optionFrank Terbeck, Apr 18, 2009
  6. 5/6 Add documentation for --cover-overwriteFrank Terbeck, Apr 18, 2009
  7. 6/6 Document format.overwritecoverletterFrank Terbeck, Apr 18, 2009
  8. Junio C HamanoApr 18, 2009
  9. 0/4 more automation for cover letter generationFrank Terbeck, May 4, 2009
  10. 1/4 Add format.coverletter optionFrank Terbeck, May 4, 2009
  11. 2/4 Add format.coverauto booleanFrank Terbeck, May 4, 2009
  12. Stephen BoydMay 4, 2009
  13. Frank TerbeckMay 4, 2009
  14. Junio C HamanoMay 4, 2009
  15. Frank TerbeckMay 5, 2009
  16. Junio C HamanoMay 5, 2009
  17. Frank TerbeckMay 5, 2009
  18. Frank TerbeckMay 5, 2009
  19. 3/4 Add tests for coverauto, coverletter and --cover-letterFrank Terbeck, May 4, 2009
  20. 4/4 Documentation for format.coverletter and --cover-letterFrank Terbeck, May 4, 2009
  21. Jeff KingApr 21, 2009

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.