SVN::Simple::Edit(3) User Contributed Perl Documentation SVN::Simple::Edit(3)

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

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);

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.

_editor
The editor that will receive delta editor calls.
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.
Check if the path exists on $root. Open it if so, otherwise create it.
The default root to use by SVN::Simple::Edit::check_missing.
The base path the edit object is created to send delta editor calls.
Do not close files or directories. This might make non-sorted operations on directories/files work.

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

Chia-liang Kao <clkao@clkao.org>

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

2020-07-07 perl v5.32.0