0

我在现有的工作代码中添加了一些调试内容并制作了一个 mq 补丁。(调试的东西实际上破坏了应用程序,但我需要它来调试我添加的功能,这就是为什么我想要一个负责更改的单元,一个补丁就可以了。)然后我修改了工作代码,现在我想提交我所做的。这个想法是提交更改而不是调试内容。

但它没有用:

$ hg ci
abort: cannot commit over an applied mq patch
$ hg qpop
abort: local changes found, refresh first
$ hg qseries
debug-stuff
$ hg qapplied
debug-stuff

如何暂时取消应用调试更改并提交有用的更改?(然后我需要重新应用调试更改并继续开发。)

4

2 回答 2

0
  1. “hg shelve”保存你未提交的工作
  2. qpop补丁
  3. “hg unshelve”恢复您的功能

然后您可以提交该功能。

于 2015-03-19T17:15:51.693 回答
0
$ hg qnew -f a-lot
$ hg qpop -a
// manually editing .hg/patches/series to swap the two patches
$ hg qpush

现在我将更改作为 mq 补丁,同时我想提交它们。

$ hg qapplied
a-lot
$ hg qfinish a-lot
patch a-lot finalized without changeset message
$ hg qapplied
$

现在 'hg log' 将更改显示为已提交。

我仍然想知道 qfinish 是否会在没有额外操作的情况下完成这项工作。

于 2015-03-19T14:40:23.703 回答