私にとっては、バージョン管理と言えば RCS → CVS → SVN だ。特に、Windows 環境では TortoiseSVN の出来が素晴らしいので、SVN はとても使いやすい。
最近、仕事の都合により、VSS(Visual SourceSafe)を初めて使った。「こっちの方が、こういう理由で素晴らしい」などと言うつもりはない。おそらく、どちらにもメリットデメリットはあるだろう。
しかし、Visual SourceSafe のインターフェースはどうにも理解できない。私が変だと思うところを以下に挙げる。
既定値?
まずは、リポジトリから複数項目の最新バージョンの取得を行ったとときのダイアログだ。
問題は、ダイアログ下部に表示されているコンボボックスの「既定値」というものだ。「既定値」とは一体何なのだろうか。コンボボックスの値は以下のようになっている。

「既定値」とは何を意味するのかがさっぱり分からない。 しょうがないので、ダイアログの「ヘルプ」ボタンをクリックしてみる。
「書き込み可能ファイルの置換」と「ファイル時刻の設定」で既定値のルールが違う。
更に、「書き込み可能ファイルの置換」の既定値が「確認」なら、このコンボボックスには同じ意味の値が二つあるという事になる。無意味だ。
「ファイル時刻の設定」の方はどうか。「Visual SourceSafe オプション」の従うとあるので、オプションを開いてみる。
…また「既定値」である。この「既定値」一体何を表すのか?
この既定値は「Current(要するに「現在時刻」)」と判明。
Visual SourceSafe オプションの設定を「既定値」にしていたら最初のダイアログの「既定値」は「現在時刻」、Visual SourceSafe オプションの設定を「現在時刻」にしていても最初のダイアログの「既定値」は「現在時刻」。同じ事をするのに二つのパターンがある。
この迷走、一体誰が理解できるのか。
「はい」「すべて」「いいえ」「すべて無視」「キャンセル」?
チェックアウトして編集したにも関わらず、チェックアウトの取り消しを行った際に表示されるダイアログ。
「私はたった一つのファイルのチェックアウト取り消しを行った」という事を念頭に置いて、このダイアログの意味を考えてみる。
- 「はい」→ チェックアウトを取り消して、変更を無効にする。
- 「すべて」→?
- 「すべて無視」→?
- 「キャンセル」→ 今、やろうとしている作業をやめる(チェックアウト取り消しの取り消し)。
困ってしまったので「ヘルプ」をクリック。
どうやら、「すべて」と「すべて無視」に関するヘルプはないようなので、想像するしかない。
- 「すべて」→ 多分、複数ファイルの「チェックアウト取り消し」を行った際に「すべてのファイルのチェックアウト取り消して、変更を無効にする」という意味だと思う。だったら、「すべてはい」とかにしてほしい。
- 「すべて無視」→ 挙動的に「キャンセル」との違いが全く分からない。「すべてキャンセル」という意味か? 「キャンセル」でもすべてキャンセルという意味だが…。理解不能。
まとめ
上に挙げた項目以外にも、VSS には、暫く考え込まなければ意味が分からないインターフェースが多い(というか考えても分からないものもある)。これでは、使いこなすのにとても苦労する。