更新を実行するとき、ベースラインは新しい変更内容を探すための開始点として使用されます。2 つのベースラインを比較することにより、特定のビルドに関連してどのような変更が加えられたかを調べることもできます。Rational Change を使用している場合、ベースラインを使用して、変更依頼レポートを生成することができます。
通常、ビルド・マネージャーがベースラインを作成します。開発者は、ビルドを他のユーザーが使用できるようにしないため、ベースラインを作成しません。
ビルドを実行したら、直ちにベースラインを作成します。ベースラインを作成して、すべての開発者がそれを使用できるようにするのではなく、テスト・グループが使用できるようにすることができます。ビルドしてから直ちにベースラインを作成すると、ビルドの修正を作成するために後で必要となる場合に備えて、ビルドの表現がデータベースに保存されます。
個々の「統合テスト」および「システム・テスト」ビルド用にベースラインを作成することによって、ビルドの作成に使用された変更のセットをテスターおよび開発者が参照するのに役立ちます。通常、同じリリースで同じ目的のすべてのプロジェクトについてベースラインを作成します。例えば、そのリリースのすべての統合テスト・プロジェクトを使用して、統合テスト・ビルドごとにベースラインを作成します。
ベースラインは、特定のプロセス・ルールを使用するプロジェクト用のベースラインを定義するために、プロセス・ルールが使用できます。例えば、ビルド・マネージャーが、静的プロジェクト toolkit-int_20040913、calculator-int_20040913 などを含む Integration Build 20040913 という名前のベースラインを作成します。数値の指定は、ベースラインが作成された日付 (yyyymmdd) です。
プロセス・ルールは、そのプロジェクトが特定のベースラインを使用することを指定します。そのプロセス・ルールを参照するプロジェクトは、ベースラインを使用して、更新時に使用するベースライン・プロジェクトを識別します。例えば、カレント・リリース用の Integration Testing プロセス・ルールが、Integration Build 20040913 ベースラインを使用することを指定します。calculator-bob という開発プロジェクトが、そのベースライン・プロジェクトとして calculator-20040913 を選択します。
ベースラインを使用すると、多くのメリットがあります。
ベースラインの作成方法
prep 状態のプロジェクトと静的プロジェクトの両方を、新規ベースラインに追加できます。ただし、ビルド管理プロジェクトがベースラインに追加された場合、実際のプロジェクトは追加されません。代わりに、プロジェクトのコピーが作成されてベースラインに追加され、チェックインされます。ビルド管理プロジェクトとそのワークエリアは、不要な再ビルドが行われないように、そのまま保持されます。さらに、ビルド管理プロジェクトのメンバーであるすべての非静的プロダクトについて、新バージョンがチェックアウトされ、チェックインされます。新規プロジェクトのメンバーは、ビルド管理プロジェクトと同じです。新規プロジェクトおよびプロダクトは、ベースラインの目的に関連付けられた member_status にチェックインされます。member_status が有効な状態ではない場合、プロジェクトおよびプロダクトは、integrate 状態にチェックインされます。
例えば、目的が Integration Testing であるベースラインに、integrate 状態のプロジェクトおよびプロダクトが含まれています。
ビルド管理プロジェクトに、プロジェクトでもプロダクトでもない非静的メンバーが含まれている場合、そのビルド管理プロジェクトをベースラインに追加することはできません。このようなプロジェクトをベースラインに追加するには、その非静的メンバーをチェックインしておく必要があります。また、更新プロパティーに不完全なタスクが含まれているプロジェクトを、ベースラインに追加することはできません。
新規プロジェクトまたは新規プロダクト・バージョンは、ビルド管理プロジェクト・バージョン、日付、および (バージョンを固有にする必要がある場合は) 付加された増分番号に基づいて作成されます。例えば、プロジェクト ccm_gui-sol_int がベースラインの一部として保存された場合、新規ベースライン・プロジェクトは ccm_gui-sol_int_20040709 のようになります。下線、日付、および増分番号を付加する (および 32 文字の制限内に収める) ことができない場合は、日付と番号のみが使用されます。
ベースラインが作成された後に、新規ベースライン・プロジェクトからビルド管理プロジェクトがチェックアウトされたように見えるように、「履歴ビュー (History View)」リンクが変更されます。既存の prep プロダクトが、ベースライン・プロジェクト用に作成されたプロダクトからチェックアウトされたように見えるように、プロジェクト履歴が更新されます。
ベースラインの一部として作成された新規プロジェクトには、ワークエリアがありません。プロジェクトがワークエリアを持つようにしたい場合は、ベースラインの作成後にワークエリア保守を有効にします。可視ワークエリアを持つプロジェクトがベースラインに追加されると、そのプロジェクトにワークエリアのコンフリクトがあるかどうかがチェックされます。解決できないコンフリクトが検出された場合、ベースラインの作成操作は失敗します。この問題を解決するには、プロジェクトをレコンサイルする必要があります。
不可視のワークエリアを持つプロジェクトがベースラインに追加された場合、最も新しくビルドされたプロダクトがデータベースにコピーされていない可能性があります。このような場合、ベースラインには、不可視のワークエリア内にあるものではなく、データベース内にあるものが含まれます。この問題を回避するには、ビルド・マネージャーは、ベースラインに追加されたプロジェクトのすべての不可視のワークエリアに対して変更を同期化する必要があります。この操作を完了してから、このようなプロジェクトをベースラインに追加してください。
ベースラインを作成またはリリースするには、ビルド・マネージャーとして作業する必要があります。ベースラインを削除したり、リリースされたベースラインのビルドを変更したりするには、ccm_admin ロールで作業する必要があります。
バージョン・テンプレート仕様
version_template は、%keyword または %{keyword} という形式のオプションのキーワードを含む任意のストリングです。キーワードには、任意の Rational® Synergy 属性、特殊キーワード %baseline_name、または特殊キーワードの %date と %build を使用することができます。
属性を展開するとき、検査対象のビルド管理プロジェクトまたはプロダクトの対応する属性値が使用されます。特定のキーワード名の属性も組み込みキーワードも見つからない場合は、空ストリングを使用してキーワードが置き換えられます。
ベースラインが作成されたときに静的になったプロジェクトのバージョンとプロダクト・バージョンは、version_template に一致するように更新されます。ただし、ベースラインが作成される前には静的状態で存在していたプロジェクトは、バージョン変更されません。例えば、CM/6.5 SP2 ベースラインが、CM/6.5 SP1 の 20 個の既存の静的プロジェクトと、CM/6.5 SP2 の 5 個の新規プロジェクトを含むように作成されました。5 個の新規プロジェクトのみがバージョン変更されます。
ベースライン内の任意のプロジェクトまたはプロダクトの、インスタンス化された version_template に、バージョン・ストリングで使用が認められていない文字が含まれている場合、それらの文字はデフォルトのバージョン・ストリング置換文字に置き換えられます。これは、オプション baseline_template_repl_char を使用してサーバーの ccm.ini ファイルで指定されます。この文字のデフォルトは下線 (_) です。例えば、%platform がバージョン・テンプレートに含まれており、ビルド管理プロジェクトのプラットフォームが SPARC-solaris である場合、バージョン・ストリングにはストリング SPARC_solaris が含まれます。あるいは、%release がプロダクトのバージョン・テンプレートに含まれており、prep プロダクトのリリースが CM/6.5 である場合、バージョン・ストリングにはストリング CM_6.5 が含まれます。
ベースライン内の任意のプロジェクトまたはプロダクトの、インスタンス化された version_template が、そのプロジェクトまたはプロダクトの別のバージョンで既に使用されている場合、下線 (_) と、バージョンを固有にする最初の整数 (1 から始まる) を付加することによって、バージョンは固有になります。これによってバージョン・ストリングが長くなりすぎる場合は、現在の日付に基づくバージョンが、そのプロジェクトまたはプロダクトに使用されます。警告も出されます。
–version_template が指定されていない場合、デフォルトの (すなわち保存された) テンプレートが使用されます。
プロジェクトのワークエリア・テンプレートにそのバージョンが含まれている場合、ワークエリアは更新されます。ワークエリアが可視ではないためにワークエリアを更新できず、-skip_nonvisible_projects が使用されていない場合、操作は続行されて、すべてのエラーが報告されます。ワークエリアが可視であるが、正しいファイル・アクセス権限の欠落などの他の理由から更新できない場合、操作は続行され、すべての障害が報告されます。
バージョン・テンプレートの代替キーワード構文
キーワード構文は、存在に基づいてキーワードの展開動作を変更する手段を提供します。
solaris_7.0 または 7.0 を取得する (platform が存在するかどうかに応じて) には、次のように指定します。
%{platform:-}%{platform:+_}7.0
baseline コマンドは、以下のサブコマンドをサポートしています。