1

http://www.semanticmerge.com/sm-guides/main.shtml#HowtoconfigurewithMercurialの指示に従いましたが、それらは kdiff3 用に構成されており、p4merge を使用してテキストのマージを行いたいと考えています。現在の mercurial.ini は次のようになります。

[merge-tools]
semantic.executable = C:\Users\JP\AppData\Local\PlasticSCM4\semanticmerge\semanticmergetool.exe
semantic.premerge=False
semantic.binary=False
semantic.args=-b=$base -s=$local -d=$other -r=$output -l=csharp -edt="p4merge.exe ""#sourcefile"" ""#destinationfile""" -emt="p4merge.exe -le 'win' -dl ""#basefile"" ""#sourcefile"" ""#destinationfile"" ""#output"""
semantic.gui=True
semantic.checkconflicts=True

現在の構成では、.cs で終わるファイルに競合がある場合、SemanticMerge は期待どおりに動作しますが、SemanticMerge でマージ コマンドを使用してテキスト マージを実行すると、次のようなエラー アラートが表示されます。

Error starting P4Merge
Errors: 'c:\directory\1d37-some-guid.tmp' is (or points to) an invalid file.

非互換性がありますか、それとも上記の「semantic.args」セクションが正しく構成されていませんか?

更新 特定の変更でマージ ボタンをクリックすると、エラーが発生します。以下のスクリーンショットを参照してください。答えは正しいですが、「テキスト マージの実行」ボタンを使用してテキスト マージを実行する必要があります。

結合ボタン

4

1 に答える 1

1

セマンティック マージと Mercurial の統合をテストしました (p4merge を外部テスト マージ ツールとして構成)。

これは私の mercurial.ini です:

[merge-tools]
semantic.executable = C:/Users/carlos/AppData/Local/PlasticSCM4/semanticmerge/semanticmergetool.exe
semantic.premerge=False
semantic.binary=False
semantic.args=-b=$base -s=$local -d=$other -r=$output -l=csharp -edt="p4merge.exe ""#sourcefile"" ""#destinationfile""" -emt="p4merge.exe -le 'win' -dl ""#basefile"" ""#sourcefile"" ""#destinationfile"" ""#output"""
semantic.gui=True
Semantic. checkconflicts=True

Hg マージを実行すると、セマンティック マージ ツールが表示されます。[テキスト マージの実行] を選択すると、テキスト マージ ツールは正常に動作します。問題は P4Merge ツールのインストールにあるようです。コマンド ラインを使用して P4Merge ツールを手動で起動してみてください。

ここに画像の説明を入力

ここに画像の説明を入力

于 2014-03-21T17:19:07.577 に答える