Synopsis: import [-options] repository vendortag releasetag...
Requires: Repository, source distribution directory.
Changes: repository.
Use import to incorporate an entire source distribution from an outside source (e.g., a source vendor) into your source repository directory. You can use this command both for initial creation of a repository, and for wholesale updates to the module from the outside source. Chapter 14, Tracking third-party sources, for a discussion on this subject.
The repository
argument gives a directory name
(or a path to a directory) under the cvsnt root directory for
repositories; if the directory did not exist, import creates it.
When you use import for updates to source that has been modified in your source repository (since a prior import), it will notify you of any files that conflict in the two branches of development; use checkout -j to reconcile the differences, as import instructs you to do.
If cvsnt decides a file should be ignored (the section called “Ignoring files via cvsignore”), it does not import it and prints I followed by the filename (the section called “import output”, for a complete description of the output).
If the file $CVSROOT/CVSROOT/cvswrappers exists, any file whose names match the specifications in that file will be treated as packages and the appropriate filtering will be performed on the file/directory before being imported. the section called “The cvswrappers file”.
The outside source is saved in a first-level branch, by default 1.1.1. Updates are leaves of this branch; for example, files from the first imported collection of source will be revision 1.1.1.1, then files from the first imported update will be revision 1.1.1.2, and so on.
At least one argument is required. repository
is needed to identify the collection of source. Normally also two other
arguments are supplied - vendortag
is a tag for the
entire branch (e.g., for 1.1.1). You must also specify at least one
releasetag
to identify the files at the leaves
created each time you execute import.
Note that by default import does not change the directory in which you invoke it. In particular, it does not set up that directory as a cvsnt working directory. For initial imports the -C option will achieve this, but for vendor source imports you need to import them first and then check them out into a different directory (the section called “Getting the source”).
This standard option is supported by import (the section called “Common command options”, for a complete description):
message
Use message
as log information, instead
of invoking an editor.
There are the following additional special options.
branch
subst
Indicate the keyword expansion mode desired. This setting will apply to all files created during the import, but not to any files that previously existed in the repository. See the section called “Substitution modes”, for a list of valid -k settings.
name
Specify file names that should be ignored during import. You can use this option repeatedly. To avoid ignoring any files at all (even those ignored by default), specify `-I !'.
name
can be a file name pattern of the
same type that you can specify in the
.cvsignore file. the section called “Ignoring files via cvsignore”.
If you specify '-I @' the contents of .cvsigore files are ignored for the import.
spec
Specify file names that should be filtered during import. You can use this option repeatedly. To override all the default wrappers specify '-W !'.
spec
can be a file name pattern of the
same type that you can specify in the
.cvswrappers file. the section called “The cvswrappers file”.
Create CVS directories during initial import. This provides simplified setup of a sandbox, however as it does not contact the server is not suitable for vendor updates - for this a proper import/checkout sequence should be used.
Use the modification time of the file as the import time instead of the current time.
Overwrite any duplicate release tags within imported files.
Do not require vendor or release tags. This is used for initial imports only, and creates a repository without a vendor branch. If you are not planning to use vendor source imports then using this option simplifies the import process.
import keeps you informed of its progress by printing a line for each file, preceded by one character indicating the status of the file:
file
The file already exists in the repository and has not been locally modified; a new revision has been created (if necessary).
file
The file is a new file which has been added to the repository.
file
The file already exists in the repository but has been locally modified; you will have to merge the changes.
file
The file is being ignored (the section called “Ignoring files via cvsignore”).
file
The file is a symbolic link; cvs import ignores symbolic links. People periodically suggest that this behavior should be changed, but if there is a consensus on what it should be changed to, it doesn't seem to be apparent. (Various options in the modules file can be used to recreate symbolic links on checkout, update, etc.; the section called “The modules file”.)