4

パッチが適用されたワークスペースにブランチを誤ってマージしました。

この混乱をどのようにクリーンアップしますか?マージをクリーンアップする必要がありますか(hg up -C)、またはマージを保存する方法はありますか?

4

1 に答える 1

2

Mercurial 1.9.1、TortoiseHg 2.1.2

これらのコマンドを使用して、状況の基礎を新しいリポジトリに再現しました。

echo first > file.txt
hg add
hg ci -m first
hg branch test
echo test1 >> file.txt
hg ci -m test1
hg up 0
echo patch >> file.txt
hg qnew -f patch.diff

次にhg merge test、競合を実行して解決し、いくつかの異なることを試しました。

  • パッチが関与しているため、コミットは拒否されます。

    abort: cannot commit over an applied mq patch
    
  • TortoiseHgでマージを棚上げできませんでした。

  • 私はできませんでしたqnew

    abort: cannot manage merge changesets
    

マージを維持するために私ができることは、パッチを終了してマージ変更セットをコミットすることだけでした。与えられたものでは、パッチを維持することとマージを維持することは相互に排他的だと思います。

pbranchを使用するとパッチとマージできることを知っています。おそらく、MQパッチをそれにインポートする方法がいくつかあります。ただし、TortoiseHgではサポートされていないと思います。

于 2011-08-16T15:01:27.817 に答える