SERIOUS: Extracted archive and cache files differ for filename.h-23:incl:DCM#1:
Cache file path: database_path/st_root/cache/source/#28/149628
Cache file size: 6228
Extracted file path: database_path/st_root/tmp/check/filename.h_UBAABLII
Extracted file size: 12367
Archive path: archive/source/incl/ccm_rcs/DCM#1/20/filename.h,v
In this example, the source that the ccm fs_check command extracted from the archive does not match the cache file for the same object version. Also, the files are different sizes. The owner of the object version must compare these sources to determine which version is correct.
> del database_path/st_root/cache/source/#28/149628
> ccm cat filename.h-23:incl:DCM#1 > nul
If the cache file is correct, add the 4-part-name of the affected object to a text file. Then, run the ccm archive_fix command to re-create the archive with the cache file.
See Archive conversion FAQs - fs_check command for instructions on running the ccm archive_fix command. If you require assistance, contact IBM® Rational Support and provide the ccm fs_check log output.
The archive is missing or corrupted. If the cache file is correct, add the 4-part-name of the affected object to a text file. Then, run the ccm archive_fix command to re-create the archive with the cache file.
See Archive conversion FAQs - fs_check command for instructions on running the ccm archive_fix command.
The object is missing a source attribute in the database metadata. Re-creating the source attribute might resolve this issue. However, further steps may be required to completely fix the corruption.
The source attributes must be created with the appropriate type for the affected object. For example, if this problem is reported for an object of type project (myproject-2:project:1), run this command to create the missing source attribute:
% ccm attr -create source -t project myproject-2:project:1
For an object of the type directory, the missing source attribute would be:
% ccm attr -create source -t dir mydir-2:dir:1
The cache file for a project or a dir type object is always a zero length file. Create the missing source attribute to repair this corruption. Ensure that the cache file is zero length, and then run the ccm archive_fix command to re-create the archive.
See Archive conversion FAQs - fs_check command for instructions on running the ccm archive_fix command.
However, it is not always that simple to fix this corruption. For ascii type objects, the source attribute contains the actual source of the object version. For binary objects, the source attribute contains the path to the cache. If you have any questions, contact IBM Rational Support.
The object version is non-static, which means that it is not checked-in. Therefore, there is no archive.
If you have a copy of the object version’s source in a work area, then create the cache file as ccm_root.
% touch database_path/st_root/cache/source/#56/123456
Then, copy the source from the work area file to the cache file. However, if you do not have a work area copy, you must create the empty cache file using % touch database_path/st_root/cache/source/#56/123456. Then, delete the object version, or copy the source of a different version of this object into the cache.
Ensure that any task associated with the modified object version is still accurate. If you replace the source of an object version in the cache, the task must be modified or disassociated with the object version. Doing so ensures that the task contains an accurate description of the work within the object version code.
The internal archive information for name-version:type:instance must be exactly three lines: archiver, ID, and path. The archive is corrupted. You must run the ccm archive_fix command to re-create the available cache files.
See Archive conversion FAQs - fs_check command for instructions on running the ccm archive_fix command.
The system cannot determine the archive file path for name-version:type:instance. The source attribute is corrupted. Try to set the attribute manually. Before you run the ccm archive_fix command to verify it, obtain the path to the cache files. Here is the format of the cache file path:
database_path/st_root/cache/source/#last 2 digits of cvid/cvid
You must have a unique cvid for each of these object versions in the current database:
% ccm prop name-version:type:instance –f %cvid
ccm attr –d source name-version:type:instance
ccm attr –c source –t ascii –v “database_path/st_root/cache/source/#last 2 digits of cvid/cvid” name-version:type:instance
Repeat for all other object versions. Ensure that you use their unique IDs. Then, rerun the ccm archive_fix command to ensure that all errors are fixed. If you require assistance, contact IBM Rational Support.