SVK::Editor::Merge(3p)

NAME
SVK::Editor::Merge - An editor that does merges for the storage editor

SYNOPSIS
  $editor = SVK::Editor::Merge->new
    ( anchor => $anchor,
      base_anchor => $base_anchor,
      base_root => $fs->revision_root ($arg{fromrev}),
      target => $target,
      storage => $storage_editor,
      %cb,
    );

DESCRIPTION
Given the base root and callbacks for local tree, SVK::Editor::Merge forwards the incoming editor calls to the storage editor for modifying the local tree, and merges the tree delta and text delta transparently.

PARAMETERS

  options for base and target tree

anchor
    The anchor of the target tree.

target
    The target path component of the target tree.

base_anchor
    The anchor of the base tree.

base_root
    The root object of the base tree.

storage
    The editor that will receive the merged callbacks.

allow_conflicts
    Close the editor instead of abort when there are conflicts.

open_nonexist
    open the directory even if cb_exist failed. This is for use in conjunction with SVK::Editor::Rename for the case that a descendent exists but its parent does not.

inspector
    The inspector reflecting the target of the merge.

  callbacks for local tree
Since the merger needs to have information about the local tree, some callbacks must be supplied.

cb_rev
    Check the revision of the given path.

cb_conflict
    When a conflict is detected called with path and conflict type as argument. At this point type can be either 'node' or 'prop'.

cb_prop_merged
    Called when properties are merged without changes, that is, the "g" status.

cb_merged
    Called right before closing the target with changes flag, node type and ticket.

cb_closed
    Called after each file close call.

BUGS

Tree merge
    still very primitive, have to handle lots of cases