Visual Studio .NETによるチーム開発事始め

Visual SourceSafeによるソース管理(準備編)

一色 政彦
2003/10/08
Page1 Page2 Page3 Page4

■ソース管理ツールはバージョン管理にも有効

 ソース管理ツールの機能は、今述べたファイルの上書きを防止する「ソース・コード管理システム(Source Code Control System)」だけでない。ソース管理ツールはソース・ファイルの変更の履歴をすべて記録しているので、記録された特定の時点までさかのぼってソース・ファイルを取得できる。よって、ある特定の時点でのプロジェクトのソース・ファイルに「バージョン」を設定しておくと、その後いつでも、その「バージョン」を設定した時点のプロジェクトのソース・ファイルを取得することができる。つまり、ソース管理ツールは、プロジェクトのバージョンを管理する「バージョン管理システム(Version Control System)」の機能も兼ね備えているのだ。

■本稿の内容について

 以上のような機能を備えたソース管理ツールの1つが「Microsoft Visual SourceSafe(以降、VSS)」である。VSSはマイクロソフトの開発環境Visual Studio .NETの標準のソース管理ツールで、Visual Studio .NET(以降、VS.NET)のIDE(Integrated Development Environment:統合開発環境)に統合されており、簡単にVS.NETから利用することができる。本稿では、このVS.NETとVSSを組み合わせて使う方法について解説する。

 なお、今回使用するVS.NETのバージョンおよびエディションは、「2002 Professional」である。VS.NET 2002とVS.NET 2003、またProfessional、Enterprise Developer、Enterprise Architectの各エディションの間には、ソース管理機能に差はない。VS 6.0はVS.NETとソース管理のメニュー構成が違うが、ほぼ同じ機能を実行できるので、本稿が参考になるだろう。

 一方、VSSのバージョンは「6.0c」である。VSS は6.0cからVS.NETに対応しているので、VSSのバージョンが6.0、6.0a、6.0bの場合は6.0cにアップグレードすることをお勧めする。Visual SourceSafe 6.0 Service Pack 6(以降、VSS SP6)をインストールすると、VSS 6.0cへアップグレードが可能だ。VSS SP6はマイクロソフトのサイトからダウンロードできる。VSS SP6の詳細についてはこちらを参照していただきたい。

 VSSは単体製品として購入できるが、次のようなパッケージにも同梱されている(ただし、ユーザー数分のライセンスが必要)。

Visual SourceSafe 6.0を同梱している製品パッケージ
Visual Studio 6.0 Enterprise Edition
Visual Studio .NET 2003 Enterprise Developer、Enterprise Architect
Visual Studio .NET 2002 Enterprise Developer、Enterprise Architect
Office 2000 Developer、Office XP Developer
VS.NET 2002、2003のProfessionalエディションには同梱されていないので、注意してほしい。

 なお、Visual Studio .NET Enterprise Developer、Enterprise Architect のバージョン2002に同梱されているVSSは6.0cであり、また同製品のバージョン2003で同梱されているVSSは6.0dであるので、いずれもアップグレードの必要はない。6.0dは、6.0cからのマイナー・アップグレードで、いつくかのバグ修正が行われている。バグ修正の内容はマイクロソフトのサイト(英語)を参照してほしい。

Visual SourceSafeの概要

 それではVSSについて見ていこう。

■VSSによるソース管理(リビジョンとバージョン)

 VSSは、プロジェクトのソース・ファイルを管理するためのツールである。VSSはプロジェクトのソース・ファイルの変更履歴(リビジョン:revision)を管理する。この変更履歴は、VSS独自のデータベース(以降、VSSデータベース)に記録される。

 「変更履歴(revision)」は「バージョン(version)」とは異なるものである。「バージョン」はある特定時点でのプロジェクト全体に対し、人間(プロジェクト管理者など)が手動で割り当てる履歴のことだが、「変更履歴(revision)」はソース・ファイルに変更がある度にVSSが自動的に割り当てる履歴のことだ。

 「変更履歴」はソース変更のログという役割に等しい。それに対し、「バージョン」はプロジェクト全体のある時点でのスナップショットに等しい。バージョンの名称(例えば「6.0c」)は、そのスナップショットに割り当てた「ラベル(label:目印となる名前)」と見ることができる。実際にVSSは、ある特定時点のプロジェクトにラベルを貼り付けることで、バージョンを管理する仕様になっている。しかも、VSSでは、その「バージョンのラベル」を指定して古いバージョンのプロジェクトを自由に取り出すことができる。もちろん、「変更履歴」を指定して、その変更時点のソース・ファイルを取得することも可能である。

VSSデータベースに格納される変更履歴
ファイルに変更を加える度に、変更履歴が保存される。特定の段階でラベルを設定しておくことで、その時点のソース・ファイルを簡単に取り出すことが可能。

■VSSが管理できるソース・ファイルの種類

 VSSが管理できるソース・ファイルの種類は次の2つである。

  • テキスト・ファイル(拡張子が.txt、.cs、.cpp、.vb、.xml、.htmlなどのファイル)
  • バイナリ・ファイル(.jpg、.gif、.bmp、.exe、.dllなど)

 VSSはバイナリ形式のファイルを管理できるので、VSSが正常に管理できないテキスト・ファイル(例えば、UnicodeやUTF-8形式のテキスト・ファイル)は、バイナリ・ファイルとして認識するように設定すれば、そのソース・ファイルもVSSで管理できるようになる(これについては次回以降で解説予定)。これによって、プロジェクトのソース・ファイルをすべて確実に管理することができるので、VSSはあらゆるタイプの開発プロジェクトで利用することができる。


 INDEX
  Visual Studio .NETによるチーム開発事始め
  Visual SourceSafeによるソース管理(準備編)
    1.チーム開発におけるソース管理の問題
  2.Visual SourceSafeでバージョン管理
    3.Visual Studio .NETのIDEでソース管理
    4.Visual SourceSafeサーバのインストール
 
インデックス・ページヘ  「Visual Studio .NETによるチーム開発事始め」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間