Dirk schrieb:
Ref the branch handler... ideally, when (say) BAAAAAAA is branched at
revision 3 to create GAAAAAAA, the internal state tracking GAAAAAAA's
parent paths would inherit BAAAAAAA's up to revision 3. Then if
GAAAAAAA is shared elsewhere and then branched or pinned to revision
1 or 2, it knows where to get this...
Should be fixed in [298]. The code will query the ancestor for a valid
path and the copy from that one.
I have just tested this and was wondering, why the "copy-from" will hide
all changes in between the copy-from revision and the pin revision.
E.g.: my test code is like this (in vss pseudo syntax)
ss create branchPinTest.txt --> version 1
ss commit branchPinTest.txt --> version 2
ss commit branchPinTest.txt --> version 3
ss branch branchPinTest.txt subproject/branchPinTest.txt
ss commit subproject/branchPinTest.txt --> version 4
ss commit subproject/branchPinTest.txt --> version 5
ss pin subproject/branchPinTest.txt -v1 --> pin to version 1
The subversion action list is (also abbreviated for clarity)
ADD /
ADD /branchPinTest/
ADD /branchPinTest/branchPinTest.txt
COMMIT /branchPinTest/branchPinTest.txt
COMMIT /branchPinTest/branchPinTest.txt
ADD /branchPinTest/shareProject/
SHARE /branchPinTest/shareProject/branchPinTest.txt
BRANCH /branchPinTest/shareProject/branchPinTest.txt
COMMIT /branchPinTest/shareProject/branchPinTest.txt
COMMIT /branchPinTest/shareProject/branchPinTest.txt
PIN /branchPinTest/shareProject/branchPinTest.txt
/branchPinTest/branchPinTest.txt (version 1)
now if I show the log of the "subproject/branchPinTest.txt" file:
F:\src\vss2svn\svn>svn log
file:///F:/svn/test10/branchPinTest/shareProject/branchPinTest.txt
------------------------------------------------------------------------
r8 | Admin | 2007-02-09 22:24:54 +0100 (Fr, 09 Feb 2007) | 1 line
------------------------------------------------------------------------
r2 | Admin | 2007-02-09 22:24:41 +0100 (Fr, 09 Feb 2007) | 1 line
------------------------------------------------------------------------
You see, that all intermediate action in version 3 - 7, alias all the
commits are not listed in the log. I you show the log from version 7
F:\src\vss2svn\svn>svn log -r7:1
file:///F:/svn/test10/branchPinTest/shareProject/branchPinTest.txt
------------------------------------------------------------------------
r7 | Admin | 2007-02-09 22:24:53 +0100 (Fr, 09 Feb 2007) | 1 line
------------------------------------------------------------------------
r6 | Admin | 2007-02-09 22:24:53 +0100 (Fr, 09 Feb 2007) | 1 line
------------------------------------------------------------------------
r5 | Admin | 2007-02-09 22:24:50 +0100 (Fr, 09 Feb 2007) | 1 line
------------------------------------------------------------------------
r4 | Admin | 2007-02-09 22:24:48 +0100 (Fr, 09 Feb 2007) | 1 line
------------------------------------------------------------------------
r3 | Admin | 2007-02-09 22:24:48 +0100 (Fr, 09 Feb 2007) | 1 line
------------------------------------------------------------------------
r2 | Admin | 2007-02-09 22:24:41 +0100 (Fr, 09 Feb 2007) | 1 line
------------------------------------------------------------------------
where rev 3, 4, 6 and 7 are the four commits on the file.
So the PIN, as it is implemented now, will hide all intermediate actions
and for the user this looks like a roll-back to an old version.
While thinking of it, it is exactly what it should be. But quite
confusing if you come from VSS ;-)
Dirk
_______________________________________________
vss2svn-users mailing list
Project homepage:
http://www.pumacode.org/projects/vss2svn/
Subscribe/Unsubscribe/Admin:
http://lists.pumacode.org/mailman/listinfo/vss2svn-users-lists.pumacode.org
Mailing list web interface (with searchable archives):
http://dir.gmane.org/gmane.comp.version-control.subversion.vss2svn.user