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

Re: Invalid editor anchoring - log of failing sequence

From: Ben Collins-Sussman <sussman_at_collab.net>
Date: 2004-05-13 14:44:55 CEST

Giovanni Moretti wrote:

> **** The next is really all on one line
> D:\>svn move -m "Repo Move" svn://SVNServer/Research/Test
> svn://SVNServer/Research/Trunk/Test
>
> Committed revision 47.

Okay, so /Trunk/Test exists in r47, but not in r46.

>
> D:\>cd test
>
> D:\Test>svn switch --relocate svn://SVNServer/Research/Test
> svn://SVNServer/Research/Trunk/Test
>

And this is where you've made the mistake. You're using the
'--relocate' switch when you shouldn't be. The '--relocate' switch is
*only* for changing the SVNROOT: in other words, the schema, the
hostname, or parts of the path leading *up* to the repository. It
dumbly rewrites your URLs under the assumption that your working copy
still reflects the *same path* within the repository.

But instead, you've blindly rewritten your URLs to point to a *different
path* in the repository. This is wrong, wrong, wrong. If you want your
working copy to reflect a new path within the repository, you must use
ordinary 'svn switch URL'. This is equivalent to "updating" to the new
location... not just rewriting URLs, but working revs at well.

> D:\Test>svn update
> svn: Invalid editor anchoring; at least one of the input paths
> is not a directory and there was no source entry

And the reason you get this error...

>
> D:\Test>
> ============================================================
> ======== Contents of .svn/entries ==========================
> ============================================================
> <?xml version="1.0" encoding="utf-8"?>
> <wc-entries
> xmlns="svn:">
> <entry
> committed-rev="46"
> name=""
> committed-date="2004-05-13T10:54:17.792750Z"
> url="svn://SVNServer/Research/Trunk/Test"

...is because your working copy claims to be a reflection of
/Trunk/Test@46. But that location doesn't exist.

If you had run 'svn switch URL' and not used the --relocate switch, your
entries file would claim to be at /Trunk/Test@47, which *does* exist.

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu May 13 14:46:48 2004

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