鉴于此库:为什么Mercurial合并changeset包含没有冲突的项目?
A1 - A2 - A3 - A4 - A5
..你做hg pull
这拉从远程回购两次变更,给你两个头:
A1 - A2 - A3 - A4 - A5
\
B3 - B4
比方说,你做hg merge
它可以帮助您的M1 merge changeset:
A1 - A2 - A3 - A4 - A5----\
\ M1
B3 - B4 --------/
所以现在的hg out
将列出M1 ...
如果你hg diff -c M1
你看:
- 文件在A3-A5中修改)
为什么M1合并变更集包含这些项目?为什么你需要将这个变更集推送到远程存储库?
这些更改已存在于远程存储库中的B3和B4中。我明白为什么合并变更集会包含A3-A5和B3-B4中发生变化的文件,并导致新的合并版本的文件。但我不明白为什么变更集会包含没有冲突的项目。 M3的推送不会复制已经在远程回购中的更改吗?
谢谢 - 仍然不完全确定为什么这不会重复远程回购中的更改。我猜测混合中有一些Mercurial魔术。 – 2011-06-06 18:04:13