On Fri, 22 Dec 2017, Eric S. Raymond wrote: > Janne Blomqvist <blomqvist.ja...@gmail.com>: > > My secret desire is that once we get this done we would drop these > > silly ChangeLogs. Although I'm not a kernel developer, I kind of like > > the Linux kernel style, where the commit msg contains a reasonably > > in-depth motivation for the change, sort of like the email message one > > sends to gcc-patches when introducing a patch (in fact, if one uses > > git format-patch + git send-email this kind of workflow is supported > > out-of-the-box). I find that a lot more useful than a screenful of > > "Likewise". YMMV. > > I strongly endorse this position. > > Janne is correct to point out that git is designed to be used in a > patch-centric workflow with a specific style of commenting - summary > line, plus optional separator and running text. This is expressed > especially in the UI design of git log and gitk. > > ChangeLogs are a relic from the days before version-control systems with > real changesets. When you have real changesets, all ChangeLogs do is > add unnecessary process friction.
I proposed removing the GNU Coding Standards requirement for ChangeLog format when using a public distributed VCS with per-logical-changeset commits in <https://lists.gnu.org/archive/html/bug-standards/2017-07/msg00000.html> (discussion continues in August, September, November). However, each time the discussion has tailed off without reaching a conclusion from RMS to remove the requirement, or a conclusion that it should not be removed. (The use of ChangeLog *files*, as opposed to the *format*, is a peripheral matter - the GNU Coding Standards already allow generating such files for release tarballs from appropriately-formatted commit messages rather than needing to check in ChangeLog files, but it's the format that forces a focus on a particular level of detail that duplicates the information available from the patches themselves in the VCS. Thus, whether something generated from commit logs is required to be in release tarballs when not using ChangeLog format is also a peripheral matter. GCC already has a complicated script for release (and snapshot) tarball generation, which we'll need to update for moving to git. glibc just uses "git archive", but if some form of log were required in release tarballs it would always be possible to have a step in the (long) release checklist of generating and checking in such a file right before tagging the release, and so still to use "git archive".) I have used git-style commit messages (with the ChangeLog content at the end) in GCC for some time. -- Joseph S. Myers jos...@codesourcery.com