On Mon, Apr 11, 2022 at 7:27 AM Mark Phippard <markp...@gmail.com> wrote:

> 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
>

I've been trying to follow along and have learned a lot about releases
these last few weeks and your notes on the subject are very valuable. After
the release I would like to go through this part of HACKING and improve any
areas that led to questions etc. I think this will be very instructional,
as well, so hopefully I will be able to RM in the future.

Thanks for everything you have been doing.

Cheers,
Nathan

Reply via email to