VSSが相変わらずフルボッコすぎる件について

「ゲームコーディング・コンプリート」より引用。
常識的に考えて嫌われすぎだろ……。

Microsoft製Visual SourceSafe

 Visual SourceSafeはMicrosoftのVisual Studioで使われているソースリポジトリである。「安かろう悪かろう」の良い例だ。
多くの人がこの製品に惹かれるのは、GUIインターフェイスが使いやすく、セットアップがとても簡単だからだ。タイプするのが遅くなければ、10分で起動できる。
 SourceSafeの一番の問題点は、ソースリポジトリをどうやって格納するかだ。リポジトリが格納された共有ファイルを探ってみると、AAAAAAAB.AAAとかAAACCCAA.AABのような奇妙な名前のついたファイルからなる大きなツリー構造のデータディレクトリがある。こうしたファイルの中身はプレーンテキスト(バイナリ化されていない)かそれに近い形だ。だからこの奇妙な名前のつけ方はセキュリティ上の理由からではない。理由をご存じの方はメールで教えてほしい。気になって仕方がない。
 それぞれのファイルは、リポジトリ内のファイルの、前のリビジョンとの差分を保持する。ファイルを改訂すれば新しくSourceSafeのファイルを作り、例の変な名前をつける。注意して見ていると、ソース変更が1文字程度の簡単なものであれば、作られるファイルの多くはかなり小さいとわかる。それなのに、SourceSafeがネットワークドライブに確保するスペースの量は、控えめにいっても容認できる限界を超えている
 速度面でも深刻な問題がある。小さなプロジェクトでさえ数百のファイルの規模になり、大きいプロジェクトにいたっては何十万ファイルにもなり得る。SourceSafeはデータファイルをリポジトリディレクトリ構造に格納するので、ファイルの開閉にかかるアクセス時間は極めて長く、プログラマは最新のファイルかどうかをチェックするだけでも果てしなく待たされることがある。
 SourceSafeはブランチをサポートしておらず(ブランチについてはあとで触れる)、枝分かれさせたかったらツリー全体の完全なコピーを作らなければならない。お話にならない。
 SourceSafeにリモートでアクセスしようなどと思ってはならない。何千ものファイルをのろのろしたインターネットを介して検索するなどもってのほか。T1回線でもダメだ。最終的にSourceSafeのファイルインデックスデータベースは動かなくなり、ちょっとした分析ユーティリティにも降参し、やり直しだといってくる。私は以前、壊れたデータベースでプロジェクトを乗り切ったことがあるが、壊れた部分の影響が、もはや必要のない古いバージョンのファイルだけにとどまっていた。不幸中の幸いだった。
 SourceSafeには自ら壊れる癖もある。リポジトリ全体を役立たずの不可解なファイルの山にする。これは特に、サウンド、テクスチャ、ビデオなどの大きなバイナリ資源を格納するときに起こる。
 まだSourceSafe以外のものを使おうという気になってなければ、こういいたい。よく調べてほしい。Microsoft自身が使わないという噂を耳にしたことがある。もちろん単なる噂にすぎないかもしれないが、他の選択肢も検討してみる余地はある。

バージョン管理システムの紹介で、ダメだししか書いてないよー!


ただ、この本にもバグはあるので注意。
あまりにも典型的なバグをばらまかないでください - 好き勝手に・げーあにん?
など参照のこと。

ゲームコーディング・コンプリート 一流になるためのゲームプログラミング

ゲームコーディング・コンプリート 一流になるためのゲームプログラミング

  • 作者: Mike Mcshaffry,手島孝人,山下恵美子,依田光江,大貫宏美,廉典子,田中幸,宮本寿代
  • 出版社/メーカー: ソフトバンククリエイティブ
  • 発売日: 2010/03/31
  • メディア: 大型本
  • 購入: 17人 クリック: 243回
  • この商品を含むブログ (26件) を見る