SVN to GitLab, old and large repository

Dear Sirs,

My name is Hyunbae,LEE.
I am working for SAMSUNG SDS located in Korea Republic.

I am writing to ask some question about SubGit software you support.
At present we, Samsung SDS, have been operating several MIS system just like EDM.
and deal with lots of software to maintain them.
We are facing to migrate VCS from SVN to GitLab. and I want to ask some questions for it.
First of all, I’d like to know which version of SVN and GitLab SubGit support. Are there any limitation or issues?
The next is how long time we need for mirroring between SVN and GitLab. Any system has 220 thousand revisions. so it is important to calculate how much time we need.
The last is how many jobs of mirroring we execute at the same time with only one of SubGit.

I wish you prompt answer.

Best regards,

Good day dear mr. Hyunbae.

Here are the answers to your questions:

  • SubGit supports all the SVN versions. There may be some specifics in configuration depending on SVN version – for example, with some version the pre-revprop-change hook should be enabled to allow SubGit to set correct author name – but basically all the SVN versions are supported. SubGit supports all the GitLab versions, but again, there are some specifics in configuration and one major limitation – SubGit doesn’t support Gitaly at this time.
  • At average, one revision translation takes about 1,5 seconds, so for 220 thousand revisions the initial translation will take about 4 days. Of course, the time strongly depends on the history itself and repository size, as well as on environment, like network and drives speed, CPU performance, etc, so it’s just a rough estimation.
  • you can set as many mirrors as you need, the only essential limitation is the server performance. By default, SubGit creates a separate process for every mirrored repository, so the mirrored repositories doesn’t depend on each other and can work at the same time. It can also be configured to use so called “shared daemon” in which case all the mirrors will be handled by only one daemon process.