C-x v l (
vc-print-log) displays a buffer named
*vc-change-log*, showing the history of changes made to the
current file, including who made the changes, the dates, and the log
entry for each change (these are the same log entries you would enter
via the *vc-log* buffer; see Log Buffer). Point is
centered at the revision of the file currently being visited. With a
prefix argument, the command prompts for the revision to center on,
and the maximum number of revisions to display.
If you call C-x v l from a VC Directory buffer (see VC Directory Mode) or a Dired buffer (see Dired), it applies to the file listed on the current line.
C-x v L (
vc-print-root-log) displays a
*vc-change-log* buffer showing the history of the entire
version-controlled directory tree (RCS, SCCS, and CVS do not support
this feature). With a prefix argument, the command prompts for the
maximum number of revisions to display.
The C-x v L history is shown in a compact form, usually
showing only the first line of each log entry. However, you can type
log-view-toggle-entry-display) in the
*vc-change-log* buffer to reveal the entire log entry for the
revision at point. A second <RET> hides it again.
On a decentralized version control system, the C-x v I
vc-log-incoming) command displays a log buffer showing the
changes that will be applied, the next time you run the version
control system's pull command to get new revisions from another
repository (see Pulling / Pushing). This other repository is the default
one from which changes are pulled, as defined by the version control
system; with a prefix argument,
vc-log-incoming prompts for a
specific repository. Similarly, C-x v O
vc-log-outgoing) shows the changes that will be sent to
another repository, the next time you run the push command; with a
prefix argument, it prompts for a specific destination repository.
In the *vc-change-log* buffer, you can use the following keys to move between the logs of revisions and of files, and to examine and compare past revisions (see Old Revisions):
Because fetching many log entries can be slow, the
*vc-change-log* buffer displays no more than 2000 revisions by
default. The variable
vc-log-show-limit specifies this limit;
if you set the value to zero, that removes the limit. You can also
increase the number of revisions shown in an existing
*vc-change-log* buffer by clicking on the ‘Show 2X
entries’ or ‘Show unlimited entries’ buttons at the end of the
buffer. However, RCS, SCCS, and CVS do not support this feature.
A useful variant of examining changes is provided by the command vc-region-history, which shows a *VC-history* buffer with the history of changes to the region of the current file between point and the mark (see Mark). The history of changes includes the commit log messages and also the changes themselves in the Diff format.
Invoke this command after marking the region of the current file in whose changes you are interested. In the *VC-history* buffer it pops up, you can use all of the commands available in the *vc-change-log* buffer described above, and also the commands defined by Diff mode (see Diff Mode).
This command is currently available only with Git.