Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We have a CVS repo with many years of history. It has become huge and unwieldly, so we would like to split this singe repo in to two repos:

  1. The main repo would have 1 year's worth of history, up to and including present day. This is where all dev work would take place.
  2. An archive repo would have the complete history, up to the point where the main repo would take over. This would be read-only, and only used to look at historical changes.

Given that we are starting with one huge, monolithic CVS repo, is it possible to split it up in this way? How can this be accomplished?

share|improve this question
How about migrating to another more modern VCS? – arved Sep 26 '12 at 15:16
Moving to another control system has been discussed, and we have determined for various reasons that this is not possible now. – John Dibling Sep 26 '12 at 15:17
I remember, that removing revisions in the CVS is a bad thing. This is exactly you are willing to do. I think that you should start with a new repository where you import your project(s) in its current state and recreate all necessary branches. Then you may use your old repository for historical reasons. – Serge Sep 26 '12 at 18:11

I would suggest the following strategy :

  • Copy the repository to the archive machine (lots of info available - example)
  • Remove/outdate the old revisions (again lots of info available - info1, info2).
    You should study with great caution the "-o" admin parameter in the Reference Manual for your CVS product.

Verifying the stripped-down repository won't be simple, maybe by exporting everything before and after and diffing to see if you have everything.

Negative remark : It might be time to buy a new and faster computer.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .