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

効率のよいソース管理を実現しよう

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

3. ピン設定および共有/分岐について

 VSSでは、ピン設定や共有/分岐という機能が存在する。これらの機能を使えば、ソースをより柔軟に管理できるようになる。例えば、プロジェクト間でソース・ファイルやソース・プロジェクトを共有したり、バージョンごとに平行して同時に開発を行ったりできる。ここでは、それらの機能の利用方法について少しだけ触れておく。

■一時的に過去のファイルに戻すピン設定

 実際の開発の場面では、最新の機能ではなく、少し前の機能を有効にしたい場合があるだろう。例えば、最新の機能がほかの機能とうまく整合が取れていないため、その最新の機能を組み込めないような場合だ。そのような場合は、VSSの「ピン設定」という機能を使用することで、少し前の機能を有効にできる。

 「ピン設定」とは、過去のリビジョンのソース・ファイルに「ピン(留め針)」を刺すという意味である。それにより、その過去のリビジョンのファイルが一番上に持ち上げられて、最新のリビジョンのソース・ファイルとして扱われる。すなわち「ピン設定」とは、VS.NETで[最新バージョンの取得]を実行したときに、実際の最新のリビジョンのソース・ファイルではなく、ピン設定されたリビジョンのソース・ファイルを取得できるようにする機能だ。

 このとき、ピン設定された過去のファイルが編集・変更されてしまいそうな気がするが心配は無用だ。ピン設定されたファイルはチェックアウトできないようになっているため、過去のファイルが書き換わってしまうことはない。なお逆に、もし過去のファイルに変更を加えたい場合は、「ピン設定」ではなく、「分岐」という機能を利用する必要がある。「分岐」についてはこの後で説明する。

 では、実際のピン設定の手順を説明しよう。これを行うには、VSSエクスプローラでピン設定したいファイルの上で右クリックしてコンテキスト・メニューを表示し、そのメニューから[履歴の表示]を実行する。すると、[ファイルの履歴表示オプション]ダイアログが表示されるので、そのまま[OK]ボタンをクリックする(もちろんバージョン・ラベルが設定されているリビジョンのみを指定したい場合は[ラベル付きバージョンのみ]チェック・ボックスにチェックを入れるとよい)。

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

 これにより、[ファイルの履歴]ダイアログが表示されるので、履歴の一覧からピン設定したいリビジョンを選択して、[ピン設定]ボタンをクリックする。

[ファイルの履歴]ダイアログ
ピン設定したいリビジョンを履歴の一覧の中から選択して、ピン設定を行う。
  ピン設定したいリビジョンを履歴の一覧の中から選択する。
  [ピン設定]ボタンをクリックする。
  ピン・マークが表示される。

 これでピン設定は完了である。

■ソリューションの分岐による並行開発

 ソフトウェア開発では、製品を開発してリリース(出荷)し、さらにバージョン・アップしてまたリリースするというのが一般的なサイクルである。製品は何度もバージョン・アップされるため、顧客のパソコンやサーバにインストールされている製品のバージョンもさまざまになる。このように複数のバージョンがすでに開発され、それらがリリースされているような場合、当然、古いバージョンの製品の保守(メンテナンス)作業が必要になるだろう。

 例えば、「TeamDev」という製品を開発して、「TeamDev 1.0」、「TeamDev 2.0」、「TeamDev 3.0」という3つのバージョンをリリースしたとしよう。ここで最新のバージョンは「3.0」であるが、このうちバージョン「2.0」に不具合が見つかった場合、最新の3.0ではなく、古い2.0に修正を加えなければならない。通常このような場合には、バージョン2.0のソリューションを「分岐」させて、その分岐させたソリューションに修正を加え、バージョン2.1としてリリースするという手順を取る。

 このような「分岐」を行うには、まずバージョンの履歴を取得する。これには、VSSエクスプローラで、分岐させたいソリューションを右クリックして、そこで表示されるコンテキスト・メニューの中から[履歴の表示]を実行する。これにより、[プロジェクトの履歴表示オプション]ダイアログが表示されるので、そこで前回と同様に[ラベル付きバージョンのみ]にチェックを入れて、[OK]ボタンをクリックする。すると、[プロジェクトの履歴]ダイアログが表示される。

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

 [プロジェクトの履歴]ダイアログの中から分岐したいバージョンを選択して、[共有]ボタンをクリックする。これにより、[共有(先の指定)]ダイアログが表示されるので、分岐先のフォルダを指定して、さらに[共有後に分岐]に“確実に”チェックを入れた上で、[OK]ボタンをクリックする。すると、[共有(名の指定)]ダイアログが表示されるので、[新しい名前]に「分岐するソリューションの名前」を入力し、[サブプロジェクトも対象]にチェックを入れて、[コメント]を入力した上で[OK]ボタンをクリックする。

[共有(先の指定)]ダイアログと[共有(名の指定)]ダイアログ
履歴の一覧から分岐したいバージョン・ラベルを選択してから分岐先フォルダを指定し、さらに分岐した後のソリューションの名前を指定する。
  履歴の一覧から分岐したいバージョン・ラベルを選択する。
  [共有]ボタンをクリックする。
  [共有(先の指定)]ダイアログが表示されるので、ソリューションの分岐先フォルダ(この例では「$/」)を選択する。
  共有ではなく分岐を行うので[共有後に分岐]チェック・ボックスにチェックを入れる。
  [OK]ボタンをクリックする。
  [共有(名の指定)]ダイアログが表示されるので、分岐した後のソリューション名(この例では「BlogX 2.0」)を入力する。
  ソリューション全体を分岐したいので、[サブプロジェクトも対象]にもチェックを入れる。
  [コメント](この例では「2.0用に分岐します」)を入力する。
  [OK]ボタンをクリックする。

 これでソリューションの分岐は完了だ。

 このほかにVSSにはプロジェクト間でソース・ファイルを共有する「共有」というソース管理機能もある。これらのピン設定、共有/分岐という機能により、VSSではどのようなソース管理でも臨機応変に対応できる。

 本稿では、ピン設定、共有/分岐についてはこれ以上解説しないが、より詳しく知りたい場合は「Visual SourceSafe ファイルの共有および分岐、マージ機能」を一読していただきたい。なお、これらの機能を多用すると、ソース管理が複雑になり、徐々に管理しづらくなると筆者は考える。不必要な共有や分岐は極力さけることをお勧めする。


 INDEX
  Visual Studio .NETによるチーム開発事始め
  効率のよいソース管理を実現しよう
    1.バッチ処理ファイルによる自動処理
    2.VS.NET 2003の新機能「ソリューション・ルート」
  3.ピン設定および共有/分岐について
    4.次期VS.NET“Whidbey”と同時リリースされる次期VSSの新機能
 
インデックス・ページヘ  「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 記事ランキング

本日 月間