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.



Reply via email to