Integration with Git

 Table of Contents

Introduction

This sample is provided to show XML Merge integration with git for merge and update operations.

The sample currently supports the command-line client usage on a Unix system.

Please see the README.md on Bitbucket for detailed configuration steps.

Usage notes and tips

The git merge process with XML Merge takes you in a loop which opens each conflicted file in the editor one after another and then merge waits until conflicts are resolved manually.

By default, the script opens each file using the default application for that file. If oXygen editor is installed on the system, then it can be used as the default application for xml files.

After conflicts are resolved and a file is saved, an XSLT filter runs automatically to remove deltaxml attributes from root element.

XML Merge can be used with parameter ResultType

The parameter 'ResultType' works well with one of the following settings available at command line:

  • SIMPLIFIED_DELTAV2
  • SIMPLIFIED_RULE_PROCESSED_DELTAV2
  • CONFLICTING_CHANGES
  • THEIR_CHANGES
  • ALL_CHANGES

SIMPLIFIED_DELTAV2 and SIMPLIFIED_RULE_PROCESSED_DELTAV2

The simplified result types show three way merge results and are easier to understand.

These results have deltaxml markup and attributes only for the changes. So it is easier to edit and resolve conflicts.

CONFLICTING_CHANGESTHEIR_CHANGES and ALL_CHANGES

The result types: CONFLICTING_CHANGESTHEIR_CHANGES and ALL_CHANGES are three to two merge results. For more details, please visit Three to Two Way Merge Use Cases Guide.

These results also have deltaxml markup only at the change but deltaxml:deltaV2 attributes are appear throughout xml hierarchy. Users should remove these attributes manually.

Oxygen "track change" instructions can also be applied to these output formats which will allow the user to accept and reject changes interactively. The ResultFormat command-line option can be used to select this output format (OXYGEN_TRACK_CHANGES).

#content .code