Created: 2008-12-19 01:21
Updated: 2016-10-17 07:18


Mirror Mirror

Mirror Mirror intends to be a service for mirroring SVN repositories to GitHub in a reliable enough fashion that they can be considered authoritative mirrors within the GitHub community.

Getting Started

Clone it:

$ git clone git://github.com/mirror/mirror.git

Import an existing SVN repository (e.g. libxml-ruby):

$ mkdir -p $HOME/Documents/Projects/mirrors
$ cd $HOME/Documents/Projects/mirrors
$ git svn clone http://libxml.rubyforge.org/svn -s libxml-ruby

Create a GitHub repository to contain your mirror.

Add a GitHub remote:

$ git remote add origin git@github.com:mirror/libxml-ruby.git

Run the mirroring script:

$ /path/to/mirror.rb


$ git push --mirror origin master

(Un)known Issues

  • Tags should be copied over as git tags, although their authorship will be lost
  • Branches should be copied over, but this may not work properly.
  • This should either be run out of cron or as a daemon in order to keep repositories in sync.
Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more