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 |