我对版本控制系统的唯一体验是明确的,虽然它的目的很好,但现在我想转向免费工具。我已经阅读并试验过Git& SVN肯定会看到基于提交的方法的优势,而不是clearcase使用的基于文件的方法。
但是,如果其他工具中没有相应的内容,我会错过Clearcase的某些部分。 Clearcase可以区分用户编写的文件和用户编写的程序创建的文件。用户编写的文件将是'文件元素版本'程序生成的文件将是“派生对象版本”。此外,“衍生对象版本”的依赖关系是可以使用clearcase cleartool catcr
命令来确定。
我的问题是:在git中是否存在这些文件类型的等价物,是否有等效的cleartool catcr
命令?我同意这并不是版本控制系统的严格组成部分,但如果我转移到GIT,它仍然是我想要复制的东西。
答案 0 :(得分:1)
cleartool catcr
是使用附加到派生对象(CRs
文件)的元数据(配置记录或.o
),它们由clearmake
生成。
这用于大量的C文件,以加快编译速度并避免重建所有内容。
SVN和Git更专注于版本控制部分,并没有提供类似的机制 另外,如今,无论如何编译本身都更快(因为内存和CPU和磁盘速度的增加),或者程序是用其他语言开发的,这些语言提供了更好的编译体验(或编写脚本)
答案 1 :(得分:1)
对我来说,使用派生对象最甜蜜的部分是拥有cleartool catcr <flags/options> DO_name
的完整依赖列表,而不是真正有更快的编译过程。
没有clearmake
,最接近实现这一点的可能就是使用gcc -MM
。尽管如此,没有什么比较cleartool catcr
的输出。