On Thu, Jun 2, 2011 at 6:29 PM, Fabian Groffen <grob...@gentoo.org> wrote: > On 02-06-2011 17:15:11 +0530, Nirbheek Chauhan wrote: >> > - no discussion on what to include or not (everything is in there) >> >> In git, we can make git log skip commit messages while generating the >> ChangeLog, so this is incorrect. See section "Commit Limiting" in git >> log --help. > > Assuming this is actually desirable, what rules would you suggest here? >
Mostly only the trivial commits should be skipped. We should refer to the other thread to decide what this consists of. >> > Simple cons I see mentioned: >> > - useless information on removals of ebuilds/files >> > - useless information on whitespace changes >> >> None of these are valid with Commit Limiting and a tag such as >> '[trivial]' in the commit message subject. > > By allowing this, "[trivial] old" is bringing you back to current policy > ("commont sense") problems. > Yes, except that now it doesn't affect developers, and will result in much less controversy. It certainly shouldn't come to forced retirement. I don't see why we should bombard users with trivial commits for political reasons... >> Infact, if you do the same experiment on the openrc ChangeLog, you'll >> see that it's too much work to regenerate the current ChangeLog >> because a few commits managed to change the encoding of names in the >> file, and a reverse-patch had to be applied to fix it. A number of >> developers have made this mistake, and it shows up across the tree. > > I just created openrc's ChangeLog (attached to this mail). In what way > exactly is it too much work? It's just a ChangeLog like many others, e.g.: > Ah, you don't include changes to ChangeLog as a part of your script. Nevermind then :) >> In git, there's no harm with making commit messages verbose, so we > > Why is this harmful with the current system? > Because it results in double the wasted space inside the repository. Also, git is orders of magnitude better at compressing commit messages, so the cost is massively lower. >> > - a clear policy is necessary on what is going in the ChangeLog and what >> > not (like the current "common sense" discussions going on and the >> > updated devmanual) >> >> However, with git the issue is simplified because then developers will >> stop relying on ChangeLogs for information, and ChangeLogs will be >> used entirely to convey information to users. > > I don't see how that simplifies. I only see how that would completely > change things/intents. Can you elaborate? > It simplifies things because most of the current situation arises from shoe-horning of user as well as developer needs into a feature that is supposed to be primarily user-oriented. With CVS: "Trivial" changes that weren't documented in ChangeLog cause breakage. cvs log/diff is too slow/hard to use, that delays identification and fixing of breakage, and leads to a stricter policy on ChangeLog updation. With git: Changes that were marked [Trivial] in the commit message cause breakage. git log, and you're done. There's no ChangeLog in the git repo anyway, so no one will use ChangeLogs for this information. This leaves us with user-oriented information. 99.99% of users won't care about some commit messages being skipped from ChangeLog. Those that do can clone the git repo, or sources.gentoo.org (which will be faster with git). This doesn't mean we should skip *all* information and not care at all. Just that the situation is less controversial than before. Cheers, -- ~Nirbheek Chauhan Gentoo GNOME+Mozilla Team