You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Daniel Shahaf <d....@daniel.shahaf.name> on 2018/10/05 14:28:07 UTC

Teaching 'release.py write-changelog' about merged revisions

'release.py write-changelog --include-unlabeled-summaries' generates
CHANGES text from 'svn mergeinfo' output on the stable branch.  For
merge revisions (such as those committed by svn-role), it currently
picks the first line of the log message, e.g., "Merge r1842260 from
trunk:".

It should instead do two things: one, fetch the log message of the
mentioned revision(s) (r1842260) and pass it through the existing
"Extract CHANGES summary" logic; two, parse the STATUS entry embedded in
the log message, as in the attached example.  The script could do either
or these, or even do both and let the RM combine the two versions.

Any volunteers to implement this?

Cheers,

Daniel

[[[
% cd tools/dist
% cat ./foo
------------------------------------------------------------------------
r1842626 | danielsh | 2018-10-02 14:42:00 +0000 (Tue, 02 Oct 2018) | 9 lines

Merge r1842260 from trunk:

 * r1842260
   Use the current python executable for launching tests from run_tests.py.
   Justification:
     Attempt to fix 1.10.x tests on the macOS build slave.
   Votes:
     +1: brane, rhuijben, danielsh

------------------------------------------------------------------------
% python3
>>> import backport.status
>>> log = open('./foo').read()
>>> backport.status.StatusEntry(log.split('\n\n')[2]).logsummarysummary()
'Use the current python executable for launching tests from run_tests.py.'
>>> 
]]]

Re: Teaching 'release.py write-changelog' about merged revisions

Posted by Johan Corveleyn <jc...@gmail.com>.
On Fri, Oct 5, 2018 at 5:26 PM Daniel Shahaf <d....@daniel.shahaf.name> wrote:
>
> Daniel Shahaf wrote on Fri, 05 Oct 2018 14:28 +0000:
> > It should instead do two things: one, fetch the log message of the
> > mentioned revision(s) (r1842260) and pass it through the existing
> > "Extract CHANGES summary" logic; two, parse the STATUS entry embedded in
> > the log message, as in the attached example.  The script could do either
> > or these, or even do both and let the RM combine the two versions.
> >
> > Any volunteers to implement this?
>
> r1842930 implements the "Extract from STATUS" part of this.

Excellent! This makes the feature much more useful for backports to
release branches.

-- 
Johan

Re: Teaching 'release.py write-changelog' about merged revisions

Posted by Daniel Shahaf <d....@daniel.shahaf.name>.
Daniel Shahaf wrote on Fri, 05 Oct 2018 14:28 +0000:
> It should instead do two things: one, fetch the log message of the
> mentioned revision(s) (r1842260) and pass it through the existing
> "Extract CHANGES summary" logic; two, parse the STATUS entry embedded in
> the log message, as in the attached example.  The script could do either
> or these, or even do both and let the RM combine the two versions.
> 
> Any volunteers to implement this?

r1842930 implements the "Extract from STATUS" part of this.