Richard,

On Mon, Apr 6, 2020 at 7:56 AM Richard Frith-Macdonald <
rich...@frithmacdonald.me.uk> wrote:

>
>
> > On 6 Apr 2020, at 09:53, David Chisnall <gnus...@theravensnest.org>
> wrote:
> >
> > I second that, thank you Ivan, but Fred your proposed solution is going
> to add more barriers to entry.
> >
> > ChangeLog files made sense when people were submitting patches on the
> mailing list and distributing code in tarballs.
> >
> > They were slightly anachronistic when CVS became standard for F/OSS
> projects and incorporated per-file change messages but they were still
> useful when people used them to describe the relationship between changes
> in multiple files.
> >
> > They were mostly obsolete when projects moved to svn and commits became
> atomic. Commit messages then referred to a set of related changes, rather
> than to single files.  The one remaining argument for them was that VCS
> history may get lost in moves between revision control systems.
> >
> > There was also a minor justification for them based on tooling: commit
> messages for svn were written after code review and some tools did not
> support reviewing the commit message along with the code (things like
> Phabricator did), so you could enforce a ChangeLog message in code review
> but you could not enforce a commit message at the same time.
> >
> > We have now seen projects move from CVS to SVN and then to Git,
> preserving commit messages.  Git commits have evolved a structure that is
> well supported by a load of tooling (vim even gives nice syntax
> highlighting to ensure that you confirm to this structure, all of the Git
> GUIs, including GitHub, are designed to render it), where the first line is
> short and gives a very high-level summary of the changes and the remainder
> gives a detailed overview. No equivalent tooling exists for ChangeLog files.
> >
> > In addition, a branch-and-PR workflow makes it possible to do code
> review of commit messages before merging.  Git makes it easy to edit and
> amend commit messages and force-push a branch, so individual commits can
> have their messages edited before a branch is merged.
> >
> > I would much rather see code review enforcing good commit messages,
> which is a workflow that contributors to any other open source project will
> be familiar with.  I fail to see any benefit in having ChangeLog entries.
> >
> > Note: I *do* see a benefit in having a separate NEWS or ANNOUNCE file
> that captures high-level user-visible improvements.  We don't necessarily
> need PR authors to write that, but the person merging a PR probably should
> if not.  This is far less granular than a commit message and serves a
> separate purpose.
> >
> > David
>
> Yes, thanks to Ivan.
>
> I have spent some time thinking about this, and while in the past I've
> argued against dropping ChangeLog (it's more convenient than the git logs,
> and of course is there for peple who download tarballs etc and don't have
> ready access to the repositories), but I think overall I kind of agree now.
>
> It's very onerous to put comments in multiple places, but there is value
> to each of these things:
> Technical information in the repository
> ChangeLog for easier access
> Announce/News for summary of important details.
>
> What I'd like to suggest is sort-of (but not entirely) scrapping
> ChangeLog, in that we could auto-generate ChangeLog entries from the
> repository, either by an automated commit hook or (assuming that's not easy
> to do readily), using a script to get details from the repository just
> before we make a realease, so that anyone getting a release of the software
> still gets a comprehensive ChangeLog.
>
> Then we would be saved the overhead of writing ChangeLog entries and could
> concentrate on:
> 1. meaningful commit entries, which of course we should all be doing
> anyway ;-)
> 2. writing release notes for any substantive change (rather than ChangeLog
> entries for even minor changes), to appear in the NEWS when we make a
> release
>
> If we stop writing ChangeLog entries, we should be able to write release
> notes and still be spending less time, and of course that would make the
> process of cutting a release less onerous.
>
> Does this seem a reasonable approach?
>
>
I believe this is entirely reasonable.

-- 
Gregory Casamento
GNUstep Lead Developer / OLC, Principal Consultant
http://www.gnustep.org - http://heronsperch.blogspot.com
https://www.patreon.com/bePatron?u=352392 - Become a Patron

Reply via email to