(unofficial) bzr repositories for Evergreen branches

Posted on Sat 12 July 2008 in Libraries

I wrote a long blog post about the distributed version control workflow that the two Laurentian students working on Evergreen (Kevin Beswick and Craig Ricciuto) are using successfully this summer, only to lose the post to a session timeout and my own lack of caution (note to self: if writing directly in the browser text field, CTRL-A CTRL-C before hitting preview!). So the gist of the blog post was:

  • bzr, with the bzr-svn plugin, works quite well for cloning and updating from a centralized Subversion repository like Evergreen's; just watch out for memory consumption issues due to memory leaks in the Python bindings for Subversion (fixed in the development version of bzr-svn)
  • there's no compelling reason for Evergreen to move to a different version control system; it's easy to use a distributed version control workflow with the Evergreen Subversion repository as-is
  • you can tar up a bzr branch and untar it where ever you like and "bzr up" will immediately happily work (which is how I worked around the severe memory constraints on this server that ended up repeatedly running into the Linux out of memory killer when I was trying to create a bzr-svn checkout from scratch)
  • it's a hell of a lot faster to check out or branch from a bzr repository than it is from a Subversion repository, so if you're going to take this approach set up one clean bzr repository using bzr-svn and check out or branch from that using bzr, rather than repeatedly using bzr-svn to create new branches

To enable you to get a bzr repo of Evergreen quickly, I've set up (unofficial, of course, but updated hourly) bzr repositories of the most useful Evergreen branches as follows:

UPDATE 2009-10-14: I've stopped updating these repositories because the version of bzr-svn on my server is too old and decrepit to be able to handle the updates. Sorry :-(