Which brings to mind that there's some interest in distributed version control systems, which should be better for maintaining and publishing individual work branches than SVN.
SVN's good at making release branches, but performing multiple merges like one needs to do on a work branch is a big hassle, and notoriously slow. I know some people are really excited about git, though there are a number of others popular ones out there.
Git could be interesting, although in practical terms the cross-platform-ness doesn't look like it's there yet (see section below).
Background info on git, if it helps anyone else:
Git <--> SVN crash course: http://git.or.cz/course/svn.html
70 minute video of Torvalds talking about git (yes, I know 70 mins is a long time, but he explains the distributed development idea quite well between roughly 13:00 and 30:00) : http://www.youtube.com/watch?v=4XpnKHJAok8
Getting started with git: http://lwn.net/Articles/245678/
Advantages: * No more worries about who has commit access * No mucking about with SSH keys (?) * No single point of failure (?) * Easier merging of branches, with encourages more experimentation and collaboration with branches. I'm not totally convinced that branches & merges work especially well in MediaWiki's SVN (e.g. most commonly, branches tend to be one person working on a branch, making their changes in public instead of in private, and then most often that branch dies a slow death, but very occasionally the changes get merged back, which as a practical consequence I suspect means most people end up making changes in the main tree rather than working in branches).
Questions: * Would we get emailed logs of the commits to the "main" repository? (I'm defining "main" as the code that runs on the cluster, and which gets used for the releases) * What happens with the extensions? If the extension developers have the latest version in their trees, do users of those extensions need to go and grab them from each author of those extensions? Or does the "main" repository maintainer have to pull from the extension writers every time they update their extension? Or can there be a redirect that's transparent to the user that fetches that extension from a different tree?
Having something that's fairly usable on Linux, Windows, and Mac OS X is a pretty strong requirement for us to start poking in that direction.
And it looks like this would be the biggest problem with git : * On OSX, looks like it has to be compiled (yuck) : http://www.dekorte.com/blog/blog.cgi?do=item&id=2539 * And on Windows, it looks like it's being ported currently: http://en.wikipedia.org/wiki/Git_(software)#Portability * And of course it works fine on Linux, surprise surprise.
-- All the best, Nick.