Svn to git: how to deal with our non-standard, probably mis-branched svn

Our current svn structure is as follows:

trunk
-- project
-- projectDao
-- projectResources
branches
-- project-1.0
-- projectDao-1.0
-- projectResources-1.0
-- project-2.0
-- projectDao-2.0
-- projectResources-2.0
tags
-- project-1.0.0
-- ...

To make things worse, project-1.0 was forked from the projectDao-1.0 project from projectDao (each of them makes attacks in a separate movement). It would be ideal.

This is the commit log:

trunk
-- project
-- projectDao
-- projectResources
branches
-- 1.0
---- project
---- projectDao
---- projectResources
-- 2.0
---- project
---- projectDao
---- projectResources
tags
--1.0.0
----project
---- ...

And so it makes sense. And we would have to fork from trunk to 1.0 instead of two different commits.

However, we want to switch to git now (forever), and I don’t understand how I should start with this.

I don’t understand how to do this. When I just git clone my repository with a standard layout, I get something like this.

* master
  remotes/project-1.0
  remotes/project-1.0@3
  remotes/project-2.0
  remotes/project-2.0@10
  remotes/projectDao-1.0
  remotes/projectDao-1.0@4
  remotes/projectDao-2.0
  remotes/projectDao-2.0@11
  remotes/projectResources-1.0
  remotes/projectResources-1.0@5
  remotes/projectResources-2.0
  remotes/projectResources-2.0@12
  remotes/tags/project-1.0.0
  remotes/tags/projectDao-1.0.0
  remotes/tags/projectResources-1.0.0
  remotes/trunk

This is what gitg generates

This is what gitg generates

I do not know how I can use rebase to get this right, for example:

* master
  remotes/1.0
  remotes/2.0
  remotes/tags/1.0.0
  remotes/trunk
+5
2

, 1.0. , git -svn checkout, svn.

, git -svn checkout, , SVN , checkout SVN. , SVN.

, , , . SVN GIT, .

, , .

+5

, , git. svn git, , 1.0 2.0 , , , , .

0

All Articles