You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by al...@exasol.com on 2007/08/16 16:44:42 UTC

I can checkout a version, that should not exist !!! BUG or Feature ???

Hello all,

here is a little scenario where at the end i can checkout a version that
should not exist.
I proofed the scenaria on linux 32bit and macos, with bdb and with fsfs
repository,
svn version 1.3.2 and 1.4.4

here ist what i do.

macbookpro-ag:~ gun$ svn --version
svn, version 1.4.4 (r25188)
   compiled Jul  4 2007, 10:36:17

Copyright (C) 2000-2006 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet
(http://www.Collab.Net/).

The following repository access (RA) modules are available:

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


macbookpro-ag:~ gun$ svnadmin create --fs-type bdb REP
macbookpro-ag:~ gun$ svn co file:///$HOME/REP WC
Checked out revision 0.
macbookpro-ag:~ gun$ cd WC
macbookpro-ag:~/WC gun$ svn mkdir D1
A         D1
macbookpro-ag:~/WC gun$ svn ci -m "add first directory D1"
Adding         D1

Committed revision 1.
macbookpro-ag:~/WC gun$ svn cp D1 D2
A         D2
macbookpro-ag:~/WC gun$ svn ci -m "make a copy of D1 to D2"
Adding         D2

Committed revision 2.
macbookpro-ag:~/WC gun$ cd D2
macbookpro-ag:~/WC/D2 gun$ svn mkdir d22
A         d22
macbookpro-ag:~/WC/D2 gun$ cd d22
macbookpro-ag:~/WC/D2/d22 gun$ echo "test" > test22
macbookpro-ag:~/WC/D2/d22 gun$ svn add test22
A         test22
macbookpro-ag:~/WC/D2/d22 gun$ cd ..
macbookpro-ag:~/WC/D2 gun$ svn ci -m "put a directory and a file to
branch D2"
Adding         D2/d22
Adding         D2/d22/test22
Transmitting file data .
Committed revision 3.
macbookpro-ag:~/WC/D2 gun$ cd
.....                                                   
macbookpro-ag:~/WC gun$ cd D1
macbookpro-ag:~/WC/D1 gun$ svn up
At revision 3.
macbookpro-ag:~/WC/D1 gun$ svn merge file:///$HOME/REP/D2@2
file:///$HOME/REP/D2@3 .
A    d22
A    d22/test22
macbookpro-ag:~/WC/D1 gun$ svn ci -m "merge changes from rev 2,3 from D2
to D1"
Adding         D1/d22
Adding         D1/d22/test22

Committed revision 4.
macbookpro-ag:~/WC/D1 gun$ cd ../..
macbookpro-ag:~ gun$ svn co file:///$HOME/REP/D1 D1-1
A    D1-1/d22
A    D1-1/d22/test22
Checked out revision 4.
macbookpro-ag:~ gun$ cd D1-1
macbookpro-ag:~/D1-1 gun$ svn info
Path: .
URL: file:///Users/gun/REP/D1
Repository Root: file:///Users/gun/REP
Repository UUID: 7ef5691e-f5b1-46c9-8287-2be870653fbd
Revision: 4
Node Kind: directory
Schedule: normal
Last Changed Author: gun
Last Changed Rev: 4
Last Changed Date: 2007-08-16 09:04:33 +0200 (Thu, 16 Aug 2007)

macbookpro-ag:~/D1-1 gun$ cd d22
macbookpro-ag:~/D1-1/d22 gun$ svn info
Path: .
URL: file:///Users/gun/REP/D1/d22
Repository Root: file:///Users/gun/REP
Repository UUID: 7ef5691e-f5b1-46c9-8287-2be870653fbd
Revision: 4
Node Kind: directory
Schedule: normal
Last Changed Author: gun
Last Changed Rev: 4
Last Changed Date: 2007-08-16 09:04:33 +0200 (Thu, 16 Aug 2007)

macbookpro-ag:~/D1-1/d22 gun$

macbookpro-ag:~/D1-1/d22 gun$ cd ../..
macbookpro-ag:~ gun$ svn co -r 3 file:///$HOME/REP/D1 D1-2
Checked out revision 3.
macbookpro-ag:~ gun$ cd D1-2
macbookpro-ag:~/D1-2 gun$ svn info
Path: .
URL: file:///Users/gun/REP/D1
Repository Root: file:///Users/gun/REP
Repository UUID: 7ef5691e-f5b1-46c9-8287-2be870653fbd
Revision: 3
Node Kind: directory
Schedule: normal
Last Changed Author: gun
Last Changed Rev: 1
Last Changed Date: 2007-08-16 08:53:31 +0200 (Thu, 16 Aug 2007)

macbookpro-ag:~/D1-2 gun$ ls -al
total 0
drwxr-xr-x    3 gun  gun   102 Aug 16 09:17 .
drwxr-xr-x   76 gun  gun  2584 Aug 16 09:17 ..
drwxr-xr-x    8 gun  gun   272 Aug 16 09:17 .svn
macbookpro-ag:~/D1-2 gun$
macbookpro-ag:~/D1-2 gun$ cd ..
macbookpro-ag:~ gun$ svn co -r 3 file:///$HOME/REP/D1/d22 D1-3
A    D1-3/test22
Checked out revision 3.
macbookpro-ag:~ gun$ cd D1-3
macbookpro-ag:~/D1-3 gun$ svn info
Path: .
URL: file:///Users/gun/REP/D2/d22
Repository Root: file:///Users/gun/REP
Repository UUID: 7ef5691e-f5b1-46c9-8287-2be870653fbd
Revision: 3
Node Kind: directory
Schedule: normal
Last Changed Author: gun
Last Changed Rev: 3
Last Changed Date: 2007-08-16 08:55:02 +0200 (Thu, 16 Aug 2007)

macbookpro-ag:~/D1-3 gun$


What the Hell is this ???

I can checkout files, which should not exist in this branch in this
revision.
The path i got seems to be redirected to the files in the directory from
their previos location in the path D2.
This is the same over http:// interface.

This is not what i expected. I expect a message, that their are no files
in that revision.

Here are the commands for redo the scenario.

#svnadmin create --fs-type bdb REP
svnadmin create REP
svn co file:///$HOME/REP WC
cd WC
svn mkdir D1
svn ci -m "add first directory D1"
svn cp D1 D2
svn ci -m "make a copy of D1 to D2"
cd D2
svn mkdir d22
cd d22
echo "test" > test22
svn add test22
cd ..
svn ci -m "put a directory and a file to branch D2"
cd ..                                                   
cd D1
svn up
svn merge file:///$HOME/REP/D2@2 file:///$HOME/REP/D2@3 .
svn ci -m "merge changes from rev 2,3 from D2 to D1"
cd ../..
svn co file:///$HOME/REP/D1 D1-1
cd D1-1
svn info
cd d22
svn info
cd ../..
svn co -r 3 file:///$HOME/REP/D1 D1-2
cd D1-2
svn info
ls -al
cd ..
svn co -r 3 file:///$HOME/REP/D1/d22 D1-3
cd D1-3
svn info

I hope to here from you soon.

With kind regards

Alexander Gun

-- 
Alexander Gun

Managed Operations

EXASOL AG
Neumeyerstrasse 48 | D-90411 Nürnberg
T +49 911 23991 249
F +49 911 23991 5249
M +49 172 58 66 150
Alexander.Gun@exasol.com 



RE: I can checkout a version, that should not exist !!! BUG or Feature ???

Posted by Frank Leischnig <fr...@vialux.de>.
> -----Original Message-----
> From: Mark Phippard [mailto:markphip@gmail.com] 
> Sent: Thursday, August 16, 2007 7:01 PM
> To: alexander.gun@exasol.com
> Cc: dev@subversion.tigris.org
> Subject: Re: I can checkout a version, that should not exist 
> !!! BUG or Feature ???
> 
> On 8/16/07, alexander.gun@exasol.com <al...@exasol.com> wrote:
> 
> >  here is a little scenario where at the end i can checkout 
> a version 
> > that should not exist.
> >  I proofed the scenaria on linux 32bit and macos, with bdb and with 
> > fsfs repository,  svn version 1.3.2 and 1.4.4
> 
> This is working as expected.  This command:
> 
> svn co -r 3 file:///$HOME/REP/D1/d22
> 
> says "Checkout the path that exists in HEAD at location
> file:///$HOME/REP/D1/d22 as it existed in r3".  Since this 
> path is a copy, it did exist in r3.  So what you checked out 
> was the location it was copied from.
> 
> If you added "@3"to end the of your URL then Subversion would 
> have given an error because the path you were checking out 
> does not exist in r3.


Dear Alexander,

Please have a look to the peg revisions topic in the subversion book, and
revise the assumption.
As Mark writes, what you encounter is the expected behaviour...

http://svnbook.red-bean.com/nightly/en/svn.advanced.pegrevs.html

(BUG or feature? Feature!  ;-) )

HTH & best regards

Frank Leischnig

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

RE: I can checkout a version, that should not exist !!! BUG or Feature ???

Posted by Frank Leischnig <fr...@vialux.de>.
> -----Original Message-----
> From: Mark Phippard [mailto:markphip@gmail.com] 
> Sent: Thursday, August 16, 2007 7:01 PM
> To: alexander.gun@exasol.com
> Cc: dev@subversion.tigris.org
> Subject: Re: I can checkout a version, that should not exist 
> !!! BUG or Feature ???
> 
> On 8/16/07, alexander.gun@exasol.com <al...@exasol.com> wrote:
> 
> >  here is a little scenario where at the end i can checkout 
> a version 
> > that should not exist.
> >  I proofed the scenaria on linux 32bit and macos, with bdb and with 
> > fsfs repository,  svn version 1.3.2 and 1.4.4
> 
> This is working as expected.  This command:
> 
> svn co -r 3 file:///$HOME/REP/D1/d22
> 
> says "Checkout the path that exists in HEAD at location
> file:///$HOME/REP/D1/d22 as it existed in r3".  Since this 
> path is a copy, it did exist in r3.  So what you checked out 
> was the location it was copied from.
> 
> If you added "@3"to end the of your URL then Subversion would 
> have given an error because the path you were checking out 
> does not exist in r3.




Dear Alexander,

Please have a look to the peg revisions topic in the subversion book, and
revise the assumption.
As Mark writes, what you encounter is the expected behaviour...

http://svnbook.red-bean.com/nightly/en/svn.advanced.pegrevs.html

(BUG or feature? Feature!  ;-) )

HTH & best regards

Frank Leischnig

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

Re: I can checkout a version, that should not exist !!! BUG or Feature ???

Posted by Mark Phippard <ma...@gmail.com>.
On 8/16/07, alexander.gun@exasol.com <al...@exasol.com> wrote:

>  here is a little scenario where at the end i can checkout a version that
> should not exist.
>  I proofed the scenaria on linux 32bit and macos, with bdb and with fsfs
> repository,
>  svn version 1.3.2 and 1.4.4

This is working as expected.  This command:

svn co -r 3 file:///$HOME/REP/D1/d22

says "Checkout the path that exists in HEAD at location
file:///$HOME/REP/D1/d22 as it existed in r3".  Since this path is a
copy, it did exist in r3.  So what you checked out was the location it
was copied from.

If you added "@3"to end the of your URL then Subversion would have
given an error because the path you were checking out does not exist
in r3.

-- 
Thanks

Mark Phippard
http://markphip.blogspot.com/

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

Re: I can checkout a version, that should not exist !!! BUG or Feature ???

Posted by Blair Zajac <bl...@orcaware.com>.
Hello Alexander,

This really belongs on the users mailing list, since this list is for the 
development of Subversion.  If there's an issue and consensus from the users 
list that there's a bug, then bump it back here.

BTW, I quickly copied and pasted your recipe, but there's some errors in it, so 
I would fix those before reposting to the users list.

Regard,s
Blair

alexander.gun@exasol.com wrote:
> Hello all,
> 
> here is a little scenario where at the end i can checkout a version that 
> should not exist.
> I proofed the scenaria on linux 32bit and macos, with bdb and with fsfs 
> repository,
> svn version 1.3.2 and 1.4.4
> 
> here ist what i do.
> 
> macbookpro-ag:~ gun$ svn --version
> svn, version 1.4.4 (r25188)
>    compiled Jul  4 2007, 10:36:17
> 
> Copyright (C) 2000-2006 CollabNet.
> Subversion is open source software, see http://subversion.tigris.org/
> This product includes software developed by CollabNet 
> (http://www.Collab.Net/).
> 

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