Mercurial 1.0.2を使用して、マージの競合があります。
merging test.h
warning: conflicts during merge.
merging test.h failed!
6 files updated, 0 files merged, 0 files removed, 1 files unresolved
There are unresolved merges, you can redo the full merge using:
hg update -C 19
hg merge 18
これを解決する方法がわかりません。 Googleの検索結果は次の使用を指示します。
hg resolve
しかし、何らかの理由で私のMercurial(v1.0.2)には解決コマンドがありません:
hg: unknown command 'resolve'
この競合を解決するにはどうすればよいですか?
hg <v1.1のみ有効
hg
コマンドを呼び出す必要はありません。 svn
とは異なり、Mercurialは競合するファイルを追跡しません。 hg status
を呼び出すと、ファイルが単に変更済みとしてマークされていることがわかります。
手動でファイルを修正してコミットするだけです。
Hg 1.1+のコメントで回答をハイライトするには:
Hg 1.1 +の場合、ファイルを手動で修正してから
hg resolve -m test.h
ファイルをマージ済みとしてマークします。
追跡の競合は Mercurial 1.1 で導入されました。これは使用している新しいバージョンです(実際にアップグレードする必要があります。Mercurial1.1は2008年12月にリリースされました) 。そのバージョンでは、svn resolve
と同様に機能するresolve
コマンドを取得しました。
覚えているように、Mercurialは、 マージツールを設定していない限り、競合がある場合、ファイルにマージマーカー(<<<<
および>>>>
行)を残します。 。これは新しいバージョンにも適用されます-マージツールが構成されておらず、競合が発生したときにマージマーカーを取得します。その後、ファイルを手動で修正し、hg resolve
で解決済みとしてマークできます。