Understanding Subversion Vendor Branching
Hold on Cowboy
This blog post is pretty old. Be careful with the information you find in here. It's likely dead, dying, or wildly inaccurate.
Update
If you haven’t switched to Git yet, you should. I can’t think of one reason to use Subversion over Git, Git is better in almost every way.
Since I’m still a newbie at SVN, getting the hang of Vendor Branching has taken me a little longer than I’m willing to admit.
Here are some resources that I found helpful.
-
http://imagexmedia.com/blog/2009/1/updating-drupal-using-svn-vendor-branches
-
http://betterexplained.com/articles/a-visual-guide-to-version-control/The basic concept is this. “Subversion, listen up. I’m going to use svn_load_dirs.pl and your going to find the differences between the current (5.15) and the new version (5.16) and record those changes. Don’t forget to tag those changes (-t) as 5.16 when your done.”
svn_load_dirs.pl file:///Users/shane/Sites/svn/test/vendor/drupal current drupal-5.16 -t 5.16
Then in your working copy “Subversion, look at me when I’m talking to you. I want you apply those changes I had you tag just a minute ago, to my working copy. Make sure you keep my changes or I’ll have your head on a stick.”
svn merge file:///Users/shane/Sites/svn/test/vendor/drupal/5.15 file:///Users/shane/Sites/svn/test/vendor/drupal/current
Lastly. “Subversion, yeah, I’m talking to you. Commit these changes to my working copy and don’t give me any lip.”
svn committ -m "Upgrading from 5.15 to 5.16"
That’s how I understand things to be now….
Did this help you out? It took me a few days to piece together all this information together, I hope this saves you some time (who knows, maybe the future me will be thankful I wrote this down). Let me know your thoughts. [email protected]