On Wed, Feb 05, 2020 at 06:43:54PM -0700, Jeff Law wrote: > On Wed, 2020-02-05 at 15:18 -0600, Segher Boessenkool wrote: > > On Mon, Feb 03, 2020 at 01:24:04PM -0700, Jeff Law wrote: > > > ANd yes, even though I have been a regular ChangeLog user, I rely more > > > and more on the git log these days. > > > > As a reviewer, the changelog is priceless still. We shouldn't drop the > > changelog before people write *good* commit messages (and we are still > > quite far from that goal). > I believe the current proposal is not to switch immediately, but to do > so after gcc-10 is released. Feel free to suggest improvements to > ChangeLogs or summaries in the mean time to get folks to start > rethinking what they write in 'em. > > And FWIW, we're talking about the ChangeLog *file* here. If folks > continued writing the same log messages and put them into git, I > personally think that's sufficient to transition away from having a > ChangeLog file in the source tree.
A precondition for such change would be a script that would verify that each commit being pushed into the repository has the ChangeLog snippets available. And not just that. With ChangeLog files, one can fix up the entries later on if somebody makes a mistake; it happens from time to time to everybody, some people make the same mistakes again and again. If the ChangeLog entry is in the commit message, then in git (unlike svn) it is not possible to fix it later once you push it into the public repository. So, we'd need a script that checks for the common mistakes, furthermore verifies that e.g. all files in the commit that need to have a ChangeLog entry have one etc. and reports back any issues + rejects the push. We would need to agree how do we express stuff going into different former ChangeLog files, whether we require gcc/cp/ etc. prefixes before the lines, or say require empty line for different former ChangeLog files and let the extraction script figure it out from the changed files in the commit, etc. We could have a rule that say New test. entries for newly added files in */testsuite/* would be optional and let the generating script add those (but say require entries if existing tests have been changed). Plus the extraction script, and test properly both scripts for a while before making it live. Jakub