By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

How to? Problem running Mercurial with Araxis Merge

Hi everyone,

New user here, though I used to use 4DOS and 4OS2 way, way back in the day. It's good to finally have a real command processor! Unfortunately I have run into a problem that I need to resolve before committing to purchasing TCC.

I run Mercurial here with Araxis merge. When I perform a merge from one branch of the source repository to another, a merge conflict causes Mercurial to invoke Araxis to perform a manual three-way merge.

When running under CMD, Araxis is invoked successfully, but when running under TCC, I get the following output:

c:\source\s>hg me kodiak
merging Common/Classes/GTSOEStatementData.pas
Araxis Merge Command Line Compare Utility v7.0

Not enough arguments for a three-way comparison.
merging Common/Classes/GTSOEStatementData.pas failed!

I believe the filenames look like this:

I tried changing COMSPEC to point to TCC.EXE, but that didn't work. Has anyone else encountered this behavior or can anyone suggest anything? I have the feeling someone will know right away what is wrong.

Thank you for reading,
Hello again,

I discovered that I could work around this issue by setting COMSPEC to CMD.EXE.

FYI, here is the command line that hg.exe is using to launch Araxis, this must be where the problem is:

C:\PROGRA~1\JPSoft\TCMD14~1\TCC.EXE /c ""C:\Program Files\Araxis\Araxis Merge\\ConsoleCompare.exe" /3 /a2 /wait /merge /title1:"Parent 1" /title2:"Merge Result: ""C:\Source\s\Common\SharedForms\SelectItemForm.pas" /title3:"Parent 2" "C:\Source\s\Common\SharedForms\SelectItemForm.pas.orig" "c:\users\drobb\appdata\local\temp\SelectItemForm.pas~base.fmkwps" "c:\users\drobb\appdata\local\temp\SelectItemForm.pas~other.h3miys" "C:\Source\s\Common\SharedForms\SelectItemForm.pas""

Here is the command line that is used when CMD.EXE is invoked:

c:\windows\system32\cmd.exe /c ""C:\Program Files\Araxis\Araxis Merge\\ConsoleCompare.exe" /3 /a2 /wait /merge /title1:"Parent 1" /title2:"Merge Result: ""C:\Source\s\Common\SharedForms\SelectItemForm.pas" /title3:"Parent 2" "C:\Source\s\Common\SharedForms\SelectItemForm.pas.orig" "c:\users\drobb\appdata\local\temp\SelectItemForm.pas~base.hhnp41" "c:\users\drobb\appdata\local\temp\SelectItemForm.pas~other.7ugqhw" "C:\Source\s\Common\SharedForms\SelectItemForm.pas""

The difference must be in the way the quotes are being interpreted on TCC's command line. If I execute the entire command line manually from a TCC prompt, the same problem occurs. If I execute the second command from a TCC prompt, it works.

If I exclude the launching of the shell, i.e. executing just this command line:

c:\source\s>"C:\Program Files\Araxis\Araxis Merge\\ConsoleCompare.exe" /3 /a2 /wait /merge /title1:"
Parent 1" /title2:"Merge Result: ""C:\Source\s\Common\SharedForms\SelectItemForm.pas" /title3:"Paren
t 2" "C:\Source\s\Common\SharedForms\SelectItemForm.pas.orig" "c:\users\drobb\appdata\local\temp\Sel
ectItemForm.pas~base.fmkwps" "c:\users\drobb\appdata\local\temp\SelectItemForm.pas~other.h3miys" "C:

... it works in TCC and in CMD.

Thanks for reading! I'll be purchasing soon!
[FOX] Ultimate Translator