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

Visual SourceSafeを使いこなす

デジタルアドバンテージ
2004/02/21
Page1 Page2 Page3 Page4

3. バージョン・ラベルの設定と取得

 VS.NETのソース管理機能を使うことで、ソース・コードの変更履歴(リビジョン)がVSSデータベースに格納される。これにより、すべてのコード変更が管理されるので、どの時点のファイルでも取得(復元)できるようになっている。

 しかし、コードを確定して実際のプロダクトをリリースし、その後も開発を続けてバージョン・アップを行うような場合、すべてのリビジョンの中から、特定のプロダクト・リリース時点のリビジョンを見つけ出すことはなかなか大変な作業である。

 そこでVSSでは、ある特定の時点(例えばプロダクト・リリース時点など)のリビジョンに、バージョン・ラベルを割り当てる機能が搭載されている。このバージョン・ラベル機能を使えば、コードを変更した単位であるリビジョンではなく、実際のプロダクトをリリースしたバージョンを指定して、ソリューションを取得できるようになる。このリビジョンとバージョンの違いや概念については、本連載で解説済みだ。もう一度意味を再確認したい場合はそちらを参考にしてほしい。

 それでは実際に、ソリューションにバージョン・ラベルを設定する手順を解説していこう。

■バージョン・ラベルの設定

 バージョン・ラベルの設定は、VSSエクスプローラまたはVSSのコマンドライン・ツールから行うことができる。しかし残念ながら、VS.NETからは行うことができない。ここでは、VSSエクスプローラを使ってバージョン・ラベルを設定する方法を示す。コマンドライン・ツールからの設定方法は割愛させていただく。

 まず最初にVSSエクスプローラを起動する。起動したVSSエクスプローラで、バージョン・ラベルを設定したいソリューションのフォルダを選択し、そのソリューション・フォルダ上で右クリックしてコンテキスト・メニューを表示し、そのメニューの中から[ラベル]を実行する。すると[ラベル]ダイアログが表示されるはずだ。そのダイアログを使って、バージョン・ラベルを設定する。

[ラベル]ダイアログ
VSSエクスプローラでソリューションを選択してバージョン・ラベルを設定する。
  ソリューションのフォルダ(この例では「$/BlogX」)を選択して、そのフォルダの上で右クリックする。
  コンテキスト・メニューが表示されるので、そのメニューの中から[ラベル]を選択する。
  [ラベル]ダイアログが表示されるので、[ラベル]の名前(この例では「Version 1.1 Beta」)を入力する。
  [コメント](この例では「バージョン1.1のベータ版」)を書く。
  [OK]ボタンをクリックする。

 以上でバージョン・ラベルの設定は完了だ。これで、いつでもバージョン・ラベルを指定して、特定時点のソリューションを取得できるようになった。

 それでは次に、実際に「バージョン・ラベルを指定したソリューションの取得」に移ろう。

■バージョン・ラベルによるソリューションの取得

 バージョン・ラベルを指定したソリューションの取得も、ラベルの設定の場合と同じようにVSSエクスプローラやVSSのコマンドライン・ツールで行うことができる。ここでは、VSSエクスローラを使った方法のみを紹介する。

 まず最初に、取得したソリューションを格納するための作業フォルダを設定する必要がある。これには、VSSエクスプローラでソリューションのフォルダを選択した状態で、メニューから[ファイル]―[作業フォルダの設定]を実行する。すると、[作業フォルダの設定]ダイアログが表示されるはずだ。そこで、作業フォルダの設定を行う。なお、この作業フォルダは1度設定してしまえば、それ以後は設定する必要がない。

[作業フォルダの設定]ダイアログ
VSSエクスプローラから取得したソリューションを格納するための作業フォルダを設定する。なお、あらかじめ作業フォルダを設定するソリューション・フォルダを選択しておく必要がある。この作業フォルダはフォルダごとに設定できる。なお、この画面の例ではメニューを表示してその下の画面が見えなくなってしまったため確認することはできないが、VSSエクスプローラのツリー表示で「$/BlogX」を選択している。
  メニューから[ファイル]―[作業フォルダの設定]を実行する。
  [作業フォルダの設定]ダイアログが表示されるので、[フォルダ名](この例では「C:\WORK」)を入力する。
  [OK]ボタンをクリックする。

 次に、取得するソリューションのバージョンの一覧を表示する(リビジョンは表示しない)。これには、VSSエクスプローラでソリューション・フォルダを選択したまま、そのフォルダを右クリックし、そこで表示されるコンテキスト・メニューの中から[履歴の表示]を実行する。そうすると[プロジェクトの履歴表示オプション]ダイアログが表示される。このダイアログで、[ラベル付きバージョンのみ]チェック・ボックスにチェックを入れて、[OK]ボタンをクリックする。

[プロジェクトの履歴表示オプション]ダイアログ
VSSエクスプローラの[履歴の表示]機能で、変更履歴(リビジョン)の一覧を表示するときに、その表示オプションを設定する画面。今回の例では、すべての履歴(リビジョン)ではなくバージョンだけを表示したいので、バージョン・ラベルが設定されている履歴だけ(画面の例では「ラベル付きバージョンのみ」)を表示するように指定する。
  ソリューションのフォルダ(この例では「$/BlogX」)を選択して、そのフォルダの上で右クリックする。
  コンテキスト・メニューが表示されるので、そのメニューの中から[履歴の表示]を実行する。
  [プロジェクトの履歴表示オプション]ダイアログが表示されるので、[ラベル付きバージョンのみ]チェック・ボックスにチェックを入れる。
  [OK]ボタンをクリックする。

 すると[プロジェクトの履歴]ダイアログが表示されるはずだ。このダイアログの履歴の一覧から取得したいバージョン・ラベルを選択して、[取得]ボタンをクリックする。次に、取得先フォルダを指定するための[取得]ダイアログが表示されるので、そこでソリューションを取得するフォルダを指定して[OK]を実行する。なお取得するフォルダには、先ほど指定した「作業フォルダ」が最初から入力されているのでそのままでよいはずだ。ここで取得するフォルダを入力できるなら、作業フォルダは指定しなくてもよいような気がするかもしれないが、作業フォルダを入力しないと[取得]を実行できないので、事前に作業フォルダを設定しておく必要がある。

[プロジェクトの履歴]ダイアログと[取得]ダイアログ
履歴の一覧から取得したいバージョン・ラベルを選択してから取得先フォルダを指定する。
  履歴の一覧から取得したいバージョン・ラベルを選択する。
  [取得]ボタンをクリックする。
  すると、[取得]ダイアログが表示されるので、ソリューションの[取得先]を入力する。ただしここには「作業フォルダ」で指定した値が最初から入力されているのでそのままでよいはずだ。
  ソリューション全体を取得するための[サブプロジェクトも対象]チェック・ボックスにチェックを入れる。
  取得するソリューションはツリー構造を維持したまま取得したいので、[ツリー構造の作成]チェック・ボックスにもチェックを入れる。
  デフォルトでは取得したファイルは読み取り専用になるが、このチェックを入れると書き込み可能な状態でファイルを取得できる。
  このダイアログを次回から表示したくない場合はチェックを入れる。取得内容を毎回変更したいような場合には、このチェック・ボックスはチェックを入れないことをお勧めする。もしチェックを入れた場合、再度表示させたい場合はの[取得]ボタンを押すときに同時に[Shift]キーを押す。
  [詳細設定]ボタンを押すと、[ファイル時刻の設定]と[書き込み可能ファイルの置き換え]という設定項目が表示される。これらの項目はデフォルトでは「既定値」になっているので、通常は何も変更する必要はないだろう。
  [OK]ボタンをクリックする。

 以上で、取得先の場所にソリューション全体を取得できる。

 今回、「VS.NET+VSSによるソース管理」の応用的な内容として、多重チェックアウト、ファイルの追加と削除、バージョン・ラベルの設定と取得を解説した。本連載の最終回となる次回では、バッチ・ファイルによる処理の自動化、VS.NET 2003とVSS6.0dで導入されたソリューション・ルートの概念について紹介し、最後に次期VS.NET“Whidbey”とともに提供される予定の次期VSSについても少し触れる。次回もご期待いただきたい。End of Article


 INDEX
  Visual Studio .NETによるチーム開発事始め
  Visual SourceSafeを使いこなす
    1.多重チェックアウト・モードでのチェックアウト
    2.多重チェックアウト・モードでのチェックイン
    3.ソース管理への追加と削除
  4.バージョン・ラベルの設定と取得
 
インデックス・ページヘ  「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 記事ランキング

本日 月間