---
name: "Git::SVN::Editor"
section: "3pm"
platform: "linux"
package: "git-svn"
version: "1:2.11.0-3+deb9u7"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/Git::SVN::Editor"
---

# Git::SVN::Editor(3pm)

commit driver for "git svn set-tree" and dcommit

## 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.
