To add a new file to a directory, follow these steps.
You can also use the
add command to add a new
Unlike most other commands, the
add command is
not recursive. You have to explicitly name files and
directories that you wish to add to the repository.
However, each directory will need to be added
separately before you will be able to add new files
to those directories.
$ mkdir -p foo/bar $ cp ~/myfile foo/bar/myfile $ cvs add foo foo/bar $ cvs add foo/bar/myfile
-mmessage] files …
Schedule files to be added to the repository.
The files or directories specified with
already exist in the current directory. To add a whole
new directory hierarchy to the source repository (for
example, files received from a third-party vendor), use
import command instead. See import.
The added files are not placed in the source repository
until you use
commit to make the change
permanent. Doing an
add on a file that was
removed with the
remove command will undo the
effect of the
remove, unless a
command intervened. See Removing files, for an
The ‘-k’ option specifies the default way that this file will be checked out; for more information see Substitution modes.
The ‘-m’ option specifies a description for the
file. This description appears in the history log (if
it is enabled, see history file). It will also be
saved in the version history inside the repository when
the file is committed. The
log command displays
this description. The description can be changed using
‘admin -t’. See admin. If you omit the
‘-m description’ flag, an empty string will
be used. You will not be prompted for a description.
For example, the following commands add the file backend.c to the repository:
$ cvs add backend.c $ cvs commit -m "Early version. Not yet compilable." backend.c
When you add a file it is added only on the branch which you are working on (see Branching and merging). You can later merge the additions to another branch if you want (see Merging adds and removals).