More fixes for the Emacs manual

* doc/emacs/vc1-xtra.texi (Customizing VC): Update the list of
backends.
* doc/emacs/maintaining.texi (Version Control): Add SRC to the
list of VCS.  Remove the description of vc-state-refresh.
(Version Control Systems): Update the description of CVS.
(VC Change Log): Amend the list of VCS that don't support
vc0print-root-log.
(VCS Changesets, VCS Repositories, Advanced C-x v v)
(VC Change Log): Mention SRC with RCS where appropriate.
(VC Directory Commands): More accurate description of
vc-dir-hide-up-to-date.  Suggested by Michael Albinus
<michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
This commit is contained in:
Eli Zaretskii 2018-02-16 23:37:38 +02:00
parent a06a8ed5b6
commit 5906418b5b
2 changed files with 32 additions and 32 deletions

View file

@ -60,8 +60,8 @@ changed.
The Emacs version control interface is called @dfn{VC}@. VC The Emacs version control interface is called @dfn{VC}@. VC
commands work with several different version control systems; commands work with several different version control systems;
currently, it supports Bazaar, CVS, Git, Mercurial, Monotone, RCS, currently, it supports Bazaar, CVS, Git, Mercurial, Monotone, RCS,
SCCS/CSSC, and Subversion. Of these, the GNU project distributes CVS, SRC, SCCS/CSSC, and Subversion. Of these, the GNU project distributes
RCS, and Bazaar. CVS, RCS, and Bazaar.
VC is enabled automatically whenever you visit a file governed by a VC is enabled automatically whenever you visit a file governed by a
version control system. To disable VC entirely, set the customizable version control system. To disable VC entirely, set the customizable
@ -80,9 +80,7 @@ current buffer, use the command @code{vc-refresh-state}. This command
is useful when you perform version control commands outside Emacs 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 (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 different version control system, or remove it from version control
entirely. A companion command @code{vc-state-refresh} does the same, entirely.
but does not consider switching the version control system or removal
from VC.
@menu @menu
* Introduction to VC:: How version control works in general. * Introduction to VC:: How version control works in general.
@ -185,12 +183,12 @@ everything you can do with RCS can be done through VC.
@cindex CVS @cindex CVS
@item @item
CVS is the free version control system that was, until recently (circa CVS is the free version control system that was, until circa 2008,
2008), used by the majority of free software projects. Nowadays, it used by the majority of free software projects. Since then, it has
is slowly being superseded by newer systems. CVS allows concurrent been superseded by newer systems. CVS allows concurrent multi-user
multi-user development either locally or over the network. Unlike development either locally or over the network. Unlike newer systems,
newer systems, it lacks support for atomic commits and file it lacks support for atomic commits and file moving/renaming. VC
moving/renaming. VC supports all basic editing operations under CVS. supports all basic editing operations under CVS.
@cindex SVN @cindex SVN
@cindex Subversion @cindex Subversion
@ -322,13 +320,14 @@ possible.
@subsubsection Changeset-based vs File-based Version Control @subsubsection Changeset-based vs File-based Version Control
@cindex file-based version control @cindex file-based version control
On SCCS, RCS, CVS, and other early version control systems, version On SCCS, RCS, CVS, and other early version control systems (and also
control operations are @dfn{file-based}: each file has its own comment in SRC), version control operations are @dfn{file-based}: each file
and revision history separate from that of all other files. Newer has its own comment and revision history separate from that of all
systems, beginning with Subversion, are @dfn{changeset-based}: a other files. Newer systems, beginning with Subversion, are
commit may include changes to several files, and the entire set of @dfn{changeset-based}: a commit may include changes to several files,
changes is handled as a unit. Any comment associated with the change and the entire set of changes is handled as a unit. Any comment
does not belong to a single file, but to the changeset itself. associated with the change does not belong to a single file, but to
the changeset itself.
@cindex changeset-based version control @cindex changeset-based version control
Changeset-based version control is more flexible and powerful than Changeset-based version control is more flexible and powerful than
@ -344,7 +343,7 @@ all of it.
@cindex distributed version control @cindex distributed version control
Early version control systems were designed around a Early version control systems were designed around a
@dfn{centralized} model in which each project has only one repository @dfn{centralized} model in which each project has only one repository
used by all developers. SCCS, RCS, CVS, and Subversion share this used by all developers. SCCS, RCS, CVS, Subversion, and SRC share this
kind of model. One of its drawbacks is that the repository is a choke kind of model. One of its drawbacks is that the repository is a choke
point for reliability and efficiency. point for reliability and efficiency.
@ -526,7 +525,7 @@ desired log entry for the new revision, followed by @kbd{C-c C-c} to
commit. @xref{Log Buffer}. commit. @xref{Log Buffer}.
If committing to a shared repository, the commit may fail if the If committing to a shared repository, the commit may fail if the
repository that has been changed since your last update. In that repository has been changed since your last update. In that
case, you must perform an update before trying again. On a case, you must perform an update before trying again. On a
decentralized version control system, use @kbd{C-x v +} decentralized version control system, use @kbd{C-x v +}
(@pxref{Pulling / Pushing}) or @kbd{C-x v m} (@pxref{Merging}). (@pxref{Pulling / Pushing}) or @kbd{C-x v m} (@pxref{Merging}).
@ -609,7 +608,7 @@ if the fileset can be managed by more than one version control system,
and Emacs fails to detect the correct one. and Emacs fails to detect the correct one.
@item @item
Otherwise, if using CVS or RCS, you can specify a revision ID. Otherwise, if using CVS, RCS or SRC, you can specify a revision ID.
If the fileset is modified (or locked), this makes Emacs commit with If the fileset is modified (or locked), this makes Emacs commit with
that revision ID@. You can create a new branch by supplying an that revision ID@. You can create a new branch by supplying an
@ -969,9 +968,9 @@ file listed on the current line.
@findex log-view-toggle-entry-display @findex log-view-toggle-entry-display
@kbd{C-x v L} (@code{vc-print-root-log}) displays a @kbd{C-x v L} (@code{vc-print-root-log}) displays a
@file{*vc-change-log*} buffer showing the history of the entire @file{*vc-change-log*} buffer showing the history of the entire
version-controlled directory tree (RCS, SCCS, and CVS do not support version-controlled directory tree (RCS, SCCS, CVS, and SRC do not
this feature). With a prefix argument, the command prompts for the support this feature). With a prefix argument, the command prompts
maximum number of revisions to display. for the maximum number of revisions to display.
The @kbd{C-x v L} history is shown in a compact form, usually The @kbd{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 showing only the first line of each log entry. However, you can type
@ -1048,7 +1047,7 @@ if you set the value to zero, that removes the limit. You can also
increase the number of revisions shown in an existing increase the number of revisions shown in an existing
@file{*vc-change-log*} buffer by clicking on the @samp{Show 2X @file{*vc-change-log*} buffer by clicking on the @samp{Show 2X
entries} or @samp{Show unlimited entries} buttons at the end of the entries} or @samp{Show unlimited entries} buttons at the end of the
buffer. However, RCS, SCCS, and CVS do not support this feature. buffer. However, RCS, SCCS, CVS, and SRC do not support this feature.
@kindex C-x v h @kindex C-x v h
@findex vc-region-history @findex vc-region-history
@ -1189,7 +1188,7 @@ but is not yet committed, while @file{temp.txt} is not under version
control (@pxref{Registering}). control (@pxref{Registering}).
The @samp{*} characters next to the entries for @file{README} and The @samp{*} characters next to the entries for @file{README} and
@file{src/main.c} indicate that the user has marked out these files as @file{src/main.c} indicate that the user has marked these files as
the current VC fileset the current VC fileset
@iftex @iftex
(see below). (see below).
@ -1280,7 +1279,7 @@ point is on a directory entry, unmark all files in that directory tree
files and directories. files and directories.
@item x @item x
Hide files with @samp{up-to-date} status Hide files with @samp{up-to-date} or @samp{ignored} status
(@code{vc-dir-hide-up-to-date}). With a prefix argument, hide items (@code{vc-dir-hide-up-to-date}). With a prefix argument, hide items
whose state is that of the item at point. whose state is that of the item at point.
@end table @end table
@ -1352,7 +1351,7 @@ Switch to a branch (@code{vc-retrieve-tag}). @xref{Switching Branches}.
context menu invoked by @kbd{mouse-2}. Furthermore, some VC backends context menu invoked by @kbd{mouse-2}. Furthermore, some VC backends
use the menu to provide extra backend-specific commands. For example, use the menu to provide extra backend-specific commands. For example,
Git and Bazaar allow you to manipulate @dfn{stashes} and @dfn{shelves} Git and Bazaar allow you to manipulate @dfn{stashes} and @dfn{shelves}
(where are a way to temporarily put aside uncommitted changes, and (which are a way to temporarily put aside uncommitted changes, and
bring them back at a later time). bring them back at a later time).
@node Branches @node Branches
@ -1517,7 +1516,7 @@ is shown in a separate buffer.
prompts for a branch ID, or a pair of revision IDs (@pxref{Switching prompts for a branch ID, or a pair of revision IDs (@pxref{Switching
Branches}); then it finds the changes from that branch, or the changes Branches}); then it finds the changes from that branch, or the changes
between the two revisions you specified, and merges those changes into between the two revisions you specified, and merges those changes into
the current VC fileset. If you just type @key{RET}, Emacs simply the current VC fileset. If you just type @kbd{@key{RET}}, Emacs simply
merges any changes that were made on the same branch since you checked merges any changes that were made on the same branch since you checked
the file out. the file out.

View file

@ -113,8 +113,9 @@ Prompt for a file name, delete the file from the working tree, and
schedule the deletion for committing. schedule the deletion for committing.
@item M-x vc-rename-file @item M-x vc-rename-file
Prompt for two file names, @var{var} and @var{old}, rename them in the Prompt for two file names, @var{old} and @var{new}, rename them in the
working tree, and schedule the renaming for committing. working tree, and schedule the renaming for committing. The @var{old}
file defaults to the current buffer's file name if it is under VC.
@end table @end table
@findex vc-delete-file @findex vc-delete-file
@ -268,7 +269,7 @@ with the file's version control type.
@vindex vc-handled-backends @vindex vc-handled-backends
The variable @code{vc-handled-backends} determines which version The variable @code{vc-handled-backends} determines which version
control systems VC should handle. The default value is @code{(RCS CVS control systems VC should handle. The default value is @code{(RCS CVS
SVN SCCS Bzr Git Hg Mtn Arch)}, so it contains all the version systems SVN SCCS SRC Bzr Git Hg Mtn)}, so it contains all the version systems
that are currently supported. If you want VC to ignore one or more of that are currently supported. If you want VC to ignore one or more of
these systems, exclude its name from the list. To disable VC these systems, exclude its name from the list. To disable VC
entirely, set this variable to @code{nil}. entirely, set this variable to @code{nil}.