Convert non standard svn to git

We’ve got a non-standard svn setup which looks like this:

Root
|----->Trunk
|      |---->Projects
|      |      |---> Project 1
|      |      |---> Project 2
|      |      |---> Project 3
|      |---->Libraries
|      |      |---> Library 1
|      |      |---> Library 2
|----->Tags
|      |---->Projects
|      |      |---> Project 1
|      |      |      |----> 1.0.0.0
|      |      |      |----> 1.0.0.1
|      |      |---> Project 2
|      |      |      |----> 1.0.0.2
|      |      |      |----> 1.0.0.3
|      |---->Libraries
|      |      |---> Library 1
|      |      |       |----> 1.0.0.0
|      |      |       |----> 1.0.0.1
|      |      |---> Library 2
|      |      |       |----> 1.0.0.0
|      |      |       |----> 1.0.0.1

I’ve already done a git-svn clone, but of course none of the tags work (we have no branches in svn).
Is there anyway to untangle this mess into multiple git repos?

  • post-commit hook run as what user in svn
  • Drupal Source Control Strategy?
  • Cloning non-standard layout SVN repo to git
  • Git SVN and externals
  • Is there a git equivalent to clearcase catcr
  • What are you supposed to do with old SVN branches?
  • SubGit error when svn users commit
  • post-commit hook produces error on svn commit but works when run on manually on command line
  • One Solution collect form web for “Convert non standard svn to git”

    You can use git-svn import. You will need to do it once for every project and once for every library. use the -t -T parameters to specify the trunk and tags locations but omit the branch specification.

    Now you need to graft all of them together with submodules. Sounds like a fun and challenging project. Let me know if you need anymore help.

    Hope this helps.

    Git Baby is a git and github fan, let's start git clone.