【发布时间】:2018-01-27 20:33:01
【问题描述】:
我们正在使用 ClearCase,为我们的团队使用单个开发流,没有“锁定”(无保留签出)。
ClearCase 客户端版本:7.1.1 ClearCase 服务器版本:7.0.1.2
我们进行了相同的测试,但没有使用“图形合并”。此选项按预期工作!也许这可以揭示 ClearCase 过去的缺陷或解决方法。
这意味着 2 人或更多人可以一次对同一个文件进行编辑,而无需等待文件被签入。
我们已经看到了一些奇怪的行为案例,并在今天进行了一些实验,以发现以下发生的场景:
- File.txt 由 2 名团队成员签出。
- 每个成员都在文件中进行更改(在文件的其他区域)。
- 第一个开发人员将代码签入到 ClearCase,这里没有问题。
- 第二个开发人员签入,收到合并弹出通知。
选择“图形合并”时,在这种情况下,ClearCase告知所有合并都是自动完成的,并且不需要开发人员的其他输入。
再进一步看,第一次签入已删除(删除),只保留后来签入的更改。
为什么会这样?这导致我们的团队已经多次丢失代码。我们是否在做不安全/错误的事情?
编辑:用问题图片说明问题:
文件 Manager.cs 的版本为 27。 两名开发人员正在检查它。
进行了更改,签入。 另一个签入,获取合并通知。
这是我在图形合并中看到的:
注意左边是27版,中间是28版(最新签入的版本),右边是去掉28版代码更改的结果!
为什么会自动发生这种情况??
图片也可以在这里看到:Image
【问题讨论】:
-
不,权利不会放弃代码更改。右边是 dev2 当前签出的文件,带有 dev2 更改。合并的结果在该屏幕截图的顶部,并且确实删除了 dev2 添加的行。奇怪的是,在 3 路合并中,ClearCase 应该选择保留 base/dev2 版本(不添加新行)而不是源版本(添加 1 个新行)。这是通过带有完整 ClearCase 客户端的经典合并工具,还是通过外部差异/合并工具?还是通过 CCRC 的一些基于 Web 的界面?
-
publib.boulder.ibm.com/infocenter/cchelp/v7r0m1/…:“对于在基本贡献者和另一个贡献者之间发生变化的任何行,Rational ClearCase 通过接受贡献者的变化来执行一个简单的合并”。所以它应该保持 dev1 的变化(版本 28)
-
标准安装,没有自定义合并工具。使用 clearcase explorer 签入和处理合并...这可以配置为策略吗?
-
可以为给定类型定义一个策略:www-304.ibm.com/support/docview.wss?uid=swg21240740 但是对于 txt 文件不应该是这种情况。顺便问一下,您使用的是哪个版本的 ClearCase?
-
我需要检查我的客户端是 7.1.1
标签: version-control clearcase vcs-checkout