次の方法で共有


プロジェクトの複数バージョンの管理

製品の開発マイルストーンが間近になると、プロジェクトの複数バージョンの並列管理が必要になることがあります。Visual SourceSafe では、プロジェクトの "共有化/ピン設定/分岐" またはラベル付けによって、プロジェクトの複数バージョンを同時に管理できます。共有化/ピン設定/分岐の手順については、「共有、ピン設定、および分岐によるバグ修正版の作成」を参照してください。

変更内容が少なく、ビルド工程への変更も少ない場合は、ラベル付けをお勧めします。一方で、進行中の開発作業を大幅に変更する場合は、共有化/ピン設定/分岐をお勧めします。たとえば、特定のベータ段階でソース ツリーの内容を確定し、このベータ版にバグの修正を含める場合には、ラベル プロモーションの機能が適しています。一方、製品のバージョン 1.1 とバージョン 2.0 を同時に開発する場合は、共有化/ピン設定/分岐を使用します。各バージョンをそれぞれ別のプロジェクトにし、すべてのファイルを共有化し、ピンを設定し、ファイルの変更が必要になった時点で、ファイルを分岐します。バージョン 1.1 の出荷後には、プロジェクトに "1.1" というラベルを付け、この変更内容をバージョン 2.0 にマージすることもできます。

ラベル プロモーションの使用例を以下に示します。

ケース 1 - 理想的な例

  1. ベータ 1 に向けてプロジェクトの開発とテストを行います。
  2. ベータ 1 用の作業が完了した時点で、プロジェクトに "ベータ 1" などのラベルを付けます。
  3. ベータ 2 の開発作業を開始します。

ケース 2 - ベータ 1 にファイルの別の既存バージョンを取り込む必要がある場合

DDUPD.EXE ユーティリティを実行すると、新しいデータベース形式が有効になります。詳細については、「DDUPD」を参照してください。

  1. ベータ 1 に向けてプロジェクトの開発とテストを行います。
  2. ベータ 1 用の作業が完了した時点で、プロジェクトに "ベータ 1" などのラベルを付けます。
  3. ベータ 2 の開発作業を開始します。
  4. 先のベータ 1 に取り込んだファイルのバージョンが不適切な場合は、ファイルを選択し、[ツール] メニューの [履歴の表示] をクリックします。[ファイルの履歴] ダイアログ ボックスが表示されます。
  5. ベータ 1 に含めたいファイル バージョンを選択し、"ベータ 1" というラベルを付けます。
  6. ベータ 1 用のプロジェクト ファイルを取得します。プロジェクトとしては "ベータ 1" というラベルを付けた時点のプロジェクトが取得されますが、個別に "ベータ 1" のラベルを設定したファイルについては、新しい適切なバージョンのファイルが取得されます。

ケース 3 - いずれかのファイルの最新バージョンのバグ フィックスをベータ 1 に取り込む必要がある場合 (ほかのファイルは変更されていないとき)

  1. ベータ 1 に向けてプロジェクトの開発とテストを行います。
  2. ベータ 1 用の作業が完了した時点で、プロジェクトに "ベータ 1" などのラベルを付けます。
  3. ベータ 2 の開発作業を開始します。
  4. ラベル "ベータ 1" に含まれているファイルのバージョン (バージョン 4 など) に、修正の必要なバグが見つかりました。プロジェクト内のほかのファイルは変更されていません。
  5. 問題のファイルをチェックアウトし、内容を変更し、チェックインします。
  6. このプロジェクトに再度 "ベータ 1" というラベルを付けます。元のラベルを削除するかどうかを問い合わせるメッセージが表示されます。

ケース 4 - いずれかのファイルの最新バージョンのバグ フィックスをベータ 1 に取り込む必要がある場合 (ほかのファイルも変更されているとき)

ラベル プロモーションの機能を使用するには、新しいデータベース形式を有効にしておく必要があります。DDUPD.EXE ユーティリティを実行すると、新しいデータベース形式が有効になります。詳細については、「DDUPD」を参照してください。

  1. ベータ 1 に向けてプロジェクトの開発とテストを行います。
  2. ベータ 1 用の作業が完了した時点で、プロジェクトに "ベータ 1" などのラベルを付けます。
  3. ベータ 2 の開発作業を開始します。
  4. ラベル "ベータ 1" に含まれているファイルのバージョンに、修正の必要なバグが見つかりました。プロジェクト内のほかのファイルの内容も変更され、変更内容がチェックインされています。
  5. バグの修正が必要なファイルをチェックアウトし、内容を変更し、チェックインします。新しいバージョンが作成されます。
  6. このファイルに "ベータ 1" というラベル、つまりプロジェクトと同じラベルを付けます。この結果、ファイルが新しいバージョンに昇格され、"ベータ 1" になります。

ベータ 1 版のプロジェクトを取得すると、"ベータ 1" というラベルを付けた時点のプロジェクトが取得されます。ただし、個別に "ベータ 1" というラベルを付けたファイルについては、新しい適切なバージョンのファイルが取得されます。

ケース 5 - 旧バージョンのファイルのバグを修正し、ベータ 1 に追加する必要がある場合

ラベル プロモーションの機能を使用するには、新しいデータベース形式を有効にしておく必要があります。DDUPD.EXE ユーティリティを実行すると、新しいデータベース形式が有効になります。詳細については、「DDUPD」を参照してください。

  1. ベータ 1 に向けてプロジェクトの開発とテストを行います。

  2. ベータ 1 用の作業が完了した時点で、プロジェクトに "ベータ 1" などのラベルを付けます。

  3. ベータ 2 の開発作業を開始します。

  4. ラベル "ベータ 1" に含まれているファイルに、修正の必要なバグが見つかりました。ただし、ファイルの最新バージョン (バージョン 6) に、ベータ 1 には不要な、ベータ 2 向けの変更内容が既に含まれているとします。

  5. ファイル (バージョン 6) をチェックアウトします。

  6. バージョン 4 を取得し、バージョン 6 のローカル コピーに上書きします。

  7. このファイルにベータ 1 用のバグ修正を追加し、チェックインします。これによって、ファイルのバージョン 7 が作成されます。バージョン 7 の内容は、バージョン 4 に先のバグ フィックスを反映したものです。バージョン 5 と 6 での変更内容は含まれていません。

  8. ファイルのバージョン 7 に "ベータ 1" というラベルを付けます。この結果、ファイルのバージョン 7 ラベル "ベータ 1" に昇格されます。

    この時点でベータ 1 用のプロジェクトを取得すると、"ベータ 1" というラベルを付けた時点のプロジェクトが取り出されますが、個別に "ラベル 1" と指定したファイルについてはバージョン 7 のファイルが取得されます。

  9. バージョン 5 と 6 で行った変更内容を復元してベータ 2 の開発を続行するには、バージョン 7 のファイルを再度チェックアウトします。

  10. バージョン 6 を取得します。

  11. バージョン 7 のローカル コピーを上書きするか、またはバージョン 6 と 7 をマージします。これによって、マージされたファイルの内容は、バージョン 6 の内容に、バージョン 7 で反映したベータ 1 の修正が含まれたものになります。

  12. 必要な変更をすべて加えてから、ファイルをチェックインします。この結果、バージョン 8 が作成されます。ベータ 2 向けの作業をこのバージョンで再開できます。

参照

ファイルまたはプロジェクトにラベルを付けるには | 旧バージョンの取得 | 最新バージョンの取得 | ファイルまたはプロジェクトのチェックイン