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

Re: co-authoring commits

From
TATuncer Ayaz <tuncer.ayaz@gmail.com>
Date
Jun 18, 2015, 21:25 UTC
Message-ID
<CAOvwQ4jb-w4+Ah3ZhVE0j1aXLx1=8tRN3Wo98tz+G-wEqLGAcA@mail.gmail.com>
In-Reply-To
<20150617225224.GF4076@thunk.org>
On Thu, Jun 18, 2015 at 12:52 AM, Theodore Ts'o wrote:
Show 16 quoted lines
> On Wed, Jun 17, 2015 at 10:26:32PM +0200, Tuncer Ayaz wrote:
> >
> > By allowing multiple authors, you don't have to decide who's the
> > primary author, as in such situations usually there is no primary
> > at all. I sometimes deliberately override the author when
> > committing and add myself just as another co-author in the commit
> > message, but as others have noted it would be really great if we
> > can just specify multiple authors.
>
> Just recently, there a major thread on the IETF mailing list where
> IETF working group had drafts where people were listed as co-authors
> without their permission, and were upset that the fact that their
> name was added made it seem as if they agreed with the end product.
> (i.e., that they were endorsing the I-D). So while adding formal
> coauthor might solves (a few) problems, it can also introduce
> others.
You can misuse signed-off/reviewed-by/etc the same way.
> Ultimately there is one person who can decide which parts of the
> changes to put in the commit that gets sent to the maintainer. So
> there *is* someone who is the primary author; the person who takes
> the final pass on the patch and then hits the send key.

If you (do it in isolation and) want to take full responsibility, yes, but I consider reviewed-by/signed-off as taking partial responsibility because it's a vetting process.

Show 6 quoted lines
> One could imagine some frankly, quite rare example where there is a
> team of people who votes on each commit before it gets sent out and
> where everyone is equal and there is no hierarchy. In that case,
> perhaps you could set the from field to a mailing list address. But
> honestly, how often is that *all* of the authors are completely
> equal[1]?

For that case something like patchwork, phabricator, or gerrit seems to be the logical tool to use, and should ideally leave a trace of approvals and such in the resulting commit message(s). If the patch management tool takes care of merging the commit(s), it can be harder to misattribute signed-off/reviewed-by/etc, which is a good thing.

Show 13 quoted lines
> In my personal practice, if I make significant changes to a patch, I
> will indeed simply change the submitter, and then give credit the
> original author. This is the case where I'm essentially saying, "Bob
> did a lot of work, but I made a bunch of changes, so if things break
> horribly, blame *me*, not Bob".
>
> Alternatively, if I just need to make a few cosmetic changes to
> Alice's patch (i.e., fix white spaces, correct spelling, change the
> commit description so it's validly parsable and understandable
> English, etc.), I'll just add a comment in square brackets
> indicating what changes I made before I committed the change. This
> seems to work just fine, and I don't think we should try to fix
> something that isn't broken.

Perfectly valid use cases, but different from the scenarios Josh mentioned.

You could of course use multiple (everybody makes their own) commits, where you risk breaking bisectability and avoid the need for equal co-authorship support. In pair programming such intermediate commits will quite often be fixups, and when you attempt to squash the fixups for bisectability's sake, you may get a desire for co-authorship of the resulting commit.

Previous: Jason PyeronNext: Jakub Narębski
Message 17 of 20 in “co-authoring commits”
  1. Tuncer AyazJun 17, 2015
  2. Junio C HamanoJun 17, 2015
  3. Tuncer AyazJun 17, 2015
  4. Junio C HamanoJun 17, 2015
  5. josh@joshtriplett.orgJun 17, 2015
  6. josh@joshtriplett.orgJun 17, 2015
  7. Junio C HamanoJun 17, 2015
  8. Tuncer AyazJun 17, 2015
  9. josh@joshtriplett.orgJun 17, 2015
  10. Junio C HamanoJun 17, 2015
  11. Jakub NarębskiJun 18, 2015
  12. Jeff KingJun 19, 2015
  13. Jakub NarębskiJun 19, 2015
  14. Theodore Ts'oJun 17, 2015
  15. josh@joshtriplett.orgJun 17, 2015
  16. Jason PyeronJun 18, 2015
  17. Tuncer AyazJun 18, 2015
  18. Jakub NarębskiJun 19, 2015
  19. Tuncer AyazJun 19, 2015
  20. Jakub NarębskiJun 19, 2015

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.