Branching SubSonic and svnmerge.py

SubSonic is pretty sweet.  I've been using it with a set of heavily modified templates lately, and it's saved me a good chunk of time.  A couple of weeks ago, I managed to talk Mr. Conery (Rob, not Shawn) (wait, is Conery pronounced Cone-ery or Connery?) into letting me work out of a branch in their SVN repository, primarily so I could maintain my own customized version and merge whatever changes the SubSonic devs made with my own changes.

If you've ever tried to work out of a branch in Subversion and sync changes with the trunk, you've probably ended up with a headache of epic proportions and a strong desire to say "svn sucks".  The built in merge functionality is an abortion, though they are supposed to be fixing it in 1.5.

Fortunately, there's a nice little tool called "svnmerge" available.  It's a Python script that does a bunch of what 1.5 is going to, and does it using various SVN properties.  With a properly configured branch, I can cherry pick changes, repeatedly merge without problems, merge from the trunk to my branch or my branch to the trunk, and block revisions I'm not interested in.

Yay for svnmerge.py.

Comment (1)

  1. Hi,

    you may want to have a look at Piston to handle that kind of situation with SVN.

    http://blog.logeek.fr/2008/1/4/how-to-use-piston-to-ease-your-upgrades

    Friday, January 11, 2008 at 8:01 am #

Trackback/Pingback (1)

  1. [...] work for me, I’ve been stumbling through the source code and making improvements on my own super special branch. Of primary interest to me was the mechanism for loading objects related through a foreign [...]