昨天我在Mercurial中询问这个问题后,我决定尝试使用书签来管理短期分支(特性),如下所示。
然而,现在当我试图将我的标记头合并到开发修订版时,我遇到了以下错误:
hg update dev-1.1
hg merge feature1
abort: nothing to merge
我做错了什么?
我的存储库的图形表示:
o changeset: 5:fa2b19961b46
| bookmark: feature1
| description: Work on feature 1 finished.
|
| o changeset: 4:6ea0155d4d89
| | bookmark: feature2
| | description: Work on feature 2 started.
| |
o | changeset: 3:44e335b5426c
| | bookmark: feature1
|/ description: Work on feature#1 started.
|
@ changeset: 2:407b3b94624f
| tag: dev-1.1
| description: Development for release 1.1 started.
hg update feature1 && hg merge feature2
等等,对于每个从dev-1.1
版本开始的功能分支都要这样做? - Industrialfeature1
和feature2
是另一回事。但是,当这些功能是并行开发的(就像您的情况一样),那么您需要将它们合并到您的dev-1.1
分支中。如果您只有feature1
,那么没有并行开发,因此hg update
就是正确的答案。 - Martin Geislerhg merge --preview feature1
至少会列出所有适当的变更集,但实际合并仍会出现此处讨论的错误,这并没有帮助。 - Ti Strgahg merge --preview REV
仅仅展示了hg log -r '::REV - ::.'
的结果。也就是说,它会展示与你合并的那个版本的祖先节点,但这些祖先节点并不是当前工作副本的父节点的祖先节点。当REV
不是一个有效的合并版本时,或许我们应该中止操作而不是继续展示结果。 - Martin Geisler