migrate コマンド

移行 という用語は、Rational® Synergy データベース外部のデータを取り込み、外部データを表現する方法でそのデータを Rational Synergy データベース内に作成するプロセスを指します。

例えば、ファイル・システム・ロケーション内の一部のディレクトリー組織に複数のファイルがあり、そのデータを表すプロジェクト、ディレクトリー、およびファイルを Rational Synergy データベース内に作成することができます。

Rational Synergy では、移行は以下の 2 つの別個のフェーズで実行されます。
  1. ccm migrate コマンドを使用して、作成するデータを記述するインポート・パッケージを作成します。
  2. ccm import コマンドを使用して、前のステップで作成したデータをインポートし、Rational Synergy データベース内にオブジェクトを作成します。

    この 2 フェーズのアプローチの利点は、複数の別個のアプリケーションまたはコンポーネントを移行する場合、最初のステップを各部分に対して実行できるという点です。さらに、時間のかかる全パッケージのインポートを後で (夜間に) 実行できるという点です。

ccm migrate 操作には、以下の 2 つのタイプの移行があります。
  • 完全移行。移行するデータを表すディレクトリーおよびファイルの新規インスタンスが含まれている一連の新しいプロジェクトが作成されます。生成されたインポート・パッケージは、移行するすべてのオブジェクトを表します。
  • 増分移行。移行するデータを一致させるために必要な変更内容のみを使用して既存のプロジェクト階層を更新します。既存のプロジェクト階層は、変更内容を判別するための参照として使用されます。生成されるインポート・パッケージは、参照プロジェクト階層と比較して、新しいオブジェクト、変更されたオブジェクト、または削除されたオブジェクトを表します。
移行するアプリケーションのリリースが複数ある場合、標準的な使用パターンは、以下のとおりです。
  1. 完全移行 と最初のリリースのインポートを実行して、そのリリースを表すプロジェクト階層を作成します。
  2. プロジェクトのコピー 操作を実行して、次のリリース用のバージョンのプロジェクトを作成します。
  3. 増分移行 と、前のステップで作成された既存のプロジェクトへの次のリリースのインポートを実行します。変更内容の正しい履歴を確実に取得するために、次のリリースへ進む前にインポートを実行してください。
  4. 必要に応じて、後続のリリースごとにステップ 2 と 3 を繰り返します。

ccm migrate 操作は、マッピング・ルールを使用して、処理または無視するファイルを判別します。この操作では、また、マッピング・ルールを使用して、オブジェクト・プロパティー (Rational Synergy タイプを含む) を判別します。多くのマッピング・ルールは、タイプ定義に関するデータによって判別されます。例えば、java タイプ定義が .java の接尾部マッチング・パターンに関連付けられている場合、ContextFactory.java などの名前を使用して移行するファイルは一般に、java タイプの Rational Synergy オブジェクトによって表されます。

移行についての情報のプレビューおよび表示

ccm migrate コマンドは、インポート・パッケージを作成しないでプレビュー としてオブジェクトの詳細を表示するか、インポート・パッケージを作成した上でオブジェクトの詳細を表示します。標準のフォーマット・オプションを使用して、表示するデータおよび表示のフォーマットを指定することができます。

移行フォーマット・ストリングには、以下の 2 つのタイプのデータを表示できます。
  • 特殊な移行プロパティー。
  • インポートされた後の Rational Synergy 属性に対応するプロパティーを移行します。

以下の特殊な移行プロパティー・キーワードがサポートされています。

表 1. 特殊な移行プロパティー・キーワード
プロパティー名 説明
ACTION
実行される移行アクションのタイプ:
  • 新規

    オブジェクトのインスタンスが作成されます。

  • 修正日時で検索

    既存のオブジェクトは新バージョンをチェックアウトすることによって修正されます。

  • 無視

    新規オブジェクトは無視されます。

  • 削除

    ソース・パスに存在しないか、移行ルールによって無視されるため、既存のオブジェクトがプロジェクトから除去されます。

  • 変更なし

    既存のオブジェクトは変更されません。

INDENTED_NAME ゼロ個、1 個、または複数個の先行スペースが接頭部として付くオブジェクトの名前。 先行スペースの数は、最上位プロジェクトに対するディレクトリー・ネストのインデント・レベルによって決まります。
SOURCE_PATH 移行するソース・オブジェクトの絶対パス。
RELATIVE_PATH 移行するソース・オブジェクトの、最上位プロジェクトに対する相対パス。

これらの特殊ケースのいずれにもあてはまらないプロパティー名はすべて、移行オブジェクトのプロパティーとして扱われます。通常、オブジェクトがインポートされた場合、Rational Synergy 属性が作成されます。例えば、name プロパティーは、データのインポート後の name 属性に対応します。

migrate コマンドは、以下のサブコマンドをサポートしています。


フィードバック