In the thread with subject "Re: svn commit: r1899324 -
/subversion/site/publish/upcoming.part.html":

On Mon, Mar 28, 2022 at 10:14 PM Daniel Sahlberg
<daniel.l.sahlb...@gmail.com> wrote:
>
> Den mån 28 mars 2022 kl 22:04 skrev Mark Phippard <markp...@gmail.com>:
>>
>> What is this file used for? Is it displayed on the website somewhere?
>
>
> Yes, it is included in the release-notes page (via an SSI #include): 
> https://subversion.apache.org/docs/release-notes/
>
>> It is just showing merged changes since the last release? So I guess
>> could help us write CHANGES?
>
>
> Yes, it should only show merged changes since last release. It didn't work 
> properly and showed changes since 1.14.0 but I hope it should be alright now. 
> It is generated by site/tools/generate-upcoming-changes-log.sh (you should be 
> able to run it locally, but make sure that `cwd` is in the 1.14.x branch). 
> And yes, it would probably be a good starting point for CHANGES.

For generating CHANGES you can also try the 'write-changelog'
subcommand of tools/dist/release.py, with the
--include-unlabeled-summaries option, and '--branch branches/1.14.x':

[[[
$ release.py write-changelog -h
usage: release.py write-changelog [-h] [--include-unlabeled-summaries] previous

positional arguments:
  previous              The "previous" branch or tag, relative to
^/subversion/, to compare "branch" against.

options:
  -h, --help            show this help message and exit
  --include-unlabeled-summaries
                        Include summary lines that do not have a
changes label, unless an explicit [c:skip] or [c:ignore] is part of
the
                        commit message (except if the summary line
contains 'STATUS', 'CHANGES', 'Post-release housekeeping', 'Follow-up'
                        or starts with '*').

]]]

For example:

[[[
release.py --branch branches/1.14.x write-changelog
--include-unlabeled-summaries tags/1.14.1
    * -1 vote for r1892471 as explained in dev@. (r1892509)
    * Add test coverage for CVE-2020-17525 (mod_authz_svn NULL deref) (r1899256)
    * Document how the port number is passed to custom tunnels. (r1899258)
    * Fix a bug where «make davautocheck» immediately after configure
failed hard because of an unbuilt dependency. (r1899242)
    * Fix an error message when running make davautocheck. (r1899340)
    * Fix encoding of error message on failure of system() call. (r1899257)
    * Fix issue #4880, "Use-after-free of object-pools when running in
httpd" (r1899339)
    * Fix misleading -r option documentation for some svnadmin
subcommands. (r1896935)
    * Follow up to r1865987, r1866588: Unbreak a msgid. (r1899241)
    * Reverting my recent commit r1892122 (backporting r1892121). It
depends on (r1892123)
    * Upgrade my vote for the r1892470 group. (r1892547)
    * Use the APR-1.4+ API for flushing file contents to disk. (r1899341)
    * swig-py: Fix dependency of make copy-swig-py target. (r1899255)
    * swig-py: Fix doubly destroying memory pool with cyclic garbage
collector. (r1889654)
    * swig-py: Skip some tests on Python 2 if default encoding is
'utf-8'. (r1899243)
    * tests: Include additional information in an error message. (r1899259)

 User-visible changes:

 Developer-visible changes:

]]]

This is just a skeleton of course. If nothing else, you can take a
look at it to see if you missed something.

It extracts either lines from STATUS, or "summary lines" (first lines
of commit messages) of revisions that are in branches/1.14.x but not
in tags/1.14.1 (it uses 'svn mergeinfo --show-revs eligible
^/branches/1.14.x ^/tags/1.14.1' for determining those).

Auto-generating the changelog would get more powerful if we'd adopt
some commit message conventions for "tagging" / "labeling" commit
messages immediately when they are committed for the first time, but
this idea never got much traction on dev@ [1], so now this is pretty
basic (just extracting "summary lines" with revision numbers and
putting them in a list).

[1] https://svn.haxx.se/dev/archive-2017-12/0020.shtml

-- 
Johan

Reply via email to