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

Re: storing cover letter of a patch series?

From
MTMichael S. Tsirkin <mst@redhat.com>
Date
Aug 7, 2016, 05:12 UTC
Message-ID
<20160807080857-mutt-send-email-mst@kernel.org>
In-Reply-To
<xmqqy44bxm0h.fsf@gitster.mtv.corp.google.com>
On Fri, Aug 05, 2016 at 08:39:58AM -0700, Junio C Hamano wrote:
Show 25 quoted lines
> "Michael S. Tsirkin" <mst@redhat.com> writes:
> 
> > On Thu, Sep 10, 2015 at 11:39:49AM -0700, Junio C Hamano wrote:
> >> The problem with "empty commit trick" is that it is a commit whose
> >> sole purpose is to describe the series, and its presence makes it
> >> clear where the series ends, but the topology does not tell where
> >> the series begins, so it is an unsatisifactory half-measure.
> >
> > Actually, when using topic branches the series always ends at head, so
> > it's better to keep the empty commit where series begins.
> 
> But that would mean that you would need to destroy and recreate more
> commits than you would need to.  If you have a five-commit series
> (with the bottom "description" one, you would have six commits) and
> you are already happy with the bottom two but want to update the
> third one, you wuld have to "rebase -i" all six of them, reword the
> bottom "description" to adjust it to describe the new version of the
> third one _before_ you even do the actual update of the third one.
> 
> That somehow feels backwards, and that backward-ness comes from the
> fact that you abused a single-parent commit for the purpose it is
> not meant to be used (i.e. they are to describe individual changes),
> because you did not find a better existing mechanism (and I suspect
> there isn't any, in which case the solution is to invent one, not
> abusing an existing mechanism that is not suited for it).
A flag that marks a commit "beginning of series" then?
Show 9 quoted lines
> If this were part of a workflow like this, I would understand it:
> 
>  * Build a N-commit series on a topic.
> 
>  * You keep a "local integration testing" branch ("lit"), forked
>    from a mainline and updated _every time_ you do something to your
>    topics.  You may or may not publish this branch.  This is the
>    aggregation of what you locally have done, a convenient place to
>    test individual topics together before they get published.

This seems to assume topic branches. I know you use them, but not overyone does, I don't.

Show 6 quoted lines
>  * A new topic, when you merge it to the "lit" branch, you describe
>    the cover as the merge commit message.
> 
>  * When you updated an existing topic, you tell a tool like "rebase
>    -i -p" to recreate "lit" branch on top of the mainline.  This
>    would give you an opportunity to update the cover.

Combining patchsets might need conflict resolution, redoing this each time might be a lot of work.

Show 10 quoted lines
> Now the tool support for the last one is the missing piece.  In
> addition to what "rebase -i -p" would, it at least need to
> automatically figure out which topics have been updated, so that
> their merge commit log messages need to be given in the editor to
> update, while carrying over the merge log message for other topics
> intact (by default).
> 
> With that, you should also be able to teach "format-patch --cover"
> to take these merge messages on "lit" into account when it creates
> the cover letter.
Previous: Junio C HamanoNext: John Keeping
Message 12 of 57 in “storing cover letter of a patch series?”
  1. Jacob KellerSep 10, 2015
  2. Junio C HamanoSep 10, 2015
  3. Martin FickSep 10, 2015
  4. Jacob KellerSep 10, 2015
  5. Junio C HamanoSep 10, 2015
  6. Junio C HamanoSep 11, 2015
  7. Michael S. TsirkinAug 4, 2016
  8. Junio C HamanoAug 5, 2016
  9. Martin FickAug 5, 2016
  10. Junio C HamanoAug 5, 2016
  11. Junio C HamanoAug 6, 2016
  12. Michael S. TsirkinAug 7, 2016
  13. John KeepingAug 7, 2016
  14. Duy NguyenAug 7, 2016
  15. Junio C HamanoAug 8, 2016
  16. Michael J GruberAug 9, 2016
  17. Jacob KellerSep 10, 2015
  18. Junio C HamanoSep 10, 2015
  19. Jacob KellerSep 10, 2015
  20. Philip OakleySep 10, 2015
  21. Jacob KellerSep 10, 2015
  22. Michael S. TsirkinAug 4, 2016
  23. Johannes SchindelinSep 10, 2015
  24. Jacob KellerSep 10, 2015
  25. Johannes SchindelinSep 10, 2015
  26. Philip OakleySep 10, 2015
  27. doc: show usage of branch descriptionPhilip Oakley, Sep 12, 2015
  28. Jacob KellerSep 12, 2015
  29. Philip OakleySep 14, 2015
  30. Philip OakleySep 14, 2015
  31. Junio C HamanoSep 14, 2015
  32. Philip OakleySep 15, 2015
  33. Philip OakleySep 15, 2015
  34. doc: show usage of branch descriptionPhilip Oakley, Sep 14, 2015
  35. Chris PackhamSep 11, 2015
  36. Simon GlassSep 18, 2015
  37. Stefan BellerAug 8, 2016
  38. Junio C HamanoAug 8, 2016
  39. Duy NguyenAug 13, 2016
  40. Jacob KellerAug 14, 2016
  41. Stefan BellerAug 15, 2016
  42. Jacob KellerAug 15, 2016
  43. Stefan BellerAug 15, 2016
  44. Jacob KellerAug 15, 2016
  45. Duy NguyenAug 15, 2016
  46. Philip OakleyAug 15, 2016
  47. Duy NguyenAug 15, 2016
  48. John KeepingAug 15, 2016
  49. Jacob KellerAug 15, 2016
  50. Junio C HamanoAug 15, 2016
  51. Jacob KellerAug 15, 2016
  52. Philip OakleyAug 15, 2016
  53. Duy NguyenAug 16, 2016
  54. Jacob KellerAug 16, 2016
  55. Duy NguyenAug 16, 2016
  56. Jacob KellerAug 16, 2016
  57. Philip OakleyAug 16, 2016

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.