12.9. Customizing VC
Some of the rules we've described earlier in
the chapter for VC's
behavior can be changed by setting certain Emacs variables related to
VC mode. We'll go over a few of the most important
here.
- vc-handled-backends
-
This variable controls the set of version control systems used by VC,
and the order in which they are found in the list controls the order
in which they are attempted. It defaults to (RCS CVS SVN
MCVS SCCS). If you remove values from the list, they
won't be considered valid version control systems to
use. If the list is empty, VC is disabled entirely.
- vc-display-status
-
This variable displays a file's revision number and
status on the mode line of each buffer visiting it, if this is
non-nil. To avoid expensive queries
of the master file, you may want to turn this variable off if you are
running VC over very slow network links.
- vc-backend-header
-
These variables provides lists of the headers to be inserted by
vc-insert-headers when using the
specified version control system. For example, the headers for CVS
are in the variable vc-cvs-header.
You can customize these lists if you like a different format for your
version number headers.
- vc-keep-workfiles
-
Normally, VC leaves a read-only copy of the work file in place
whenever it performs a check-in. This feature is convenient because
it means make and other tools always
find work files where they expect to. If you're very
tight on disk space, you can turn it off, but then you have to
execute an explicit check-out every time a tool other than VC needs
the work file. (Emacs itself knows about version control through a
piece of VC code that's always resident; its visit
commands perform a check-out if necessary, without locking the file.)
- vc-mistrust-permissions
-
This variable is normally nil. Make
it t to tell VC not to trust a
file's permissions or ownership as indicators of its
version control state. This change slows VC down a lot, but it may be
necessary if (for example) your development group is working in
several different directories and accessing work files via symbolic
links. In such a case, the permissions and ownership of the link
convey nothing about the state of the work file.
- vc-suppress-confirm
-
This variable defaults to nil. If it
is non-nil, it suppresses the
confirmation prompt vc-revert-buffer
normally gives you before discarding changes.
- vc-initial-comment
-
Most version control systems allow (but do not require) you to enter
an initial comment when you register a file—a lead-off for the
change history. If this variable is non-nil, VC pops up a buffer for this comment at
registration time just as it normally does for change comments at
check-in time.
- diff-switches
-
The Emacs diff.el mode takes command-line
switches from this global variable to pass to diff when generating a change report. VC uses
it the same way. It defaults to the single switch -c to force context-diff format; -u for unified-diff format is also fairly popular.
A number of other, less important global variables are fully
documented in the Emacs online help system.
|