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