ClearCase是Rational公司出品的一款强大的配置管理工具,它与VSS、CVS等类似,但提供了更高级的版本控制功能。在ClearCase中,核心概念包括:
1. **Versioned Object Base (VOB)**: VOB是ClearCase的核心组成部分,类似于一个版本化的存储库,包含了所有的文件、版本、分支和标签。所有开发者通过各自的视图(View)访问这个VOB,可以根据需要定制自己的视图,查看特定版本的代码。
2. **View**: 视图是用户与VOB交互的个人工作区域,每个开发者有自己的视图,配置spec(配置规格说明书)定义了从VOB检出哪些元素以及查看的具体版本。每个视图还有私有存储空间,用于存放用户创建的临时文件。
3. **Derived Object (DO)**: DO指的是编译过程中的中间产物,如*.o和*.a文件。如果使用make构建,这些文件通常不算DO,只有clearmake产生的文件才被视为DO,因为它们能够跨视图共享,节省空间。
4. **Cleartool**: ClearCase的主要操作工具,支持交互式和命令行使用。比如`cleartool ls`列出元素,`cleartool man`或`cleartool help`查询命令帮助。要确保PATH环境变量包含`/usr/atria/bin`路径以便于使用。
5. **工作流程调整**: 使用ClearCase后,主要变化在于工作目录,通常在`/view/username/home/vobs/cc_custcare`。开发流程包括检出(checkout)、编辑、单元测试、提交(check in)和集成。clearmake被推荐用于构建,可以更好地管理DO并促进团队协作。
6. **命令帮助和工作流程指南**: 清晰地提供命令的帮助信息,如`cleartool man <command>`,并强调在切换视图和提交前确保无冲突,且要在对应的视图(如custcare)进行编译集成。
7. **版本管理与历史记录**: 在ClearCase中,每次元素检出和检入都会创建一个新的版本,版本号会递增。查看历史记录和版本树是通过`lshistory`和`lsvtree`命令实现的。
8. **目录与文件操作**: 创建新目录和文件分别使用`mkdir`和`mkelem`命令。对于不再需要的文件,可以使用`unco –keep`保留修改,或`unco -rm`删除并恢复旧版本。
9. **权限和限制**: 在ClearCase中操作时,必须确保在自己的视图下进行,因为目录也被纳入版本管理,需要先检出当前目录才能创建子目录或文件。
通过这些关键知识点,开发人员可以更有效地理解和操作ClearCase,实现代码版本的管理和协作。