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_at_2
file:///$HOME/REP/D2_at_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_at_2 file:///$HOME/REP/D2_at_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
Received on Thu Aug 16 10:32:14 2007