Gentoo Archives: gentoo-scm

From: Fabian Groffen <grobian@g.o>
To: gentoo-scm@l.g.o
Subject: Re: [gentoo-scm] Gentoo SCM conversion status report, 2010/01/27
Date: Sat, 27 Feb 2010 11:25:17
In Reply to: Re: [gentoo-scm] Gentoo SCM conversion status report, 2010/01/27 by "Robin H. Johnson"
On 28-01-2010 19:52:16 +0000, Robin H. Johnson wrote:
> On Thu, Jan 28, 2010 at 08:38:52AM +0100, RĂ©mi Cardona wrote: > > > Testing git-cvsserver: > > > ---------------------- > > > No news. Volunteers needed. > > Was there a lot of interest in this? I had the impression fewer and > > fewer people actually wanted/needed this... > We wanted it for people that didn't want to change all of their workflow > at once. > 1. Clone repo to local system. > 2. Do a CVS checkout of what they wanted from the git-cvsserver (running locally). > 3. After CVS commit, they have to do Git push themselves still. > > It's mainly testing that it works and writing up a set of instructions > for doing so. > > Not proposed at this time: Providing a central git-cvsserver instance, > as users would be forced to update very often I think (but testing this > assumption IS needed).
I toyed with this myself recently. I don't see any benefit of having users locally running cvs against their own bare git repo checkout. With our current unmasked versions of CVS in tree we need to do hacks with scripts via CVS_RSH to work with it. I would say that it should be offered (via ssh as normal) by the main git repo to be useful. I can't say anything else but that git's cvsserver works extremely well. It does "atomic multi directory commits" fine, and keeps a revision number for files like CVS does. All common operations (add, remove, update, diff, commit, status) work fine, be it with slightly different messages returned by the server. Keyword expansion doesn't work, so our Ids wouldn't be updated. Interaction with the same repo being committed to with CVS and pushed to with git goes well, conflicts are handled for CVS commits the usual way by requiring to be uptodate. I believe (and that is how I am planning to use it initially for one of the other projects I participate in) that the git-cvsserver makes it very easy for users in the switch. You only need to recheckout a CVS working copy, but then you don't have to change any of your habits. Once you're ready for git, you can switch, and even that you can do gradually with a cvs and git checkout side by side. -- Fabian Groffen Gentoo on a different level