Subject: Re: release branch checkouts for dummies
To: Todd Whitesel <toddpw@best.com>
From: Frederick Bruckman <fb@enteract.com>
List: tech-install
Date: 12/23/1999 03:42:28
On Thu, 23 Dec 1999, Todd Whitesel wrote:

> > There is no 1.4.2 _tag_ yet. Try "cvs co -rnetbsd-1-4 ...".
> 
> ah, that's the ticket.
> 
> But when I tried to pick a reproducible date with "-rnetbsd-1-4:19991209 UTC"
> it complained about not being able to find that tag or something.
> 
> Something like -D "19991209 UTC" works fine for -current, I use it a lot.
> 
> How do I track the progress of netbsd-1-4 over time in a reproducible way?

Once you have a branch tag on, you can time travel on a branch the
same way, with "-D". [You see the `Tnetbsd-1-4' appended to the
filename and date in CVS/Entries, or in CVS/Tags for the whole
directory.] Or you can do it all in one shot with `-A -rnetbsd-1-4 -D
"1999-12-09 12:00 UTC"'. The `-A' is mostly redundant, but it does
guarantee that other sticky options, like "k" flags, are cleared.

No "-D" arg can ever eliminate the branch tag--only "-A" can do that.
The branch exists outside of space and time from the main branch. In
other words, there is no time on the netbsd-1-4 branch when it's not
the netbsd-1-4 branch. Branch tags, like "netbsd-1-4", are special in
that time travel along the branch is meaningful. Contrast this with a
tag like "netbsd-1-4-PATCH001", which is changeless. The only way I
know how to tell the difference is that the branch tags, as viewed
with "cvs log anyfile", have a `.0.' in the version number.