Вот простой ответ.
#! /bin/sh
LOCAL=`cygpath -wa $1`
REMOTE=`cygpath -wa $2`
BASE=`cygpath -wa $3`
MERGED=`cygpath -wa $4`
/cygdrive/c/BeyondCompare3/BComp.exe $LOCAL $THEIRS $BASE $MERGED
Или как в вашем git config.
[mergetool "mergetool"]
cmd = /cygdrive/c/BeyondCompare3/BComp.exe `cygpath -wa "$LOCAL"` `cygpath -wa "$REMOTE"` `cygpath -wa "$BASE"` `cygpath -wa "$MERGED"`
Я использую cygpath (который поставляется с cygwin) для преобразования путей.Флаг -w
конвертирует из формата cygwin (начиная с / cygdrive / c) в формат Windows (начиная с c :).Флаг -a
использует абсолютные имена файлов.
Примечание. У меня нет лицензии Pro BeyondCompare, поэтому я не могу правильно проверить слияние, но оно правильно открывает первые два файла.