[CentOS-devel] Before You Get Mad About The CentOS Stream Change, Think About…

Wed Dec 23 07:14:03 UTC 2020
Gordon Messmer <gordon.messmer at gmail.com>

On 12/22/20 10:36 PM, Nico Kadel-Garcia wrote:
> It's why I say they're taags" and find the model
> mentioned here that "it's all one branch" to not match reality


For fun, I'll try again:

RHEL point releases are branches.  7.6 is a branch.  7.7 is a branch.  
You can continue running 7.6 and receive security updates after 7.7 is 
released.  Those updates may include packages built specifically for 
7.6, and not just a selection of the packages for 7.7.  They're 
maintained in parallel, at the same time.  They're branches.

CentOS point releases weren't individual branches.  There was only one 
CentOS 7 branch.  CentOS 7.6 was just a point in time along the lifetime 
of CentOS 7.  7.6 is not literally a tag, but it's the closest analogy.  
There was no continued support for CentOS 7.6 after CentOS 7.7 was 
released.  If there's no parallel maintenance, there is only one branch.

In an VCS, you can create a branch and continue work, and later create 
another branch off of that and continue work, but if you never add any 
work to an older branch after a new branch is created, then you're only 
using branches in a very superficial sense.  There are technically 
branches, but there's no difference in that workflow between several 
branches and just one, because you have just one linear history 
containing every commit.  This resembles CentOS updates.

RHEL point releases get updates that aren't just updates for a later 
release.  As an analogy, there are updates in the older branches that 
aren't in the new branches, unlike CentOS.

CentOS has just one branch:

* 7.5
  \
   * 7.6
    \
     * 7.7

RHEL has multiple branches that overlap in time:

* ---- 7.5
  \
   * ---- 7.6
    \
     * ---- 7.7