Dirk wrote:

Things are looking good. I can see three major problems when comparing the result with the VSS tree:

1. Some folders has not been moved out of the orphaned folder into their correct locations. Example: $ grep ~micke/hdf1/tmp/_vss2svn/datachache.PhysicalAction.tmp.txt -Ere "(APNAAAAA.*D/)" | sort +7 -n 55445 APNAAAAA 1 \N ADD D/ 1 966346625 U1 0 \N 1 AAAAANPA 0 \N D Module\ 83542 APNAAAAA \N XONAAAAA MOVE_FROM D/ 1 1020887790 Admin 0 \N 5 AAAAANPA 1 \N \N

"missing" MOVE ?


Moves are recorded in the source project and the target project. If one of the projects was destroyed we miss this information. I need to check whether we can do something about this.

I'm pretty sure that APNAAAAA is the root of a Restored tree (into XONAAAAA). XONAAAAA has in turn been Archived and Restored into the current VSS database.

2. Some files (3 of them) are of the wrong revision in svn. Example:
$ grep ~micke/hdf1/tmp/_vss2svn/datachache.PhysicalAction.tmp.txt -Ere "(ULAAAAAA)" | sort +7 -n 11862 ULAAAAAA \N NLAAAAAA ADD aIM.h 21015594151 U1 0 \N 1 AAAAAALU 1 \N \N 30277 ULAAAAAA 1 \N ADD aIM.h 2 1015594151 U1 0 \N 1 AAAAAALU 0 \N \N 76871 ULAAAAAA \N BTEAAAAA SHARE aIM.h 21035546575 U2 0 \N 2 AAAAAALU 1 \N \N 30278 ULAAAAAA 2 \N COMMIT \N 2 1035547012 U2 0 \N 5 AAAAAALU 0 \N Changes to aIM 30279 ULAAAAAA 3 \N COMMIT \N 2 1042730307 U2 0 \N 5 AAAAAALU 0 \N Split name check function into two (one user/group and one machine)

$ grep ~micke/hdf1/tmp/_vss2svn/datachache.VssAction.tmp.txt -Ere "(ULAAAAAA)" 16708 NLAAAAAA ULAAAAAA 1 ADD /O/A/a/aIM.h 2 0 \N 32301 BTEAAAAA ULAAAAAA 1 SHARE /O/C/a/aIM.h 2 0 /O/A/a/aIM.h 32371 \N ULAAAAAA 2 COMMIT /O/A/a/aIM.h\ /O/C/a/aIM.h 2 0 \N 36717 \N ULAAAAAA 3 COMMIT /O/C/a/aIM.h 2 0 \N

For some reason, the second COMMIT no longer updates both locations.


Between revision 32371 and 36717 is there any major modification to the directory /O/A/A? For example a delete, rename, addition or something like that?

You were right:
30278 ULAAAAAA 2 \N COMMIT \N 2 1035547012 U2 0 \N 5 AAAAAALU 0 \N Changes to aIM 88061 NLAAAAAA \N JAAAAAAA DELETE a/ 11035547551 U2 0 \N 5 AAAAAALN 1 \N \N 30279 ULAAAAAA 3 \N COMMIT \N 2 1042730307 U2 0 \N 5 AAAAAALU 0 \N Split name check function into two (one user/group and one machine) 88073 NLAAAAAA \N JAAAAAAA RECOVER a/ 11051268572 U1 0 \N 5 AAAAAALN 1 \N \N 56709 BTEAAAAA \N ATEAAAAA DELETE a/ 11051707537 U1 0 \N 5 AAAAAETB 1 \N \N

Delete f1/Restore f1/Delete f2. Might explain something...

3. In one folder containing word documents, all files lost their binary bit: $ grep ~micke/hdf1/tmp/_vss2svn/datachache.PhysicalAction.tmp.txt -Ere "(IGBAAAAA|FPEAAAAA)" | sort +7 -n 18054 IGBAAAAA 1 \N ADD OP1.doc 2 1018015283 U2 1 \N 1 AAAAABGI 0 \N Create 90842 IGBAAAAA \N HGBAAAAA ADD OP1.doc 2 1018015283 U2 0 \N 1 AAAAABGI 1 \N \N 18055 IGBAAAAA 2 \N COMMIT \N 2 1018028866 U2 1 \N 5 AAAAABGI 0 \N Temp. checkin 18056 IGBAAAAA 3 \N COMMIT \N 2 1018880855 U2 1 \N 5 AAAAABGI 0 \N Temp. checkin 18057 IGBAAAAA 4 \N COMMIT \N 2 1018895581 U2 1 \N 5 AAAAABGI 0 \N temp 18058 IGBAAAAA 5 \N COMMIT \N 2 1018905700 U1 1 \N 5 AAAAABGI 0 \N \N 18059 IGBAAAAA 6 \N COMMIT \N 2 1018955230 U1 1 \N 5 AAAAABGI 0 \N \N 90858 IGBAAAAA \N HGBAAAAA RENAME OP1.doc 2 1018957922 U2 0 OP2.doc 5 AAAAABGI 1 \N \N 18060 IGBAAAAA 7 \N COMMIT \N 2 1018964688 U2 1 \N 5 AAAAABGI 0 \N \N 18061 IGBAAAAA 8 \N COMMIT \N 2 1019149266 U2 1 \N 5 AAAAABGI 0 \N \N 18062 IGBAAAAA 9 \N COMMIT \N 2 1019237770 U2 1 \N 5 AAAAABGI 0 \N \N 18063 IGBAAAAA 10 \N COMMIT \N 2 1019574955 U2 1 \N 5 AAAAABGI 0 \N More written 18064 IGBAAAAA 11 \N COMMIT \N 2 1019819568 U2 1 \N 5 AAAAABGI 0 \N Corrections after review 18065 IGBAAAAA 12 \N COMMIT \N 2 1021572525 U2 1 \N 5 AAAAABGI 0 \N Revision number(s) updated. 18066 IGBAAAAA 13 \N COMMIT \N 2 1021997092 U3 1 \N 5 AAAAABGI 0 \N New version of Create 18067 IGBAAAAA 14 \N COMMIT \N 2 1022079389 U2 1 \N 5 AAAAABGI 0 \N Lock workstation replaced 18068 IGBAAAAA 15 \N COMMIT \N 2 1034849056 U1 1 \N 5 AAAAABGI 0 \N V1.2 updates 18069 IGBAAAAA 16 \N COMMIT \N 2 1034851216 U1 1 \N 5 AAAAABGI 0 \N \N 10113 IGBAAAAA \N DPEAAAAA SHARE OP2.doc 2 1034852032 U1 0 \N 2 AAAAABGI 1 \N \N 90889 IGBAAAAA \N HGBAAAAA DELETE OP2.doc 2 1034852622 U1 0 \N 5 AAAAABGI 1 \N \N 36459 FPEAAAAA 15 \N BRANCH OP2.doc 2 1034856372 Admin 1 IGBAAAAA 3 AAAAAEPF 0 \N \N 10114 FPEAAAAA \N DPEAAAAA BRANCH OP2.doc 2 1034856376 Admin 0 IGBAAAAA 3 AAAAAEPF 1 \N \N

All files (such as FPEAAAAA) have lost their binary bit in DPEAAAAA.


Just a dump question? Can you locate those files in the VSS Explorer? Do they have the binary bit set?

All files are marked as binary in VSS. No problem there.

Actually the binary flag is stored with the file item. All those PhysicalActions above, that have an binary flag of "0" are project actions, that do not know about the binary flag of the file item. Since sharing is only a project item action, there is no corresponding child record. So the binary flag is "lost" in the MergeParentData step. We need a separate handling of those actions in order to handle the situation.

How does this issue exhibit itself?

It is very tricky to detect. It shows itself only if the file contains CR CR/LF LF combinations that are "eaten" by subversion and "restored" by the checkout into CR/LF on Windows. Thus most files are "correct" and only some exhibit checksum errors. A future modification of a "correct" file might corrupt that file in the same way.

Regards,
/Micke
_______________________________________________
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