パッチ・マージのマージ・ルールと動作
パッチ・マージのルールも、完全なマージのルールに似ていますが、オブジェクトの削除の動作が異なります。
たとえば、オブジェクトを現行のリポジトリで削除する場合、パッチ・マージのデフォルト動作では、オブジェクトを破棄するか保持するかを常にユーザーに確認します。これは、完全なマージでは異なっており、多くの場合、プロンプトが表示されることなく現行のリポジトリからの削除が受け入れられます。
パッチ・プロセスを自動化するためのPatchrpdの使用
patchrpd
コマンドライン・ユーティリティで-Uおよび-Vオプションを使用すると、パッチ・プロセスを自動化できます。
-U
オプションでは、競合に対してデフォルトのデシジョンを受け入れることでパッチ・プロセスを完了できます。一方、-V
オプションでは、すべてのマージの競合を記録する出力ファイルを指定でき、後でそれを検証して対処できます。
patchrpd
を使用してパッチ・プロセスを自動化するには、次のガイドラインに従ってください。
-
デフォルト・ルールを使用してパッチを自動的に適用します。
patchrpd
に-Uオプションを含めて、競合に対して常にデフォルトのデシジョンが適用されるようにします。たとえば、両方のリポジトリ(現行と修正済)でオブジェクトの名前が変更されている場合、デフォルトのデシジョンは、修正済リポジトリの名前を保持し、ユーザーによるカスタマイズを上書きしないようにすることです。このパラメータを含めない場合、競合が検出されると、patchrpd
によって警告が表示されて終了します。 -
出力デシジョン・ファイルに競合を記録します。-Vオプションを含めると、
patchrpd
によって、マージによるすべての競合を示すデシジョン・ファイルが生成されます。デシジョン・ファイルにはデシジョンがリストされます。これは、マージが管理ツールで実行されたのであれば、マージ・ウィザードの「マージ戦略の定義」画面に表示されるものです。デシジョン・ファイルは、ユーザーの入力によって影響を受ける可能性があるすべてのアイテムの記録を提供します。 -
デシジョン・ファイルを変更して結果を変更します。
patchrpd
を実行した後、結果として得られるリポジトリに変更を行う方法は2つあります。-
マージ・ウィザードの「マージ戦略の定義」画面のデシジョン・ファイルのロード・ボタンを使用して、マージ・デシジョンをロードし、必要に応じてデシジョンを変更します。その後、管理ツールでマージを完了できます。かわりに、ファイルへのデシジョンの保存ボタンを使用して、修正済のデシジョン・ファイルを保存し、その後、-Dオプションを使用してそのデシジョン・ファイルを入力として使用して
patchrpd
を再実行し、新しいデシジョンでパッチを再適用できます。 -
そのデシジョン・ファイルを手動で編集し、その後、-Dオプションを使用してそのデシジョン・ファイルを入力として使用して
patchrpd
を再実行し、新しいデシジョンでパッチを再適用できます。
-
patchrpd
を設定して管理ツールのマージ機能と一致させるには、次のガイドラインに従ってください。
-
管理ツールの完全なマージ: -Aオプション(リポジトリ全体の変更の適用)および-Mオプション(アップグレード・モードの使用)を使用します。
-
サブセット・パッチを使用するオプションを選択した管理ツールのパッチ・マージ - -Mオプションを含めないでください。-Mオプションを除くと、デフォルトのマージ・モードがパッチに設定されることを意味します。
-
サブセット・パッチを使用するオプションを選択しない管理ツールのパッチ・マージ - -Aオプションを使用し、-Mオプションを含めないでください。-Mオプションを除くと、デフォルトのマージ・モードがパッチに設定されることを意味します。
patchrpdを使用したパッチの適用を参照してください。