Gentoo Archives: gentoo-dev

From: Nirbheek Chauhan <nirbheek@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Re: RFC: better policy for ChageLogs
Date: Thu, 02 Jun 2011 12:07:49
Message-Id: BANLkTimqVG6eVWGCniQ4Eruk6bGM6FPsdA@mail.gmail.com
In Reply to: Re: [gentoo-dev] Re: RFC: better policy for ChageLogs by "Jorge Manuel B. S. Vicetto"
1 On Thu, Jun 2, 2011 at 4:59 AM, Jorge Manuel B. S. Vicetto
2 <jmbsvicetto@g.o> wrote:
3 > On 01-06-2011 19:50, Nirbheek Chauhan wrote:
4 >> The current situation is:
5 >>
6 >> (a) Not dire.
7 >> (b) Not urgent.
8 >
9 > (c) has irked enough developers and users that people pushed council to
10 > update the policy about the use of ChangeLogs.
11
12
13 Yes, and I'm surprised that these same developers pushed towards a
14 negative solution (kick productive people out) rather than a positive
15 solution (move to git).
16
17 >> And if we decide, hey, let's move to git instead of having this
18 >> discussion, the current situation is also:
19 >>
20 >> (c) A waste of everyone's time.
21 >>
22 >> So no, future plans are not independent of the current situation, and
23 >> a move to git *is* a way to deal with the current situation.
24 >>
25 >> In effect, we kill (at least) two birds with one stone and prevent a
26 >> lot of argument and bad blood.
27 >
28 > To be clear I support the goal to move our tree to git.
29 > However, I'd like to point out that simply moving to git will leave us
30 > in the same state. Assuming everyone agrees that git is far more useful
31 > than cvs to check for changes in the tree, a simple but important issue
32 > remains: the plan is to move the "development tree" to git, but to keep
33 > the rsync mirrors for users. So the "move to git" doesn't fix the issue
34 > for users or developers using an rsync tree.
35
36 Arguably, if developers want to know the history they should use the
37 copy of the git tree that they're supposed to be having. Relying on
38 ChangeLogs for history is just silly if you have the complete history
39 at your fingertips with git.
40
41 > One solution that has been proposed before and that was raised again in
42 > this thread is to generate ChangeLogs directly from scm commit messages.
43 > That is already a solution with cvs, so moving to git won't help here.
44
45 This is not true. One of the main problems of generating ChangeLog
46 messages from cvs/svn is that you don't have much control over the
47 `cvs log` output, cvs itself is extremely slow, and cvs maintains log
48 information *per-file*. Hence ChangeLog generation in the format we
49 want would be slow/impractical. There's tens of thousands of packages.
50 How long do you think it'll take to generate ChangeLogs from cvs for
51 all of them?
52
53 Notice how every project that did a move to git from cvs/svn started
54 auto-generating ChangeLogs[1]. One reason was that ChangeLogs will
55 *always* cause merge conflicts, and they're duplicate information, so
56 there's no point keeping them in the local tree. The other reason is
57 that with git it takes a fraction of a second to generate a ChangeLog
58 from the commit messages.
59
60 1. https://live.gnome.org/Git/ChangeLog
61
62 > The same objections that have been raised about doing it for cvs, not
63 > being able to use different messages for the commit message and in
64 > ChangeLog (something I understand but admit have hardly used before),
65 > are also valid if we move to git.
66 >
67
68 Not really. This problem has been raised and the solution is to add a
69 '[trivial]' or '#trivial' etc tag to the commit message (either
70 subject of body), and it won't be included in the auto-generated
71 ChangeLog.
72
73 The main issue that people have with not writing ChangeLog messages
74 for removals is that developers can't figure out when, why, and by
75 whom an ebuild was removed; because there's no ChangeLog entry, and
76 cvs log/cvs diff is too painful to use. This makes it hard to fix
77 breakage.
78
79 There's a fringe issue of users wanting to know why an 'old' ebuild
80 was removed while they're offline in a train or something (and don't
81 want to keep a cloned git repo around), but that's not reason enough
82 to kick our second-most-hardworking developer.
83
84 In essence, the most basic issue here is *not* users who want to have
85 all information offline, but the fact that /developers/ rely on
86 ChangeLog for information because cvs log/diff suck. Note that the
87 developer in question always wrote proper commit messages, so `git
88 log` WOULD solve all our problems.
89
90 Cheers,
91
92 --
93 ~Nirbheek Chauhan
94
95 Gentoo GNOME+Mozilla Team

Replies

Subject Author
Re: [gentoo-dev] Re: RFC: better policy for ChageLogs Ciaran McCreesh <ciaran.mccreesh@××××××××××.com>
Re: [gentoo-dev] Re: RFC: better policy for ChageLogs Rich Freeman <rich0@g.o>