如何使mercurial生成一个受合并影响的文件列表?

如何使mercurial生成一个受合并影响的文件列表?,mercurial,Mercurial,我正在使用Mercurial,我正在尝试将更改合并到我的主回购中。我的主repo中的一些文件是写保护的。这使得hg merge命令失败,出现中止:访问被拒绝 我想让那些受合并影响的文件可以写,并且只写那些文件(而不是整个repo)。有没有办法让Mercurial打印出需要解决的文件列表 (顺便说一句,它们是可写的,因为它们是由Perforce控制的。这种扭曲设置的原因太愚蠢,无法在这里进行说明。)我不知道有任何内置方法可以轻松做到这一点。。。这不是一个非常普遍的需求。几乎可以肯定,可以编写一个扩

我正在使用Mercurial,我正在尝试将更改合并到我的主回购中。我的主repo中的一些文件是写保护的。这使得
hg merge
命令失败,出现
中止:访问被拒绝

我想让那些受合并影响的文件可以写,并且只写那些文件(而不是整个repo)。有没有办法让Mercurial打印出需要解决的文件列表


(顺便说一句,它们是可写的,因为它们是由Perforce控制的。这种扭曲设置的原因太愚蠢,无法在这里进行说明。)

我不知道有任何内置方法可以轻松做到这一点。。。这不是一个非常普遍的需求。几乎可以肯定,可以编写一个扩展来将
--dry run
选项添加到
hg merge
中,就像
hg revert
--dry run
选项一样

如果你只是想要一些又快又脏的东西,也许像这样的东西行得通

hg merge -Pv | grep files | sed -e's/files:\s*//' -e's/\s/\n/g' | sort | uniq

假设您没有任何文件的名称中带有空格或其他完全合理的名称…

更好的方法是
hg--config ui.merge=internal:fail merge
,这将 生成如下摘要:

hg --config ui.merge=internal:fail merge

[...]

1 files updated, 0 files merged, 0 files removed, 1 files unresolved

然后使用
hg update-C.
来恢复您的工作区。

幸好我没有带空格的文件名,所以这非常有效!谢谢