On Sat, 2017-07-29 at 06:21 -0400, Alfred M. Szmidt wrote: > People keep saying that they are useless, but so far no example of why > they are useless have been presented or even the slightest argument > was to how one could extract similar information from VCS. neither > diff nor annotate provide this information, they cannot do so in a > generic way and the only way to do it is to write it manually.
They may not be useless, but they are redundant given the much more useful and powerful VCS capabilities. No one is comparing changelogs with diff or annotate, they are comparing changelogs with VCS logs (such as "git log"). The VCS log not only is more accurate, but it can be _expanded_ to also include the actual code diffs associated with that specific change, something that can't be done at all with a changelog. And because people writing the VCS log message know that it can be viewed alongside the actual code changes, there's much more of an incentive to provide the overall description of the changes in the message and leave out the tiresome line-by-line reiteration of the details. VCS logs are exponentially more helpful than changelogs. However it's frustrating to have to write essentially the same content twice: once for the (mandatory) good VCS log message and then again for the (much less useful) changelog. What I'm doing currently in my project is auto-generating the changelogs from the Git commit messages. This is better than repeating myself, but it is annoying to have to consider changelog formatting when creating Git commit messages. I often have to go back and amend my commit message (before pushing obviously) because it didn't come out well after being converted into a changelog format. This is not the worst thing that ever happened but it is annoying and takes up time that I'd prefer to be spending on other things.
