3.1.1 Creating a directory tree from a number of files
When you begin using CVS, you will probably already have several
projects that can be
put under CVS control. In these cases the easiest way is to use the
import
command. An example is probably the easiest way to
explain how to use it. If the files you want to install in
CVS reside in `wdir', and you want them to appear in the
repository as `$CVSROOT/yoyodyne/rdir', you can do this:
| $ cd wdir
$ cvs import -m "Imported sources" yoyodyne/rdir yoyo start
|
Unless you supply a log message with the `-m'
flag, CVS starts an editor and prompts for a
message. The string `yoyo' is a vendor tag,
and `start' is a release tag. They may fill
no purpose in this context, but since CVS requires
them they must be present. See section Tracking third-party sources, for
more information about them.
You can now verify that it worked, and remove your
original source directory.
| $ cd ..
$ cvs checkout yoyodyne/rdir # Explanation below
$ diff -r wdir yoyodyne/rdir
$ rm -r wdir
|
Erasing the original sources is a good idea, to make sure that you do
not accidentally edit them in wdir, bypassing CVS.
Of course, it would be wise to make sure that you have
a backup of the sources before you remove them.
The checkout
command can either take a module
name as argument (as it has done in all previous
examples) or a path name relative to $CVSROOT
,
as it did in the example above.
It is a good idea to check that the permissions
CVS sets on the directories inside $CVSROOT
are reasonable, and that they belong to the proper
groups. See section File permissions.
If some of the files you want to import are binary, you
may want to use the wrappers features to specify which
files are binary and which are not. See section The cvswrappers file.