Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Large 66GiB legacy CVS repo — it is a good idea to migrate to GIT or Mercurial?

Tags:

git

mercurial

cvs

We have a very large legacy CVS repo (66GiB) over a decade and increasing. Now we have some sub-contract companies, which need to work on some modules and branches.

We need to create some branches for them and send them that branches. Also we need to merge their changes into our main branches from time to time.

Our concern is:

  • we cannot give them the whole repo absolutely, mostly the concern is security.

  • we need to send them some history info, not just the "HEAD" version of code.

  • we are still doing some development work, so we need to send them changeset from time to time.

Is GIT and Mercurial a good choice to migrate from CVS? Can GIT/Mercurial satisfy our needs?

EDIT: I think we actually need a centralized revision control with multi-site feature, with the ability to create off-site repo based on part of central repo. And can be easily merge between sites.

like image 748
valpa Avatar asked Feb 19 '23 15:02

valpa


1 Answers

With Git, you can use the git subtree command to "snip" out subdirectories that you can give to your subcontractors, and then easily reintegrate their changes into your mainline. You can also give them updates periodically if you need to. The git subtree command was original an add-on but has been rolled in to the contrib directory of the official Git distribution.

It is possible to limit the amount of history you include in a repository you give to an external user.

I expect your largest concern, though, will be around the move to a DVCS with such a large starting repo. Git will compress your repo so it's unlikely to be 66 GB when you're done, but it will still be rather unwieldy (probably on the order of 10 GB, depending on what you've got stored in there). If you don't consider that a problem, then go for it.

I have limited my answers to Git because I'm more familiar with Git than Mercurial.

like image 57
Greg Hewgill Avatar answered Feb 23 '23 00:02

Greg Hewgill