2015-11-18 1 views
1

Я пытаюсь открыть kdiff3 с терминала и передать два локальных файла в качестве аргумента kdiff3 (не в git repo). Kdiff3 Я использую инструмент git diff, который отлично работает, чтобы сравнить текущую версию и версию репо. Однако проблема возникает, когда я запускаю kdiff3 с локальным файлом (не в git repo) в качестве аргумента из терминала, тогда я получаю сообщение об ошибке, указывающее, что FSPathMakeRef(local_kdiff_path/kdiff3.app) failed with error -43. FYI, kdiff3.app местоположение пути точно такое же, как я определяю для git diff tool или псевдоним. После двух способов я попытался, но никто из них не работает:Ошибка Kdiff3 FSPathMakeRef (app_path_location) с ошибкой -43 Mac OS-X

alias kd2='open -a "local_kdiff_path/kdiff3.app" $1 $2' 
alias kd3='sudo open -a "local_kdiff_path/kdiff3.app/Contents/MacOS/kdiff3" $1 $2' 

Просьба предложить мне, как я могу решить эту проблему?

ответ

1

Проблема заключается в том, что вы определили в своем bash script или .bash_profile не можете найти местоположение приложения. Несмотря на то, что аргумент легко доступен в Linux или Windows, но для Mac специфический сценарий бит отличается.

MAC OS-X Решение

Создание простой Баш скрипт следующим образом и предоставить аргументы

kdiff_installed_folder/kdiff3.app/Contents/MacOS/kdiff3 "$1" "$2" "$4" 

Linux Решение

Добавить следующие команды в .bashrc или. файл псевдонимов

alias kd '/app/kdiff3/0.9.96/RHEL64/kdiff3' 
alias kd1 '/app/kdiff3/0.9.96/RHEL64/kdiff3 $1' 
alias kd2 '/app/kdiff3/0.9.96/RHEL64/kdiff3 $1 $2' 

для Windows Решение

При установке Git-bash добавить следующую строку в файл .bashrc

alias kd='"C:/Program Files/KDiff3/kdiff3.exe"' 
alias kd1='"C:/Program Files/KDiff3/kdiff3.exe" $1' 
alias kd2='"C:/Program Files/KDiff3/kdiff3.exe" $1 $2' 
-2

MAC OS-X Решение

При установке zsh, добавьте следующую строку в .zshrc file

alias kd='open -a "Applications/kdiff3.app"' 
+0

Я не sur Как это действительно отличается от другого ответа? – Carpetsmoker

+0

@ Carpetsmoker спасибо за попытку улучшить предыдущий ответ, но я отбросил его из-за неправильного ответа. – J4cK