zsh-workers
 help / color / mirror / code / Atom feed
From: Bart Schaefer <schaefer@brasslantern.com>
To: dana <dana@dana.is>
Cc: Daniel Shahaf <d.s@daniel.shahaf.name>,
	Zsh hackers list <zsh-workers@zsh.org>
Subject: Re: Plan for the 5.9 branch
Date: Tue, 18 Feb 2020 12:44:44 -0800	[thread overview]
Message-ID: <CAH+w=7ZekpG2jsBSEAjfVdNMZTp_5d6UB2mWanFxGd8G65PPUg@mail.gmail.com> (raw)
In-Reply-To: <EF04BEAA-BBEE-447B-BD8A-9606016D4FA6@dana.is>

On Tue, Feb 18, 2020 at 11:41 AM dana <dana@dana.is> wrote:
>
> Right. All i'm really worried about personally are fixes for security issues
> and the type of regressions we normally correct in .1 releases.

At my $WORK we use the following approach, parts of which might be
overkill for zsh-workers, but presented in case worth discussing:

The current release is always a version number tag on the master
branch, there are not branches for numbered releases.

Each proposed change goes on its own branch created from master.  This
is rebased on master if necessary before merging with other changes.
(In the zsh world this would probably mean creating a branch named for
a zsh-workers sequence number.)  Critical changes (post-release
regression fixes, security issues, etc.) can go directly from these
branches onto master for immediate release if necessary, at which time
a new version tag is created on master.

There's a development branch onto which anyone can merge/push pretty
much anything, even if it's not on a proposed branch yet, to test
conflicts/interactions, get feedback, etc.  This is sort of what we do
in zsh via vetting of patches on the mailing list.

Right before a release, a staging branch is created, which is the
master branch merged with whatever subset of the proposed change
branches are ready.  This is like the zsh*-test-N versions we've been
publishing, it's used to QA the assembled changes before they go on
the master branch, but it allows us to pick and choose which proposed
changes actually go into a release if some are "more thoroughly
cooked" than others.  Changes that result from QA get revision tags on
the staging branch.

For release, the staging branch is merged back onto master and a new
version tag is assigned to master.  Then the staging branch is
deleted, and not re-created until the next pre-release cycle.  The
development branch is usually sync'd up with the master branch at this
point as well, although what that means is mainly that there's nothing
on master that is missing from development.  Unless there's some large
unfinished project under way, it typically means the development
branch is made the same as the current master, because anything else
can be restored from the proposed change branches.

  reply	other threads:[~2020-02-18 20:45 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-16 11:15 Daniel Shahaf
2020-02-16 14:52 ` Peter Stephenson
2020-02-17  2:47 ` dana
2020-02-17  9:19   ` Daniel Shahaf
2020-02-18 19:40     ` dana
2020-02-18 20:44       ` Bart Schaefer [this message]
2020-02-19 10:23       ` Daniel Shahaf
2020-02-19 10:32       ` Daniel Shahaf
2020-02-19 15:21         ` Bart Schaefer
2020-02-19 20:00           ` dana
2020-03-07 22:07 ` Daniel Shahaf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAH+w=7ZekpG2jsBSEAjfVdNMZTp_5d6UB2mWanFxGd8G65PPUg@mail.gmail.com' \
    --to=schaefer@brasslantern.com \
    --cc=d.s@daniel.shahaf.name \
    --cc=dana@dana.is \
    --cc=zsh-workers@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).