从Mercurial MQ Patch中删除文件

我在Mercurial中应用了大量的MQ补丁。 发生了什么事情是我做了qrefresh,并在我的补丁包括文件,我不想包括。 有没有办法从我的补丁中删除这些文件的更改,而无需手动编辑它? 在这种情况下,如果我只是在没有MQ的情况下工作,我所要做的就是恢复hg。

随着补丁应用:

hg qrefresh -X [file1] -X [file2] ... -X [fileN] 

将文件1取出到补丁的fileN中。 完成之后,键入hg status以validation文件现在被标记为已修改,因此不再是修补程序的一部分。

我认为你可以使用修补程序当前补丁(应用和在堆栈顶部),然后hg forgethg qrefresh

当然, hg forget只是hg remove而不需要额外的选项来避免文件删除。

最简单的方法是用除了你想要删除的文件之外的所有文件来执行hg qrefresh – 这将会把修改从修补程序中删除而不会丢弃它们。