1

我们的项目中有 2 个开发流和一个集成流。

以下是流

      ProjName-Int-Stream
      Bangalore-Dev-Team
      Madurai-Dev-Team

Bangalore-Dev-Team 成员删除了一个文件夹并创建了一个同名的新文件夹(取消了该文件夹的目录并创建了相同的文件夹)。然后他向其中添加了更多文件并将其交付给集成流。

Madurai 团队成员正在同一个文件夹中工作,但不知道班加罗尔成员已将其删除。现在,当他即将交付更改时,他的活动未列出。

有没有人遇到过这种情况?如果是这样,您采取了哪些补救措施,您是如何防止这种情况发生的?

4

1 回答 1

1

是的,它们被称为邪恶双胞胎(参见此处的示例:创建了两个元素 - 这里是一个目录,即“添加到源代码控制”两次,这意味着它们具有不同的 oid。

如果该目录的历史不太重要,最简单的前进方式是让Madurai团队:

  • 先变基
  • 接受Bangalore变基期间的目录版本(他自己的文件将消失)
  • 在新创建的文件上重做工作Bangalore
  • 递送

另一个(更清洁的)选项是Bengalore

  • D使用其原始内容恢复已删除的目录“ ”。你这样做的方式是:
    • 显示“D”的目录的版本树
    • 在该版本树中查找仍然引用“D”compare with another version的先前版本(在该父目录的当前最新版本和版本树中的先前版本之间执行一些“”)
    • 右键单击以前的版本(仍然引用“D”并选择“ merge to”的版本,单击当前版本(它会要求您检查它)
    • 选择一个图形合并,然后,在合并窗口中,选择正确版本的“D”(即来自旧版本的那个,而不是重新创建的那个)
    • 签入父目录

If Bangalore did his modifications in a single activity, he could also reverse that activity, which is simpler to do. - do the modifications in the (now present again) directory "D" - deliver again - then Madurai rebases, and delivers too

于 2012-03-21T06:31:06.710 回答