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

Reply via email to