On Jun 23, 2011, at 20:01, Jean-Yves Avenard wrote: > On 24 June 2011 05:33, Ryan Schmidt wrote: >> You should be able to meet the "same revision numbers across both >> repositories" goal by inserting empty revisions for the ones not applicable >> to the projects in each new repo (the tools should do this for you when you >> use the right arguments). But you will not be able to meet the goal of being >> able to switch old working copies from the old monolithic repository to >> either of the new repositories. A working copy is tied to a repository by >> UUID. A UUID uniquely identifies a repository. Your plan is to retire the >> old repository and create two new repositories, each of which contains a >> portion of the old repository. Both new repositories will have new UUIDs and >> users will need to check out new working copies from either of them, and >> discard their existing working copies of the old repo. > > This is what I was afraid of. > > I don't mind loosing the ability to switch for the repo that will now > only contain dead projects ; but I do want to keep the ability to > switch with the new one with only the active projects. > > According to the svn load man page ; the UUID is kept is the svn > repository you load your file into is empty... > > I just checked, and they are identical between the old monolithic repo > and the new one. > > Doing svn switch --relocate also worked between the old repo and the new one. > > Ultimately, I plan to completely remove the old repo and rename the > new one with the same name. Hoping that for users, that the history > was fully rewritten with empty revisions will be completely > transparent.
For users of the projects that remain in the repo, possibly yes. For users who had working copies of the old now-removed projects, they will receive confusing error messages if they try to use those old working copies. The purpose of the UUID is to uniquely identify a repository. If you go do surgery to your repository to change its contents (e.g. using svnadmin dump / svndumpfilter / svnadmin load), IMHO that makes it no longer the same repository, so giving it a new UUID makes sense. But it does come with the inconveniences mentioned above.