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