問題は、パッチ キューに複数のパッチがある可能性が最も高いです。私の推測では、開始前のリポジトリは次のようになっていると思います。
... [x] --- [y] --- <p>
ここ[ ]
で、 は通常の変更セットで、< >
は適用された MQ パッチです。次に、作業コピーにいくつかの変更を加えて、新しいパッチに入れてhg qnew
取得します。
... [x] --- [y] --- <p> --- <o>
実行すると、次のhg qfinish
ように Mercurial に<o>
通常のコミットを行うように依頼します。
... [x] --- [y] --- <p> --- [o]
hg qpop
ただし、その場合はパッチを適用できないため、これは不可能な状況です<p>
— そうすると、 changeset も削除する必要があります[o]
。
基本的に:パッチ キューの先頭hg qfinish
からではなく、先頭からパッチを適用する必要があります。
最後に: 通常、MQ パッチをレビューのために送信するために、通常のコミットに変更する必要はありません。つまり、適用されたパッチで他のすべてのコマンドをhg export
実行できるのと同じように、適用された MQ パッチで問題なく実行できます。hg email
実際、適用されたパッチはすでに通常のコミットであり、通常のコマンドはすべてそれらに対して機能します。hg push
適用された MQ パッチを表す変更セットをプッシュできないため、動作が異なるだけです。