version-control - 在 mercurial 中 merge 书签

标签 version-control mercurial branching-and-merging

询问后this question昨天关于在 mercurial 中分支,我决定尝试为短期分支(功能)添加书签,如下所示。
但是,现在当我尝试将我的书签头 merge 到开发版本中时,出现以下错误:

hg update dev-1.1
hg merge feature1
abort: nothing to merge

我究竟做错了什么?

我的 repo 的图形表示:
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. 

最佳答案

就像它说的,没有什么可以 merge 的——你应该使用 update 来代替:

$ hg update feature1

您只能 merge 历史的不同部分,这里是 dev-1.1变更集只是 feature1 的祖先变更集。 Mercurial 2.1 说
$ hg merge feature1
abort: nothing to merge
(use 'hg update' or check 'hg heads')

在这种情况下,我们希望这将使错误更清晰。

如果您已将 dev-1.1 加入书签变更集(而不是标记它),然后是一个普通的
$ hg update

现在(使用 Mercurial 2.1)更新 dev-1.1书签。所以如果你开始
$ hg bookmarks
 * dev-1.1                   0:b1163a24728f
   feature1                  3:c84f04513651
   feature2                  2:e60dd08af282

然后更新:
$ hg update
2 files updated, 0 files merged, 0 files removed, 0 files unresolved
updating bookmark dev-1.1

然后更新书签:
$ hg bookmarks
 * dev-1.1                   3:c84f04513651
   feature1                  3:c84f04513651
   feature2                  2:e60dd08af282

使用早期版本,您将不得不这样做
$ hg update feature1
$ hg bookmark -f dev-1.1

如果是普通的 hg update,这仍然适用不会带您到正确的变更集,例如,如果您想与 feature2“merge ”反而。

当历史没有真正分歧时使用 merge 的想法来自 Git。在那个系统中,有一个快进 merge 的概念,这就是我们在 Mercurial 中所说的更新。

关于version-control - 在 mercurial 中 merge 书签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9159053/

相关文章:

mercurial - 查找特定文件已修改的变更集列表

deployment - 你如何维护开发代码和生产代码?

git - 在不强制推送的情况下恢复远程分支上的提交

svn - 在机器之间共享源代码

intellij-idea - 如何在 IntelliJ (Mercurial) 中可视化修订图

mercurial - 如何获取所有分支中的所有文件列表?

svn - 当 SVN merge 失败而 Mercurial 成功时

git - 如何更改我分支的 git 分支?

版本控制下的数据库(Sitecore)

version-control - 如何在 latex 文档中显示集市版本号?