Fossil via SQLite
今、SQLiteのソースを読んだりしているのだが、ふと、昔のソースはどんなだったかが知りたくなったので、探しているとhttp://www.fossil-scm.org/index.html/doc/trunk/www/index.wiki:Fossilなる分散CVSを使っていることをが分かった。なんかもう、最近色々ありすぎてすごいねー。私なんかは、未だにドキュメント管理はCVSだというのに。SVNなんて、あっという間に過ぎ去った感があるし。
とりあえず、コンパイルとか面倒なので、http://www.fossil-scm.org/download.htmlに、Mac OSX用のバイナリがあるようなので、ダウンロードして、ダブルクリックしたが、よくわからない状態になった。ので、port fossilとやったら、とりあえず入った。
Fossilは、軽く説明を読む限りgitのようなイメージで使えるみたい。ただ、SQLiteのホームページを探したけれど、repository-filenameに何を指定すれば良いのかよくわからない。で、ちょっと調べてみるとhttp://osdir.com/ml/sqlite-users/2010-08/msg00056.htmlというメーリングリストがあったので、やってみたら出来ました。
fossil clone http://www.sqlite.org/src sqlite.fossil fossil open sqlite.fossil fossil update 1cdfe66714
という感じのようです。fossilのとりあえずの使い方ページは、Fossil: Fossil Quick Start Guideにあります。欲しい情報は、かなり初期の頃のソースなので、それを探してみます。ホームページのリリースノートには、2004年4月からversion3をチェックインみたいなことが書いてありました。fossilでは、timelineというオペレータにbeforeとdateを付けることができるようなので、2004年5月からさかのぼってみました。-nは、取得するエントリ数のようなんですが、だんだん上げていって10000になると、cvsのころのファーストコミットが現れました。
$fossil timeline before "2004-05-23 00:00:00" -n 10000 ... 14:26:00 [6f3655f79f] initial check-in of the new version (CVS 1) (user: drh tags: trunk) 14:16:00 [704b122e53] initial empty check-in (user: drh tags: trunk) $fossil update 6f3655f79f ... updated-to: 6f3655f79f9b6fc9fb7baaa10a7e0f2b6a512dfa 2000-05-29 14:26:00 UTC tags: trunk comment: initial check-in of the new version (CVS 1) (user: drh) "fossil undo" is available to undo changes to the working checkout. <||