Migrating a complex hierarchy of branches from SVN to Git

How can I migrate a large SVN repository (several GB) with hundreds of branches to a Git repository? Not looking for them to work side by side is just a way to get rid of SVN.

From some of the experiments I have done with git svn, it is unclear how to specify a complex hierarchy of branches. Especially when branches are often deleted in SVN ...

Here is an example of the type of hierarchy I'm talking about:

trunk/
tags/
vendors/boost/
branches/ProjectA/
branches/ProjectA/MajorVersion/
branches/ProjectA/MajorVersion/MinorVersion/
branches/Experimental1/
branches/RecycleBin/OldDiscardedBranch

The fact is that a simple regular expression or wildcard cannot fix the correct location of all branches.

Is there a way to transfer all this location information to Git? What will git-svn do when it tries to migrate a revision belonging to a remote branch?

+3
source share
1 answer

. , :

  • git filter-branch . IE, git filter-branch, . , filter-branch .
  • , , .

, git, ( ).

/ , git svn clone , ( ).

, git gc --aggressive , , .

+2

All Articles