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

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.

Bcfg2 Subversion Policy