28.1 Version Control
A version control system is a program that can record multiple versions of a source file, storing information such as the creation time of each version, who made it, and a description of what was changed.
The Emacs version control interface is called VC. VC commands work with several different version control systems; currently, it supports Bazaar, CVS, Git, Mercurial, Monotone, RCS, SRC, SCCS/CSSC, and Subversion. Of these, the GNU project distributes CVS, RCS, and Bazaar.
VC is enabled automatically whenever you visit a file governed by a
version control system. To disable VC entirely, set the customizable
variable vc-handled-backends
to nil
(see Customizing VC).
To update the VC state information for the file visited in the
current buffer, use the command vc-refresh-state
. This command
is useful when you perform version control commands outside Emacs
(e.g., from the shell prompt), or if you put the buffer’s file under a
different version control system, or remove it from version control
entirely.
- Introduction to Version Control
- Version Control and the Mode Line
- Basic Editing under Version Control
- Features of the Log Entry Buffer
- Registering a File for Version Control
- Examining And Comparing Old Revisions
- VC Change Log
- Undoing Version Control Actions
- Ignore Version Control Files
- VC Directory Mode
- Version Control Branches
- Miscellaneous Commands and Features of VC
- Customizing VC