NAME

SVK::MergeEditor - An editor wrapper that merges for the storage editor

SYNOPSIS

$editor = SVK::MergeEditor->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::MergeEditor 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.

callbacks for local tree

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

cb_exist

Check if the given path exists.

cb_rev

Check the revision of the given path.

cb_conflict

Called when a conflict is detected.

cb_localmod

Called when the merger needs to retrieve the local modification of a file. Return an arrayref of filename, filehandle, and md5. Return undef if there is no local modification.

cb_merged

Called right before closing the top directory with storage editor, root baton, and pool.

cb_closed

Called after each file close call.

BUGS

Tree merge

still very primitive, have to handle lots of cases

AUTHORS

Chia-liang Kao <clkao@clkao.org>

COPYRIGHT

Copyright 2003-2004 by Chia-liang Kao <clkao@clkao.org>.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See http://www.perl.com/perl/misc/Artistic.html