You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Tristan Seligmann <tr...@quotemaster.co.za> on 2003/12/15 08:40:07 UTC

Reorganized repository, cannot update

(In the rest of this e-mail, ROOT refers to the root of the repository,
http://server.local:8080/svn/qm)

Originally, I setup the repository with the following structure:

ROOT/trunk/qmaster/
ROOT/branches/qmaster/...
ROOT/tags/qmaster/...

created by cvs2svn.py from our original CVS repository. I decided now 
that this structure was a bit odd, and decided to use cvs move on the 
repository (actually through the TSVN repository browser) in order to 
achieve the following layout:

ROOT/qmaster/trunk/
ROOT/qmaster/branches/...

('tags' got deleted shortly after checkout, as there was no longer 
anything relevant in there).

Now, everyone else just had a working copy with a checkout of 
ROOT/trunk/qmaster/; when they try and run an update on this working 
copy, the following error occurs:

REPORT request failed on '/svn/qm/!svn/vcc/default'

svn_repos_dir_delta: invalid edit anchoring; at least one of the input 
paths is not a directory, and there was no source entry.

My guess is that this occurs because the 'qmaster' directory has been 
moved to a location that doesn't exit in their working copy. How can I 
work around this? If I could 'expand' their working copy to contain the 
entire tree instead of just the subdir it currently consists of, I 
suspect that would solve the problem; any workaround would be fine, 
though. I would prefer not to go through deleting the wc and checking 
out a new one, as there are changes in these working copies that need to 
be preserved.

Any ideas?

Tristan Seligmann


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Reorganized repository, cannot update

Posted by John Szakmeister <jo...@szakmeister.net>.
On Monday 15 December 2003 05:02, Tristan Seligmann wrote:
> John Szakmeister wrote:
> > So, I guess there are a couple of answers here to prevent losing your
> > local modifications.  You can go ahead and try to commit your changes (if
> > they're ready to be committed).  As long as someone hasn't done anything
> > to cause a conflict, this should work without a problem.  Or, you can run
> > 'svn diff > /
>
> Some of the changed files have had new revisions committed, so
> unfortunately these can't be committed.

That alright, because I discovered that this would still be a problem too.  
Later on other operations would be hunting for revisions of the file that 
didn't exist at that path.  My apologies for giving bad advice on this.

> > path/to/somewhere/safe/local-mods.patch' to save off your current
> > changes, remove the working copy, checkout a new one, and apply the patch
> > with the 'patch' tool.  You working copy will now have your local mods
> > inserted back in.
>
> This is what I'm trying to avoid.
>
> Isn't there some way to turn my working copy rooted at /trunk/qmaster/
> into a working copy rooted at / (revision 2122, where /trunk/qmaster
> still existed)? I would think that would solve the problem.

The problem is that the WC is rooted in a rev in which /trunk/qmaster existed.  
In this case, the source path and rev passed to svn_repos_dir_delta() existed 
and is fine.  However, the target path doesn't exist?  Why?  Because it has 
been moved.  We're managing to see both sides of the problem.  In the first 
case (not relocating), the target path doesn't exist.  In the latter case 
(relocated), the source path doesn't exist.

Unfortunately, I don't see a way.  It looks to me like only one path is used 
to perform the update against, and that same path is given to 
svn_repos_dir_delta() as both a source and target.  It would be nice if 
update searched forward in history to find the new location of the directory, 
and then updated.  However, I'm not sure what consequences that would bring, 
and I would most certainly say that this would be a post 1.0 feature, if 
fixed at all.

Let this sit on the list a little longer, and perhaps one of the developers 
with more experience on this can comment on how to do this without removing 
the WC.  Sorry I couldn't be more helpful.

-John


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Reorganized repository, cannot update

Posted by Tristan Seligmann <tr...@quotemaster.co.za>.
John Szakmeister wrote:
> So, I guess there are a couple of answers here to prevent losing your local 
> modifications.  You can go ahead and try to commit your changes (if they're 
> ready to be committed).  As long as someone hasn't done anything to cause a 
> conflict, this should work without a problem.  Or, you can run 'svn diff > /

Some of the changed files have had new revisions committed, so 
unfortunately these can't be committed.

> path/to/somewhere/safe/local-mods.patch' to save off your current changes, 
> remove the working copy, checkout a new one, and apply the patch with the 
> 'patch' tool.  You working copy will now have your local mods inserted back 
> in.

This is what I'm trying to avoid.

Isn't there some way to turn my working copy rooted at /trunk/qmaster/ 
into a working copy rooted at / (revision 2122, where /trunk/qmaster 
still existed)? I would think that would solve the problem.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Reorganized repository, cannot update

Posted by John Szakmeister <jo...@szakmeister.net>.
On Monday 15 December 2003 04:19, Tristan Seligmann wrote:
> > Yep, that's pretty much it.  The directory it's trying to update to
> > disappeared, so now it's a little confused.  No worries though, use the
> > 'svn switch --relocate' command to move it to your new URL.  This will
> > update you WC with the new URL, and you'll be ready to go.
>
> This doesn't seem to help; running update on the relocated working copy
> gives me the same error. (I'm using the TSVN relocate command, which is
> presumably the same as svn switch --relocate).

You're right, running 'svn up' after the switch still fails with the same 
error.  The reason is because svn_repos_dir_delta() is trying to find /
qmaster/trunk in the repository at rev X (a revision before committing the 
changes to move /trunk/qmaster to its new location), and well, it doesn't 
exist there.

So, I guess there are a couple of answers here to prevent losing your local 
modifications.  You can go ahead and try to commit your changes (if they're 
ready to be committed).  As long as someone hasn't done anything to cause a 
conflict, this should work without a problem.  Or, you can run 'svn diff > /
path/to/somewhere/safe/local-mods.patch' to save off your current changes, 
remove the working copy, checkout a new one, and apply the patch with the 
'patch' tool.  You working copy will now have your local mods inserted back 
in.

-John


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Reorganized repository, cannot update

Posted by Tristan Seligmann <tr...@quotemaster.co.za>.
> Yep, that's pretty much it.  The directory it's trying to update to 
> disappeared, so now it's a little confused.  No worries though, use the 'svn 
> switch --relocate' command to move it to your new URL.  This will update you 
> WC with the new URL, and you'll be ready to go.

This doesn't seem to help; running update on the relocated working copy
gives me the same error. (I'm using the TSVN relocate command, which is
presumably the same as svn switch --relocate).

Tristan




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org

Re: Reorganized repository, cannot update

Posted by John Szakmeister <jo...@szakmeister.net>.
On Monday 15 December 2003 03:40, Tristan Seligmann wrote:
> (In the rest of this e-mail, ROOT refers to the root of the repository,
> http://server.local:8080/svn/qm)
>
> Originally, I setup the repository with the following structure:
>
> ROOT/trunk/qmaster/
> ROOT/branches/qmaster/...
> ROOT/tags/qmaster/...
>
> created by cvs2svn.py from our original CVS repository. I decided now
> that this structure was a bit odd, and decided to use cvs move on the
> repository (actually through the TSVN repository browser) in order to
> achieve the following layout:
>
> ROOT/qmaster/trunk/
> ROOT/qmaster/branches/...
>
> ('tags' got deleted shortly after checkout, as there was no longer
> anything relevant in there).
>
> Now, everyone else just had a working copy with a checkout of
> ROOT/trunk/qmaster/; when they try and run an update on this working
> copy, the following error occurs:
>
> REPORT request failed on '/svn/qm/!svn/vcc/default'
>
> svn_repos_dir_delta: invalid edit anchoring; at least one of the input
> paths is not a directory, and there was no source entry.
>
> My guess is that this occurs because the 'qmaster' directory has been
> moved to a location that doesn't exit in their working copy. How can I
> work around this? If I could 'expand' their working copy to contain the
> entire tree instead of just the subdir it currently consists of, I
> suspect that would solve the problem; any workaround would be fine,
> though. I would prefer not to go through deleting the wc and checking
> out a new one, as there are changes in these working copies that need to
> be preserved.
>
> Any ideas?

Yep, that's pretty much it.  The directory it's trying to update to 
disappeared, so now it's a little confused.  No worries though, use the 'svn 
switch --relocate' command to move it to your new URL.  This will update you 
WC with the new URL, and you'll be ready to go.

-John


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org