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.