Gentoo Archives: gentoo-dev

From: Fabian Groffen <grobian@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [git migration] The problem of ChangeLog generation
Date: Tue, 06 Apr 2010 11:38:39
Message-Id: 20100406114031.GA8410@gentoo.org
In Reply to: Re: [gentoo-dev] [git migration] The problem of ChangeLog generation by Nirbheek Chauhan
1 On 06-04-2010 12:31:51 +0530, Nirbheek Chauhan wrote:
2 > On Tue, Apr 6, 2010 at 12:11 PM, Fabian Groffen <grobian@g.o> wrote:
3 > > On 06-04-2010 07:43:02 +0530, Nirbheek Chauhan wrote:
4 > >> * It makes zero sense to manually manage ChangeLogs in git[1]
5 > >>   - Irritating conflicts while merging branches or remote master
6 > >>     + Similar argument for having only distfile manifests; but I digress...
7 > >>   - Duplication of effort and information
8 > >>   - Saves space for local checkouts
9 > >
10 > > This seems to assume
11 > > a) that we will do branches, and
12 > > b) that those branches somehow are official and in use
13 > >
14 >
15 > No. Conflicts can arise (and I have seen them arise) trivially if you
16 > make changes and try to do a pull --rebase; which is then not
17 > fast-forward, and you're left with an ugly mess of conflicts on your
18 > hands. Say you're moving stuff from an overlay using git format-patch;
19 > how do you handle the conflicts it will generate to ChangeLogs and
20 > Manifests?
21
22 Ehm, you consider pkg-moving packages an operation you do from day to
23 day? I surely hope not.
24 The other changes you talk about sound like a generic problem to me, not
25 related to ChangeLog files at all.
26
27 > Also, this is not the only reason to not use ChangeLogs.
28 >
29 > Trivial example purely for demonstrative purposes:
30 >
31 > Without ChangeLog:
32 > make change1; commit; test; realise it needs change2; commit; test;
33 > rebase commits; push
34 > With ChangeLog:
35 > make change1; write ChangeLog; commit; test; realise it needs change2;
36 > reset --hard ChangeLog HEAD^; rewrite ChangeLog; commit; test; rebase
37 > commits; push
38
39 If you just pull/update before you start your changes and commit/push
40 afterwards there are no problems. I see no branching in your examples.
41 In a branch, I wouldn't make ChangeLog changes until I merge with main
42 and commit there.
43
44 > Now which is easier? Don't forget that the major reason for moving to
45 > git was the ability to make several local commits and pushing them in
46 > an atomic way; so you are bound to make mistakes and want to rebase.
47
48 Ohw, was that the major reason... What a nonsense. If you need to push
49 several commits to the same package at the same time, you could have
50 probably done it with a single commit on CVS as well, just using a
51 single ChangeLog entry, which looks much cleaner to me.
52
53 If you talk about bumping the whole of KDE at the same time, well nice,
54 but then how are you going to solve the problem with the Manifest file?
55 I'd say one of the requirements of a new VCS is the ability to do an
56 atomic commit over multiple directories, which is quite different from
57 making several local commits, to me.
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.
62 >
63 > I bump an ebuild; arch team member marks older version stable. Two
64 > completely orthogonal changes that conflict now. With ChangeLogs,
65 > *every* *single* change you make conflicts. You do a rebase; and it
66 > conflicts! It's just stupid.
67
68 WHY would you wait a couple of months with pushing your new version out?
69 The conflict chance you get if you'd push immediately, is as big as the
70 conflict chance you get with CVS if this happens.
71 Your argument is more to get rid of the ChangeLog and Manifest file,
72 then to start using git, IMO.
73
74 > > Conclusion, if you can, try hard to keep your changes
75 > > minimal, and preferably zero compared to the origin, gentoo-x86.
76 >
77 > With the inevitable increased activity on the gentoo-x86 tree, this
78 > will become more and more difficult.
79
80 Do Tove's stats actually show there is an increase in activity? One
81 would have to plot it, but glancing over it, it actually looks about
82 steady to me.
83
84 Git doesn't solve the problem, you still have a couple of untackled
85 issues standing out. I think Robin tried to address them in previous
86 mails.
87
88
89 --
90 Fabian Groffen
91 Gentoo on a different level