Question

I have followed the instructions at http://www.semanticmerge.com/sm-guides/main.shtml#HowtoconfigurewithMercurial but they are configured for kdiff3 and I would like to use p4merge to do my textual merging. My current mercurial.ini looks like this:

[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

With my current configuration when there is a conflict in a file that ends in .cs SemanticMerge runs as expected, but when I use the merge command in SemanticMerge to run a textual merge I get an error alert stating:

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

Is there in incompatibility or is my above "semantic.args" section configured incorrectly?

UPDATE I am getting the error when I click the merge button on a specific change. See screenshot below. The answer is right though in that I should just run the text merge using the "run text merge" button.

merg button

Was it helpful?

Solution

I´ve just tested the Semantic Merge-Mercurial integration (configuring p4merge as the external test merge tool).

This is my 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

When I perform a Hg merge, the Semantic Merge tool appears, and if I select "run text merge", the text merge tool is working fine. It seems that your issue is in the P4Merge tool installation. Could you try manually launching the P4Merge tool using command line?

enter image description here

enter image description here

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top