背景:
起初有一个文件base.c,该文件在只有一个分支的存储库中Base。
Base被分支为Extended-branch。然后这个新分支对base.c.
如果在文件base.c中修复了错误Base,它们将被合并到Extended.
base.c事实证明,在分支中添加太多东西Extended不是一个好主意,所以文件被复制到ext.c. 然后从 中删除了大部分Extended添加内容base.c,并Base从 中删除了功能ext.c。所以此时base.cinExtended与 in 非常相似Base。
问题:
当文件被拆分时,Mercurial 被告知这ext.c是 的副本base.c,因为它们共享一个共同的历史记录。不幸的是,这不是一个好主意。
现在,如果在Base分支上修复了错误并合并到Extended,Mercurial 认为这些更改应该同时应用于base.c和ext.c,即使后者不再与前者有任何相似之处。这使得合并非常烦人。
有没有办法告诉 Mercurialext.c不再被视为相同base.c?一种解决方案是ext.c用新文件替换,但历史不会跟随。