我的Mercurial队列中有一个应用的补丁,如何将此补丁转换为我的工作副本中的未经修改的更改(好像我从未使用qnew创建补丁)?
答案 0 :(得分:1)
告诉Mercurial刷新补丁但排除所有文件。这将使补丁中的所有更改都未在工作文件夹中提交。您将留下一个空的应用补丁,可以弹出并删除。
hg qref -X *
hg qpop -f
hg qdel <patch>
答案 1 :(得分:0)
好吧,在没有其他答案的情况下,这就是我最终做的事情:
首先从补丁堆栈中弹出补丁,使其不再应用
hg qpop thepatchname --keep-changes
我不确定--keep-changes
是否有必要,但我想保留本地未提交的更改。
接下来,我不得不搁置我的工作副本中的一些未提交的更改,以便我可以应用补丁
hg shelve
现在使用import
命令将存储在.hg / patches中的补丁应用于--no-commit选项,以便补丁不会提交到您的存储库。
hg import .hg/patches/thepatchname --no-commit
如果您愿意,现在可以删除补丁。