Hello,
Giovanni Biscuolo <g...@xelera.eu> writes: > Arun Isaac <arunis...@systemreboot.net> writes: > >> - We have strict conventions for commit messages. Our commit message >> Changelog is a strange dated practice from the time before good >> version control systems. I can live with it, but not everyone likes >> it. Let's just say I've heard complaints about it offlist. > > AFAIU this is a requirement Guix inherits from GNU (being it a GNU > project) Yes, but not all projects use it anymore. For instance, GCC still does but glibc and GDB have dropped them. I couldn't figure out binutils. Some commits have them, some don't. It seems that nowadays it's more what you'd call “guidelines” than actual rules… FWIW I also think they're obsolete and would prefer not to have to do them. Though most Guix patches I work on are small so it's not actually too much trouble after you get used to it. But I do think it's one more source of “friction” for new contributors, and one more thing for us to require that they get right. > I don't remember the ratio for this requirement but AFAIU it made sense > to me when I read that. There's one in the GNU Coding Standards¹: Keep a change log to describe all the changes made to program source files. The purpose of this is so that people investigating bugs in the future will know about the changes that might have introduced the bug. Often a new bug can be found by looking at what was recently changed. More importantly, change logs can help you eliminate conceptual inconsistencies between different parts of a program, by giving you a history of how the conflicting concepts arose, who they came from, and why the conflicting changes were made. Personally, I think nowadays this purpose is better fulfilled by good commit messages and git blame. Especially with an editor that makes it easy to use them to navigate through history (such as Emacs, but certainly others as well). > Maybe we could help users not using Emacs with other editor-related > snippets in [~/src/guix/]etc/snippets? (I don't know other editors > templating systems) The binutils-gdb repo has a Python script to generate a skeleton ChangeLog. I don't know how well it would work for Scheme patches: https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=contrib/mklog.py;hb=HEAD -- Thanks Thiago ¹ https://www.gnu.org/prep/standards/standards.html#Change-Logs