23.7.3.2 Basic Version Control without Locking
When there is no locking—the default for CVS—work files are always
writable; you do not need to do anything before you begin to edit a
file. The status indicator on the mode line is ‘-’ if the file is
unmodified; it flips to ‘:’ as soon as you save any changes in the
work file.
Here is what C-x v v does when using CVS:
- If some other user has checked in changes into the master file, Emacs
asks you whether you want to merge those changes into your own work
file. You must do this before you can check in your own changes. (To
pick up any recent changes from the master file without trying
to commit your own changes, type C-x v m <RET>.)
See Merging.
- If there are no new changes in the master file, but you have made
modifications in your work file, C-x v v checks in your changes.
In order to do this, it first reads the log entry for the new version.
See Log Buffer.
- If the file is not modified, the C-x v v does nothing.
These rules also apply when you use RCS in the mode that does not
require locking, except that automatic merging of changes from the
master file is not implemented. Unfortunately, this means that nothing
informs you if another user has checked in changes in the same file
since you began editing it, and when this happens, his changes will be
effectively removed when you check in your version (though they will
remain in the master file, so they will not be entirely lost). You must
therefore verify that the current version is unchanged, before you
check in your changes. We hope to eliminate this risk and provide
automatic merging with RCS in a future Emacs version.
In addition, locking is possible with RCS even in this mode, although
it is not required; C-x v v with an unmodified file locks the
file, just as it does with RCS in its normal (locking) mode.