什么时候会创建clearcase“邪恶双胞胎”以及如何避免它?

Sam*_*abu 2 clearcase clearcase-ucm

我的一位同事在多个地方签入了一个 exe。每当我们可能需要在多个地方签入时,我们通常会在一个公共地方签入,然后在所有其他地方创建符号链接。

但他不知道这种做法并做到了。他在他的流中这样做并将其交付给集成流。

如果我们让他删除文件并用符号链接替换它(然后再次将其传递到集成流,会导致邪恶双胞胎吗?

什么时候会创造邪恶的双胞胎?在 UCM 中,如果我们创建了一些文件,删除是否不安全(假设我们没有应用基线,我们只是创建和交付)?

Von*_*onC 5

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

“两次添加到源代码控制”文件的问题是会生成两个不同的对象 id,因此有两个不同的历史:您将无法合并文件本身,您只能删除一个并保留其他。

有关更多信息,请参阅:

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

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

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

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

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

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