| Version 1 (modified by exarkun, 3 years ago) |
|---|
This is a list of things that developers with commit access to the Twisted source repository should know:
- SVN access is via svn+ssh scheme
- You can convert a read-only checkout to a read-write checkout
- All development is done in branches
- Branch names must follow the naming convention so that various pieces of automation can work.
- Branches must be copied from trunk with no changes in the initial revision so that they can be merged properly. Use server-side copies. Or use Combinator.
- trunk commit messages must follow the format described on ReviewProcess so that various pieces of automation can work.
- If you merge a branch with the correct "Fixes #NNNN" message and the ticket is not automatically closed:
- Make sure you got the ticket number right
- trac is buggy
- Log on to the svn.twistedmatrix.com shell
- Look at the end of ~/.post-commit.log for a line like "+ /svn/Twisted/hooks/trac-post-commit-pb-client ..." which corresponds to your trunk commit
- Cross your fingers
- Re-run that command with all the same arguments
- With sufficient delays to allow trac to catch up, try again one or two more times if it still doesn't work.
- If it still doesn't work, find someone in the IRC channel to help
- If you check in something that breaks trunk, revert it
- If the bad revision was 12345,
- cd ~/Projects/Twisted/trunk
- svn merge -c -12345 .
- Use "Reopens #NNNN" in the commit message to re-open the corresponding ticket
- Explain what broke and how and perhaps on which platform in the commit message
- If the bad revision was 12345,
- If you merge a branch with the correct "Fixes #NNNN" message and the ticket is not automatically closed:
- If you are merging a branch into trunk, you must commit exactly the merge. You may not make extra changes in the trunk working copy after the merge.
- Use force-builds.py if you want to test a branch on all supported builders before merging
- No, really, use it. It saves a lot of time.
- Also, update it somewhat frequently, to keep the list of supported builders up to date.
- Be in the IRC channel, at least when you're going to be committing to trunk (don't feel bad about avoiding the distraction when you're trying to get stuff done though).
- Have fun, but not too much.
