How do I migrate a SVN repository with many projects and common libraries to Git/Gitlab? -


We are considering a step from SVN to Git / GeitLB, but I have advised that before this step Anybody from either of the following will work best for us or there is a better way to do this.

Our SVN repository currently looks something like this:

\ tags \ product1_v2 \ product_1 \ common \ product2_v1 \ trunk \ product_1 \ product_2 \ common

What I have read, the correct way to use GIT will be in the different repository product_1 , product_2 and Normal to break. I have read many articles that suggest using the submodule or subtitles is a good strategy for connecting with my normal code like those two voices Compared to putting all our code in a single repository compared to the above.

Generally, we make changes in various products and general libraries at the same time (our normal library is still evolving).

I know that there is a concept of projects gitlab, but I can not find a definite answer to whether many projects can share a repository (if we all place one code for code)

So my question is; Which method would you recommend to create at least overhead and headache?

I do not have the correct answer, but we are also in the same way, I would like to share what we have already done.

  • We are using GitBlit (not GitLab), but I do not think
  • We have some distributed teams with a bad network connection, so the size can be relevant. is.

The following rules have helped us so far:

  • Usually, with the small reserves, the guit is used, anything independent from anything else. Can be made by form, or can be changed with different release cycles by different teams, should be in different repositories.
  • We have not used the sub-module yet, here is a quote from a (German) book about the use of guit in company:

With sub-modules, you are able to include the git-repository in other git-repositories. ... Submodules are useful for splitting large projects into the independent module.

Therefore, on the basis of some size of the whole code base, and if all people are working on the same team and all the files need all the time, splitting your repository There should be no need for There are recipes available on how to do that later

GitBlit has the structure of "Projects" and "Repositories", and they are hierarchical, I have tried to do something similar to GitLab, The best I can find is that the project looks like a repository.

Try one experiment:

  • Store a git svn on your trunk. Is it manageable? How about the size?
  • Try different parameters of the command to see the size of the repository changes depending on the type of history you want to migrate.

So in the end, I will try to use only one repository, because I have not seen any reason to divide it and as long as this is the case, then it should remain. So you can keep most of your development process, your manufacturing process and later adjust it.


Comments