Chapter 6
your module distribution directory. You shouldn't include derivative files such as
Makefile or the contents of blib in CVS, so make sure you run a make clean first to
remove them.
Next, you'll need to choose a CVS module name and import your source. CVS
module names are unique identifiers that you'll use to access you files in CVS. By
including module names, a single CVS repository can house any number of inde
pendent source trees. An easy way to create a name that CVS will accept is to use
your module's distribution filename minus the version information. For example,
to import the source for Data::Counter into CVS, I would use this command in the
Data::Counter distribution directory:
$ cvs import m "Import of Data::Counter" Data Counter vendor start
The m option specifies a log message for the import if you leave it out, then CVS
will open an editor for you to enter a log message. Most CVS commands accept a
log message that can later be viewed with the cvs log command. After that comes
the module name Data Counter. The last two arguments are the vendor tag
and the start tag. Unless you're a total CVS nerd, you'll never use either of these,
so you can set them to whatever you want. They're theoretically useful in tracking
third party sources through CVS. Or something like that.
Getting a Working Copy
To use CVS to manage the files you just imported, you need to check out a working
copy of your source. To do so, use the cvs checkout command:
$ cvs checkout Data Counter
U Data Counter/Changes
U Data Counter/Counter.pm
U Data Counter/MANIFEST
U Data Counter/Makefile
...
The output from the checkout command will show you the files and directories
being created from the CVS repository; the leading U stands for updated. Your
working copy contains all the same stuff that your module distribution does
except that each directory also has a CVS directory that contains special CVS files.
I won't go into the contents of these files, but you should be careful not to delete
them or you'll have to check out a new working copy.
A CVS checkout does not lock the files being checked out, as is the case in
some version control systems. CVS allows many developers to work on the same
files simultaneously and will automatically merge changes. If changes cannot be
152
footer
Our partners:
PHP: Hypertext Preprocessor Best Web Hosting
Java Web Hosting
Inexpensive Web Hosting
Jsp Web Hosting
Cheapest Web Hosting
Jsp Hosting
Cheap Hosting
Visionwebhosting.net Business web hosting division of Web
Design Plus. All rights reserved