Skip to content

Extend gitlog2changelog to report start/end commits and allow to tweak them; allow to disable generation of changelog formats or completely#3019

Merged
jimklimov merged 13 commits intonetworkupstools:masterfrom
jimklimov:issue-3019
Jul 17, 2025

Conversation

@jimklimov
Copy link
Copy Markdown
Member

@jimklimov jimklimov commented Jul 15, 2025

A massive part of developer iteration time when docs are enabled is repetitive re-generation of the ChangeLog document (export from git to text, by default since v2.6.0) and especially generation of HTML and PDF variants from that, as git index changes and there is reason to re-generate these documents.

This PR allows to disable change log completely, or select just some of many formats (text, adoc, html-single, html-chunked, pdf), or reduce its size (e.g. since most-recent release till HEAD) when we do want docs recipes challenged but not wasting a lot of time on that.

For (pre-)release builds, or as fallback, it should by default enable the same scope as before (v2.6.0..HEAD).

  • TODO (later): For (pre-)release builds, a symbolic tag name is prettier than "HEAD".

This change still allows to explicitly make Changelog or (cd docs && make -j ChangeLog.{pdf,html,chunked}) (if needed tools are available) - just that it is not among dependencies by default.

It also does not prevent building a ChangeLog file as required by EXTRA_DIST for make dist(check), however its starting/ending points are now subject to new options, whose defaults (auto) vary depending on developer vs. release build.

The generated document now adds a notice about commits it covers:

NOTE: This change log section represents git commits in range 'v2.8.3..HEAD' (commits 'c0acf09af..fd24ff636').

This potentially allows generation of multiple sections per release (as ranges between neighboring git tags), so that changes are represented not only by author timestamp, but also grouped by when they show up in the released product (we have old branches getting merged years after they were written). Recipes for this part should be straightforward, but not addressed yet.

jimklimov added 11 commits July 15, 2025 10:50
…rategy-plugin

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…ut.dict: introduce option to "configure --enable-docs-changelog" (or not)

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…onfgure option to customize git log starting point

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…nerate and embed a @GITLOG_START_POINT@ value to consider

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
… exists

If a recipe iteration is written incorrectly, make can skip work on
some rules (evaluating them as true without writing outputs we need)

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…not empty before moving to final name (else delete and bail out)

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…NPUT

Actually saw it with two tokens recently, for the text and .prep-src-docs touch-file

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…eport it in text

Technically a step to multi-section changelogs, covering each release
separately as a range between git tags, regardless of timestamp overlap
(with much older prepared commits going into much newer release later on).

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…onfgure option to customize git log ending point [networkupstools#3019]

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
@jimklimov jimklimov added this to the 2.8.4 milestone Jul 15, 2025
@jimklimov jimklimov added enhancement packaging documentation CI Entries related to continuous integration infrastructure (here CI = tools + scripts + recipes) portability We want NUT to build and run everywhere possible labels Jul 15, 2025
…NPUT

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
…not a suffix rule

Signed-off-by: Jim Klimov <jimklimov+nut@gmail.com>
@jimklimov jimklimov merged commit d4678ac into networkupstools:master Jul 17, 2025
29 of 30 checks passed
@jimklimov jimklimov deleted the issue-3019 branch July 17, 2025 11:13
jimklimov added a commit that referenced this pull request Jul 17, 2025
@jimklimov
Copy link
Copy Markdown
Member Author

NOTE: This spectacularly misfired when trying to release v2.8.4, because many CI agents do not have doc tools but the configure.ac change required to build changelog for (pre-)release tags if the option remained at auto.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI Entries related to continuous integration infrastructure (here CI = tools + scripts + recipes) documentation enhancement packaging portability We want NUT to build and run everywhere possible

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant