Copyright (C) Internet Systems Consortium, Inc. ("ISC") See COPYRIGHT in the source root or http://isc.org/copyright.html for terms. Notes on CVS Usage Accessing the repository The recommended way of accessing the BIND 9 CVS repository is by ssh to rc.isc.org, using the following environment settings: CVSROOT=:ext:rc.isc.org:/proj/cvs/isc CVS_RSH=ssh Creating a release branch Here's how the 9.0 release branch was created: cvs rtag v9_0_base bind9 cvs rtag -b -r v9_0_base v9_0 bind9 Renaming files by respository copy When you need to rename or move a file that is under CVS control, use the "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//,v $CVSROOT//,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 " or "-D " options to "checkout" and "update". cd / rm cvs remove cvs commit 3. Retrieve 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 / cvs update cvs log # Save the list of Tags cvs tag -d cvs tag -d . . . 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 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-usage,v 1.8 2004/03/05 05:04:50 marka Exp $