1

hg qnew name.patch > hg qrefresh > hg qfinish name.patch を実行すると、「適用されたパッチの上のリビジョン 143047 を削除できません」というメッセージが表示されます。ここで複製されたエラーメッセージを見ることができます:

https://www.mercurial-scm.org/pipermail/mercurial-devel/2010-September/024525.html

ただし、これを修正する方法を見つけるのに苦労しているので、レビューのためにパッチを送信できます。誰でもこれで私を助けることができますか?

4

1 に答える 1

2

問題は、パッチ キューに複数のパッチがある可能性が最も高いです。私の推測では、開始前のリポジトリは次のようになっていると思います。

... [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 パッチを表す変更セットをプッシュできないため、動作が異なるだけです。

于 2013-09-20T22:52:00.133 に答える