Search code examples
clearcasesnapshot-view

Reading the .copyarea.db and .copyarea.dat files in ClearCase snapshot views


A bit of background before I clarify the question. This is more of a personal project for fun. I really love the simplicity and visual appeal of the overlay icons provided by TortoiseSVN on Windows. So, I am trying to do the same for ClearCase snapshot views as well.

All the state information required for my Overlays (say, checked-in, checked-out, hijacked, view-private ) can be determined from the entries in the copyarea.db files. A sample .db file is say :

ClearCase CopyAreaDB|4           // signature and version(?)
my_files                         // folder name                        
2                                // type (2 = folder) ??
1                                // number of files
7:myhdr.h|1|1437bc8fc63|ce07|6d92830e|6de1cc8ecc4e494ea8d7b3f8f758ab09|0  // file info

From What I understand, I should be mostly interested in the above 'file info' entries which contains

1) 7:myhdr.h   // length:filename
2) 1           // type [ 1 = file, 2 = folder]
3) 1437bc8fc63 // epoch timestamp in milliseconds
4) ce07        // file size
5) 6d92830e    // CRC32 (??)
6) 6de1cc8ecc4e494ea8d7b3f8f758ab09  // checksum (?)
7) 0           // status [ 0 = checked-in, 1 = checked-out]

entries 6 and 7 would give me all the information I need to implement the overlay logic, only if I could figure out the checksum method being used (it isn't md5 or SHA1, I've checked) Any help ?


Solution

  • This information doesn't seem to be publicly available, both in:

    Keep in mind that a checksum can include sometime more than just the content of a file, but also its name/size: check if two identical files with different name/paths get the same checksum.