使用Mercurial,如何使用跨分支祖先记录分支?
在Mercurial中,我想为我的使用Mercurial,如何使用跨分支祖先记录分支?,mercurial,changelog,revision-history,Mercurial,Changelog,Revision History,在Mercurial中,我想为我的stable分支构建一个包含所有提交消息的变更日志。目前,我正在使用: hg日志-r:: 其中是我们上次推出代码时变更集的修订id,是稳定的提示。这对于仅在stable分支上的代码更改非常有效,但是如果我合并另一个分支(例如有自己的开发分支的新的主要版本),所有这些提交消息都会被忽略!相反,我只从它合并到stable的地方得到1个提交。我想用某种方式(最好是w/hglog)也能看到这些 我不想在此列表中获得任何“未发布”的提交—即,在未合并到稳定的任何分支上提交
stable
分支构建一个包含所有提交消息的变更日志。目前,我正在使用:
hg日志-r::
其中是我们上次推出代码时变更集的修订id,是稳定的提示。这对于仅在stable
分支上的代码更改非常有效,但是如果我合并另一个分支(例如有自己的开发分支的新的主要版本),所有这些提交消息都会被忽略!相反,我只从它合并到stable
的地方得到1个提交。我想用某种方式(最好是w/hglog
)也能看到这些
我不想在此列表中获得任何“未发布”的提交—即,在未合并到稳定
的任何分支上提交
下面是我正在寻找的一个例子:
在本例中,最后推送的修订是540。正因为如此,我不想要540或以下的价格。有几个分支进入default
和回到stable
,我想要所有这些(539541-557绿色)。但是,有一些更改没有合并回稳定的
(558-563),我希望省略这些更改。特别注意修订版539;当540出版时,它没有合并到stable
,因此不包括在内。但是现在它已经被合并到了stable
,所以我想包括它
如果你们有任何建议,我们将不胜感激。谢谢 无法100%确定这是否可行:
hg log -r '::stable - ::540'
我对此不确定,因为我认为您提供的命令基本上是正确的,除了changeset539。您没有错误地将-b stable
传递到hg log
,是吗?看看。Kevin发布了“你想要什么”的简短表格-以下是长表格:
hg log -r "ancestors('stable') and not ancestors(540)"
Revset功能强大得令人难以置信,您只需将其输入到OrtoiseHG的过滤栏即可。就是这样!谢谢是的,这是正确的方法:除了已经发布的内容之外,你想要所有已经进入稳定状态的内容(::stable
)。