Subversion 1.5.x and svn externals

Subversion 1.5.x and svn externals

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:

Relative URLs, peg revisions in svn:externals

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.

John Collins

I have been writing about web technology and software development since 2001. I am the developer of the Alpha Framework for PHP. I love open source, technology, and economics. You can follow updates from this blog on Twitter.