Bcfg2 Subversion HOWTO
This is a draft document in progress, and is not official policy of the Bcfg2 project. This document is working towards being a codification of some of the ideas presented in the release strategy mailing list thread.
Subversion Resources
- A nice, printable SVN Cheat Sheet (PDF)
- SVN 1.2 Manual on branching and merging
Svnmerge
The svnmerge.py tool is any easier to use alternative to the "svn merge" command; svnmerge doesn't require remembering or tracking things outside of the subversion system. There are some excellent Quick Tutorials. It's just a single .py file, but here is a svnmerge encap package if you want it to show up in bcfg2 reports as installed. In general you want to use "svnmerge.py" or "svn merge" in a branch, but not both.
Svnmerge troubleshooting
Merging trunk into branch after merging branch into trunk
I may just be doing something wrong, but I ran into this problem after merging a branch into the trunk, and then going back to the branch to merge trunk into that branch:
$ cd branch $ svnmerge.py merge $ svn ci -F svnmerge-commit-message.txt Trying to add new property 'svnmerge-integrated' with value 'xxx' but property already exists with value 'yyy'.
Reason: svnmerge.py tried to copy all properties (and merging info) from the trunk onto the branch. You can resolve the root as is (it will keep branch values) by issuing:
svn resolved .
And then again issuing:
$ svn ci -F svnmerge-commit-message.txt
Update: This is a known bug with a patch.