stid.smth
stid.smth

Reputation: 1575

How to use git as a proxy to CVS

We are using CVS as source repository. The server is far away from local working place and very slow. The repository size is also large (2GB approx.) and it takes us almost 12 hours to do a fresh checkout.

We'd like to setup a GIT server as a proxy to CVS so that we can working with GIT server in day time and let it sync with CVS server during night. Is there any good practice for this?

Basic requrements are:

  1. Branch support
  2. Syncing between GIT and CVS should be bi-direction, and commits to GIT by different users should be synced to CVS one-to-one with corresponding user

Thanks. BTW, I've read this thread How to export revision history from mercurial or git to cvs? but it does not help much.

Upvotes: 1

Views: 471

Answers (1)

Adam Dymitruk
Adam Dymitruk

Reputation: 129526

You can set up a git repo that exists on the end that the CVS repo is. You don't need to import all the history. It's not going to be worth the pain. You should be able to push and pull to and from the remote git repo. Then just commit from the remote git repo into the cvs one. This should avoid a lot of the transmission delays as git does a wonderful job on just shipping new files and having that compressed.

Eventually everyone will see the remote git repo as the one giving true value and you'll be able to drop the cvs ball-and-chain.

Hope this helps.

Upvotes: 1

Related Questions