<p>My team works on a project in cvs containing about 20,000 Java files.  Because of the number of files, it takes a while to do a cvs update.  I typically keep about 5 copies of the entire tree checked out, to make it easy to check in different requests without worrying about which files were modified for each.  It's a real pain to keep all 5 trees up to date and in sync with each other.</p>

<p>I've read that it's fairly easy to use git locally with a remote cvs server, and that git is fast.  Will git significantly speed up the updating of my local trees?</p>

<p>I realize the lower bound is the time to do one cvs update.  But I'm thinking that once the first tree is up to date, it might possible to quickly sync the other 4 with the first, rather than to do 4 more cvs update commands.  Do I understand git correctly?</p>

We do something similar at work.  We basically use the
```
master
```
branch in git as a single, updated CVS version of the code; we don't do any development there, just CVS updates.  Then, all of our development projects happen on feature branches that we rebase.  When we do CVS updates on the
```
master
```
branch we commit those changes to
```
master
```
and then rebase our other development branches against
```
master
```
.
It's not ideal -- it makes sharing branches with other people difficult.  But, we can manage several development projects at once and do branches, merges, and diffs against them easily.  And, we only interact with CVS on the one
```
master
```
branch, as needed.