此问题询问如何查看合并中哪些文件存在冲突。我还希望能够快速看到所有冲突的diff列表(而不是干净通过的合并中的diff)
例如,这可以通过使用--tool :other
、--tool :local
或--tool :union
解决冲突,而无需使用合并编辑器,从而快速消除一些只是"噪声"的冲突。
我认为git和mercurial的答案(我现在正在制定一个答案)将类似于一些小的差异,所以我会冒险让这个问题与vc无关。
在mercurial中,如果使用:merge3工具进行合并或解决,它将在文件中留下任何冲突的标记。文件集unresolved()
仅包含有冲突的文件。使用perl只打印文件名和未解析的部分(忽略干净合并的部分):
hg merge --tool :merge3 <branchtomerge>
hg diff 'set:unresolved()' | perl -ne 'print if m|^+++ | or m|<<<+ local$| .. m|>>>+ other$|'