Paul Eggert <eggert <at> CS.UCLA.EDU> writes: > > Jim Meyering <jim <at> meyering.net> writes: > > > I'll turn off cvs soon, probably tomorrow. > > By "turn off cvs" do you mean to disable even read-only access to old > versions? I hope not; I still have a bunch of old source trees, > checked out from CVS, that I occasionally need to do a "cvs diff" on. >
I found the following helpful for saving state from an old CVS tree. In fact, so helpful, that I committed the cvs-readonly tag[1]: $ git branch * master $ git pull $ git checkout -b cvs-branch cvs-readonly $ cp -R ../path/to/old-cvs/gnulib/* . $ find -depth -path '*/CVS*' -delete $ git commit -a -m 'state of old-cvs tree prior to git conversion' $ git rebase master $ git branch * cvs-readonly master The above sequence creates a new branch, cvs-branch, whose contents are the state of your old CVS tree. By committing it, you have then saved those changes on a topic branch; and a rebase will then let you update those changes to be consistent with the current state of the git repository's master branch. The sequence can be repeated for multiple CVS trees (if you want multiple topic branches in the same git repository), or you can use git-clone to create multiple git repositories that share as much content as possible, and have each separate repository track the changes from a former cvs checkout. [1] http://git.sv.gnu.org/gitweb/?p=gnulib.git;a=tag;h=e53ea8b -- Eric Blake