cvs-usage revision 0fb14ebc61cd2e696f1195bdd1a7e590c2b4da3a
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncCopyright (C) 2000 Internet Software Consortium.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncSee COPYRIGHT in the source root or http://www.isc.org/copyright for terms.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncNotes on CVS Usage
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncAccessing the repository
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncThe recommended way of accessing the BIND 9 CVS repository is by ssh
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncto rc.isc.org, using the following environment settings:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CVSROOT=:ext:rc.isc.org:/proj/cvs/isc
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CVS_RSH=ssh
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncCreating a release branch
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncHere's how the 9.0 release branch was created:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync cvs rtag v9_0_base bind9
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync cvs rtag -b -r v9_0_base v9_0 bind9
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncRenaming files by respository copy
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncWhen you need to rename or move a file that is under CVS control, use
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncthe "repository copy" method as described in the following text
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncborrowed from an ancient CVS FAQ:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync 2C.4 How do I rename a file?
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync CVS does not offer a way to rename a file in a way that CVS can
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync track later. See Section 4B for more information.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Here is the best way to get the effect of renaming, while
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync preserving the change log:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync 1. Copy the RCS (",v") file directly in the Repository.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync cp $CVSROOT/<odir>/<ofile>,v $CVSROOT/<ndir>/<nfile>,v
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync 2. Remove the old file using CVS.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync By duplicating the file, you will preserve the change
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync history and the ability to retrieve earlier revisions of the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync old file via the "-r <tag/rev>" or "-D <date>" options to
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync "checkout" and "update".
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync cd <working-dir>/<odir>
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync rm <ofile>
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync cvs remove <ofile>
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync cvs commit <ofile>
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync 3. Retrieve <newfile> and remove all the Tags from it.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync By stripping off all the old Tags, the "checkout -r" and
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync "update -r" commands won't retrieve revisions Tagged before
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync 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
$Id: cvs-usage,v 1.3 2000/07/10 16:16:06 gson Exp $