Committer Policy
This policy was provisionally accepted by the network team on 7 November 2019, by voting and agreement in our team meeting. It became non-provisional on 7 February 2020.
For information on:
- when and what to merge, see the org/teams/NetworkTeam/MergePolicy document.
- how to merge, see the org/teams/NetworkTeam/MergeProcess document.
Scope
This policy gives Network Team staff the commit bit. Staff should get the commit bit if they are regularly doing Network Team roles that need it. Or if they want to start doing those roles.
This policy is designed for the git.torproject.org/tor.git repository, but a similar "get permissions if needed" policy should also apply to:
- other Network Team repositories on git.torproject.org,
- permissions needed on other platforms, like GitHub or GitLab.
Rationale
There are two network team roles that automatically get the commit bit. The people who are currently in those roles are:
- mainline merger: asn, dgoulet, nickm
- backport merger: teor, nickm
When one or two of these people are away, the merge load significantly increases. Or there may be a large backlog when they return to work.
This policy allows people to get used to the merge process. As they gain experience, they can take over more of the merge workload.
This policy also makes the following roles and processes faster:
CI fixer:
- merge CI fixes
Coder:
- merge patches that don't need review
Reviewer:
- merge patches, unless they need a second reviewer
For details see:
Merge Policy:
Process
0. Learn How We Merge
If you want to do master merges, read the Merge Policy and Merge Process:
- https://trac.torproject.org/projects/tor/wiki/org/teams/NetworkTeam/MergePolicy
- https://trac.torproject.org/projects/tor/wiki/org/teams/NetworkTeam/MergeProcess
If you want to do backport merges, also read the Backport Process:
1. Set Up Your Git Upstream Environment
Follow the latest Merge Policy setup instructions at:
2. Check If You Already Have Access
Make sure you have an LDAP account with working SSH keys:
Run the command:
$ ssh git@git-rw.torproject.org | grep W
3. Get Access
A current merger gets you access, using the git.torproject.org process at:
4. First Time
The first time you do a master merge, ask another merger to check your work before you push to upstream.
The first time you do a backport merge, ask a backport merger to check your work before you push to upstream.
5. Removing Access
Anyone may request to drop the commit bit. They do not need to provide any reasons.
Anyone who is not regularly using the commit bit should ask for it to be removed.
We should review the list of people who have the commit bit every 6 months, and remove people who are not using it.
When a staff member leaves the network team, we will remove their commit bit, unless they still need to use it regularly.
6. Who Can Use This New Process?
Network Team staff members who are regularly doing the CI, Coder, or Reviewer roles can get the commit bit using this process.
Anyone with the commit bit can have it removed using this process.
New Network Team staff members should learn our processes for at least 12 months, before getting the commit bit.