Writing a NEWS file (a list of changes per version, targeted at end-users) significantly reduces the effort for doing a release: To write your release notes, just copy the latest entries from the NEWS file into a message. It is one of the gems in the GNU coding standards: Simple yet extremely useful. (For a detailed realization, refer to the Perl Specification for CPAN Changes files.)
However when you’re developing features in parallel, for example by using a pull-request workflow and requiring contributors to update the NEWS file, you will often run into merge conflicts. Resolving these takes time, though the resolution is trivial: Just use the lines from both heads.
To resolve the problem, you can set your version tracking system to use union-merge for NEWS files.
Table of Contents
Mercurial
echo"[merge-patterns]# avoid bogus conflicts in NEWS filesNEWS = internal:union">> .hg/hgrc
(necessary for each contributor to avoid surprising users)
Git
echo"/NEWS merge=union">> .gitattributes git add .gitattributes git commit -m "union-merge NEWS" .gitattributes
(committed, so it sticks, but might mislead contributors into missinggenuine conflicts, because a contibutor does not necessarily know about the setting)