import
------
Synopsis: import [OPTIONS] REPOSITORY VENDOR_TAG RELEASE_TAG(S)
* Alternate names - im, imp
* Requires - Repository, current directory (the source directory)
* Changes - Repository
Imports new sources into the repository, either creating a new project
or creating a new vendor revision on a vendor branch of an existing
project. (See Note:Advanced CVS for a basic explanation of vendor
branches in import, which will help you to understand the following.)
It's normal to use import to add many files or directories at once or to
create a new project. To add single files, you should use add.
Options:
* -b BRANCH - Imports to vendor branch BRANCH. (BRANCH is an actual
branch number, not a tag.) This is rarely used but can be helpful
if you get sources for the same project from different vendors. A
normal import command assumes that the sources are to be imported
on the default vendor branch, which is "1.1.1". Because it is the
default, you normally don't bother to specify it with -b:
floss$ cvs import -m "importing from vendor 1" theirproj THEM1 THEM1-0
To import to a vendor branch other than the default, you must
specify a different branch number explicitly:
floss$ cvs import -b 1.1.3 -m "from vendor 2" theirproj THEM2 THEM2-0
The 1.1.3 branch can absorb future imports and be merged like any
other vendor branch. However, you must make sure any future
imports that specify `-b 1.1.3' also use the same vendor tag
(`THEM2'). CVS does not check to make sure that the vendor branch
matches the vendor tag. However, if they mismatch, odd and
unpredictable things will happen.
Vendor branches are odd-numbered, the opposite of regular branches.
* -d - Takes the file's modification time as the time of import
instead of using the current time. This does not work with
client/server CVS.
* -I NAME - Gives file names that should be ignored in the import.
You can use this option multiple times in one import. Wildcard
patterns are supported: `*.foo' means ignore everything ending in
`.foo'. (See Note:cvsignore in Note:Repository Administrative
Files for details about wildcards.)
The following file and directory names are ignored by default:
.
..
.#*
#*
,*
_$*
*~
*$
*.a
*.bak
*.BAK
*.elc
*.exe
*.ln
*.o
*.obj
*.olb
*.old
*.orig
*.rej
*.so
*.Z
.del-*
.make.state
.nse_depinfo
core
CVS
CVS.adm
cvslog.*
RCS
RCSLOG
SCCS
tags
TAGS
You can suppress the ignoring of those file name patterns, as well
as any specified in `.cvsignore', `CVSROOT/cvsignore', and the
`$CVSIGNORE' environment variable, by using `-I !'. That is,
floss$ cvs import -I ! -m "importing the universe" proj VENDOR VENDOR_0
imports all files in the current directory tree, even those that
would otherwise be ignored.
Using a `-I !' clears whatever ignore list has been created to
that point, so any -I options that came before it would be
nullified, but any that come after will still count. Thus,
floss$ cvs import -I ! -I README.txt -m "some msg" theirproj THEM THEM_0
is not the same as
floss$ cvs import -I README.txt -I ! -m "some msg" theirproj THEM THEM_0
The former ignores (fails to import) README.txt, whereas the latter
imports it.
* -k MODE - Sets the default RCS keyword substitution mode for the
imported files. (See Note:Keyword Substitution (RCS Keywords)
later in this chapter for a list of valid modes.)
* -m MESSAGE - Records MESSAGE as the import log message.
* -W SPEC - Specifies filters based on file names that should be in
effect for the import. You can use this option multiple times.
(See Note:cvswrappers in Note:Repository Administrative
Files for details about wrapper specs.)