SubversionとVisual Studio
Visual Studioへのサポートに関しては、これと言って特筆すべき点はありません。SubversionもTortoiseSVNも、Visual Studioの外部で別個に動作するからです。従って、Visual Studioで使用するファイル同士の関係(例えば.aspxファイルとaspx.csファイルの関係)については、Subversionや TortoiseSVNは一切把握していません。各ファイルはいずれも、独立した別個の存在として扱われるため、ファイル同士の関係については自分で管理し、すべてのファイルのチェックインや更新を明示的に行う必要があります。
プロジェクトやソリューションを扱うときには、それらに含まれる設定にも要注意です。他のユーザーで問題が生じる設定がないかどうか、念入りに確認する必要があります。例えば、SQL Serverのローカルコピーに接続するときのサーバ名が他のユーザーと違ったり、ローカルに作成したWebの仮想パスがメインアプリケーションと一致しなかったり、ローカルパスがリポジトリのプロジェクトと異なったりするケースがあります。
場合によっては、プロジェクトファイルやソリューションファイルは、チェックアウトしたらずっとそのままにする必要があるかもしれません。ローカル設定に応じて変更した部分をリポジトリに反映させないためです。チームのすべての開発者が共同で使えるような設定にできたら理想的ですが、必ずしも可能とは限りません。.configファイルの中で各自の個別対応が必要な部分をドキュメントに残しておくと、新しく加わった開発者にも分かりやすく、非常に有効です。
Visual SVN
Visual Studioの中でソース管理機能を直接使用したければ、VisualSVNという選択肢があります。TortoiseSVNの機能をVisual Studioに直接統合できるツールです(図14を参照)。VisualSVNは既存のSubversionのフォルダに対して動作するもので、 Visual Studioのバージョン管理プロバイダ(SCC)は使用しません。TortoiseSVNのAPIを利用して、リポジトリのデータを直接取得します。

VisualSVNでは、TortoiseSVNの機能のほとんどをVisual Studioの中から直接利用でき、大半の操作ではTortoiseSVNのダイアログが表示されます。統合の利点の1つが、Visual Studio .NETのファイルの種類が認識され、プロジェクトファイルがソース管理に自動で追加される点です。このおかげで余分な手間が省け、Visual Studioの標準的なプロジェクトワークフローに従ってプロジェクトの構成要素を扱えます。特に楽なのが新規プロジェクトの作成です。[Add to Subversion]を選択するだけで、フォルダの作成とファイルのチェックアウトを自動で行ってくれます。
私はVisualSVNをしばらく前から使っているものの、今でもふと気が付くと、エクスプローラのシェル統合機能を使ってしまうことがたびたびあります。その方が手っ取り早いからです。とはいえ、ファイルの状態をVisual StudioのIDEで確認できるのは確かに便利です。また、新しいファイルを頻繁に追加する場合にも役立ちます。VisualSVNがファイルの関連付けを認識し、関連する全ファイルを自動で追加してくれます。
VisualSVNは有料のソフトウェアで、ユーザー1人につき49ドルかかります。でも、Visual Studioへの統合を必要としているなら、それだけ払う価値は十分にあります。
Visual StudioにSubversionの機能を追加するアドインは他にもいくつかあります。その1つが、Ankhというフリーのツールです。ただ、私の所ではいくつか問題があり、ずっと前から試していません。Ankhの開発はずいぶん前に止まったようですので、もはや過去のツールと言えるのかもしれません。
開発作業を大きく変える恵みのツール
Subversionを導入して、私の開発作業はがらっと変わりました。まさに恵みのツールです。私はこれまで、ソース管理を断続的にしか使ってきませんでした。Visual Studio用のさまざまなソース管理ツールでいろいろな問題に遭遇したからです。プロジェクト開発や個人的な作業で何種類かのツールを使ってきましたが、問題の大半は、各ツールではなくVisual Studioそのものに起因しているように感じられました。それで、しばらくソース管理を使っても、面倒になってやめてしまう、ということを繰り返してきました。
しかし、Subversionを使い始めてからは、問題点やプロジェクトの互換性などに関して、何の不満もありません。複数のソース管理リポジトリにまたがってプロジェクトを使うのにも支障はなく、納得の出来栄えです。今では私は、すべてのプロジェクトでソース管理を利用しています。完全にローカルで行う自分用の作業であってもです。ソース管理は、面倒な厄介者ではなく、縁の下の力持ちとして、生産性を高めてくれなくてはと思います。その点、Subversionは言うことなしです。
この記事では、Subversionの導入から基本操作まで、初歩的な内容のみを取り上げました。Subversionは、最先端のソース管理システムに求められる高度な機能も搭載しており、必要に応じて利用できます。しかし最初のうちは、基本機能を使い込んで、操作や仕組みへの理解を十分に深めておきましょう。基本機能だけでも、ソースコードのセキュリティ強化や複数の開発者での適切な共有など、導入のメリットは極めて絶大です。
機能面では、他にも話題はたくさんあります。詳しくは、SubversionとTortoiseSVNのそれぞれのドキュメントに包括的な説明があります。Subversionのパワーを、ぜひご自身の目でお確かめください。
