git-svnsync ‒ Server-side GIT↔SVN synchronisation

Git-svnsync is a bi-directional server-side synchronisation tool between a git and a subversion repository.

It is based on hooks and it is designed to allow a smooth transition of projects from a subversion repository to a git repository. Git-svnsync guarantees that any branch update ('svn commit' or 'git push') is applied atomically in both repositories, thus providing a seamless experience to the developers.

Licence

General Public License v2 (or later)

Links

Requirements

Usage

  1. Make sure git-svnsync is in the PATH.
  2. You have an existing SVN repository to be migrated and a GIT bare repository whose content was filled with git-svn, both must be located on the same host.
  3. From the git repository, run: git svnsync init SVNURL ; this will install hooks for git (update) and for svn (pre-commit & post-commit). If any of these hooks is already present, then the new hooks are installed as HOOKNAME.git-svnsync and you will have to merge them manually.
  4. Your setup is ready.

Caveats