git difftool で WinMerge を起動する方法 for Cygwin

cygwin なので cygpath での変換が必要。

$ git config --global diff.tool WinMerge
$ git config --global difftool.WinMerge.cmd \
"\"/cygdrive/c/Program Files (x86)/WinMerge/WinMergeU.exe\" \
-u \`cygpath -am \"\$LOCAL\"\` \`cygpath -am \"\$REMOTE\"\`"

$ git difftool -y
==> WinMerge で index と working tree を比較。

$ git add -u
$ git difftool --cached -y
==> HEAD と index を比較。

$ git difftool -y HEAD
==> HEAD と working tree を比較。
  • HEAD: git commit したの。
  • index: git add したの。まだ commit していないの。
  • worikng tree: ふつうに作業してるディレクトリツリーにあるの。