Mercurial 将默认合并到命名分支

Mercurial merging default into named branch

我有一个非常简单的 Mercurial 存储库,除了 default 分支之外还有一个命名分支。

已经对 default 分支进行了更改,我想将它们合并到我命名的分支中。但是,hg merge default 似乎并未合并所有更改。

例如:

hg update working
99 files updated, 0 files merged, 0 files removed, 0 files unresolved

hg status -m --rev default:working

大约有 20 个文件有修改

M ... some list of files...
hg merge default
merging path/to/a/file/foo.java
3 files updated, 1 files merged, 0 files removed, 0 files unresolved
(branch merge, don't forget to commit)

hg status -m --rev default:working

现在有 仍然 文件,其中包含我希望合并的修改。

我可以执行 hg diff -r default 并查看是否有未合并的更改。

这是回购的样子

@  changeset:   4:d41da580b434
|  branch:      working
|  tag:         tip
|  parent:      1:3ed1c8bf91cf
|  user:        bob costas
|  date:        Tue Mar 24 10:13:25 2015 -0500
|  summary:     pr-1243 and minor updates
|
| o  changeset:   2:ea0c249218fa
| |  parent:      0:385565af3c13
| |  user:        bob costas
| |  date:        Mon Mar 23 15:09:42 2015 -0500
| |  summary:     bunch of updated files and fixes
| |
o |  changeset:   1:3ed1c8bf91cf
|/   branch:      working
|    user:        bob costas
|    date:        Mon Mar 23 13:38:59 2015 -0500
|    summary:     pr-1231 
|
o  changeset:   0:385565af3c13
   user:        bob costas
   date:        Thu Mar 19 18:15:52 2015 -0500
   summary:     initial commit

您没有提交合并。Mercurial 告诉您:

hg merge default 

merging path/to/a/file/foo.java 3 files updated, 1 files merged, 0 files removed, 0 files unresolved (branch merge, don't forget to commit)

合并时,源中的所有文件都保持修改状态,您需要提交它们

hg commit -m "merge with default"

然后您的分支将在日志中显示为已合并。