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

Re: [PATCH 1/8] git-merge-file --ours, --theirs

From
Junio C Hamano <gitster@pobox.com>
Date
Nov 26, 2009, 07:05 UTC
Message-ID
<7vvdgxbwav.fsf@alter.siamese.dyndns.org>
In-Reply-To
<20091126153726.6117@nanako3.lavabit.com>
Nanako Shiraishi <nanako3@lavabit.com> writes:
Show 9 quoted lines
> Quoting Junio C Hamano <gitster@pobox.com>
>
>> Except for parse-optification, this one is more or less a verbatim copy of
>> my patch, and I think I probably deserve an in-body "From: " line for this
>> [PATCH 1/8], [PATCH 6/8] and [PATCH 8/8] to take the full authorship of
>> them.
>
> Could you give an guideline to decide when to take authorship and when to
> give it to others?  The above seems somewhat arbitrary to me.

It might seem that way to you, as you do not write much C, but I am reasonably sure Avery understands after having worked on the series.

Imagine that Avery were an area expert (the subsystem maintainer) on "git merge" and downwards, and somebody who did not know that "merge" has already been rewritten in C, nor some parts of the system have been rewritten to use parse-options, submitted a patch series for review and Avery is helping to polish it up [*1*].

As the subsystem maintainer, Avery looks at the patches, updates parts of the code that is based on obsolete infrastructure, adds lacking tests and documentation as necessary, and forwards the tested result upwards for inclusion. How would the messages from Avery to me look?

Patches that were majorly reworked should be attributed to Avery, and obviously new patches that are added for missing tests should be, too. For example, changes made to git-merge.sh by the original submitter must be discarded and redone from scratch to builtin-merge.c, and if you look at the changes, it would be quite obvious that the original patch wouldn't have served as anything more than giving the specification.

But the ones with minor updates should retain the original authorship. It unfortunately is not black-and-white, though.

In any case, where does Avery's credit go? Is there a point in helping to polish others' patches?

It is recoded on the Signed-off-by line. When somebody passes a patch from somebody else, an S-o-b is added for DCO purposes, but it also leaves the "patch trail"---these people looked at the patch, spent effort to make sure it is suitable for inclusion by reviewing, polishing, and enhancing. A subsystem maintainer, or anybody who helps to polish others contribution, may not necessarily have his name as the "author" of the patch, and if the patch forwarding is done via e-mail, his name won't be on the "committer" line either. But the contribution is still noted and appreciated, and the hint to pay attention to is by counting non-author S-o-b and Tested-by lines in the commit messages.

cf. http://lwn.net/SubscriberLink/363456/50efdecf49af77ba/ check the last table.

[Footnote]

*1* That somebody happens to be me from 18 months ago, but the important point here is that the person is not Avery as the subsystem maintainer (in other words, it is immaterial that it happens to be the same person as the toplevel maintainer).

Previous: Nanako ShiraishiNext: Nanako Shiraishi
Message 24 of 26 in “The return of -Xours, -Xtheirs, -Xsubtree=dir”
  1. 0/8 The return of -Xours, -Xtheirs, -Xsubtree=dirAvery Pennarun, Nov 26, 2009
  2. 1/8 git-merge-file --ours, --theirsAvery Pennarun, Nov 26, 2009
  3. 2/8 builtin-merge.c: call exclude_cmds() correctly.Avery Pennarun, Nov 26, 2009
  4. 3/8 git-merge-recursive-{ours,theirs}Avery Pennarun, Nov 26, 2009
  5. 4/8 Teach git-merge to pass -X<option> to the backend strategy moduleAvery Pennarun, Nov 26, 2009
  6. 5/8 Teach git-pull to pass -X<option> to git-mergeAvery Pennarun, Nov 26, 2009
  7. 6/8 Make "subtree" part more orthogonal to the rest of merge-recursive.Avery Pennarun, Nov 26, 2009
  8. 7/8 Extend merge-subtree tests to test -Xsubtree=dir.Avery Pennarun, Nov 26, 2009
  9. 8/8 Document that merge strategies can now take their own optionsAvery Pennarun, Nov 26, 2009
  10. Junio C HamanoNov 26, 2009
  11. Junio C HamanoNov 26, 2009
  12. Junio C HamanoNov 26, 2009
  13. Junio C HamanoNov 26, 2009
  14. Avery PennarunNov 26, 2009
  15. Junio C HamanoNov 30, 2009
  16. Avery PennarunNov 30, 2009
  17. Junio C HamanoNov 30, 2009
  18. Junio C HamanoNov 30, 2009
  19. Avery PennarunNov 30, 2009
  20. Junio C HamanoNov 26, 2009
  21. Avery PennarunNov 26, 2009
  22. Junio C HamanoNov 26, 2009
  23. Nanako ShiraishiNov 26, 2009
  24. Junio C HamanoNov 26, 2009
  25. Nanako ShiraishiNov 26, 2009
  26. Avery PennarunNov 26, 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.