TortoiseSVN (relocate to new repository)

2020-08-09 06:19发布

问题:

We are facing a problem in relocating our application from the old repository to a new one.

Initially we were using //10.X.X.50/svn/XXX. Now we try to shift to the new repository at //10.X.X.152:8443/svn/XXX as the server hard disk has crashed (10.X.X.50).

While we are trying to use relocate option in TortoiseSVN - it gives an error:

The repository at 'https://10.X.X.152:8443/svn/XXX' has uuid '5005c752-e8bc-6a46-9f1b-84ec39085508', but the WC has '005a1777-a2fa-4437-9a0c-b35647624529'

We are using TortoiseSVN 1.5.9, Build 15518 - 32 bit.

Currently, the new repository which is created on another server has three folders created: Branches, Tags and Trunk.

回答1:

You should either:

  • Set the old UUID for your new repository, using svnadmin setuuid
    • svnadmin setuuid REPOS_PATH [NEW_UUID]
  • Or get a fresh checkout from the new repository.

If you go for the first option, when the new repository UUID's match the old one, just go to your working copy in Windows Explorer, right click in a blank spot and choose,

*TortoiseSVN → Relocate..., and there you will be prompted for the new repository location.

Then:



回答2:

If you know what you're doing, just go ahead and edit the wc.db file by hand so that all instances of the old UUID are now the new UUID.



回答3:

I was attempting to do this inside NetBeans using their subversion. I couldn't get it to work. Setting the UUID eliminated one of the problems, but not all.

I ended up going to Subversion server 1 and doing an svnadmin hotcopy command. Then moving it over to the new Subversion server and pasting it in the directory. This was simple to do, and it worked great.