我们的teem最近面临合并,删除了一片合并,我们失去了"更改(就像您执行hg merge --tool internal:local
)。
这是因为我们没有使用hg merge
命令。
hg diff
只显示了一个区别,而不是其他区别。
BASE --- HEAD1 --- MERGE
\---- HEAD2 --/
假设在 HEAD1 中我合并 HEAD2 但尚未提交更改。
HEAD2 针对 MERGE 的差异我在hg diff
看到了。它是-r BASE:HEAD2
补丁。
如何在当前本地合并状态与 HEAD1 之间看到差异,就像我们从 HEAD2
合并一样如何在当前本地合并状态与 BASE 之间看到差异?
答案 0 :(得分:0)
感谢@Vince的建议。我重读了hg help diff
和hg help revset
并得到了我想要的内容。
假设您在提交之前在 MERGE 并从 HEAD1 执行合并。
要比较 HEAD1 的差异,请使用以下其中一项:
hg diff
hg diff -r .
hg diff -r HEAD1
检查:
hg log -r .
要比较 HEAD1 的差异,请使用以下其中一项:
hg diff -r HEAD2
如果当前分支中只有2个头,则可以在不使用 HEAD2 名称的情况下编写最后一个表达式:
hg diff -r 'branch(.) & head() - .'
检查:
hg log -r 'branch(.) & head() - .'
与 BASE 进行比较:
hg log -r 'ancestor(HEAD1, HEAD2)'
如果当前分支中只有2个头,则可以在没有 HEAD1 / HEAD2 名称的情况下编写最后一个表达式::
hg diff -r 'ancestor(branch(.) & head())'
检查:
hg log -r 'ancestor(branch(.) & head())'
如果当前合并的第二个父级有任何快捷方式,我会徘徊。首先 - 只是点号......
更新嗯...... p1()
和p2()
真棒!我重写了我的例子,他们没有具体的名字 HEAD1 / HEAD2 :
hg diff -r 'p1()'
hg diff -r 'p2()'
hg diff -r 'ancestor(p1(), p2())'