On Tue, Jul 13, 2021 at 8:20 AM Eric Timmons <etimmons@mit.edu> wrote:
Attila Lendvai <attila.lendvai@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.

Additionally having a version independent `stable` identifier (tag or
branch) is nice for the use cases described here.

For me, a "stable" tag/branch that keeps changing the contents isn't "stable".

My 2 cents.  I'm not an asdf dev, and only grab asdf when releases are done (or need to test some new things being introduced.)

-Eric



--
Ray