Integration with Git

 Table of Contents

1. Introduction

This sample is provided to show DITA 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.

2. Usage notes and tips

The git merge process with DITA 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.

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

2.1. SIMPLIFIED_DELTAV2 and SIMPLIFIED_RULE_PROCESSED_DELTAV2

The simplified result types show three way merges and are designed to be easier to understand.

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

2.2. CONFLICTING_CHANGESTHEIR_CHANGES and ALL_CHANGES

The result types: CONFLICTING_CHANGESTHEIR_CHANGES and ALL_CHANGES are all 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 appear throughout xml hierarchy. Users should remove these attributes manually. Alternatively, try The Simplified DITA Merge Format which is easier for manual change resolution.

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