Version control 如何编辑特定的MQ修补程序块?

Version control 如何编辑特定的MQ修补程序块?,version-control,mercurial,dvcs,mercurial-queue,Version Control,Mercurial,Dvcs,Mercurial Queue,我的用例: 我注意到我在早期版本中进行了不必要的编辑,我想从修补程序中删除一个大块,并保留此文件的所有其他更改。 我试着在.hg/patches/中编辑补丁,然后hg qrefresh,但之后这个大块头又出现了 可能的解决办法: 导出该修补程序,剪切除不需要的大块以外的所有修补程序,并反向应用此修补程序 不知何故,使用包含hunk的修补程序使workdir变得“脏”,然后使用my IDE的GUI很好地编辑文件,它会轮询VCS并突出显示更改,并提供对这些更改进行修改的选项 问题: 编辑.hg

我的用例:
我注意到我在早期版本中进行了不必要的编辑,我想从修补程序中删除一个大块,并保留此文件的所有其他更改。 我试着在
.hg/patches/
中编辑补丁,然后
hg qrefresh
,但之后这个大块头又出现了

可能的解决办法:

  • 导出该修补程序,剪切除不需要的大块以外的所有修补程序,并反向应用此修补程序
  • 不知何故,使用包含hunk的修补程序使workdir变得“脏”,然后使用my IDE的GUI很好地编辑文件,它会轮询VCS并突出显示更改,并提供对这些更改进行修改的选项
问题:

  • 编辑
    .hg/patches
    是否有效
  • 如何通过neede补丁使workdir变脏,然后通过编辑重新应用它?类似于git重置--soft
  • 还有其他方便的方法吗
我在先前的修订中做了不必要的编辑

在MQ方面没有太多意义。我将在假设中回答“MQ队列中的一个修补程序必须得到额外的修复,其他修补程序必须保存为原样”

编辑.hg/patches是否有效

不,这是最糟糕的选择

如何通过neede补丁使workdir变脏,然后通过编辑重新应用它?比如git重置——软

在队列中应用此所需的修补程序

hg qpop -a
hg qpush --move Mypatch
进行必要的更改,刷新补丁

<edit>+<save> in IDE
hg qrefresh
hg qpop
hg qpush --move SomeOther //set of pushes in order to restore old order
hg qpop -a