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

Re: file/dir checkout within subversion...+ possible bug

From: Andrew Barber <andrew.barber_at_amd.com>
Date: 2004-08-25 23:18:13 CEST

Ben Collins-Sussman wrote:

>On Wed, 2004-08-25 at 14:35, Andrew Barber wrote:
>> > svn update -r 100 foo.c
>>D foo.c
>>Updated to revision 100.
>>Oops, that file didn't exist for that rev. Ok, makes sense that it
>>should be removed from my WC. So lets go back to the HEAD revision for
>>that file so I can have my file back.
>> > svn update -r HEAD foo.c
>>svn: 'foo.c' is not under version control
>This is fixed in svn 1.1.

>> > svn copy -r HEAD $REPO/trunk/foo.c foo.c
>> > svn status foo.c
>>svn status -v foo.c
>>? foo.c
>Huh? That should absolutely work. In fact, it's the recommended way to
>resurrect a file in svn 1.0.
>Are you *sure* you didn't get an error when you ran the copy command?
>I wonder if you didn't already have an unversioned file named foo.c "in
>the way", in which case 'svn copy' would fail.
I'm a little bothered by the fact that the copy didn't work as intended,
but gave no indication that something was wrong.

>>Oops the file from the copy is still there. If I hadn't done the svn
>>copy I got:
>>svn: Can't copy '.svn/text-base/foo.c.svn-base' to
>>'.svn/tmp/text-base/foo.c.svn-base.tmp': No such file or directory
>>So it seems as though I am wedged. I can't get this file back into my
>>working repository other than starting over with a fresh new checkout.
>>Any thoughts?
>It's impossible to know the state of your working copy after all these
>things you've done. Run 'svn cleanup', then show us the output of 'svn
So how do I know when to run svn cleanup? I don't know at what point
things got out of wack. Do I have to run svn cleanup every time a
command returns an error? I didn't interrupt any of the commands as
they were running, so I am perplexed as to how it got itself into an
inconsistent state.

Here's a another try at the problem:
22:/tmp/foo>svn status

23:/tmp/foo>svn update -r 100 xos_xossim.h
D xos_xossim.h
Updated to revision 100.

24:/tmp/foo>svn copy -r HEAD $FOO_REPO/trunk/xos_xossim.h xos_xossim.h

25:/tmp/foo>svn status
A + xos_xossim.h

26:/tmp/foo>svn update -r 50000 xos_xossim.h
At revision 50000.

27:/tmp/foo>svn status -v xos_xossim.h
A + - 55717 jmlewis1 xos_xossim.h

28:/tmp/foo>svn info xos_xossim.h
Path: xos_xossim.h
Name: xos_xossim.h
URL: file:///u/abarber/SVN_ROOT/tags/test2/xos_xossim.h
Revision: 0
Node Kind: file
Schedule: add
Copied From URL: file:///u/abarber/SVN_ROOT/trunk/xos_xossim.h
Copied From Rev: 56640
Last Changed Author: joe1
Last Changed Rev: 55717
Last Changed Date: 2004-06-02 17:18:43 -0400 (Wed, 02 Jun 2004)
Text Last Updated: 2004-08-25 16:47:11 -0400 (Wed, 25 Aug 2004)
Properties Last Updated: 2004-08-25 16:47:11 -0400 (Wed, 25 Aug 2004)
Checksum: ae3d054de5b556a46e2463e2976cfc97

Now the WC seems to not know from what revision this file came from .
Shouldn't info and status -v return 50000 or 56640? It seems that
doesn't quite restore the file to the previous state. If I edit the
file I found that status didn't return an M status for it, it still said A.

To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Wed Aug 25 23:19:02 2004

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.