gitsvnversion-controlbazaar

How to attribute a single commit to multiple developers?


The way all version control systems I'm familiar with work is that each commit is attributed to a single developer. The rise of Agile Engineering, and specifically pair programming, has lead to a situation where two developers have made a significant contribution to the same task, a bug fix for example.

The issue of attribution won't be too much of a big deal in a work environment since the project manager will be aware of the work the pairs are doing, but what about if two open source contributors decide to pair up and push out some code to a particular project that has no idea they're working together. Is there any way for a version control system like Git to attribute a particular patch to multiple developers?


Solution

  • Commit title
    
    Commit body
    
    Co-authored-by: name <additional-dev-1@example.com>
    Co-authored-by: name <additional-dev-2@example.com>
    

    One problem with this approach is that you can't create a signed key for this group of devs, so you could essentially add anybody to this list even if they didn't work on a feature and GitHub would treat it as if they did. However, this shouldn't be an issue in most cases.

    e.g. Co-authored-by: Linus Torvalds <torvalds@linux-foundation.org>

    With normal authors or signing groups (the old method) you would see it's not signed and know that you can't trust the commit. However, there is no signing process on co-authors.


    Mostly outdated answer:

    One solution would be to set a name for the pair:

    git config user.name "Chris Wilson and John Smith"
    

    Here is a related bug report with other temporary solutions:

    Bug git-core: Git should support multiple authors for a commit