On 13 Jul 2021, at 10:20, Eric Timmons wrote:
Attila Lendvai <attila.lend...@gmail.com> writes:
what i would do:
- one branch that holds the bleeding edge. i'd call it main, just
to go
with the flow.
- branches for ASDF versions (down to the desired resolution,
probably
major.minor), so that you can easily cherry pick or backport fixes
into
them. a new version-branch is forked off of main whenever a
release happens.
- optionally a stable *tag* as an indirection to the latest
release. it
communicates which specific git revision is it that the maintainer
considers the stable state at any moment in time. it comes handy
e.g. in CI
scripts that want to check out the latest ASDF release, etc...
I like this!
IMO a big win of having the major and minor number in the branch name
is
that it's a better experience for users. If it's a single
`maintenance`
branch then a git pull may wind up changing their version completely.
If
they have any local changes as well, things might get a bit hairy when
`maintenance` changes minor versions as that wouldn't be a
fast-forward
update.
I guess I'm surprised you say this. I don't *ever* want us to have more
than a single live maintenance branch. I absolutely *never* want to
support more than a single `main` version and a single `stable` version.
So, to me, it's a *feature* that if you git pull maintenance and you
find out that what you are maintaining has changed. And to me it seems
like a *bad* user experience if I can end up wasting my time interacting
with a branch that is obsolete and of no further interest. I'd rather
know that things have changed -- and I would expect to do `git pull
--ff-only` on `stable`.
I am surprised that so many people want to have a branch like `v3.3`.
This adds a memory burden that `stable` doesn't have, in the same way
that Raymond pointed out that having `dev` adds a memory burden beyond
using the standard `main` or `master`. Honestly, I find it hard to
remember whether 3.3 or 3.4 is the current released version!
I'm curious -- how many of the people who want `v3.3` instead of
`stable` expect that they would actually interact with this branch,
checking it out and supplying merge requests, versus just thinking it's
better in some ideal fashion?