On Tue, Dec 08, 1998 at 12:46:41PM -0500, Vin Shelton wrote:
Over the weekend I got the 21.0 sources from CVS for the first time,
but I
couldn't figure out how to get 21.2; then last night for the first time
I managed to get 21.2 sources from CVS. I used the command:
'cvs update -r r21-2-5 xemacs' (IIRC).
I guess the project is 'xemacs' regardless of whether I care about 21.0 or
21.2, right? As patches are checked in, but before r21-2-6 is created,
what tag/release will get me the latest bleeding edge sources? Was the
'Trelease-21-2' which you quoted in your message a typo? Should it
actually be 'release-21-2'?
There are two main marking concepts in cvs: tags and branches.
Tags mark one particular release, like the 21.2.5 one. Steve now
builds them with the r21-[minor]-[beta] naming structure. So "cvs
update -rr21-2-5" will always get you the 21.2.5 version, "cvs diff
-rr21-2-5" will diff with the 21.2.5 version.
Branches mark the last version of a particular group of releases. We
use the branch called "release-21-2" for the 21.2 series. So "cvs
update -rrelease-21-2" will always get you the latest 21.2 release
(21.2.5 now, 21.2.6 later, etc...).
There is an unnamed default branch. It is the one you get when you
don't put a -r option at all. In the cvs jargon, it is called the
trunk. For us, it holds the 21.0 series.
When you use the "-rxxx" option to "cvs update", it is sticky.
This
means, each subsequent time you do a parameterless "cvs update", the
"-rxxx" is implicitely added. If you want to have it removed, and
hence get the truck back, use "cvs update -A".
The "Trelease-21-2" was the content of the "Tag" file of the
"CVS"
directory, which holds said sticky reference. The "T" isn't a typo,
but a prefix. CVS' own internal mess.
Here it is, hope this helps.
OG.