NAME

SVK::Editor::Rename - An editor that translates editor calls for renamed entries

SYNOPSIS

$editor = SVK::Editor::Rename->new
  ( editor => $next_editor,
    rename_map => \@rename_map
  );

DESCRIPTION

Given the rename_map, which is a list of [from, to] pairs for translating path in editor calls, SVK::Editor::Rename serialize the calls and rearrange them for making proper calls to $next_editor.

The translation of pathnames is done with iterating through the @rename_map, translate with the first match. Translation is redone untill no match is found.

SVK::Editor::Rename is a subclass of SVK::Editor::Patch, which serailizes incoming editor calls. Each baton opened is recorded in $self-{opened_baton}>, which could be use to lookup with path names.

When a path is opened that should be renamed, it's recorded in $self-{renamed_anchor}> for reanchoring the renamed result to proper parent directory before calls are emitted to $next_editor.