Gentoo Archives: gentoo-scm

From: Fabian Groffen <grobian@g.o>
To: gentoo-scm@l.g.o
Subject: Re: [gentoo-scm] Help?
Date: Sun, 02 Nov 2008 07:38:36
Message-Id: 20081102073832.GF16183@gentoo.org
In Reply to: Re: [gentoo-scm] Help? by Alec Warner
On 01-11-2008 17:28:47 -0700, Alec Warner wrote:
> On Sat, Nov 1, 2008 at 4:51 PM, Donnie Berkholz <dberkholz@g.o> wrote: > > 3. Updating utilities, mainly repoman on the dev side, and rsync scripts > > on the backend; and > > I will probably volunteer myself for #3 repoman....
Also talk to Ali Polatel/alip/hawking who said at some point he'd redo repoman's SVN support with native python svn functions, instead of exec calls and output parsing. Are there native python git functions? I don't know if echangelog is already git aware, but if it isn't, I guess it's a showstopper too. And how about Portage itself? It currently only knows about rsync, cvs and svn, but probably should get extended with git support as well to facilitate devs.
> > Here's progress so far: > > > > 1. Working on it > > 2. Draft at <http://dev.gentoo.org/~dberkholz/master_plan.txt>. Thoughts? > > 3. Should be fairly straightforward. Patches welcome!
With some experience, I don't think it's that straightforward at all. Repoman currently needs to figure out what files have changed, or were added/removed. It checks if the ChangeLog was correctly updated, for instance, and then explicitly commits the files that were modified or added. Since with Git there is not going to be header expansion, a shortcut can be made equal to the case where no expanded files are modified, and hence Manifest can be commited directly. Probably repoman should git add all modified files that it is going to git commit afterwards or something. The fast way to get repoman with git support is to just add another block of 'if vcs == "git":' everywhere some vcs interaction is necessary. The long way uses an object oriented approach with implementations of certain requirements. That said, I think Alec is the one :)
> > 4. Could use some discussion. For example, do we provide > > backwards-compat CVS for a while, or do we just provide a git testing > > server for a while and switch things over all at once?
After your testdrive for a month or so, shadowing the CVS tree, I think you can big-bang into Git, since for our regular users nothing should change. Rsync just stays the same, the generation is just different, but with minimal differences to update the git checkout instead of the cvs checkout. Developers should switch, should have a Portage that supports updating a git tree, and learn how to add/remove files and directories with git. Anon-cvs for gentoo-x86 can just be migrated to git, right? -- Fabian Groffen Gentoo on a different level

Replies

Subject Author
Re: [gentoo-scm] Help? Alec Warner <antarus@g.o>
Re: [gentoo-scm] Help? Donnie Berkholz <dberkholz@g.o>
Re: [gentoo-scm] Help? Christian Faulhammer <opfer@g.o>