Integration with Mercurial

 Table of Contents

Introduction

This sample is provided to show XML Merge integration with Mercurial (hg) for merge, graft 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 XML Merge results have deltaxml namespaced attributes at the root node which should be removed manually while resolving the conflicts.

XML Merge can be used with DeltaXML-Merge.args=$base $local $other $output ResultType=CONFLICTING_CHANGES WordByWord=true.

The parameter 'ResultType' works well with one of the following settings on the 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 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 have deltaxml markup only at the change but deltaxml:deltaV2 attributes are appear throughout the xml hierarchy. Users should remove these attributes manually.

Oxygen "track changes" instructions can also be applied to these output formats which will then 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