Missing VSS ADD records

Dirk vss2svn at nogga.de
Mon Aug 6 17:40:06 EDT 2007


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?



More information about the vss2svn-users mailing list