On Sun, Apr 10, 2022 at 9:45 PM Daniel Shahaf <d...@daniel.shahaf.name> wrote:
>
> Daniel Sahlberg wrote on Mon, Mar 28, 2022 at 21:55:36 +0200:
> > Den mån 28 mars 2022 kl 09:55 skrev Daniel Sahlberg <
> > daniel.l.sahlb...@gmail.com>:
> >
> > > This commit doesn't look correct.
> > >
> > > I executed the generate-upcoming-changes-log.sh manually yesterday and it
> > > created r1899244, removing a lot of log entries belonging to 1.14.1. This
> > > commit (which was executed by cron) restores them.
> > >
> > > The crontab entry is:
> > > [[[
> > > # Puppet Name: Update our upcoming changes list
> > > SVN=svn
> > > 15 4 * * * chronic ~/src/svn/site/tools/generate-upcoming-changes-log.sh
> > > ]]]
> > >
> > > The script begins with a comment
> > > [[[
> > > # This should be run from the root of a branches/1.{9,10,11}.x working
> > > copy.
> > > ]]]
> > >
> > > I suppose the crontab command should be changed to:
> > > cd ~/src/svn/1.14.x && chronic
> > > ~/src/svn/site/tools/generate-upcoming-changes-log.sh
> > >
> >
> > So I've investigated this further and my initial analysis seems correct.
> >
> > This is what happens:
> > * generate-upcoming-changes-log.sh determines last patch release number and
> > generates upcoming.part.html based on all commits since that patch release
> > was tagged.
> > * It has two different ways to determine "the last patch release":
> >    * If `cwd` is a WC it look in the subversion/include/svn_version.h
> >    * Else look in https://dist.apache.org/repos/dist/release/subversion/
> > * The logic looking at dists.a.o selected the oldest patch release
> > available on dists.a.o, in case there are more than one.
> > * The crontab entry executed generate-upcoming-changes-log.sh from ~, thus
> > forcing a lookup from dists.a.o
> >
> > Currently, both 1.14.0 and 1.14.1 are available on dists.a.o. Thus it
> > emitted all merged changes since 1.14.0, while expected behaviour (of
> > upcoming.part.html) would be to only display merged changes since 1.14.1.
> >
>
> dist/ should only contain the latest release from each supported minor
> line, except when a release is being staged.  I.e., today it should
> contain 1.14.2 and 1.14.1 since we're in the process of staging 1.14.2;
> but by Friday it should contain 1.14.2 and 1.10.8 and only those two.
>
> The script relies on this.  Thus, if we'd deleted 1.14.0's artifacts
> when we released 1.14.1 and kept the cron job as it was, the output
> would then have been correct (and we wouldn't have had an extra manual
> step in our create-a-A.B.x-branch workflow).

I am guessing he just did not realize this was the root cause. It
makes sense now what was happening.

You probably all saw I cleaned up those old releases and then put them
back. I was following the instructions in HACKING. I am not sure if
previous RM's decided to leave those behind or just did not follow
HACKING to the letter.

Anyway, I thought the documentation was ambiguous about WHEN you
should do this cleanup. I decided it should be done after the release
is announced which is why I put them back.

I am happy to do the cleanup later this week though.

Mark

Reply via email to