2

端末から kdiff3 を開き、kdiff3 の引数として 2 つのローカル ファイルを渡そうとしています (git リポジトリにはありません)。Kdiff3 を git diff ツールとして使用しています。これは、現在のバージョンとレポ ヘッドのバージョンを比較するのに完全に機能します。ただし、端末からローカル ファイル (git リポジトリではなく) を引数として kdiff3 を実行すると問題が発生しFSPathMakeRef(local_kdiff_path/kdiff3.app ) failed with error -43.、参考までに、kdiff3.app パスの場所は git diff ツールに対して定義したものとまったく同じであるというエラーが表示されます。エイリアス。私が試した2つの方法に従ってくださいが、どれも機能しません:

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'

この問題を解決する方法を教えてください。

4

1 に答える 1

2

問題は、定義したパスであるbash script.bash_profile、アプリケーションの場所が見つからないことです。引数は Linux または Windows で簡単にアクセスできますが、Mac 固有のスクリプトは少し異なります。

MAC OS-X ソリューション

次のように簡単な bash スクリプトを作成し、引数を指定します。

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

Linux ソリューション

.bashrc または .aliases ファイルに次のコマンドを追加します。

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'
于 2015-11-24T01:03:15.587 に答える