git - mac - the merge tool bc is not available as ''bcompare''
Cómo usar opendiff como mergetool por defecto (3)
Hola, estoy tratando de usar opendiff como git mergetool, pero cuando ejecuto mergetool me aparece este mensaje de error:
La herramienta de fusión opendiff no está disponible como ''opendiff''
¿Qué estoy haciendo mal? Antes estaba funcionando bien, pero desde que instalé un nuevo disco duro ya no funciona :(
Asegúrese de tener instalado XCode. (Si está usando git, entonces probablemente esté usando brew, en ese caso probablemente ya tenga instalado XCode).
Una solución única es decirle a git qué herramienta desea utilizar:
$ git mergetool -t opendiff
En cuanto a la configuración de opendiff como su herramienta predeterminada, debe configurar la variable "merge.tool" en su archivo de configuración de git.
Tendrá que configurar opendiff como su merge.tool global:
# locate xcode utilities
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
# set "opendiff" as the default mergetool globally
git config --global merge.tool opendiff
Si acepta que Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo
, abra XCode y acepte la licencia para solucionar el problema
git admite --dir-diff (-d) para realizar un directorio diff, que se ve bien en FileMerge. Sin embargo, hay un par de problemas menores con el uso de opendiff con --dir-diff. opendiff no tiene un preset de destino de combinación, y git eliminará los archivos temporales demasiado pronto para guardar los cambios. Mi solución es usar un pequeño script de bash para invocar FileMerge. Lo llamé gdiff
.
#!/bin/bash
# find top level of git project
dir=$PWD
until [ -e "$dir/.git" ]; do
if [ "$dir" == "/" ]; then
echo "Not a git repository" >&2
exit 1;
fi
dir=`dirname "$dir"`
done
# open fresh FileMerge and wait for termination
open -a FileMerge -n -W --args -left "$1" -right "$2" -merge "$dir"
https://gist.github.com/miner/e73fc98a83a8fe05d9ef000d46d68a9f
Llámalo así:
git difftool -d -x gdiff