How to handle custom subversion imports in Git

We have a non-standard subversion repository that we would like to convert to Git. The problem is that I don’t know where to start, so that we save the whole story, but do not end the complete mess.

Our repository has the last 6 years of history for a set of products for our companies and has undergone many restructuring. In all cases, we have a basic base of platform code, and then several projects / plugins that combine in different ways with the main platform.

The first couple of years were structured as follows:

-- plugin1
   - trunk
   - branches
   - tags
-- pluginX
   - trunk
   - branches
   - tags
-- trunk   (core platform)
   - <various sub dirs)
-- branches  (various feature branches of the entire repository)
   - refactoring1
   - refactoringX
-- tags (various tags of customer releases of full respository)
   - customerX_1.x  
-- vendor  (vendor drops and tracking of 3rd party source deps)
   - 3rd_party_code_A
   - 3rd_party_code_X

Over time, we added a couple more directories, including:

-- releases (replaced tags; branches for released stable versions of repos)
-- sandbox  (area for misc projects of interest; should have been new repo)

Then we cleaned it up and finished:

-- trunk
  - platform
  - plugin1
  - pluginX
-- stable  (stable release branches of trunk)
  - 1.1
  - 1.2
-- tags    (release points; marks a point on a stable branch)
  - 1.1.1
  - 1.1.2
-- vendor
-- sandbox
-- releases (copies of old releases of interest)

, . , , . git, ( , "trunk" ).

- platform
- plugin1
- pluginX 

Branches:
  - stable/1.1
  - stable/1.2
Tags:
  - rel/1.1.1
  - rel/1.1.2

. ( , , , , svn)

, , "" , "", .

, . , , , , .

, . , , . , .

- , ?

:

  • ?
  • subversion - , , , ?
  • , git ?
  • , ?
+5
1

git -svn ( --follow-parent) . , , git -svn, -T, -b -T, .

.

, Subversion git, SVN , . Subversion Git ( ).

, , , , , git -svn , , ( git-svn -r). VCS (VSS SVN, 2005), , . Subversion ( ), , .

, Subversion, svndumpfilter, . , git -svn , git log, - svn log (- , Git ).

, - . , - , .

EDIT: : --prefix git -svn, , , git, svn .

+4
source

All Articles