ClearCase自动合并删除团队成员的代码

时间:2011-11-23 11:54:35

标签: version-control clearcase vcs-checkout

我们正在使用ClearCase为我们的团队使用单个Dev流,而没有“锁定”(未预留的结账)。

ClearCase客户端版本:7.1.1 ClearCase服务器版本:7.0.1.2

我们在不使用“图形合并”的情况下执行了相同的测试。此选项按预期工作!也许这可以揭示ClearCase上的过去缺陷或解决方法。

这意味着两个或更多人可以同时对同一个文件进行编辑,而无需等待文件签入。

我们已经看到了一些奇怪行为的案例,并在今天进行了一些实验,以找到发生以下情况:

  1. File.txt由2名团队成员签出。
  2. 每个成员都会对文件进行更改(在文件的其他区域中)。
  3. 第一个开发人员将代码检入ClearCase,这里没有问题。
  4. 第二位开发人员签入,获取合并弹出通知。
  5. 选择“图形合并”时,ClearCase在这种情况下会通知所有合并都是自动完成的,开发人员无需额外输入。

    再往前看,第一次检入已删除(已删除),只保留稍后检查的更改。

    为什么会这样?这导致我们的团队已经多次丢失代码。我们在做一些不安全/错误的事情吗?

    编辑:说明问题图像的问题:

    文件Manager.cs的版本为27。 两位开发人员正在检查它。

    一个人做了改变,签到了。 其他签入,获取合并通知。

    这就是我在图形合并中看到的:

    请注意左边是版本27,中间版本28(最新签入版本),右边是版本28代码更改的结果!

    为什么会自动发生?

    Merge

    图片也可以在这里看到:Image

1 个答案:

答案 0 :(得分:1)

注意:如果您在没有“锁定”的情况下使用ClearCase,则意味着您正在进行无保留的结账(而不是保留结账)。

如果选择“图形合并”,即使没有冲突,您也应该看到Windows帮助您协调合并。

这样的合并不应该删除任何先前的签到:只有在选择了所有新的更改后,才可能取消之前的修改,但如果您打开了图形合并窗口,则可以控制合并已适用。

对于过去有问题的合并,您可以轻松地从版本树重新应用从先前版本的dev1到LATEST版本的合并,以便重新应用这些已取消的更改。


自我4天前的初步回答以来,有2条新信息出现:

  • ClearCase客户端版本:7.1.1 ClearCase服务器版本:7.0.1.2。
    拥有版本比服务器更新的客户端永远不会好。

  • 我们在不使用“图形合并”的情况下执行了相同的测试。此选项按预期工作!
    这与用于合并的GUI和纯命令行之间已经存在的一些差异(如this other scenario中)一致。
    当GUI失败时,请始终尝试使用纯CLI(命令行界面)。