Gentoo Archives: gentoo-dev

From: Angelo Arrifano <miknix@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [git migration] The problem of ChangeLog generation
Date: Wed, 07 Apr 2010 09:58:42
Message-Id: 4BBC5735.9090000@gentoo.org
In Reply to: Re: [gentoo-dev] [git migration] The problem of ChangeLog generation by Fabian Groffen
1 First, I've been using git to hack Linux for some embedded devices. My
2 development was in sync with upstream linux-omap to which I sent several
3 patches. So, consider yourself that I have some experience with git.
4
5 On 06-04-2010 08:41, Fabian Groffen wrote:
6 > On 06-04-2010 07:43:02 +0530, Nirbheek Chauhan wrote:
7 >> * It makes zero sense to manually manage ChangeLogs in git[1]
8 >> - Irritating conflicts while merging branches or remote master
9 >> + Similar argument for having only distfile manifests; but I digress...
10 >> - Duplication of effort and information
11 >> - Saves space for local checkouts
12 >
13 > This seems to assume
14 > a) that we will do branches, and
15 > b) that those branches somehow are official and in use
16 >
17 > In CVS we are not allowed to use branches, as a policy, that somehow
18 > makes sense. Our stable tree is visible via keywords instead.
19 >
20 > Why would we suddenly do branches? It still isn't a good thing. If you
21 > talk about branches in the sense of a clone of the entire repo, why
22 > would we suddenly do massive concurrent development on the same ebuilds?
23
24 IMHO repository branching would be greatly useful on Gentoo portage,
25 specially for third-party and other Gentoo-based distros. It will be a
26 lot easier for them to keep their own changes to ebuilds while in sync
27 with main Gentoo tree. This is a big win for everyone.
28
29 With my experience in Gentoo-embedded I can also present a problem where
30 branching is extremely useful:
31 1) Package foobar-1.2 is in the tree and keyworded only for ~x86 ~amd64.
32 2) Some dev at -embedded decides that package is useful and applies his
33 traditional cross-compile hackery.
34 3) The usual route would be to open a shi*load of bugs, wait a cr*pload
35 of time for the maintainer response and if the weather feels like it,
36 there is authorization to commit. Then there is also need to retest for
37 already keyworded arches so we know we don't break others.
38
39 3*) With git, one would just branch (lets call it embedded branch) the
40 package. Apply the patches there and let people using embedded profiles
41 to emerge from that branch instead of master.
42 Benefits? I think they are pretty obvious - people can start putting
43 quick patches in the tree for specific arches while not breaking others.
44
45 IMHO, the only bottleneck I see on Gentoo development is the massive
46 policy (not saying it is not needed) a -dev has to follow just to commit
47 a simple fix. Git my friends, will be our holly grail.
48 >
49 > I can tell you from good experience that you only do such things if you
50 > really have to, e.g. when you are in an overlay that needs to have
51 > modifications to nearly everything and you try to keep that overlay
52 > up-to-date with its origin, gentoo-x86. It's no fun, because it
53 > conflicts pretty much on lots of things, not ChangeLogs.
54 >
55 > It seems to me, that if you are in a clone working on something, you
56 > just only write the ChangeLog once you merge it with its origin,
57 > gentoo-x86. You have to review what happened at that stage anyway.
58 >
59 > If you really have lots of changes, you will find that many commits on
60 > the other side will cause you conflicts, so the ChangeLog is just a very
61 > small part of it. Conclusion, if you can, try hard to keep your changes
62 > minimal, and preferably zero compared to the origin, gentoo-x86.
63 >
64 >
65
66 I don't know why but people seem to have eternal scarring to merge
67 conflicts. Yes, they happen and yes they are trivial to fix if people
68 don't commit crap that touches a lot of stuff. In portage, the tree is
69 very well organized and with some good policies like restricting each
70 commit to one package will pretty much prevent conflicts.
71
72 I will not comment on if Changelogs are going to give conflicts or not.
73 That would be best answered by the people that is running portage git
74 for some time.

Replies

Subject Author
Re: [gentoo-dev] [git migration] The problem of ChangeLog generation Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>
Re: [gentoo-dev] [git migration] The problem of ChangeLog generation Richard Freeman <rich0@g.o>