Ziemowit Laski wrote on Mon, Dec 31, 2012 at 15:01:50 -0800: > > Subversion hasn't been designed for distributed operation. > > See > > > https://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_fs_ > > base/notes/fs-history > > and > > > https://svn.apache.org/repos/asf/subversion/trunk/subversion/libsvn_fs_ > > fs/structure > > Admittedly, I've only briefly perused these two documents, but I did not > see anything that would _prevent_ distributed operation from being > implemented. Is there a particular feature of FSFS (or some other > module) that you had in mind here?
The FS is not aware of the idea that other FSes exist. (It has a UUID, but the "filesystem" part --- the directories and files --- is oblivious of it.) If you want to implement any sort of 'cross-repository branching' in the FS level, you'll need for example to think how to implement metadata that refers to other repositories. I'm not sure why you'd need to do that at the FS level, though, rather than in userspace (so to speak). Consider: % svn info http://llvm.org/svn/llvm-project/llvm/trunk | grep Root Repository Root: http://llvm.org/svn/llvm-project % svnadmin create r % svn mkdir file://$(pwd)/r/llvm % svnsync init file://$PWD/r/llvm http://llvm.org/svn/llvm-project % svnsync sync file://$PWD/r/llvm If this were possible, would it address your use-case? (This is currently not possible because svnsync assumes that it writes to the repository root and assumes revnums in the src and dest repositories must equal; with the change, what will have to be equal is some sort of svn:sync-source-revision revprop on file://$PWD/r/llvm) (BTW, an obvious improvement would be to mirror only a part of the llvm history --- either temporally (only N recent revisions), spatially (only some subtrees), or both.)