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