SVN Externals and SVN Vendor Branches

The folks over at IMAGEX MEDIA just posted one of the better/straightforward descriptions of how to use SVN vendor branches.

When managing several Drupal projects you must have a way to manage the code for each individual project in such a way as to reduce the likelihood of errors when updating or upgrading. It doesn't hurt that the same code management strategy also reduces the work required to do upgrades.

I personally use a strategy where Drupal (core), contributed modules and individual projects all have their own repositories. A project repository in most cases will only contain the 'sites' folder. And that sites folder will only actually contains settings files and custom modules, themes and theme assets. Everything else (Drupal and contributed modules) is brought into projects via SVN externals.

But the use of vendor branches and Externals are not mutually exclusive. Even in my configuration vendor branches can still be used to manage the core Drupal repository and the contributed modules themselves (particularly patched versions of contributed modules).

I will try and find my slides from a presentation I did for the Toronto Drupal User's Group describing my SVN configuration and post them here (sadly they were a laptop ago, and I may not have restored my old presentations from backup).

If you are interested in learning more about Subversion configuration read Version Control with Subversion. Virtually everything you would ever need to know about Subversion is in that book including advanced topics like externals and vendor branches.

January 17th 2009 10AM
By: andre




I would be interested in learning more about how you are combining vendor branching and SVN::externals in the setup of your drupal projects.

Did you ever find the slides you mention above?