Vendor branches in subversion
Tuesday, June 13th, 2006Actually, the title is a bit of an oxymoron — subversion really doesn’t have support specifically for vendor branches. Instead subversion has a recommended practice for vendor branches, using subversion’s native branch/copy/merge support. Said practice is documented in the subversion book here.
In the general case, though, updates on a vendor branch may be quite involved (i.e. lots of directory renames/reorgs, file movement, etc). To streamline the process, you really want to use a perl script that someone has concocted for this purpose.
cd tmp
svn co http://svn.collab.net/repos/svn/trunk/contrib
cd client-side
(or alternately download it here)
Notice that this sucker is svn_load_dirs.pl.in (notice the .in extension); it wants a makefile (not supplied apparently) to tell it where the “svn” executable is stored. Assuming svn is in your path, then simply edit line 26 to:
my $svn = 'svn';
Okay, now just read how to use it and you’re ready to use vendor branches!
This all seems like a hassle, and it kind of is, but managing vendor branches is a hassle. However, once you jump through the hoops above, the procedure works pretty well. Soldier on!