edit--Mark files for editing

This is command is used to mark files for editing in a reserved or semi-reserved scenario. When used with bug identifiers it also marks which users are currently working on which bugs, and which files are affected by those bugs.

cvs is primarily designed as a cooperative system, as experience has shown that this is the most productive way for teams of developers to work. The reserved models implemented by this command do not replace proper configuration management processes - the correct model to use should be decided after due consideration of the advantages and disadvantages of each. See also the section called “Mechanisms to track who is editing files”

The default working model is a cooperative multiple-editors model. Any number of people may be editing a file at any time and anyone may commit changes. This is very similar to the standard cooperative model except that the server keeps track of the editors.

Using the edit -c option creates a semi-reserved or cooperative reserved system. The edit command checks that there are no editors before editing the file, however its cooperative nature does not prevent other users editing if they wish to.

For a stricter model the -kc and -kx expansion options create a mandatory reserved system on individual files. Users are prevented from editing or committing a file unless they are the only editor of that file.

edit options


Modify filesystem ACL on edited file (Win32 only, Experimental).

In shared sandbox scenarios this command is designed to stop other users from being able to modify the edited file - it create an access control list that disallows write access to anyone but the editor.


Specify actions for the temporary watch that is created during an edit. This may be one of edit,unedit,commit,all,none.

-b bugid

Mark the edited file with a bug identifier. This marks the editor as not only using the file, but also working on a particular bug on that file. Specify multiple -b options for multiple bugs.


Check that working files are unedited before appying the edit.


Check that working file is unmodified.


Check that working files are up to date.


Edit even if working files are already edited by someone else (default).


Do not recurse into subdirectories.

-m message

Specify a reason for this edit. This message is made available as an option to the trigger libraries and notify script.


Process directories recursively (default).


Edit the whole file, not just the current branch. Normally edits only apply to the branch that is current at the time of the edit. If you wish to stop anyone changing other branches then this option allow this.


Exclusive edit. Attempt to stop other users editing the file even if they do not use the -c option.


Edit creates copies of the original files in the CVS/Base directory. With this option those copies are gzip compressed, which saves disk space and stops the copies being found by text searches of the sandbox.