I am new to SVN and make heavy use of the externals property. I have a repository located on my PC and the externals properties have a hardcoded 'localhost' in the name, which is now giving me problems. For example:
/project1/trunk
/shared/trunk
project1/trunk
depends on the shared folder so has an svn:externals
property of svn://localhost/shared/trunk. This works fine with TortoiseSVN and I can checkout project1/trunk
and am given a copy of shared/trunk
.
Now I have moved the repository to another server and the externals links no longer work for obvious reasons (TortoiseSVN is trying to checkout out svn://localhost/shared/trunk
which no longer exists).
So I need to update all my externals - but I don't want to hardcode any machine names - so how do I make this work? Bear in mind that the repository may move again at some point. Digging around the SVN manuals I came across the ^/ syntax, so I tried the following:
svn:externals shared ^/shared/trunk
This was accepted but when I try and checkout a copy of project1
on my PC I get the following error:
Unrecognized format for the relative external URL 'shared'.
Check the path and/or URL you've entered.
Unless I hardcode the repository machine name in the externals I can't make this work - it seems like a black art so any advice would be welcome.