Is it possible to create \"federated\" Subversion servers? As in one server at location A and another at location B that sync up their local versions of the repository automatic
This is more or less the perfect use case for SVK. SVK is a command line front end for subversion that works with an entire local copy of the repository. So your commits, updates, etc. work on the local repository and you can then sync with a master. I would generally recommend SVK over plain subversion anyway as it makes a lot of things nicer. No .svn folders, better branching and merging, better conflict resolution.
Sounds like you might like Git. There's a Google Talk explaining all about it.
Its probably not exactly what your looking for, but you may be able to implement OS level clustering.
There are different ways to implement replication of SVN repositories without using external tools such as SVK
(which appears to be abandoned today). The replication of Subversion repositories and servers helps to address the challenges of distributed workflow, and brings performance improvements for geographically distributed teams.
Subversion supports write-through proxying based on hook scripts and the svnsync
tool. And if you use VisualSVN Server you can use VisualSVN Distributed File System (VDFS) that has several major benefits over svnsync
. For example, VDFS is much faster than svnsync
and fully supports locking.
Subversion 1.5 introduced write through proxy support for webdav servers over the existing SvnSync support that was added in 1.4. This allows you to have local mirrors for retrieving files and history, but commits are committed directly to the master repository. If setup correctly the local mirrors receive the changes immediately.
See the Svn Book for more details.