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

Re: Relocate broken?

From: Robert Dailey <rcdailey_at_gmail.com>
Date: Sat, 2 Aug 2008 12:15:48 -0500

On Sat, Aug 2, 2008 at 5:22 AM, Ryan Schmidt <
subversion-2008c_at_ryandesign.com> wrote:

> It's not that the "relocate" command breaks under certain conditions; it's
> that it is only appropriate for use under certain conditions -- namely, only
> when you want to change the repository root portion of the URL, and not when
> you want to change a part of the URL within the repository. Now, based on
> what you said above and the info you copied below, it sounds like you really
> do need to change only the repository root portion of the URL, so relocate
> should be exactly what you need.
>
> "svn switch --relocate <OLD> <NEW>" is only for use when you want to change
> the part of the URL that leads up to the repository -- the repository root.
> You might use this when your repository server's hostname or port has
> changed, or if you are switching from hosting a single repository to hosting
> multiple repositories and are therefore adding an extra path component to
> the URL, or if you are switching repository access methods, e.g. from
> svnserve to apache, and are therefore changing the protocol portion of the
> URL. In your case, many of these situations apply, which is fine. "svn
> switch --relocate" merely rewrites information in your working copy's .svn
> directories to point it at the new server; it does not need to exchange
> information with the repository (other than perhaps verifying that the
> repository exists).
>
> "svn switch <NEW>" is only for use when you want to change the part of the
> URL that is within the repository. You would use this e.g. to switch a
> working copy from the trunk to a branch. "svn switch" is a superset of "svn
> update" and does talk to the repository to retrieve changes.
>
> I think it is unfortunate that these two very different functions are
> conceptually joined within a single command name. I personally would have
> preferred "svn relocate" and "svn switch".

> Ok, so happily it looks like these are the same repository (same UUID) and
> in both cases it looks like the part of the URL that is within the
> repository is "/vfx/trunk". So nothing about the layout within the
> repository has changed; it's just the repository root portion of the URL
> that has changed. And that's what "relocate" is designed to handle.
>
> In the "old_jewett" working copy, this should work:
>
> svn switch --relocate \
> svn://teamserver/svn \
> http://teamserver:1337/svn/vfxrepo
>
> Is that the command you were using?

I am not using the command line directly. I'm using TortoiseSVN. So whatever
commands they issue when I do TortoiseSVN >> Relocate is what I was using. I
originally posted this on the TSVN mailing list but they had me post it here
as well since this seems to be more or less an SVN topic. If you look in the
very first FWD I sent, Stefan shows a comment in the SVN code that is
related to the problem.
Received on 2008-08-02 19:16:27 CEST

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

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