我想问一下在ClearCase中派生对象是什么,它如何工作。此外,我还想问是否有其他具有相同功能的程序,因为在Git、MKS或IBM® Rational Team Concert™中我找不到类似的东西,它已经过时了吗?
这与动态视图有很大关联,而动态视图是ClearCase非常特殊的功能,在其他更现代的版本控制系统中不会找到。请参见“ClearCase构建概念”。开发人员在视图中执行构建,以及与ClearCase相关的所有其他工作。通常,开发人员在单独的私有视图中工作。有时,团队共享一个视图(例如,在软件集成期间)。正如在“开发软件”中所述,每个视图都提供了一个完整的构建软件环境,其中包括特定配置的源版本和一个私有工作区,在此您可以修改源文件,并使用构建工具创建对象模块、可执行文件等。作为构建环境,每个视图部分地与其他视图隔离。在一个视图中构建软件永远不会干扰另一个视图中的工作,即使是同一程序的另一个构建同时进行。但是,在动态视图中工作时,您可以查看并从先前在另一个动态视图中完成的工作中受益。当适用时,新构建共享之前构建创建的文件。这种共享节省了构建新对象所需的时间和磁盘空间,这些新对象会重复现有的对象。您可以(但不需要)确定目录中已经发生过的其他构建,跨所有动态视图。ClearCase包括用于列出和比较过去构建的工具。这种方案的关键在于项目团队的VOB构成了由构建创建的文件的全局可访问存储库,就像它们为进入构建的源文件提供存储库一样。由软件构建产生的文件是派生对象(DO)。与每个派生对象相关联的是配置记录(CR),在随后的构建中,clearmake或omake使用该记录来确定是否可以重用或共享DO。 一个派生对象(DO)是在使用clearmake或omake进行构建或构建审核期间在VOB中创建的文件。每个DO都有一个关联的配置记录(CR),它是DO的材料清单。CR记录了构建环境的方面,DO的组装过程以及创建DO所涉及的所有文件。构建工具尝试避免重建派生对象。如果视图中存在适当的DO,则clearmake或omake将重用该DO。如果视图中没有适当的DO,则clearmake或omake会查找在另一个视图中构建的现有DO,然后将其链接到当前视图中。这个搜索过程称为shopping。这对于非常大的基于C或C ++ makefile的项目很重要。
我认为这段话的简短版本是:派生对象包含描述以下信息:- 用于构建该对象的访问内容,包括可能不在您的构建文件中的依赖项。 - 在构建过程中创建的其他文件(“同级派生对象”)。 - 用于构建对象的命令(“构建脚本”),假设使用了 clearmake、omake 或 ANT 监听器来运行构建。对于 clearmake 和 omake,此信息用于避免重新构建,从而可能加快构建速度。查找称为 DO “shopping”,构建避免称为“winkin”。如果您有监管或安全合规性需求,在此级别的审计至关重要时,确实没有其他任何东西可以做到这一点。