hgext.keywordを有効化して おいたのだが、取扱注意、という話。
yatexをMercurial化するついでに自分用emacs-lispディレクトリも rsyncじゃなくてhgで同期取ろうとRCSとの共存で hg init したのだが、 hgext.keyword を入れたまま突っこんじゃうと Mercurial の ノードIdで上書きされちゃうのね。ってかそのためのモジュールだもん。
xcite.el
とかは RCSid を defconst に入れてプログラム中で使っていたのだが、
これが空っぽになっちゃった。あぶね。すくなくとも $Id$
はよく使っているので、$Id$ というキーワードは隔離した方がいいな。
とりあえず ~/.hgrc では、このくらいにしておこう。
[keyword]
* =
*,v = ignore
[keywordmaps]
Date = {date|rfc822date}
HGid = {file|basename},v {node|short} {date|utcdate} {author|user}
$HGid$ を明示的に書かない限り展開されない、って方が安全か。
hgでしか管理しないモジュールができたらそのディレクトリの
./.hg/hgrc で
[keywordmaps]
Id = {file|basename},v {node|short} {date|isodate} {author|user}
とか書いた方が良さそうだな。
お、rfc822dateよりisodateのほうが短いな。
site-packages/mercurial/templatefilters.py
見ると色々わかる。