Mercurial 履歴から ChangeLog を作成する方法

Mercurial には テンプレートが付属しているので hg log -T changelog とすれば出力されるのですけど、そのままでは履歴全部が対象になってしまうこともあって、うまく使うにはちょっとした手間が必要だったりするので、簡単に紹介します。

現在のリビジョンまでを日時順で

現在のワークからたどり着ける過去の履歴を日時の降順で出力するにはこうします。

hg log -T changelog -r "sort(::., -date)"

::. がワークからたどり着けるすべてのリビジョン、 sort(::., -date) でそれを日時の降順でソートします。簡単ですね。