NAME

Git::SVN::Editor - commit driver for "git svn set-tree" and dcommit

SYNOPSIS

use Git::SVN::Editor;
use Git::SVN::Ra;

my $ra = Git::SVN::Ra->new($url);
my %opts = (
	r => 19,
	log => "log message",
	ra => $ra,
	config => SVN::Core::config_get_config($svn_config_dir),
	tree_a => "$commit^",
	tree_b => "$commit",
	editor_cb => sub { print "Committed r$_[0]\n"; },
	mergeinfo => "/branches/foo:1-10",
	svn_path => "trunk"
);
Git::SVN::Editor->new(\%opts)->apply_diff or print "No changes\n";

my $re = Git::SVN::Editor::glob2pat("trunk/*");
if ($branchname =~ /$re/) {
	print "matched!\n";
}

DESCRIPTION

This module is an implementation detail of the "git svn" command. Do not use it unless you are developing git-svn.

This module adapts the SVN::Delta::Editor object returned by SVN::Delta::get_commit_editor and drives it to convey the difference between two git tree objects to a remote Subversion repository.

The interface will change as git-svn evolves.

DEPENDENCIES

Subversion perl bindings, the core Carp module, and git's Git helper module.

Git::SVN::Editor has not been tested using callers other than git-svn itself.

SEE ALSO

SVN::Delta, Git::SVN::Fetcher.

INCOMPATIBILITIES

None reported.

BUGS

None.