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.
The editor that will receive delta editor calls.
Called when parent directory are not opened yet, could be:
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.
- 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 ()
Chia-liang Kao <email@example.com>
Copyright 2003-2004 by Chia-liang Kao <firstname.lastname@example.org>.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.