[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: relocate with svn:externals

From: Simon Large <simon_at_skirridsystems.co.uk>
Date: 2007-03-05 23:45:14 CET

Paul wrote:
> Server: Ubuntu 6.10 running Subversion 1.3.2
>
> Client: Win XP SP2 TSVN 1.4.1 build 7992 (also tried with 1.4.3 build 8645)
>
> Problem:
> Until recently, we had to use an explicit IP address to access our
> Subversion repository, because the server did not have a valid DNS
> entry.
>
> Some of our directories in the repository have svn:externals with a
> URL that points to another directory in the repository.
>
> Now, the server's IP address has changed, but it now has a valid DNS
> entry, so we can use the name rather than the IP.
>
> I have done a dump - modify - load cycle to convert these explicit IP
> addresses to names.
>
> If I checkout a new working copy, or export, everything works fine,
> all svn:externals are pulled from the proper location.
>
> If I use the TSVN Repo Browser and check the properties of the various
> directories, the svn:externals all refer to the new name rather than
> the old IP address.
>
> However if I try to use the TortoiseSVN | Relocate to relocate an
> existing working copy to the server name, the relocate completes
> without any errors.
>
> Now, if I try to update the working copy, it attempts to access the
> svn:externals using the now invalid IP address instead of the name
> that is stored in the repository.
>
> This sounds like Subversion bug 2209
> (http://subversion.tigris.org/issues/show_bug.cgi?id=2209) but this
> looks as though it has been resolved.
>
> 1) Am I doing something wrong ?
> 2) Is this a known bug ?
> 3) Is there a simple work around if it is a bug ?

Issue 2209 was just a performance enhancement. Previously, if you
changed the external to point to a different location in the same repo
(eg a new tag) it would delete the entire WC tree for that external and
do a fresh checkout. The new behaviour is to do the equivalent to
'switch' and just pull down the changes.

I think what is happening is this:

You update the svn:externals in the repo.
You relocate your working copy.
Update fails :-(

Relocate does not work on externals (a known limitation of subversion).
So until you update your working copy, it does not pull down the
property updates from the server, and it does not know the external refs
have changed.

A workaround to try: First update-to-revision, and check the 'ignore
externals' box. This should update the properties without trying to
reference them. Now do a second update to update the external references
too.

Simon

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: users-help@tortoisesvn.tigris.org
Received on Mon Mar 5 23:45:21 2007

This is an archived mail posted to the TortoiseSVN Users mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.