IdmlPackageMerger

com.phasmidsoftware.xmldoc.idml.IdmlPackageMerger

Merges every part of an IDML package - one ThreeWayMerger.merge call per part still present on all three sides, plus the same present/absent case analysis Merger/PcsMerger already use for a single node, just one level up: at the granularity of "does this whole part exist", not "does this attribute/relation exist".

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Value members

Concrete methods

def merge(base: IdmlPackage, left: IdmlPackage, right: IdmlPackage, ignoredAttributes: Set[String] = ...): Try[PackageMergeResult]

Merges left and right, both relative to base.

Merges left and right, both relative to base.

Value parameters

base

the common ancestor package.

ignoredAttributes

forwarded to ThreeWayMerger.merge for each part - see EditDetector.defaultIgnoredAttributes.

left

one independently modified version.

right

the other independently modified version.

Attributes

Returns

every part that needs to change, plus every part-level conflict found.