2

One of my collegue check-in an exe in multiple places. Whenever we may need to check-in at multiple places, we normally would check-in that in one common place and then create symlink in all the other places.

But he is unaware of that practice and did it. He did that in his stream and delivered that to integration stream.

If we ask him to delete the file and replace it with symlink (then deliver it again to integration stream, will it lead to evil twins?

When evil twins will be created? In UCM if we create some file, is it not safe to delete at all (assume we did not apply baseline ,we just create and delivered) ?

4

1 回答 1

5

它们是在您为两个不同的分支在同一目录中添加同名文件时创建的。
这不是 UCM 特定的,但它会使合并(或在 UCM 中,交付或变基)更难,因为它将在“目录合并”步骤停止合并,要求您在合并中的两个文件(名称相同)之间进行选择目录。

将文件“添加到源代码管理两次”的问题在于,它会生成两个不同的对象 ID,因此会产生两个不同的历史记录:您将无法合并文件本身,您只能删除一个并保留其他。

有关更多信息,请参阅:

我的同事已经交付了一个文件,如果他在他的流中删除了该文件并将其替换为符号链接并再次交付。它会导致邪恶的双胞胎吗?

符号链接是恢复正确文件的一个很好的解决方案(如 参考资料中所述cleartool ln),但我通常通过合并操作来执行符号链接。
您可以随时:

  • 签出你的邪恶孪生文件的父目录
  • 删除它(rmname)
  • 从父目录的源版本(包含正确的文件)合并到同一父目录的当前签出版本(选择手动合并)
  • 通过将正确的文件添加到父目录的目标版本来解决合并
  • 签入父目录

然后您可以再次交付,知道只有具有正确 oid 的正确文件才会被传播。

它会导致邪恶的双胞胎吗?

只有在前一次交付的合并解决过程中选择了错误的文件时,才会再次导致邪恶双胞胎。
如果保留了正确的文件,并且按照上述过程恢复了正确的文件,则下一次交付将正常进行。

于 2012-11-08T06:22:42.090 回答