Next: , Up: Adding and removing   [Contents][Index]


7.1 Adding files to a directory

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 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
Command: cvs add [-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 the 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 commit 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).


Next: , Up: Adding and removing   [Contents][Index]