0

Mercurial リポジトリがあります。パッチ キューがあります (それ自体がパッチを含むリポジトリです)。残念ながら、MQ に対して (hg commit --mqコマンドを使用して) あまりにも多くの見苦しいコミットを実行してしまいました。コマンドを実行するhg history --mqと、 A、B、B1、B2、B3、B4、C、D などの不要な変更セットが大量に出力されます。B1、B2、B3、および B4 を削除したいだけですが、最新の C および D は削除したくありません。それらの中間チェンジセットだけです。どうすれば希望を達成できますか?

4

1 に答える 1

1

後続の mq 変更セット間に競合がないと仮定すると、それは非常に簡単です。

mq の方法は、hg qdelete PATCH-ID削除したいパッチを使用することです。パッチを適用しないことが必須です。

または、通常の hg の方法を使用して mq リポジトリを編集することもできます。

  • すべての mq チェンジセットを適用解除:hg qpop --all
  • .hg/patches/series ファイルを編集し、削除したいパッチの行を削除します
  • 残りのすべてのパッチが問題なく適用されていることを確認します。1 つずつ行うのが最適hg qpushです。競合がある場合は、今すぐ修正してください。
  • 変更を .hg/patches の mq リポジトリにコミットします

中間パッチのいずれかが必要な場合はhg qfold、友人を確認してください。

于 2016-01-03T22:26:21.717 に答える