情况:我是Mercurial的新手。我最近设置并开始在模型recommended to me中使用存储库(参见下面的Rudi图)。事情进展顺利,但我遇到了第一个实际应用问题。 Mercurial似乎面向前向/混合合并,我想备份。我想通过从供应商分支开始清理我们的默认和稳定分支,重新进行更改并将其作为默认值进行检查。然后将其合并到stable。
V1----V2-------------V3---------V4 Vendor
\ \ \ \
D1----D2---D3--D4-D5-D6-D7-D8---D9 default
\ \ \
S1----------S2---S3 stable
问题:如何从供应商分支开始作为父项,合并默认更改并将它们提交到默认分支?
我认为以下会这样做,但更新会更改工作目录。
hg update -C vendor
hg update default
hg merge
答案 0 :(得分:4)
有两种方法可以解决这个问题。正确的和权宜之计。我先做正确的事:
hg update default
hg --config ui.merge=internal:other merge vendor
将您的父级更新为默认值,将工作目录更新为默认值,然后合并供应商的内容,但使用内部合并工具,始终选择其他选项时,如果存在任何差异,因此,在合并(并提交)之后,您将看到默认的供应商。
偷偷摸摸的方式是:
hg update -C vendor
hg debugsetparent default
hg commit
其中debugsetparent
是一个powertool,它执行更新的“父更改”部分而不实际更新工作目录中的文件。
答案 1 :(得分:0)
虽然它缺少这个问题及其答案所提供的背景,但我找到了official answer on Mercurial's Wiki。