1 |
Folks, pardon the earlier empty reply. Bit of a fat fingered fuck up on my |
2 |
part, sorry for that. Responses inline meanwhile. |
3 |
|
4 |
On Sun, Sep 14, 2014 at 10:33 AM, Rich Freeman <rich0@g.o> wrote: |
5 |
|
6 |
> On Sun, Sep 14, 2014 at 8:03 AM, Michał Górny <mgorny@g.o> wrote: |
7 |
> > |
8 |
> > I'm quite tired of promises and all that perfectionist non-sense which |
9 |
> > locks us up with CVS for next 10 years of bikeshed. |
10 |
> |
11 |
> While I tend to agree with the sentiment, I don't think you're |
12 |
> actually targeting the problems that aren't already solved here. |
13 |
> |
14 |
|
15 |
Fully agreed; additionally there is an annoying ignorance of the full body |
16 |
of work folks have done over said years- thin manifests/md5 cache are |
17 |
simple examples, but there is a lot of work that was done to even make it |
18 |
*possible* to run from a git repository sanely. |
19 |
|
20 |
|
21 |
> Of course, that assumes infra is |
22 |
> > going to cooperate quickly or someone else is willing to provide the |
23 |
> > infra for it. |
24 |
> |
25 |
> The infra components to a git infrastructure are one of the main |
26 |
> blockers at this point. I don't really see cooperation as the issue - |
27 |
> just lack of manpower or interest. |
28 |
> |
29 |
|
30 |
I can't speak for current gentoo infra, but it'd help to think through |
31 |
exactly who will have RO access to the git repo. |
32 |
|
33 |
Trying to have the entire gentoo userbase accessing the repo via git is |
34 |
going to be resource intensive- if you're intending that, well, start |
35 |
donating frankly. |
36 |
|
37 |
If however you're angling for just devs having git access, and utilizing |
38 |
the existing rsync mirror, that should be a helluva lot more doable (even |
39 |
with shitty hardware). |
40 |
|
41 |
My point there is you probably need to be specific, rather than |
42 |
vague/bitchy. It'll avoid the bikeshed, among other things. |
43 |
|
44 |
|
45 |
> 1. send announcement to devs to explain how to use git, |
46 |
> |
47 |
> This is one of the blockers. We haven't actually decided how we want |
48 |
> to use git. |
49 |
> |
50 |
> Sure, everybody knows how to use git. The problem is that there are a |
51 |
> dozen different ways we COULD use git, and nobody has picked the ONE |
52 |
> way we WILL use it. |
53 |
> |
54 |
> This isn't as trivial as you might think. We have a fairly high |
55 |
> commit rate and with a single repository that means that in-between a |
56 |
> pull-merge/rebase-push there is a decent chance of another commit that |
57 |
> will make the resulting push a non-fast-forward. |
58 |
> |
59 |
> People love to point out linux and its insane commit rate. The thing |
60 |
> is, the mainline git repo with all those commits has exactly one |
61 |
> committer - Linus himself. They don't have one big repo with one |
62 |
> master branch that everybody pushes to. At least, that is my |
63 |
> understanding (and there are certainly others here who are more |
64 |
> involved with kernel development). |
65 |
> |
66 |
|
67 |
To be frank, I think you're seriously overthinking it and worrying about a |
68 |
nonissue. Worrying about this while ignoring security enhancements like |
69 |
requiring signed commits on push is a bit weird to me. |
70 |
|
71 |
I think prior to arguing this point, folks should take a look at the |
72 |
chromium-os commit rates and approach. Gentoo's commit rate will be in the |
73 |
same rough range- the difference for cros is purely that it was a gated |
74 |
commit model where pushes didn't land in trunk till they'd had basically |
75 |
validation- after that validation they were automatically merged in. If |
76 |
gentoo really hits that level of churn, that model would work (and have |
77 |
additional benefits). |
78 |
|
79 |
Do some research and look at what came before; worst case, just use a |
80 |
simple model and sort any workflow inefficiencies *after* they come up. |
81 |
|
82 |
|
83 |
> |
84 |
> > 2. lock CVS out to read-only, |
85 |
> > |
86 |
> > 3. create all the git repos, get hooks rolling, |
87 |
> |
88 |
|
89 |
The git -> rsync mirror generation will have to be finished for this- |
90 |
specifically, converting thin manifests to thick manifests, resigning as |
91 |
needed. I believe zmedico did some work on that before moving on, but |
92 |
others more in the know would have to address that. |
93 |
|
94 |
ChangeLog generation also would be a nice to have there, and quick to |
95 |
integrate. |
96 |
|
97 |
One additional point no one has mentioned; when cutting over to git, |
98 |
afterwards someone will need to go through and rip out all of the cvs $Id |
99 |
style tags that exist in the tree- depending on how folks are doing the |
100 |
conversion, it might be worth just jamming that in right off the bat rather |
101 |
than trying to clean the tree afterwards. |
102 |
|
103 |
|
104 |
Actually doing the conversion is basically a solved problem. If this |
105 |
> were actually the blocker I'd be all for just sticking the history in |
106 |
> a different repo and starting from scratch with a new one. |
107 |
> |
108 |
|
109 |
Just reiterating; this is a solved problem, and has been for ~2 years. |
110 |
|
111 |
If somebody can come up with a set of hooks/scripts that will create |
112 |
> the various trees and the only thing that is left is to get infra to |
113 |
> host them, I think we can make real progress. I don't think this is |
114 |
> something that needs to take a long time. The pieces are mostly there |
115 |
> - they just have to be assembled. |
116 |
> |
117 |
|
118 |
Frankly, I think Mgorny volunteered himself w/ his earlier "it's been 10 |
119 |
years and y'all haven't done anythign" claim. |
120 |
|
121 |
~ferringb, who was enjoying his retirement very much thank you |