Previous: RCS and SCCS, Up: Customizing VC [Contents][Index]
You can specify additional command line options to pass to all CVS
operations in the variable vc-cvs-global-switches
. These
switches are inserted immediately after the cvs
command, before
the name of the operation to invoke.
When using a CVS repository on a remote machine, VC can try keeping
network interactions to a minimum. This is controlled by the variable
vc-cvs-stay-local
. If vc-cvs-stay-local
is
only-file
(the default), VC determines the version control
status of each file using only the entry in the local CVS subdirectory
and the information returned by previous CVS commands. As a
consequence, if you have modified a file and somebody else has checked
in other changes, you will not be notified of the conflict until you
try to commit.
If you change vc-cvs-stay-local
to nil
, VC queries the
remote repository before it decides what to do in
vc-next-action
(C-x v v), just as it does for local
repositories.
You can also set vc-cvs-stay-local
to a regular expression
that is matched against the repository host name; VC then stays local
only for repositories from hosts that match the pattern.
When using a remote repository, Emacs normally makes automatic version backups of the original versions of each edited file. These local backups are made whenever you save the first changes to a file, and they are removed after you commit your changes to the repository. (Note that these are not the same as ordinary Emacs backup files; see Backup.) Commands like C-x v = and C-x v u make use of automatic version backups, if possible, to avoid having to access the network.
Setting vc-cvs-stay-local
to nil
disables the making
of automatic version backups.
Automatic version backups have names of the form
file.~version.~
. This is similar to the name
that C-x v ~ saves old versions to
(see Old Revisions),
except for the additional dot (‘.’) after the version. The
relevant VC commands can use both kinds of version backups. The main
difference is that the manual version backups made by C-x v
~ are not deleted automatically when you commit.
CVS does not use locking by default, but there are ways to enable
locking-like behavior using its CVSREAD
or watch feature;
see the CVS documentation for details. If that case, you can use
C-x v v in Emacs to toggle locking, as you would for a
locking-based version control system
(see VC With A Locking VCS).
Previous: RCS and SCCS, Up: Customizing VC [Contents][Index]