You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by ma...@tigris.org on 2004/02/20 20:17:28 UTC

[Issue 1751] svn switch on non-recursive checked-out-wc breaks

Maybe I have found a reproduction recipe:

$ svn --version
svn, version 0.37.0 (r8509)
    compiled Jan 25 2004, 22:51:07

Copyright (C) 2000-2004 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/

The following repository access (RA) modules are available:

* ra_dav : Module for accessing a repository via WebDAV (DeltaV) protocol.
   - handles 'http' schema
   - handles 'https' schema
* ra_local : Module for accessing a repository on local disk.
   - handles 'file' schema
* ra_svn : Module for accessing a repository using the svn network protocol.
   - handles 'svn' schema

$ svnadmin create test

$ svn co file:///g:/repos/test wc1
Checked out revision 0.

$ mkdir wc1\trunk\dir1
$ mkdir wc1\trunk\dir2
$ mkdir wc1\branch
$ time /t  1>wc1\trunk\readme
$ time /t  1>wc1\trunk\dir1\file1
$ date /t  1>wc1\trunk\dir2\file2

$ svn add wc1/trunk
A         wc1\trunk
A         wc1\trunk\dir1
A         wc1\trunk\dir1\file1
A         wc1\trunk\dir2
A         wc1\trunk\dir2\file2
A         wc1\trunk\readme

$ svn add wc1/branch
A         wc1\branch

$ svn ci -m "" wc1
Adding         wc1\branch
Adding         wc1\trunk
Adding         wc1\trunk\dir1
Adding         wc1\trunk\dir1\file1
Adding         wc1\trunk\dir2
Adding         wc1\trunk\dir2\file2
Adding         wc1\trunk\readme
Transmitting file data ...
Committed revision 1.

$ svn co -N file:///g:/repos/test/trunk wc2
A  wc2\readme
Checked out revision 1.

$ svn cp -m "" file:///g:/repos/test/trunk 
file:///g:/repos/test/branch/version1

Committed revision 2.

$ svn up wc1
A  wc1\branch\version1
A  wc1\branch\version1\dir1
A  wc1\branch\version1\dir1\file1
A  wc1\branch\version1\dir2
A  wc1\branch\version1\dir2\file2
A  wc1\branch\version1\readme
Updated to revision 2.

$ time /t  1>wc1/branch/version1/aaa

$ svn add wc1/branch/version1/aaa
A         wc1\branch\version1\aaa

$ svn ci -m "" wc1
Adding         wc1\branch\version1\aaa
Transmitting file data .
Committed revision 3.

$ svn switch -N file:///g:/repos/test/branch/version1 wc2
A  wc2\aaa
Updated to revision 3.

$ svn info wc2
Path: wc2
URL: file:///g:/repos/test/branch/version1
Repository UUID: 11c78db7-53bb-1342-b6a2-cc1656c7f938
Revision: 3
Node Kind: directory
Schedule: normal
Last Changed Author: mk
Last Changed Rev: 3
Last Changed Date: 2004-02-20 21:01:35 +0100 (Fri, 20 Feb 2004)

# looks good for me

$ svn info wc2/readme
Path: wc2\readme
Name: readme
URL: file:///g:/repos/test/trunk/readme
Repository UUID: 11c78db7-53bb-1342-b6a2-cc1656c7f938
Revision: 1
Node Kind: file
Schedule: normal
Last Changed Author: mk
Last Changed Rev: 1
Last Changed Date: 2004-02-20 21:01:31 +0100 (Fri, 20 Feb 2004)
Text Last Updated: 2004-02-20 21:01:32 +0100 (Fri, 20 Feb 2004)
Properties Last Updated: 2004-02-20 21:01:32 +0100 (Fri, 20 Feb 2004)
Checksum: a3c594e1fce2faf94f586f673d755587

# why is this file not switched to the branch??

$ svn info wc2/aaa
Path: wc2\aaa
Name: aaa
URL: file:///g:/repos/test/branch/aaa
Repository UUID: 11c78db7-53bb-1342-b6a2-cc1656c7f938
Revision: 3
Node Kind: file
Schedule: normal
Last Changed Author: mk
Last Changed Rev: 3
Last Changed Date: 2004-02-20 21:01:35 +0100 (Fri, 20 Feb 2004)
Text Last Updated: 2004-02-20 21:01:36 +0100 (Fri, 20 Feb 2004)
Properties Last Updated: 2004-02-20 21:01:36 +0100 (Fri, 20 Feb 2004)
Checksum: a3c594e1fce2faf94f586f673d755587

# note the wrong URL

$ svn switch -N file:///g:/repos/test/branch/version1 wc2  2>&1
svn: File not found: revision '3', path '/branch/aaa'

# files which do not exist cannot be found.



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

Re: [Issue 1751] svn switch on non-recursive checked-out-wc breaks

Posted by Julian Foad <ju...@btopenworld.com>.
Julian Foad wrote:
> makl@tigris.org wrote:
> 
>> Maybe I have found a reproduction recipe:
> 
> That will be very useful.  I made a shell script version (which is 
> attached) of your recipe, and can confirm that this does the same on 
> Linux, too, using the head of trunk Subversion as of a couple of days ago.
> 
> If someone could make it into an automatic regression test in 
> subversion/tests/clients/cmdline/switch_tests.py, that would be even 
> better.

Here's a regression test.  It could be a little more elegant, but it works.

- Julian

Re: [Issue 1751] svn switch on non-recursive checked-out-wc breaks

Posted by Julian Foad <ju...@btopenworld.com>.
makl@tigris.org wrote:
> Maybe I have found a reproduction recipe:

That will be very useful.  I made a shell script version (which is attached) of your recipe, and can confirm that this does the same on Linux, too, using the head of trunk Subversion as of a couple of days ago.

If someone could make it into an automatic regression test in subversion/tests/clients/cmdline/switch_tests.py, that would be even better.

- Julian

Re: [Issue 1751] svn switch on non-recursive checked-out-wc breaks

Posted by Juanma Barranquero <jm...@wke.es>.
On Sat, 21 Feb 2004 17:30:02 +0100
makl@tigris.org wrote:

> Windows 2000 CMD shell.
[snip]
> Trust me. It is a local drive.

FWIW, I've followed your recipe, on the same environment (W2K, SVN
0.37.0) with the exact same results, so it's not a quirk in your
system's setup.

                                                                Juanma



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

Re: [Issue 1751] svn switch on non-recursive checked-out-wc breaks

Posted by ma...@tigris.org.
John Peacock wrote:

> What shell are you using?  You are obviously using some Windows, but it 
> is unlikely you are using the CMD shell (based on the prompt).  Please 
> describe your environment.
Windows 2000 CMD shell. I replaced the prompt in the text, in order to 
make it more readable.

>  I am also struck by the likelyhood that G:\ 
> is a networked hard-drive, which is not supported by BerkeleyDB for 
> repositories.
Trust me. It is a local drive.



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

Re: [Issue 1751] svn switch on non-recursive checked-out-wc breaks

Posted by John Peacock <jp...@rowman.com>.
makl@tigris.org wrote:
> $ svn co file:///g:/repos/test wc1
> Checked out revision 0.
> 
> $ mkdir wc1\trunk\dir1
> $ mkdir wc1\trunk\dir2
> $ mkdir wc1\branch
> $ time /t  1>wc1\trunk\readme
> $ time /t  1>wc1\trunk\dir1\file1
> $ date /t  1>wc1\trunk\dir2\file2
> 

What shell are you using?  You are obviously using some Windows, but it is 
unlikely you are using the CMD shell (based on the prompt).  Please describe 
your environment.  I am also struck by the likelyhood that G:\ is a networked 
hard-drive, which is not supported by BerkeleyDB for repositories.

John

-- 
John Peacock
Director of Information Research and Technology
Rowman & Littlefield Publishing Group
4720 Boston Way
Lanham, MD 20706
301-459-3366 x.5010
fax 301-429-5747

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