で、 darcs のはなし
>ところで上で「ブランチはレポジトリを分けてしまえばよい」という過激な発言をしましたが、ふつうの分散バージョン管理システム(GNU arch とか svk とか)はそういうことはしないようです。あまりよく知らないのですが、ふつうの分散バージョン管理システムではユーザごとにレポジトリがあるようなので。一方、私が最近よく使っている darcs という分散バージョン管理システムでは、そうではありません。
>
>darcs には「変更ベース」とか「パッチの理論」とか、いろいろ謎なワードが存在して他人を煙にまくことができるわけですが、それ以外の非常に大きな特徴として、ソースツリーごとにレポジトリが存在するという特徴があります。たとえばレポジトリを cp -a すればそのまんま新しいレポジトリができます。極めて単純なので極めて強力なモデルだと思います。
>
>でもそれって、同じようなメタデータがたくさん出来るから、ディスク容量的にはあんまり便利じゃないんじゃないか、という気もします。確かにそうなんですが、 darcs get で同一ディスク上のレポジトリをコピーするときは、変更データなどの共有可能なデータはハードリンクして無駄を省く、とかいったことをしてくれます。つまり、やりようによってはさほど無駄はありません。まあ最近はディスクも安いですしね。
>
>darcs は、あんまり自分で何もかもやるというシステムではなくて、細かいツールをいろいろ使う必要があります。面倒だしきちんとセットアップするにはdarcs ではないツールが必要です。たとえばパッチが送られてきたときに自動的にそのパッチをレポジトリに反映させるための procmail のレシピ、とかがマニュアルに載っていたりとかして正直「面倒くせえよ!」と思います。けれども、おかげさまで非常にシンプルなモデルになっているのは長所ではないかと思います。
>
>そういえば git ってどうなんかな。
>