0

我的 Mercurial 队列中有一个已应用的补丁,如何将此补丁转换为我的工作副本中未提交的更改(好像我从未使用 qnew 创建过补丁)?

4

2 回答 2

1

告诉 Mercurial 刷新补丁但排除所有文件。这将使补丁中的所有更改都未提交到您的工作文件夹中。您只剩下一个可以弹出和删除的空应用补丁。

hg qref -X *
hg qpop -f
hg qdel <patch>
于 2014-07-26T20:23:15.750 回答
0

好吧,在没有其他答案的情况下,这就是我最终要做的事情:

首先从补丁堆栈中弹出补丁,使其不再应用

hg qpop thepatchname --keep-changes

我不确定这是否有--keep-changes必要,但我有我想保留的本地未提交的更改。

接下来我不得不搁置我的工作副本中的一些未提交的更改,以便我可以应用补丁

hg shelve

现在使用命令应用存储在 .hg/patches 中的补丁import,并带有 --no-commit 选项,这样补丁就不会提交到您的存储库。

hg import .hg/patches/thepatchname --no-commit

您现在可以根据需要删除补丁。

于 2014-07-25T12:50:08.807 回答