Overview

.. -*- mode: rst ; ispell-local-dictionary: "american" -*-

=====================================================
Tools for Migrating a Subversion repository to Git
=====================================================

:Copyright: 2011 by Hartmut Goebel <h.goebel@goebel-consult.de>
:Licence: GNU General Public License version 3.0 (GPL-3.0)

These scripts and data has been used for migrating PyInstaller__ from
Subversion repository to Git. This migration was done in December 2012.

__ http://www.pyinstaller.org/

Basically the process is this:

* Create a local mirror of the SVN repository. This speeds conversion
  for the case you have to restart from scratch.
* Convert the SVN repo to git using git-svn (`git svn`).
* Cleanup the git repositories as required and according to your
  needs.
* Upload the git repository to github, bitbucket, or wherever you
  like.

Please see `migrate-git.sh` for how it works.

Requirements
====================

* My hacked version of ESR's reposurgeon from
  https://github.com/htgoebel/reposurgeon
* A slidly modified version on Yuval Kogman git-svn-abandon, available
  at https://github.com/htgoebel/git-svn-abandon
* svnsync, svnadmin, git, Python 2.7, bash, diff, patch, ...

Installation
================

WARNING: The scripts are not bullet-proof.

1) Adopt config.sh to your needs.

   WARNING: Filenames with spaces (and other problemativ characters)
            are NOT supported.

2) The script `migrate-git.sh` will clone reposurgeon and
   git-svn-abandon into the same directory, if they do not exist.

3) See stage-9-postfixes.sh for last works.