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 |