Published on 2008-09-29 by John Collins. Please follow me on Twitter for more:
I have been using the svn:externals feature of Subversion for many years now to handle the dependencies between my various projects. As everything I am working on these days has the Alpha Framework at its core, I set up my project repositories to reference the Alpha Framework repository as an svn:external, then when I checkout or export one of the child repositories, Subversion pulls down all of the source code from the Alpha repository too. It is a nice set-up but not without some problems, in particular when tagging or branching the child project where pinning the externals to a certain revision becomes a pain.
Recently I have upgraded my Subversion server to version 1.5.x (from 1.2.x!), which brings a number of new improvements to the svn:externals functionality:
The pegging feature in particular looks interesting to me, but I need more time to play around with this before I can determine if it solves my problem with tagging and branching the child projects. I hope to write more about this soon in the form of a detailed tutorial on the subject.