Mercurialでファイルのパーミッション変化を表示

Mercurialって(当然ながら)パーミッションの変化を検出してくれるが,デフォルトでは Before & After を表示してくれないのね...

$ hg init bar
$ cd bar
$ cp /proc/cpuinfo .
$ hg add cpuinfo
cpuinfo を追加登録中
$ hg ci -m "Initial commit."
cpuinfo
コミット対象リビジョン 0:54ca5bea1389
$ chmod a+x cpuinfo
$ hg st
M cpuinfo
$ hg di
$ hg di cpuinfo
$ wtf???
zsh: command not found: wtf???

patch(1) とかとの互換性のためにデフォルトでは抑制されてて,見たいなら「Git形式」を明示的に指定する必要があるらしい:

$ hg di -g
diff --git a/cpuinfo b/cpuinfo
old mode 100644
new mode 100755
$ hg di --help
...
    git 拡張差分形式で表示するには -g/--git を指定します。 詳細は "hg help
    diffs" を参照してください。
...

参考までにGitの方だとこんな感じ:

$ git init foo
Initialized empty Git repository in /tmp/foo/.git/
$ cd foo
$ cp /proc/cpuinfo .
$ git add cpuinfo
$ git commit -a -m "Initial commit."
[master (root-commit) 22543f1] Initial commit.
 1 files changed, 100 insertions(+), 0 deletions(-)
 create mode 100644 cpuinfo
$ chmod a+x cpuinfo
$ git status -sb
## master
 M cpuinfo
$ git diff
diff --git a/cpuinfo b/cpuinfo
old mode 100644
new mode 100755