Команда Bash не найдена (попытка интегрировать Beyond Compare с Mercurial и использовать его в Cygwin)

1073
Jon Erickson

Я пытаюсь интегрировать вне всякого сравнения с mercurial, и я скопировал и вставил необходимые строки со страницы Использование Beyond Compare с системами контроля версий для mercurial в мой .hgrcфайл, расположенный в C:\cygwin\home\jerickson(мой домашний каталог cygwin)

когда я иду, чтобы дать hg bcompкоманду в ртутном репо, я получаю следующее

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

что мне нужно изменить, чтобы это работало? (это работает в powershell и cmd)

для справки, соответствующие части моего .hgrcфайла ниже

[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 
0

2 ответа на вопрос

0
Rich Homolka

Я уверен, что это проблема космоса.

Я бы попробовал cygpathутилиту, получить путь в стиле DOS ( -dфлаг) для вашей утилиты Beyond Compare. Помните, что Cygwin может использовать пути Windows, я бы использовал это в ваших интересах в этом случае.

0
Nifle

cygwin не знает, что C:есть, и ему определенно не нравятся неэкранированные пробелы или скобки в пути.

Попробуйте этот путь

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

(надеюсь, я получил свои побеги правильно)

Или попробуйте поставить его в кавычки

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

оба из них не дают никаких ошибок, но они также не открываются за пределами сравнения 3 ... не уверен, что происходит ... Jon Erickson 13 лет назад 0