fsfe / reuse-tool

reuse is a tool for compliance with the REUSE recommendations.
https://reuse.software
376 stars 144 forks source link

Adopt Protokolo #966

Closed carmenbianca closed 1 month ago

carmenbianca commented 3 months ago

I wrote Protokolo.

It solves problems for me. Copying from its README:

Change logs are [a really good idea](https://keepachangelog.com/).
Unfortunately, they are also a bit of a pain when combined with version control:

- Different merge requests all edit the same area in CHANGELOG, inevitably
  resulting in merge conflicts.
- If a section for an unreleased version does not yet exist in the main branch's
  CHANGELOG (typically shortly after release), feature branches must create this
  section. If multiple feature branches do this, you get more merge conflicts.
- Old merge requests, when merged, sometimes add their change log entry to the
  section of a release that is already published.

Life would be a lot easier if you didn't have to deal with these problems.

Enter Protokolo
([Esperanto for 'report' or 'minutes'](https://vortaro.net/#protokolo)). The
idea is very simple: for every change log entry, create a new file. Finally,
just before release, compile the contents of those files into a new section in
CHANGELOG, and delete the files.

Let's use it after the next release.

Some things that are needed:

nicorikken commented 3 months ago

I like the approach, quite simple. An alternative approach I see in projects is to generate a changelog as part of creating a release. This can be automated using tools. If we want to keep creating changelog entries as part of the pull-requests I think the approach supported by Protokolo is a nice one.

carmenbianca commented 3 months ago

I don't like generating change logs from VCS history. Hand-curated change logs are so so so much better, even if they're a touch more work.