tl;dr
本日最新の Homebrew でインストールし直せば、ちゃんと diff-highlight
の実行ファイルも生成されるようになり、この問題は発生しなくなりました _(:3」∠)_
問題と解決
昨日(2017/07/13)
.gitconfig
で diff-highlight
を使うように設定してたが git 2.13.2
から 2.13.3
にアップグレードしたところ、以下のようなエラーが発生するようになった。
[pager]
log = diff-highlight | less
show = diff-highlight | less
diff = diff-highlight | less
$ g diff
diff-highlight | less: diff-highlight: command not found
$ diff-highlight
zsh: permission denied: diff-highlight
diff-highlight
自体は、git-core 配下の実行ファイルを /usr/local/bin
にシンボリックリンクを貼って使っていたが
$ ll /usr/local/bin/diff-highlight
lrwxr-xr-x 1 tmd45 admin 48 7 13 16:58 /usr/local/bin/diff-highlight@ -> /usr/local/share/git-core/contrib/diff-highlight/diff-highlight
参照先のディレクトリから実行ファイルが消えていた。
$ ll /usr/local/Cellar/git/2.13.3/share/git-core/contrib/diff-highlight
total 56
drwxr-xr-x 8 tmd45 admin 272 7 13 07:59 ./
drwxr-xr-x 30 tmd45 admin 1020 7 13 07:59 ../
-rw-r--r-- 1 tmd45 admin 28 7 13 07:59 .gitignore
-rw-r--r-- 1 tmd45 admin 5865 7 13 07:59 DiffHighlight.pm
-rw-r--r-- 1 tmd45 admin 365 7 13 07:59 Makefile
-rw-r--r-- 1 tmd45 admin 8008 7 13 07:59 README
-rw-r--r-- 1 tmd45 admin 211 7 13 07:59 diff-highlight.perl
drwxr-xr-x 5 tmd45 admin 170 7 13 07:59 t/
使うなら自分で make してくれという仕様になった様子。
Warning: if you use diff-highlight from git’s contrib, the executable now requires being built. Must cd into diff-highlight dir and `make`
— Jason Karns (@jasonkarns) 2017年7月13日
本日(2017/07/14)
Homebrew 側が Formula で対応してくれました(上記 Issue 参照)。めでたしめでたし。