gitsvnversion-controlversion-control-migration

Migrate huge SVN repo with common trunk to Git


I need to migrate a really huge SVN trunk with commit history to Git . The SVN repository has the following structure:

branches/
    project1-branch1
    project1-branch2
    project2-branch1
    project2-branch2
tags/
    project1-1.0
    project1-1.1
trunk/
    project1/
    project2/
    project3/
    project4/

I am only really interested in moving each project in the trunk to a corresponding Git repository--don't really care about the tags and branches. Correct me if I'm wrong, but I believe Git doesn't work well with extremely large repositories.

There have been similar questions asked in the past but they're pretty old and just want to know if anyone has a fresh perspective on approaching this problem. I tried a couple of tools such as SubGit but they assume that every project is in it's own folder and has a trunk, branches, and tags hierarchy. SubGit just stops responding after a while when I try to explicitly specify the trunk folder and point the tags and branches to an empty folder.


Solution

  • For such easy task you can

    1. Read Git-svn doc
    2. See your case (track single URL) in Basic Examples section
    3. Try to use git svn clone URL/trunk/project* for every project in trunk