从Mercurial MQ Patch中删除文件

时间:2010-03-03 17:39:28

标签: mercurial mercurial-queue

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

3 个答案:

答案 0 :(得分:46)

应用补丁:

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

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

答案 1 :(得分:2)

我认为您可以使用补丁作为当前补丁(已应用并位于堆栈顶部),然后使用hg forgethg qrefresh

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

答案 2 :(得分:0)

执行此操作的最简单方法是对除了要删除的文件之外的所有文件执行hg qrefresh - 这些文件将从修补程序中删除而不丢弃它们。