3

Mercurial で TortoiseMerge を使用して競合を解決したいのですが、適切に比較されていないかのように、すべての行が追加されてtheirs報告されますmine

ここに私のmercurial.iniがあります:

[ui]
merge = TortoiseMerge

[merge-tools]
TortoiseMerge.executable=C:\Program Files\TortoiseSVN\bin\TortoiseMerge.exe
TortoiseMerge.args=/mine:$local /theirs:$other /base:$base -o /merged:$output

私は使用していますHg 1.7.5

どうしたの?

更新: KDiff または BeyondCompare を使用する場合、ベースは常に空です。

ありがとう

4

1 に答える 1

1

セットアップは正しいようです。

これは、ベース リビジョンにファイルのコピーがないことを示しています。この場合、Mercurial はファイルが存在するが空であるかのように動作します。

ここで何が起こっているのかを理解するには、いくつかの方法があります。コピーや名前の変更が含まれていない場合は、次のことを簡単に実行できます。

$ hg log -r "ancestor(p1(), p2())"

..マージの祖先を決定するには、次のようにします。

$ hg manifest -r <rev> | grep <your file>

..ファイルが実際に存在するかどうかを判断します。

または、'hg merge --debug' または 'hg update --debug' を実行して、マージ用に選択されている変更セットとファイルを確認できます (名前変更/コピーの詳細を含む)。

Mercurial が選択した共通の祖先にファイルが存在することがわかった場合は、次の場所にバグ (デバッグ出力を含む) を報告する必要があります。

https://www.mercurial-scm.org/wiki/BugTracker

于 2011-10-04T23:27:04.910 に答える