Justin Love schrieb:

Intersting problem and an intersting patch. I currently can not fully understand, how this can happen, but the idea is not bad. I have to investigate this a little further. Can ouy send me the output of ssphys of one of these problematic files? I'm wondering how the ADD record is missing.

'ssphys info'? Attached. V1 of this file is also inaccessible in Sourcesafe.
Looking into the XML file you can see a strange "offset" jump within the first records:
1.) ItemInfo offset ="52"
2.) Checkout offset =  "416"
3.) ParentFolder offset = "1092"
4.) Version offset = "42704"      <===

All data in the physical files is recorded in blocks of specific records. Each block has a header with the size of the block, an identifier for the block type and a checksum. ssphys will read record by record depending on the size of each record. There are two types of problems:

1.) The recorded size in the header is wrong: ssphys will read to many bytes and needs to resync until it finds a valid record header again 2.) The records are "broken" and will contain an undecodeable block type or the checksum is broken.

Without checking, I expected that you had seen an error message in this case.

Another possibility would be, that the file was broken and that analyze fixed the files in a way, that it "removed" the problematic records by introducing a large empty block. In order to analyze this, I need to have the physical file itself.

Since we are now missing version 1, which is the add record, ssphys will go crazy. Your patch is the best solution for this problem.



Do you know, whether the missing files where part of the conversion?
You can check that by calling "ss.exe physical $path/to/file" and then check for the physical name within your vss2svn logs. Is there probably only a missing recover somewhere along the lines?

Physical file names from both cases appear in the logs, with no obvious errors. The project with missing files is old enough that I'm satisfied with the latest version, so I didn't investigate. With a brief look, it appears that the affected files were added but never changed.

This is still strange. Esp. in case that he files where never changed, if they where added, but not deleted, they must be part of the converted archive. Have you checked, whether they come out in the orphaned cache?

_______________________________________________
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