Ben Reser wrote on Mon, Dec 31, 2012 at 17:41:36 -0800: > On Mon, Dec 31, 2012 at 4:47 PM, Daniel Shahaf <danie...@elego.de> wrote: > > (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.) > > I've actually looked at adjusting svnsync to handle this but I just > haven't gotten back to actually doing the work. So many things to do > so little time. :D > > This might be a stop gap way of handling this but the better solution > long term is what Branko was talking about with being able to svn cp > between repos and then handle the merges. >
Certainly it's possible to implement cross-repository 'svn cp' without teaching svnsync to use non-root fspaths for destination. > If both things are equal time or the cp/merge between repos is only > slightly more time I'd say we shouldn't bother with the svnsync > solution since in my opinion it pollutes the svnsync tool. Non-root-fspath destinations are IMO a natural extension; they just transform svnsync from "make a full copy of a versioned tree" to "make a full copy of a versioned subtree". I'm digressing a bit, but svnsync also needs to learn not to create empty revisions for revisions that don't touch the synced subtree, when the sync src is a repository subtree. (Currently a svnsync mirror of https://svn.apache.org/repos/asf/subversion would have 1.4M revisions; there is no good reason it should have more than 63138 revisions (that's the "predecessor count" of the /subversion node in the /asf repository).) Cheers, Daniel