mercurial - 查看分支上的更改,忽略所有合并提交

Swi*_*ety 9 diff mercurial branch branching-and-merging

我有一个很长一段时间开发的分支.在开发期间,默认分支已多次合并到该分支中.我现在想要检查在该分支上完成的所有更改,忽略合并,以确定将其合并为默认值是否安全.

我试过了

hg diff -r "branch('myBranch') - merge()"

但它仍然显示合并引入的变化.也试过下面这如何显示具体到一个名为分支中DIFF善变,但

hg diff -r "branch('myBranch') - branch('default')"

仍然带来合并带来的变化.

ica*_*bod 7

您的命令的问题在于,当您执行hg diff并传递多个更改集时,实际上在这些更改集之间执行差异,因此您将看到合并结果.

如果您只想查看更改集所做的更改,那么您可以使用export:

$ hg export -r "branch('mybranch') and not merge()"
// lists the changes made by each changeset
Run Code Online (Sandbox Code Playgroud)

为了便于查看,您可以将这些输出到名称基于修订/变更集ID的文件:

$ hg export -r "branch('mybranch') and not merge()" -o "%H.patch"
Run Code Online (Sandbox Code Playgroud)

...为每个非合并变更集创建一个文件mybranch,并将其输出到名为"40位数变更集id.patch"的文件中.如果您更喜欢修订号(仅对本地存储库有用,因为版本ID是本地的),请使用"%R.patch".


Laz*_*ger 5

必须阅读有关revsets语法的内容

你的情况

hg log -r "branch('myBranch') and ! merge()"