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