2
votes

So we recently moved our SVN server from being a root path (svn://sever/) to being a subfolder (svn://server/sub/) to allow multiple repositories on the same server.

We have a number of working copies already checked out that we'd like to just keep as-is. Using Tortoise SVN, we ran the Relocate command, and everything seemed to work great.

Except the externals. All our externals are relatively linked (using the ^/folder/ folder syntax), so the actual externals properties still work correctly... The issue is that the folders that are already checked out by the externals properties still think they're associated with the old path.

When I run an update, I get this error message from all the externals:

'svn://server/old/folder/path'
is not the same repository as
'svn://server/sub'

Is there a way to correct the working copies without having to manually delete/relocate all the folders created by the externals definitions? We have quite a few, and while that's an option and does work, I'm just wondering if there is a more automated approach.

Thanks!

1

1 Answers

1
votes

svn st --ignore-externals will list externals with a 'X' status. You could build a script around that to find all the externals then do the svn switch --relocate ..... If the only externals you have are the relative ones, you should be able to blindly do the relocate, but if you have any that point to another server you'll need to add an svn info step to make sure the external is one that needs to be fixed up.