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
在该示例中,ccm fs_check 命令从归档抽取的源与相同对象版本的高速缓存文件不匹配。此外,文件大小也不同。对象版本的所有者必须比较这些源以确定哪个版本正确。
> del database_path/st_root/cache/source/#28/149628
> ccm cat filename.h-23:incl:DCM#1 > nul
如果高速缓存文件正确,请向文本文件中添加受影响对象的四部分名称。然后,运行 ccm archive_fix 命令以使用高速缓存文件重新创建归档。
请参阅归档转换常见问题及解答 - fs_check 命令以获取有关运行 ccm archive_fix 命令的指示信息。如果您需要帮助,请联系 IBM® Rational 支持人员并提供 ccm fs_check 日志输出。
归档缺失或损坏。如果高速缓存文件正确,请向文本文件中添加受影响对象的四部分名称。然后,运行 ccm archive_fix 命令以使用高速缓存文件重新创建归档。
请参阅归档转换常见问题及解答 - fs_check 命令以获取有关运行 ccm archive_fix 命令的指示信息。
对象在数据库元数据中缺少源属性。重新创建源属性可能会解决此问题。但是,可能需要更多步骤才能完全修复损坏。
必须使用受影响对象的相应类型创建源属性。例如,如果针对项目类型的对象 (myproject-2:project:1) 报告了此问题,请运行此命令以创建缺少的源属性:
% ccm attr -create source -t project myproject-2:project:1
对于目录类型的对象,缺少的源属性将为:
% ccm attr -create source -t dir mydir-2:dir:1
project 或 dir 类型对象的高速缓存文件的长度始终为零。 创建缺少的源属性以修复此损坏。确保高速缓存文件长度为零,然后运行 ccm archive_fix 命令以重新创建归档。
请参阅归档转换常见问题及解答 - fs_check 命令以获取有关运行 ccm archive_fix 命令的指示信息。
但是,修复此损坏并不总是如此简单。对于 ascii 类型对象,源属性包含对象版本的实际源。对于二进制对象,源属性包含指向高速缓存的路径。如果您有任何疑问,请联系 IBM Rational 支持人员。
对象版本非静态,这意味着它没有检入。 因此,没有归档。
如果您在工作区中有对象版本源的副本,那么以 ccm_root 身份创建高速缓存文件。
% touch database_path/st_root/cache/source/#56/123456
然后,将源从工作区文件复制到高速缓存文件。但是,如果您没有工作区副本,那么必须使用 % touch database_path/st_root/cache/source/#56/123456 创建空高速缓存文件。 然后,删除对象版本,或将该对象的不同版本的源复制到高速缓存中。
确保与所修改对象版本关联的任何任务仍准确。如果替换高速缓存中对象版本的源,那么必须修改该任务或取消该任务与对象版本的关联。这样做可确保任务在对象版本代码中包含工作的准确描述。
name-version:type:instance 的内部归档信息必须正好为三行:归档程序、标识和路径。归档已损坏。 您必须运行 ccm archive_fix 命令重新创建可用的高速缓存文件。
请参阅归档转换常见问题及解答 - fs_check 命令以获取有关运行 ccm archive_fix 命令的指示信息。
系统不能确定 name-version:type:instance 的归档文件路径。 源属性已损坏。尝试手动设置该属性。 在运行 ccm archive_fix 命令对其验证之前,获取高速缓存文件的路径。以下是高速缓存文件路径的格式:
database_path/st_root/cache/source/#last 2 digits of cvid/cvid
对于当前数据库中的每个对象版本,都必须有唯一的 cvid:
% 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
对所有其他对象版本重复此过程。确保您使用其唯一标识。 然后,重新运行 ccm archive_fix 命令以确保已修复所有错误。如果需要帮助,请联系 IBM Rational 支持人员。