Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 May 2007 16:29:23 +0100
From:      Alex Zbyslaw <>
To:        Andrew Falanga <>
Cc:        freebsd-questions <>
Subject:   Re: A little bit of help understanding CVS and cvsup
Message-ID:  <>
In-Reply-To: <>
References:  <>

Next in thread | Previous in thread | Raw E-Mail | Index | Archive | Help
Andrew Falanga wrote:

> Hi,
> This question probably hasn't much to do with CVS directly but using
> cvsup.  I want/need to update a 6.0-RELEASE system.  However, this
> system has some critical data on it and I'd rather not move to code
> that is perhaps experimental or "bleeding-edge" technology.  I see in
> /usr/share/examples/cvsup several supfiles named various things.  I
> see from the handbook that standard-supfile applies to, what seems
> like, the bleeding-edge and the stable-supfile is what I'm looking for
> .. yes?
> How do I ensure I update the sources to the most current, STABLE, branch?

You can find a description of release tags in the handbook. 
and also a description of -STABLE and -CURRENT

Later bits in that section also describe the update procedure *even if 
you are updating to a RELEASE./RELENG rather then CURRENT or STABLE*.

A brief description of the strings in tags is a follows:

CURRENT == bleeding edge

STABLE == merely leading edge

RELENG == what you are calling "stable"; a release plus security patches 

RELEASE == sort of you are calling stable, exactly what was released 
(not recommended since it lacks any security patches)

The latest release is 6.2, so the tag you want in your supfile is 
RELENG_6_2.  That string won't be in any supfile on your system.  It's 
impossible for it to be, since that would require predicting what will 
be the latest release at the point in the future when you chose to 
upgrade :-)

In technical terms, CURRENT is the top of the main development trunk, 
and is often referred to with a leading number (e.g. 7-CURRENT), but the 
number does no more than denote the numeric tag that will be applied 
when the next branch is made.  Once 7.0 starts being created, CURRENT 
will be 8-CURRENT.

STABLE is the latest branch.  Code here will become the next Release.  
Moving code from CURRENT to STABLE, involves a CVS merge operation and 
is often referred to as MFC - merge from CURRENT.

RELENG is a branch created when a specific release is made.  It denotes 
the latest code on that branch, but the only changes made will be 
critical security fixes.

RELEASE is just the point on the RELENG branch which is the actual code 
which was released on the Release CDs.



Be really nice if all this info was clearly in the FAQ, and the FAQ was 
searchable apart from the whole website.  As things stand, a search for 
"stable" returns precisely nothing, which can't be right.

Want to link to this message? Use this URL: <>