2

私はリモートリポジトリで誰かと共同作業をしています。私が行った変更はレポから削除する必要があることに気づきました。しかし、それらの変更は多くのチェンジセットにあり、誰かの変更と混ざっています。

別のチェンジセットをコミットする直前に、変更を削除することにしました。だから私はコミットされていない変更とそれからパッチqpopを作りました。

次に、残りの変更をリモートからバックアウトし、それらの変更からパッチを選択的に作成して、同僚の変更に影響を与えないようにします。

さらに、新しいパッチの差分と、patch_ive_made_beforeの差分を1つのパッチに含めたいと思います。つまり、2つの異なるチェンジセットから1つのパッチが必要です。手動で行う必要がありますか?

それを行った後、リポジトリへの変更をcommit/クリアします。push

Mercurial Queuesでこれをどのように行うことができますか?

4

1 に答える 1

5

次のコマンドを使用して、以前の変更の逆のパッチを作成できます。

hg diff --change NODEID_YOU_REGRET --reverse > undoes-what-you-regret.patch

そのパッチは、以下を使用して水銀キューに入れることができます。

hg qimport undoes-what-you-regret.patch

しかし、私がそれをしていたら、mqを完全にスキップして、次のようにします。

hg backout --rev NODEID_YOU_REGRET

これにより、新しいヘッドが作成されます。これは、元の変更の子孫である開発の任意のhg mergeラインに入れることができます。つまり、そのコードを持つものなら何でもかまいません。

于 2012-04-27T18:35:55.813 に答える