如何使用默认分支区分一个分支

时间:2012-04-24 14:26:13

标签: mercurial

我切换到本地仓库的一个分支,发现它给了我一条消息,显示x文件已更新。这令我感到惊讶,因为我不知道那个分支有什么不同。如何将该分支与默认分支进行比较以查看更改内容?

3 个答案:

答案 0 :(得分:102)

使用hg diff -r BRANCH1:BRANCH2,其中BRANCH1和BRANCH2是分支的名称。这将显示两个分支的头部之间的差异。

您收到有关“x files updated”的消息,因为原始分支上的文件已更改,不一定是因为另一个分支上的文件已更改。 Mercurial向您展示了来自两个分支的已更改文件集的并集。

答案 1 :(得分:3)

要仅列出差异文件,请添加--stat选项:

hg diff --stat -r BRANCH1:BRANCH2

这样输出如下:

mypath/file1.cpp    |    1 -
mypath/file2.cpp    |  143 ++++++++++
mypath/file3.cpp    |   18 +-
3 files changed, 160 insertions(+), 2 deletions(-)

或者稍微清理输出,通过sed将其移除以删除管道符号后的所有内容:

hg diff --stat -r BRANCH1:BRANCH2 | sed "s/|.*$//g"

这将为您提供最终更改文件和摘要行的列表:

mypath/file1.cpp
mypath/file2.cpp
mypath/file3.cpp
3 files changed, 160 insertions(+), 2 deletions(-)

答案 2 :(得分:0)

要查看分支otherbranch与当前分支的差异:

hg diff -r otherbranch