Next: init, Previous: history, Up: Commands And Options
Synopsis: import [OPTIONS] REPOSITORY VENDOR_TAG RELEASE_TAG(S)
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 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:
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.
*.foo means ignore everything ending in .foo.
(See cvsignore in 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.