Skip to content

Repository files navigation

partner

partner is a tool for managing coauthors for git commits. It allows you to quickly annotate commits with appropriate Co-Authored-By trailers. Supports adding users by GitHub and GitLab usernames.

Usage

Add some colleagues to your list of coauthors:

# Add a few of my colleagues on GitHub
$ partner manifest gh-add GeorgeMac gavincabbage stuartcarnie
# Add a friend who doesn't use GitHub
$ partner manifest add --id=gemini --email=gemini@strongbeard.org --name="Gemini Strongbeard"
# List all coauthors
$ partner manifest ls
ID NAME EMAIL TYPE
gavincabbage Gavin Cabbage 5225414+gavincabbage@users.noreply.github.com github
gemini Gemini Strongbeard gemini@strongbeard.org manual
GeorgeMac George 1253326+GeorgeMac@users.noreply.github.com github
stuartcarnie Stuart Carnie 52852+stuartcarnie@users.noreply.github.com github

Activate a few for a pairing session:

# Activate George and Gavin
$ partner set GeorgeMac gavincabbage
# List the active coauthors
$ partner status
ID NAME EMAIL TYPE
gavincabbage Gavin Cabbage 5225414+gavincabbage@users.noreply.github.com github
GeorgeMac George 1253326+GeorgeMac@users.noreply.github.com github

partner has set a commit.template configuration for this repository with appropriate Co-Authored-By trailers. You can view this template like this:

$ cat $(git config commit.template)
# Managed by partner
#
# partner-id: gavincabbage
Co-Authored-By: "Gavin Cabbage" <5225414+gavincabbage@users.noreply.github.com>
# partner-id: GeorgeMac
Co-Authored-By: "George" <1253326+GeorgeMac@users.noreply.github.com>

The template will be used as a starting point for any commit messages you author with your party. Remember: Using git commit --message overrides the entire commit message and will not use the template.

To clean up:

# Unset all coauthors
$ partner clear
# No one is active now
$ partner status

Install

$ go install github.com/brettbuddin/partner@v0.1.0

Environment Variable Overrides

Environment VariableDefault ValueDescription
PARTNER_MANIFEST~/.config/partner/manifest.jsonConfiguration file holding all add-ed coauthors.

About

🕺 Manage coauthors for Git commits.

Topics

Resources

Stars

4 stars

Watchers

2 watching

Forks

Releases

Used by

Contributors

Languages