cvs revision a4a4c7e7511ff944656b053fd1763fc2e651ceca
aa37793651f52858384f57a8d744b734d9a30950Ryan GroveCopyright (C) 2000, 2001 Internet Software Consortium.
3937692b48191b3be82199e7379ee5161e442f32Adam MooreSee COPYRIGHT in the source root or http://isc.org/copyright.html for terms.
3937692b48191b3be82199e7379ee5161e442f32Adam Moore
aa37793651f52858384f57a8d744b734d9a30950Ryan GroveNotes on CVS Usage
aa37793651f52858384f57a8d744b734d9a30950Ryan Grove
3937692b48191b3be82199e7379ee5161e442f32Adam MooreAccessing the repository
cb4f4f79feb7498d1f3406b88fb62209e5f5a444Adam Moore
3937692b48191b3be82199e7379ee5161e442f32Adam Moore
aa37793651f52858384f57a8d744b734d9a30950Ryan GroveThe recommended way of accessing the BIND 9 CVS repository is by ssh
aa37793651f52858384f57a8d744b734d9a30950Ryan Groveto rc.isc.org, using the following environment settings:
3937692b48191b3be82199e7379ee5161e442f32Adam Moore
aa37793651f52858384f57a8d744b734d9a30950Ryan Grove CVSROOT=:ext:rc.isc.org:/proj/cvs/isc
aa37793651f52858384f57a8d744b734d9a30950Ryan Grove CVS_RSH=ssh
aa37793651f52858384f57a8d744b734d9a30950Ryan Grove
aa37793651f52858384f57a8d744b734d9a30950Ryan Grove
aa37793651f52858384f57a8d744b734d9a30950Ryan GroveCreating a release branch
aa37793651f52858384f57a8d744b734d9a30950Ryan Grove
aa37793651f52858384f57a8d744b734d9a30950Ryan Grove
aa37793651f52858384f57a8d744b734d9a30950Ryan GroveHere's how the 9.0 release branch was created:
aa37793651f52858384f57a8d744b734d9a30950Ryan Grove
3937692b48191b3be82199e7379ee5161e442f32Adam Moore cvs rtag v9_0_base bind9
7d9f4a49ef5e163b5f38d09a20f72208ab859e65Ryan Grove cvs rtag -b -r v9_0_base v9_0 bind9
aa37793651f52858384f57a8d744b734d9a30950Ryan Grove
7d9f4a49ef5e163b5f38d09a20f72208ab859e65Ryan Grove
aa37793651f52858384f57a8d744b734d9a30950Ryan Grove
aa37793651f52858384f57a8d744b734d9a30950Ryan GroveRenaming files by respository copy
3937692b48191b3be82199e7379ee5161e442f32Adam Moore
aa37793651f52858384f57a8d744b734d9a30950Ryan Grove
3937692b48191b3be82199e7379ee5161e442f32Adam MooreWhen you need to rename or move a file that is under CVS control, use
3937692b48191b3be82199e7379ee5161e442f32Adam Moorethe "repository copy" method as described in the following text
borrowed from an ancient CVS FAQ:
2C.4 How do I rename a file?
CVS does not offer a way to rename a file in a way that CVS can
track later. See Section 4B for more information.
Here is the best way to get the effect of renaming, while
preserving the change log:
1. Copy the RCS (",v") file directly in the Repository.
cp $CVSROOT/<odir>/<ofile>,v $CVSROOT/<ndir>/<nfile>,v
2. Remove the old file using CVS.
By duplicating the file, you will preserve the change
history and the ability to retrieve earlier revisions of the
old file via the "-r <tag/rev>" or "-D <date>" options to
"checkout" and "update".
cd <working-dir>/<odir>
rm <ofile>
cvs remove <ofile>
cvs commit <ofile>
3. Retrieve <newfile> and remove all the Tags from it.
By stripping off all the old Tags, the "checkout -r" and
"update -r" commands won't retrieve revisions Tagged before
the renaming.
cd <working-dir>/<ndir>
cvs update <nfile>
cvs log <nfile> # Save the list of Tags
cvs tag -d <tag1> <nfile>
cvs tag -d <tag2> <nfile>
. . .
This technique can be used to rename files within one directory or
across different directories. You can apply this idea to
directories too, as long as you apply the above to each file and
don't delete the old directory.
Of course, you have to change the build system (e.g. Makefile) in
your <working-dir> to know about the name change.
Pulling up a newly added file to a release branch:
In a mainline working tree, do something like this:
cvs tag v9_0_base file
cvs tag -b -r v9_0_base v9_0 file
Importing contrib source from vendor release
As an example, here's how queryperf was imported:
cd /tmp
cvs -d shell.nominum.com:/proj/cvs/nominum export -rHEAD queryperf
cd queryperf
cvs -d rc.isc.org:/proj/cvs/isc import bind9/contrib/queryperf \
NOMINUM NOMINUM_20010710
$Id: cvs,v 1.7 2001/07/12 02:08:12 gson Exp $