1

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
wonea
  • 1,877
Jon Erickson
  • 2,344

2 Answers2

0

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.

Rich Homolka
  • 32,350
0

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"

Nifle
  • 34,998