几天前,我决定在我当前的项目中采用“供应商分支”以进行 3rd 方库更新,因此我尝试按照以下问题中所述进行类似的过程:
供应商分支,Mercurial Style?
现在我基本上有这种情况:
http://host/hg/vendor
- 包含库的 2.0 版和对 3.0 版的更新http://host/hg/project
- 这是主项目,已经包含了库的 2.0 版本,并进行了一些本地更改(以前是 1.0 版本,并且是手动更新的)。
在供应商回购我:
- 创建了一个名为“vendor-lib”的分支
- 添加添加
lib-2.0
和标记lib-2.0
- 添加(添加删除)
lib-3.0
和标记lib-3.0
在我的项目回购中,我:
- 拉取外部供应商回购
hg pull ../vendor -f
- 默认情况下我做了
hg merge vendor-lib
现在问题来了,所有文件都有冲突。在冲突中,Local 和 Other 是正常文件,但 Base 是空的。所以解决方案是添加其中一个或将文件设置为完全空。我认为发生这种情况是因为拉出的分支vendor-lib
没有任何默认的共同父级。
我不知道是否有办法在两个分支之间设置一个共同的父级,或者只是将 delta 合并lib-2.0
为lib-3.0
默认值。
我真的很感谢你的帮助。谢谢你。