Integration with Git
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.
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
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.
CONFLICTING_CHANGES, THEIR_CHANGES and ALL_CHANGES
The result types: CONFLICTING_CHANGES, THEIR_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).