36

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'

この競合を解決するにはどうすればよいですか?

4

3 に答える 3

80

Hg 1.1+ のコメントで回答を強調表示するには:

Hg 1.1+の場合、ファイルを手動で修正してから実行します

hg resolve -m test.h

ファイルをマージ済みとしてマークします。

于 2010-04-07T09:20:49.490 に答える
14

hg < v1.1 のみに有効

hgコマンドを呼び出す必要はありません。とは異なりsvn、Mercurial は競合するファイルを追跡しません。を呼び出すとhg status、ファイルが単に変更済みとしてマークされていることがわかります。

ファイルを手動で修正してコミットするだけです。

于 2009-04-28T06:44:17.263 に答える
10

競合の追跡は、使用している新しいバージョンであるMercurial 1.1で導入されました (実際にアップグレードする必要があります。Mercurial 1.1 は 2008 年 12 月にリリースされました)。そのバージョンでは、resolveと同様に機能するコマンドを取得しましたsvn resolve

私が覚えているように、マージ ツールを設定していない限り、競合が発生した場合、Mercurial はファイルにマージ マーカー (<<<<および行) を残します。これは新しいバージョンにも当てはまります。マージ ツールが構成されておらず、競合が発生したときにマージ マーカーを取得します。次に、ファイルを手動で修正し、解決済みとしてマークします。>>>>hg resolve

于 2009-08-21T19:06:02.983 に答える