Gentoo Archives: gentoo-dev

From: Ian Stakenvicius <axs@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Developer branches on proj/gentoo
Date: Tue, 11 Aug 2015 15:51:24
Message-Id: 55CA19F2.5070901@gentoo.org
In Reply to: Re: [gentoo-dev] Developer branches on proj/gentoo by Alexis Ballier
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-----

Replies

Subject Author
Re: [gentoo-dev] Developer branches on proj/gentoo Alexis Ballier <aballier@g.o>