Cygwinにgit ver 1.8.3.4を導入する
Cygwinに付属するgitのバージョンは1.7.9。 理由不明ですが、長いことアップデートされていません。
一方、Cygwin Portsでは、現在version .1.8.3.4のgitがサポートされています。
別に古いバージョンでも良いっちゃ良いのですが、git difftoolの--dir-diff
という超絶便利機能が、ver 1.7.11からしかサポートされていないという
悲しい状況のため、これを導入します。
git ver.1.8.3.4の導入
setup.exeを-Kオプション付きで起動します。setup.exeのミラーサイトを追加するオプションの模様
cygstart -- /path/to/setup-x86.exe -K http://cygwinports.org/ports.gpg
いつものようにポチポチと勧め、Choose Download Site(s)まで来たら、User URL欄に、ftp://ftp.cygwinports.org/pub/cygwinports
を入力してAddします。
これで、導入できるパッケージ一覧にCygwin Portsの内容が反映されるようになります。
git-completionの導入
同様に、git-completionも導入できます。
どうも、ver 1.7.9以降で、__git_ps1を表示させるためのシェルスクリプトが、git-prompt.sh
という形式で分割されたようです。
が、何故かこのファイルが含まれていません。仕方がないので、gitのソースから取り出しましょう。git ver1.8.3.4を、sourceにもチェックを入れて導入し直します。
/usr/src/git-1.8.3.4.tar.gz
に、ソースコードがインストールされるため、これを解答し、インストールします。
tar zxvf /usr/src/git-1.8.3.4.tar.gz cp git-1.8.3.4/contrib/completion/git-prompt.sh /etc/bash_completion.d/
contribには、他にも色々な機能が詰まっているみたいなので、導入してみるのもいいかもしれません。
__git_ps1用の修正
.bashrc or .bash_profileを新環境に合わせて修正します。
git difftool --dir-diffをWinmergeに対応させる
git difftoolにWinmergeを利用するようにします。
以下のようなスクリプトを何処か(~/bin/等)にインストールし、.gitconfigで、スクリプトを呼び出すように修正します。
これでgit difftool --dir-diffが使えるようになりました。