Git::SVNReplay - replay git commits into a throwaway svn repo


    Git::SVNReplay->new( git_repo =>



Normally you would just invoke git-svn-replay, although, this module happens to contain most of the code for the command. As a consequence, this pod is mainly a list of functions.


All the defaults this function uses are available in $Git::SVNReplay::DEFAULTS should you wish to adulterate them. The options the function understands are as follows:

db_file => "replay.rdb"

The location of the replay database (DBM::Deep).

patch_format => '%s [%h]%n%n%b%n%aN <%aE>%n%ai%n%H'

The format of the message (.msg) fed to svn during a commit.

src_branch => "master"

The name of the branch you wish to pull from git_repo.

mirror_branch => "mirror"

The name of the local branch you wish to use, default is mirror rather than master.

git_repo => "g.repo"

The location of the git repo you wish to pull from. By default, it assumes you're super paranoid and cloned the repo you wish to pull from into a local directory: g.repo (probably not necessary).

svn_repo => "s.repo"

The location of the svn repository.

svn_co => ""

The location of the checked out copy of the svn repository.


Takes the same arguments as new() and returns itself so you may use this function in function chains.


Setup the git repo inside the checked out svn. If it's already there, do nothing. Returns itself so you may use the function in chains.


Replay all the commits not yet commited to the svn. Returns itself so you may use the function in chains.


Create the svn repo, if necessary. Returns itself so it may be used in chains.


Adds a directory to the checked out svn, if it's not already there, and returns itself for chains.


Turn off all Term::GentooFunctions racket. Returns itself so you may use the function in chains.


You can report bugs either via or via the issue tracking system on github. I'm likely to notice either fairly quickly.


Paul Miller <>


Copyright 2009 Paul Miller -- released under the GPL


perl(1), git(1), svn(1), git-svn-replay, DBM::Deep, IPC::System::Simple