仕事では、ソース管理にVB6やVB.NETと親和性の高いVSSを利用している。VSSはVSSでなかなか使い勝手がよく(特にソース差分を閲覧するとき)、重宝している。

 しかし、以前からもう1つ気になるオープンソースバージョン管理システムがあった。SubVersionだ。
なぜ気になったのかというと、こんなの(
xdocfdiff)があったからだ。

 ファイル形式には2つの種類がある。テキスト形式とバイナリ形式だ。テキスト形式は文字コードから構成されるファイルのため、差分を取りやすい。しかし、バイナリ形式になると差分を取ることは不可能に近い。せいぜい、変化があったかどうかがわかるぐらいである。

 しかし、上に挙げた「xdocfdiff」というツールは、SubVersionのWindowsシェル拡張を利用したクライアントソフトであるTortoiseSVNで利用することが出来る。このxdocfdiffを使うと、ワードやエクセルといったバイナリファイル上に存在するテキストを抽出し、それをSubVersion上で管理しているファイルや、ローカルファイルと比較して差分を表示することが出来る。たとえば、エクセルのファイルを変更した差分を表示させると、下記のようなイメージになる。

これはかなり便利。
VSSの6.0系ではこんな芸当は不可能だ(VS2005は不明だけど)。しかも、
SubVersion自体は必要じゃなく、TortoiseSVNxdocfdiffだけで使える。つまり、フリーで構築できる(オープンソースだから当たり前)。

Viva、TortoiseSVNxdocfdiff

これからは、仕様書は全てSubVersionで蓄積していくことにしよう。