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

Re: [TSVN] tsvn 1.2.4 - Error when checking out revision before "Moved remotely"

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: 2005-10-08 10:51:09 CEST

Trevor Hills wrote:

> TortoiseSVN 1.2.4, Build 4479 - 32 Bit Microsoft Windows XP
> Professional Version 2002 Service Pack 1 Can replies be CC'd to me
> please.
>
> I set up a test case by creating a project with the structure:
> /svnroot/test/trunk /branches /tags
>
> I checked out /svnroot/test/trunk/, added a single text file and
> Committed it. I then open the "Repository Browser" in tsvn and
> selected the directory 'test' and renamed it to 'test_rename'. I
> deleted my working copy and checked out /svnroot/test_rename/trunk/.
> I altered the text file and Committed it.
>
> At this point the log output on the server subversion is installed on
> looks like:

[snip]

> I then deleted my working copy again and started a Checkout, I
> selected "Revision", clicked "Show Log", selected revision 310 and
> clicked OK. The revision box contained 310 and I clicked OK again. I
> then get a "SVN Checkout" dialogue with the following error message:
> Action Path Error URL 'http://<host>/svnroot/test_renamed' doesn't
> exist
>
> If I select revision 311 or later the Checkout works. Note that if I
> use 'svn' the Checkout of revision 310 works fine. [user@host
> svn_working_dir]$svn checkout
> http://localhost/svnroot/test_renamed/trunk/ -r 310 A
> trunk/test.txt Checked out revision 310.
>
> I can create screen-shots of any of the dialogues if it would help.

Not really necessary (the sceenshots).

I'd like to explain what happens:
You've entered an URL which doesn't exist in the revision you also
specified for the checkout. That's why you get the error.
Now, you already know that the CL client works. But it only works if you
entered an URL for checkout which exists in HEAD. If you would specify
the *real* url in that earlier revision, the CL would fail, but TSVN
would succeed.

You see:
* the CL client checkout uses HEAD urls. If you want to check out an URL
which doesn't exist in HEAD, you'd have to use
svn co url@310 -r310
to tell it *not* to check HEAD but really the revision you specified.
* TSVN doesn't provide you with a way to specify the revision to look
for the URL but assumes that you simply entered the URL correct. If we
would also use HEAD by default as the CL client, you couldn't check out
an URL which doesn't exist in HEAD anymore.

So to make a long story short:
The behaviour is intended, to avoid having yet another option in the
dialog which most users wouldn't understand anyway.

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.tigris.org
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Sat Oct 8 10:51:30 2005

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

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