To add a new file to a directory, follow these steps.
You can also use the add
command to add a new
directory.
Unlike most other commands, the add
command is
not recursive. You have to expcicitly 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
-k
kflag] [-m
message] files ...Schedule files to be added to the repository. The files or directories specified with
add
must 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 theimport
command instead. See import.The added files are not placed in the source repository until you use
commit
to make the change permanent. Doing anadd
on a file that was removed with theremove
command will undo the effect of theremove
, unless acommit
command intervened. See Removing files, for an example.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).