ブランチとは、既存ブランチの特定バージョンをベースに、独立して開発が進められる一連のオブジェクト・バージョンです。すべてのバージョンでバージョン・ツリーが構成されます。バージョン・ツリーには、必ずメイン・ブランチ(MAIN)があります。また、サブブランチがある場合もあります。ブランチ化では、同じソース・ファイル・セットを使用して製品の複数のバージョンを同時に(並行して)開発できます。
初めてチェックインする場合、オブジェクトは必ずデフォルトのメイン・ブランチ(MAIN)に追加されます。リポジトリ・ポリシーにより、最初にチェックインするブランチとして別のブランチが指定された場合、メイン・ブランチ(MAIN)および指定の別のブランチにそれぞれ1つ、計2つのバージョンが作成されます。
ブランチは、次のような特定のタスクで作成されます。
現在のリリースの不具合の修正。
現在のリリースの一部としてコンポーネントをメンテナンスしながら、同時に次のリリースに向けた作業を開始。
コンポーネントの様々な形態(異なる実装、異なるプラットフォームへの移植、異なるウィンドウ・システムに対するインタフェースなど)を保持。
試験開発の実行。試験開発は最終的に中断されるか、主要開発にマージされます。
2人の開発者が1つのコンポーネントを同時に変更。これにより、コンポーネントに対する連続した更新が可能になります。
各ブランチにあるソース・ファイルへの変更はすべて、1つのブランチにマージされます。 (「ファイルのマージについて」)このブランチを統合ブランチと呼びます。通常、メイン・ブランチ(MAIN)と統合ブランチは同一です。各ブランチでの処理はすべてメイン・ブランチ(MAIN)にマージされます。 ただし、マージで別のブランチを指定することも可能です。
次の図は、オブジェクトのバージョン・ツリーを示します。バージョン・ツリーは、Version History Viewerで参照できます。
デフォルトでは、バージョニング・システムで自動ブランチ化ポリシーを使用します。自動ブランチ化ポリシーが有効で、ワークエリアにデフォルトのチェックイン・ブランチが設定されている場合、ワークエリアのチェックアウト済オブジェクトは、すべてこのブランチにチェックインされます。この機能は、変更を他から切り離す場合に有効です。たとえば、特定のタスクに対する変更がすべて別個になるようにワークエリアを設定し、開発の重要な期間(ビルド中など)に、新しいオブジェクト・バージョンが特定のブランチに移入されないようにすることが可能です。
自動ブランチ化を有効あるいは無効にした場合の結果は、次のように様々な要因により異なります。
要因 |
自動ブランチ化が有効 |
自動ブランチ化が無効 |
---|---|---|
ワークエリアにデフォルトのチェックイン・ブランチが設定されていない | バージョンは、現在のブランチ(チェックアウトされたブランチ)の頂点にチェックインされます。 | バージョンは、現在のブランチ(チェックアウトされたブランチ)の頂点にチェックインされます。 |
デフォルトのチェックイン・ブランチが現在のブランチと同一 |
バージョンは、現在のブランチ(チェックアウトされたブランチ)の頂点にチェックインされます。 デフォルト・ブランチにバージョンが存在しない場合、バージョンは新規ブランチのルートとしてチェックインされます。デフォルトのチェックイン・ブランチにすでにオブジェクトが存在する場合、オブジェクトをマージする必要があります。これには、現在のブランチへ最新バージョンをチェックインし、デフォルト・ブランチから既存オブジェクトをチェックアウトして、チェックインした最新バージョンからチェックアウトしたデフォルト・ブランチの既存オブジェクトへマージします。その後、最新バージョンをデフォルト・ブランチへチェックインできます。 |
バージョンは、現在のブランチ(チェックアウトされたブランチ)の頂点にチェックインされます。 |
オブジェクトの最初のチェックイン | バージョンは、メイン・ブランチ(MAIN)にチェックインされ、デフォルトのチェックイン・ブランチにはコピーが作成されます。 | バージョンは、メイン・ブランチ(MAIN)にチェックインされます。 |
自動ブランチ化ポリシーが有効な場合、ワークエリアのデフォルトのチェックイン・ブランチを変更できます。自動ブランチ化ポリシーが無効な場合は、変更できません。
自動ブランチ化ポリシーは、ポリシーの設定システム権限を持つユーザーのみ設定できます。
Copyright © 1997, 2004, Oracle. All rights reserved.