到目前为止,我一直在使用 SVN,现在从开发人员的角度来看,需要快速学习 ClearCase。有没有这方面的好的资源?谢谢。
- 添加在 -
SVN 的概念/术语(即存储库、工作副本、主干、分支、标签、签出、提交、更新、恢复)与 CC 之间是否存在映射?根据初步阅读,我得出以下结论。
存储库 => VOB?
工作副本 => 快照视图?
树干=> ??
分支 => 集成流?发展脉络?
标签 => 标签?基线?
从存储库签出作为工作副本 => 从 VOB 签出作为快照视图?
从工作副本提交到存储库 => 从快照视图签入 VOB?
更新 => 变基?
恢复 => ??
?? => 交付
AFAIK CC 有它自己独特的概念,因此我无法告诉最近的地图。
您可以从阅读我的 SO 答案开始:
- 每个开发人员都应该了解哪些基本的 Clearcase 概念? https://stackoverflow.com/questions/645008/what-are-the-basic-clearcase-concepts-every-developer-should-know/645771#645771
- ClearCase 的优点/缺点 https://stackoverflow.com/questions/1074580/clearcase-advantages-disadvantages/1074785#1074785
- 如何利用 Clearcase 的功能 https://stackoverflow.com/questions/449549/how-to-leverage-clearcases-features/449810#449810
您需要注意的两个主要区别是:
话虽如此,很快:
存储库 => VOB:
是的:VOB 只是 repo(版本化对象库)的另一个术语。它不是 SQL 数据库,而是旧的 Atria 平面文件库。
工作副本 => 快照视图?
快照视图是最接近的准入机制来自工作副本,因为它会复制硬盘驱动器上的文件。
动态视图实现了对工作副本的相同访问...而无需复制硬盘驱动器上的任何内容,这对于快速咨询目的很有趣。
树干=> ??
"main
”:这是 ClearCase 中的主分支(ClearCase 中的每个元素——文件或目录——在“main”上至少有一个版本),但实际上除了您选择作为主干的一个分支之外,没有主干。
分支 => 集成流?发展脉络?
流不是分支。它是一个元数据,其中包含您需要工作的标签(基线)列表。也就是说,仅当您选择使用 UCM 时。否则,分支是您可以在没有 UCM 的情况下创建的任何分支(mkbranch myBranch
).
流可以用作创建以其流命名的分支的模式:您在 UCM 视图(在流之后自动配置的视图)中进行的任何签出都将创建以其流命名的分支。
标签 => 标签?基线?
首先,标签不是像 UCM 那样具有廉价副本的目录。
它是一个标签,适用于您需要引用的任何版本。
标签(非 UCM)和基线(UCM)之间的区别在于,基线是应用于all(UCM) 组件(文件组)的文件,而标签可以应用于您选择的任何元素,例如仅给定文件组的子集。
从存储库签出作为工作副本 => 从 VOB 签出作为快照视图?
几乎,但快照视图的正确术语是“更新”。
对于动态视图,您甚至不需要更新(或 svn checkout),因为视图是...动态的:您只需立即通过网络看到正确的工作副本。这只是另一种访问机制。
从工作副本提交到存储库 => 从快照视图签入 VOB?
不完全是,因为提交会涉及all修改的文件,而签入将逐个文件进行(尽管 ClearCase 7.1.1 引入了“原子签到” https://publib.boulder.ibm.com/infocenter/cchelp/v7r1m0/topic/com.ibm.rational.clearcase.relnotes.doc/topics/c_cc_relnotes_features.htm#ccfeatures__AtomicCheckinWhenAtomicCheckinOper: see 签入手册页 https://publib.boulder.ibm.com/infocenter/cchelp/v7r1m0/topic/com.ibm.rational.clearcase.cc_ref.doc/topics/ct_checkin.htm).
更新 => 变基?
否:意味着在快照视图中更新(动态视图中没有任何内容,因为它是动态的:在具有类似选择规则的另一个视图中所做的任何更改都将立即在您的视图中可见)
Rebase 是从父流的分支到子流的分支所完成的 UCM 合并。说到底,只是合并而已。
恢复 => ??
不是微不足道的...这是一个减法合并 https://stackoverflow.com/questions/2147055/how-do-i-roll-back-a-file-checked-in-to-clearcase/2149141#2149141.
-
?? => 交付
Deliver 和 Rebase 只是分支“源”和分支“目的地”之间的合并:
唯一的优点是您可以提前“查看”合并工作流程,定义流的层次结构(只不过是标签列表),知道以下之间的任何合并:
- 从子流到父流的分支将是“交付”
- 从父流到子流的分支将是“变基”
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)