1 |
-----BEGIN PGP SIGNED MESSAGE----- |
2 |
Hash: SHA256 |
3 |
|
4 |
On 11/08/15 11:21 AM, Alexis Ballier wrote: |
5 |
> On Tue, 11 Aug 2015 11:11:43 -0400 Ian Stakenvicius |
6 |
> <axs@g.o> wrote: |
7 |
> |
8 |
>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 |
9 |
>> |
10 |
>> On 11/08/15 10:01 AM, Michał Górny wrote: |
11 |
>>> Dnia 2015-08-11, o godz. 15:52:16 Patrice Clement |
12 |
>>> <monsieurp@g.o> napisał(a): |
13 |
>>> |
14 |
>>>> Hi there |
15 |
>>>> |
16 |
>>>> According to |
17 |
>>>> https://wiki.gentoo.org/wiki/Gentoo_git_workflow#Branching_Model, |
18 |
>>>> |
19 |
>>>> |
20 |
>> |
21 |
>>>> |
22 |
"there may be developer-specific, task-specific, project-specific |
23 |
>> branch es |
24 |
>>>> etc". As far as I understand, it means I can go and create |
25 |
>>>> my own branch on the main repository and push it and it |
26 |
>>>> gets spread all over the place. Is that correct? |
27 |
>>>> |
28 |
>>>> Could someone explain to me the rationale behind this |
29 |
>>>> decision? |
30 |
>>>> |
31 |
>>>> Truth to be told, I kinda dislike the fact any developer |
32 |
>>>> can do this. |
33 |
>>> |
34 |
>>> As long as it's used with caution, I don't see a problem. Of |
35 |
>>> course it would be bad if everyone pushed branches for any |
36 |
>>> minor change. However, if there is a long-term work going on |
37 |
>>> a branch, I don't see a problem with keeping it public. |
38 |
>>> |
39 |
>> |
40 |
>> Examples in particular I can think of for something like this |
41 |
>> being useful would be for, say, major EAPI-bump-related |
42 |
>> feature implementations (ie, EAPI5 and |
43 |
>> slot-operators/subslots), or major across-tree impementation |
44 |
>> changes like what we saw with the multilib-eclass porting. |
45 |
>> |
46 |
>> These are large projects touching most if not all ebuilds, that |
47 |
>> a great many developers would or should be involved in. |
48 |
>> Something like this could be done in a separately hosted repo |
49 |
>> instead of in the main gentoo repo, but then all developers |
50 |
>> would need to subscribe to this other repo, while having it in |
51 |
>> a branch in the main one i think would make it easier for |
52 |
>> everyone to get involved once they're ready, and would still |
53 |
>> allow the changes to stay out of the master branch until the |
54 |
>> project is ready to launch. |
55 |
> |
56 |
> |
57 |
> For me, this is actually a reason to prohibit it :) |
58 |
> |
59 |
> EAPI bumps should be done package by package, not at a major |
60 |
> scale: otherwise, let's just scrap EAPI entirely and update the |
61 |
> API as we see fit with p.masked package managers :) |
62 |
|
63 |
Not EAPI bumps, but implementation of major new features as a result |
64 |
of the new EAPI. Most EAPI changes generally are beneficial to |
65 |
particular ebuilds, but some (such as slot-operators and subslots) |
66 |
really needed to be implemented across a great many packages (and |
67 |
eclasses too at times). We did it with overlays and patches via |
68 |
b.g.o and slowly things migrated, but I think it would have gone a |
69 |
lot faster if all developers had quick and easy access to a branch. |
70 |
|
71 |
> multilib eclasses conversions should also be done one by one to |
72 |
> be done properly (otherwise using multilib-portage is probably a |
73 |
> better idea) and each conversion touches one package (two if you |
74 |
> count emul-*). |
75 |
|
76 |
But they don't just touch one package -- you pretty much needed to |
77 |
do a full deptree at a time. We worked around it with a rather |
78 |
messy 'delete all files in emul-* that collide with the |
79 |
multilib-built packages currently available' plus a convoluted set |
80 |
of ||() deps wrapping each emul and the individual alternative |
81 |
atoms. And even then it was still a mess to try and actually use it |
82 |
on end-user systems due to various conflicts. |
83 |
|
84 |
> Big changes that that go in feature branches and are merged in |
85 |
> one pass are, from my experience, way too much prone to errors. |
86 |
> Did anyone ever try to review a merge commit? |
87 |
|
88 |
This makes sense, yes; the merge back to the main tree could very |
89 |
well be more difficult than it's worth, however if the branch is |
90 |
available to all, then the migration into the main tree could be |
91 |
done piecemeal in batches too rather than in one huge swash. |
92 |
|
93 |
The point is, I think it'd be easier and faster to implement these |
94 |
major treewide projects (and easier to verify too) if the work could |
95 |
be done in a branch available to all, rather than in what would |
96 |
effectively be an overlay someplace external.How we manage it |
97 |
effectively, I can't say one way or the other but likely this is |
98 |
something that we will need to learn from experience as much as |
99 |
decree policy for. |
100 |
|
101 |
|
102 |
|
103 |
|
104 |
-----BEGIN PGP SIGNATURE----- |
105 |
Version: GnuPG v2 |
106 |
|
107 |
iF4EAREIAAYFAlXKGfIACgkQAJxUfCtlWe11XgD/SvvIb9pcZ/k2WRH5OsrKG2G4 |
108 |
0uYC0godRRVytY7s78MA/0dMKUqAlVmqF/HntzPJYoLAqQxGCsrNassDB1iLBV6p |
109 |
=/msL |
110 |
-----END PGP SIGNATURE----- |