The merge was intended (and usually is) done just before release. It was
our intention to do an immediate release, but we had some delays.

WeeWX may be a bit different from other software you are used to. We
*never* support
old releases. Either you upgrade, or you don't. There's nothing in between.
So, the usual work flow is to do the merge into master, then release.
There's no reason to have branches dedicated to maintaining older releases.

In this case, we did the merge, but then the development team was unable to
finish. So, it has been languishing.

We do our best, but sometimes paying jobs interfere.

-tk

On Sat, Feb 29, 2020 at 12:57 PM Greg Troxel <g...@lexort.com> wrote:

> I have been following the messages about 4.0 alpha/beta stuff with
> interest, expecting to get around to testing some day.
>
> I just did a git remote update, and was surprised to find that master,
> which had previously been the stable branch, now contains 4.0beta
> (loosely speaking).  I must have missed the announcement of the big
> merge from develop, which I consider to be of huge import.  I spent a
> bit of time digging through to find out if there were any changes to 3.8
> since my last update, and concluded no.
>
> I realize opinions differ, but I think the master/develop scheme is
> awkward and difficult to deal with.  Yes, I realize that new unstable
> stuff goes on develop, and at some point develop is merged to master.
>
> But, I'm trying to be on 3.8, and get bug fixes, and not jump to 4 yet,
> until I can do a build/test and try the simulator.  Part of this is that
> I'm running NetBSD rather than Linux, which probably nobody has tested
> on, and probably it is fine, but I am basically doing the
> staging/qualify/upgrade normal IT change management thing, which I see
> as well within normal for anyone who is trying hard to avoid trouble.
>
> With the master/develop scheme, there are multiple serious problems:
>
>   I was trying to follow 3.8 stable, but if I "git pull", I jump
>   branches (even though we haven't had a release as far as I can tell).
>
>   If I want to follow 3.8 stable whether or not 4.0 is released, because
>   I want to choose when to jump branches, that's not just not automatic,
>   it's pretty difficult.
>
>   There is no mechanism to apply a bugfix to 3.8, as of the instant that
>   develop was merged to master.  (Yes, I get it that a branch could be
>   created retrospectively.  But the master/develop scheme militates
>   against that happening.)
>
> In contrast, the stable/master scheme is much easier to deal with:
>
>   master has new code on it (exactly like develop is today)
>
>   each stable branch has a branch, e.g. "stable-3.8", and fix commits
>   are put on it.  They are merged to master usually, just like master
>   commits are merged to develop usually (or cherry-picked from there).
>
>   when it's time to start a new stable for 4.0, a stable-4.0 is branched
>   off master.
>
>   people who want to switch from 3.8 to 4.0 do "git checkout
>   stable-4.0".  People who aren't ready yet don't.  There is no magic
>   and it is really obvious what one is on when typing 'git status'.
>
>   the downside is that people that pay zero attention and just git pull
>   remain on the stable branch they were on.  (I actually think that's a
>   good thing.)
>
>   The stable-3.8 branch remains indefinitely as one that could be
>   updated with a fix, and can easily be accessed by name.
>
>
> So this is a long way of saying that today the master/develop felt
> extremely awkward, for no real overall benefit, and I'd like to suggest
> changing to stable/master.
>
>
> Now, I realize that a lot of people are using git to get code, when
> those people do not necessarily understand git.  I wonder if the
> master/develop scheme's main point is that a naive checkout gets one the
> most recent stable.  So maybe getting that benefit without all the pain
> of master/develop would be:
>
>   develop: new code codes here
>
>   stable-N: branched off develop for new branches, and each one gets bug
>   fixes
>
>   master: the highest stable-N is merged to master, so that master is
>   always the most recent version of the most recent stable.  The only
>   point of master, and the only use, is people that do checkouts and
>   don't understand git or weewx well enough to choose a stable branch
>   explicitly.  (IMHO, these people should be using distribution
>   packages, not git.)
>
>
> Thanks for listening to me rant,
> Greg
>
> --
> You received this message because you are subscribed to the Google Groups
> "weewx-development" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to weewx-development+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/weewx-development/rmiblphyuuz.fsf%40s1.lexort.com
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to weewx-development+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-development/CAPq0zEAUx5XESDsTzSeF4tdrPMwH94zAjzfrgOBUWyOBPncNcw%40mail.gmail.com.

Reply via email to