The scenarios for comparison of content blocks during the three-way merge process are described in Content block comparison use cases. In this table, X, Y, and Z represent the content blocks, one from each of the three files.

Table 1. Content block comparison use cases

Scenario

Content block comparison

Result

XYY

  • Content block in the <file_name>.base looks like X

  • Content block in <file_name>.local looks like Y

  • Content block in the <file_name> looks like Y

The following content blocks are picked up:

  • Content block in <file_name>.base = X

    AllowPrivateIPAsName FALSE
    
  • Content block in <files_name>.local = Y

    AllowPrivateIPAsName TRUE
    
  • Content block in <file_name> = Y

    AllowPrivateIPAsName TRUE
    

Result: Y

Since the <file_name>.local version and the <file_name> version of the content blocks match, the Y version is picked.

XYX

  • Content block in the <file_name>.base looks like X

  • Content block in the <file_name>.local looks like Y

  • Content block in <file_name> looks like X

The following content blocks are picked up:

  • Content block in <file_name>.base = X

    ERXIfExcludeSysPattern router*
    
  • Content block in <files_name>.local = Y

    ERXIfExcludeSysPattern *
    
  • Content block in <file_name> = X

    ERXIfExcludeSysPattern router*
    

Result : Y

This is the case where the file modified by you (Y) is preserved and is written to new_local.

X Y Z

  • Content block in the <file_name>.base looks like X

  • Content block in the <file_name>.local looks like Y

  • Content block in the <file_name> looks like Z. This is the case where a .conflict file is created.

The following blocks sections are picked up:

  • Content block in <file_name>.base = X

    #Enable/Disable discovery of VLANs 
    PropagateVRIfAlias  FALSE
    
  • Content block in <files_name>.local = Y

    #Enable/Disable discovery of Router 
    PropagateVRIfAlias  TRUE 
    
  • Content block in <file_name> = Z

    #Enable/Disable discovery of Multicast # New install changes
    PropagateVRIfAlias  FALSE
    

Result: Conflict

All three content blocks will be written into a .conflict file.

During this process, modifications done on each of the files in the old installation are merged into the new installation. The utility identifies the files to be copied and copies them into a predefined new directory in the new installation with an appropriate suffix.

The utility performs the following functions:

  • Automated analysis of the differences between any two files (for example, File A and File B), while also considering the parent file.

  • Incorporates the changes done to the parent file in File A and File B, and automatically merges the two changes. This type of merge is used in revision control systems.

  • It maintains a record of the conflicts encountered during the merge process in a .conflict file.

    In case the utility is unable to merge the files due to some conflict, it creates a .conflict file for each file. The .conflict file provides details of the files which were not completely merged by the three-way utility. Each conflicting instance is recorded in the .conflict file. You can review the .conflict files to spot the conflicts, and manually resolve the differences.