NAME

SVN::Simple::Edit - A simple interface for driving svn delta editors

SYNOPSIS

 my $edit = SVN::Simple::Edit->new
    (_editor => [SVN::Repos::get_commit_editor($repos, "file://$repospath",
			              '/', 'root', 'FOO', \&committed)],
    );

 $edit->open_root($fs->youngest_rev);
 $edit->add_directory ('trunk');
 $edit->add_file ('trunk/filea');
 $edit->modify_file ("trunk/fileb", "content", $checksum);
 $edit->delete_entry ("trunk/filec");
 $edit->close_edit ();
 ...
 $edit->copy_directory ('branches/a, trunk, 0);

DESCRIPTION

SVN::Simple::Edit wraps the subversion delta editor with a perl friendly interface and then you could easily drive it for describing changes to a tree. A common usage is to wrap the commit editor, so you could make commits to a subversion repository easily.

This also means you can not supply the $edit object as an delta_editor to other API, and that's why this module is named ::Edit instead of ::Editor.

See SVN::Simple::Editor for simple interface implementing a delta editor.

PARAMETERS

for constructor

_editor

The editor that will receive delta editor calls.

missing_handler

Called when parent directory are not opened yet, could be:

\&SVN::Simple::Edit::build_missing

Always build parents if you don't open them explicitly.

\&SVN::Simple::Edit::open_missing

Always open the parents if you don't create them explicitly.

SVN::Simple::Edit::check_missing ([$root])

Check if the path exists on $root. Open it if so, otherwise create it.

root

The default root to use by SVN::Simple::Edit::check_missing.

base_path

The base path the edit object is created to send delta editor calls.

noclose

Do not close files or directories. This might make non-sorted operations on directories/files work.

METHODS

Note: Don't expect all editors will work with operations not sorted in DFS order.

open_root ($base_rev)
add_directory ($path)
open_directory ($path)
copy_directory ($path, $from, $fromrev)
add_file ($path)
open_file ($path)
copy_file ($path, $from, $fromrev)
delete_entry ($path)
change_dir_prop ($path, $propname, $propvalue)
change_file_prop ($path, $propname, $propvalue)
close_edit ()

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