Chia-liang Kao (高嘉良) > SVK-1.03 > SVK::Editor::Merge

Download:
SVK-1.03.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  53
Open  12
View Bugs
Report a bug
Source   Latest Release: SVK-v2.2.1

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 edito 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.

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_localprop

Called when the merger needs to retrieve the local modification of a property. Return the property value.

cb_prop_merged

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

cb_dirdelta

When delete_entry needs to check if everything to be deleted does not cause conflict on the directory, it calls the callback with path, base_root, and base_path. The returned value should be a hash with changed paths being the keys and change types being the values.

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-2005 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