Merge Rules and Behavior for Patch Merges

The rules for patch merges are also similar to the full merge rules, except that the behavior for deleting objects is different.

For example, if an object is deleted in the current repository, the default behavior for patch merges is to always ask the user whether the object should be discarded or retained. This is different from full merges, which often accept deletions from the current repository without prompting.

Using Patchrpd to Automate the Patch Process

You can use the -U and -V options in the patchrpd command-line utility to automate the patching process.

The -U option enables the patching process to complete by accepting default decisions for conflicts, while the -V option enables you to specify an output file for recording all merge conflicts so that you can examine them and possibly take action later.

Follow these guidelines to use patchrpd to automate the patch process:

  • Apply patching automatically using default rules. Include the -U option in patchrpd to always apply the default decisions for conflicts. For example, if both repositories (current and modified) change the name of an object, the default decision is to keep the name in the modified repository, to avoid overwriting user customizations. If you do not include this parameter, patchrpd displays a warning and exits if a conflict is detected.

  • Record conflicts in an output decision file. Include the -V option to cause patchrpd to generate a decision file that shows all the conflicts from the merge. The decision file lists the decisions that would have been displayed in the Define Merge Strategy screen of the Merge Wizard if the merge had been performed in the Administration Tool. The decision file provides a record of all items that can be influenced by user input.

  • Modify the decision file to change the result. After you run patchrpd, there are two ways to make changes to the resulting repository:

    • You can use the Load Decision File button in the Define Merge Strategy screen of the Merge Wizard to load the merge decisions, and then change the decisions if needed. You can then complete the merge in the Administration Tool. Alternatively, you can save the modified decision file using the Save Decisions to File button, and then re-run patchrpd with the decision file as an input using the -D option to reapply the patch with the new decisions.

    • You can edit the decision file by hand, and then re-run patchrpd with the decision file as an input using the -D option to reapply the patch with the new decisions.

Follow these guidelines to set up patchrpd to match the Administration Tool's merge functionality:

  • Administration Tool's full merge - Use the -A option (apply changes on the whole repository) and -M option (use upgrade mode).

  • Administration Tool's patch merge with the "use subset patching" option selected - Do not include the -M option. Excluding the -M option means that the default merge mode will be set to patch.

  • Administration Tool's patch merge with the "use subset patching" option not selected - Use the -A option and do not include the -M option. Excluding the -M option means that the default merge mode will be set to patch.

See Using patchrpd to Apply a Patch for full information about patchrpd usage and syntax.