I'm trying to integrate beyond compare with mercurial and I've copy & pasted the necessary lines from the Using Beyond Compare with Version Control Systems page for mercurial into my .hgrc file located in C:\cygwin\home\jerickson (my cygwin home dir)

when I go to issue an hg bcomp command within a mercurial repo i get the following

/bin/sh: C:\Program Files (x86)\Beyond Compare 3\BComp.exe: command not found

what do I need to modify to get this working? (this does work in powershell and cmd)

for reference, the relevant parts to my .hgrc file is below

[ui]
username = Jon Erickson
merge = bcomp

[extensions]
extdiff = 

[extdiff]
cmd.bcomp = C:\Program Files (x86)\Beyond Compare 3\BComp.exe
opts.bcomp = /ro

[merge-tools]
bcomp.executable = C:\Program Files (x86)\Beyond Compare 3\BComp.exe
bcomp.args = $local $other $base $output
bcomp.priority = 1
bcomp.premerge = True
bcomp.gui = True

[tortoisehg]
vdiff = bcomp
link|improve this question

64% accept rate
feedback

2 Answers

I'm sure it's a spaces issue.

I'd try the cygpath utility, get a DOS 8.3 style path ( -d flag) for your Beyond Compare utility. Remember that Cygwin can use windows paths, I'd use it to your advantage in this case.

link|improve this answer
feedback

cygwin does not know what C: is and it definitely does not like un-escaped spaces or parenthesises in a path.

Try this path

/cygdrive/c/Program\ Files\ \(x86\)/Beyond\ Compare\ 3/BComp.exe

(hopefully I have gotten my escapes right)

Or try putting it in quotes

"/cygdrive/c/Program Files (x86)/Beyond Compare 3/BComp.exe"

link|improve this answer
both of these don't produce any errors, but it also doesn't open beyond compare 3... not sure what is going on... – Jon Erickson Oct 1 '10 at 15:29
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.