cvs-usage revision 40f53fa8d9c6a4fc38c0014495e7a42b08f52481
0N/ACopyright (C) 2000 Internet Software Consortium.
2362N/ASee COPYRIGHT in the source root or http://www.isc.org/copyright for terms.
0N/A
0N/ANotes on CVS Usage
0N/A
0N/AAccessing the repository
2362N/A
0N/A
2362N/AThe recommended way of accessing the BIND 9 CVS repository is by ssh
0N/Ato rc.isc.org, using the following environment settings:
0N/A
0N/A CVSROOT=:ext:rc.isc.org:/proj/cvs/isc
0N/A CVS_RSH=ssh
0N/A
0N/A
0N/ACreating a release branch
0N/A
0N/A
0N/AHere's how the 9.0 release branch was created:
0N/A
2362N/A cvs rtag v9_0_base bind9
2362N/A cvs rtag -b -r v9_0_base v9_0 bind9
2362N/A
0N/A
0N/A
0N/ARenaming files by respository copy
0N/A
0N/A
0N/AWhen you need to rename or move a file that is under CVS control, use
0N/Athe "repository copy" method as described in the following text
0N/Aborrowed from an ancient CVS FAQ:
0N/A
0N/A 2C.4 How do I rename a file?
0N/A
0N/A CVS does not offer a way to rename a file in a way that CVS can
0N/A track later. See Section 4B for more information.
0N/A
0N/A Here is the best way to get the effect of renaming, while
0N/A preserving the change log:
0N/A
0N/A 1. Copy the RCS (",v") file directly in the Repository.
0N/A
0N/A cp $CVSROOT/<odir>/<ofile>,v $CVSROOT/<ndir>/<nfile>,v
0N/A
0N/A 2. Remove the old file using CVS.
0N/A
0N/A By duplicating the file, you will preserve the change
0N/A history and the ability to retrieve earlier revisions of the
0N/A old file via the "-r <tag/rev>" or "-D <date>" options to
0N/A "checkout" and "update".
0N/A
0N/A cd <working-dir>/<odir>
0N/A rm <ofile>
0N/A cvs remove <ofile>
0N/A cvs commit <ofile>
0N/A
0N/A 3. Retrieve <newfile> and remove all the Tags from it.
0N/A
0N/A By stripping off all the old Tags, the "checkout -r" and
0N/A "update -r" commands won't retrieve revisions Tagged before
0N/A the renaming.
0N/A
0N/A cd <working-dir>/<ndir>
0N/A cvs update <nfile>
0N/A cvs log <nfile> # Save the list of Tags
0N/A cvs tag -d <tag1> <nfile>
0N/A cvs tag -d <tag2> <nfile>
0N/A . . .
0N/A
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
$Id: cvs-usage,v 1.4 2000/08/01 01:18:22 tale Exp $