One of the convenient features of version control is the ability to examine any version of a file, or compare two versions.
To examine an old version in toto, visit the file and then type
C-x v ~ version RET (vc-version-other-window
).
This puts the text of version version in a file named
`filename.~version~', and visits it in its own buffer
in a separate window. (In RCS, you can also select an old version
and create a branch from it. See section Multiple Branches of a File.)
But usually it is more convenient to compare two versions of the file,
with the command C-x v = (vc-diff
). Plain C-x v =
compares the current buffer contents (saving them in the file if
necessary) with the last checked-in version of the file. C-u C-x v
=, with a numeric argument, reads a file name and two version numbers,
then compares those versions of the specified file.
If you supply a directory name instead of the name of a registered file, this command compares the two specified versions of all registered files in that directory and its subdirectories.
You can specify a checked-in version by its number; an empty input specifies the current contents of the work file (which may be different from all the checked-in versions). You can also specify a snapshot name (see section Snapshots) instead of one or both version numbers.
This command works by running the diff
utility, getting the
options from the variable diff-switches
. It displays the output
in a special buffer in another window. Unlike the M-x diff
command, C-x v = does not try to locate the changes in the old and
new versions. This is because normally one or both versions do not
exist as files when you compare them; they exist only in the records of
the master file. See section Comparing Files, for more information about
M-x diff.
For CVS-controlled files, you can display the result of the CVS annotate command, using colors to enhance the visual appearance. Use the command M-x vc-annotate to do this. Red means new, blue means old, and intermediate colors indicate intermediate ages. A prefix argument n specifies a stretch factor for the time scale; it makes each color cover a period n times as long.
Go to the first, previous, next, last section, table of contents.