現在我が家ではsubversionでレポートから書類からソースファイルまで全部管理してるわけですが、ちょっと不便な点があります。

  • オフラインだとバージョン管理できない
  • 複数人で開発する場合、branchとかつくるのが割りと面倒
  • 公開リポジトリと非公開リポジトリをいったり来たりすることがあるので、不便

オフラインでできないというのは、自分が常に公開サーバのつなげる環境にあるわけではなかったり、そもそも扱い厳重注意で外に公開してないサーバにあったり、ネットにつながってないときといった感じですね。
バージョン管理に慣れてしまうと、バージョン管理できない状態というのがやたら不便に感じます。
これはいけていない。

複数人で開発する場合のbranchがめんどくさい。これは、単に運用の問題でしかないわけで、物理的に解決可能ではあるんですが、めんどいもんはめんどい(ぉぃ

公開リポジトリと非公開リポジトリのの行き来の問題。
これは自分ひとりでやってたプロジェクトをある日突然公開する場合とかは、プライベートリポジトリとか仕事用リポジトリ(今はバックアップとって消したけど)と別に作ることがあるということですね。
割と個人的都合。
基本的にプライベートな情報は全部ひとつのリポジトリで管理しているため、切り分ける必要があるわけです。
ただ一方で単に思いついただけの簡単なスクリプトとかのためにいちいちリポジトリセットアップしてたりしたら、管理しきれないし、わけわかんなくなります。

こういった事情からいくつかの候補を検討中です。いわゆる分散リポジトリというもの。

svkはsubversionを分散管理できるように拡張したもの。
詳しい動作はgihyoにあるのでそちらを参考に。Subversion+svkでらくらく分散リポジトリ
特徴としては、既存のsubversionサーバをいじらないですむことでしょうか。

mercurial / gitは最初から分散管理をすることを売りにしているリポジトリサーバ。

どっちも結構大きなプロジェクトで使われてるようです。
gitはlinuxのカーネルやrails、Xとかcompizとか。mercurialはNetBeansなど。

以下関連記事のリンクを並べておきます。

comparison of revision control software -wikipedia

Subversion+svkでらくらく分散リポジトリ

Mercurial – wikipedia

Mercurial: an alternative to git [LWN.net]

Mercurial Project – google tech talk

gitを使ってソースコードを管理する ibm

OpenSolarisのscm比較

Subversion or CVS, Bazaar or Mercurial? – Java world

bitkeeperからgitへ、ソースコード管理ツール大変更