Gentoo Archives: gentoo-dev

From: Nirbheek Chauhan <nirbheek@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [git migration] The problem of ChangeLog generation
Date: Tue, 06 Apr 2010 07:02:04
Message-Id: u2y8b4c83ad1004060001g630ce37ag6a1853cdd64ae33a@mail.gmail.com
In Reply to: Re: [gentoo-dev] [git migration] The problem of ChangeLog generation by Fabian Groffen
1 On Tue, Apr 6, 2010 at 12:11 PM, Fabian Groffen <grobian@g.o> wrote:
2 > On 06-04-2010 07:43:02 +0530, Nirbheek Chauhan wrote:
3 >> * It makes zero sense to manually manage ChangeLogs in git[1]
4 >>   - Irritating conflicts while merging branches or remote master
5 >>     + Similar argument for having only distfile manifests; but I digress...
6 >>   - Duplication of effort and information
7 >>   - Saves space for local checkouts
8 >
9 > This seems to assume
10 > a) that we will do branches, and
11 > b) that those branches somehow are official and in use
12 >
13
14 No. Conflicts can arise (and I have seen them arise) trivially if you
15 make changes and try to do a pull --rebase; which is then not
16 fast-forward, and you're left with an ugly mess of conflicts on your
17 hands. Say you're moving stuff from an overlay using git format-patch;
18 how do you handle the conflicts it will generate to ChangeLogs and
19 Manifests?
20
21 Also, this is not the only reason to not use ChangeLogs.
22
23 Trivial example purely for demonstrative purposes:
24
25 Without ChangeLog:
26 make change1; commit; test; realise it needs change2; commit; test;
27 rebase commits; push
28 With ChangeLog:
29 make change1; write ChangeLog; commit; test; realise it needs change2;
30 reset --hard ChangeLog HEAD^; rewrite ChangeLog; commit; test; rebase
31 commits; push
32
33 Now which is easier? Don't forget that the major reason for moving to
34 git was the ability to make several local commits and pushing them in
35 an atomic way; so you are bound to make mistakes and want to rebase.
36
37 > If you really have lots of changes, you will find that many commits on
38 > the other side will cause you conflicts, so the ChangeLog is just a very
39 > small part of it.
40
41 I bump an ebuild; arch team member marks older version stable. Two
42 completely orthogonal changes that conflict now. With ChangeLogs,
43 *every* *single* change you make conflicts. You do a rebase; and it
44 conflicts! It's just stupid.
45
46 Extreme example: profiles/ChangeLog
47
48 > Conclusion, if you can, try hard to keep your changes
49 > minimal, and preferably zero compared to the origin, gentoo-x86.
50 >
51
52 With the inevitable increased activity on the gentoo-x86 tree, this
53 will become more and more difficult.
54
55 --
56 ~Nirbheek Chauhan
57
58 Gentoo GNOME+Mozilla Team

Replies

Subject Author
Re: [gentoo-dev] [git migration] The problem of ChangeLog generation Fabian Groffen <grobian@g.o>