Doc fixes related to vc-initial-comment.
[bpt/emacs.git] / doc / emacs / maintaining.texi
index ccbea01..354812e 100644 (file)
@@ -1,6 +1,5 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000,
-@c   2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2011
 @c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Maintaining, Abbrevs, Building, Top
@@ -360,6 +359,7 @@ change, and later use the @kbd{C-x v a} command to copy it to
 
 @node VC Mode Line
 @subsection Version Control and the Mode Line
+@cindex VC, mode line indicator
 
   When you visit a file that is under version control, Emacs indicates
 this on the mode line.  For example, @samp{Bzr-1223} says that Bazaar
@@ -368,10 +368,17 @@ is used for that file, and the current revision ID is 1223.
   The character between the back-end name and the revision ID
 indicates the status of the work file.  In a merge-based version
 control system, a @samp{-} character indicates that the work file is
-unmodified, and @samp{:} indicates that it has been modified.  In a
-lock-based system, @samp{-} indicates an unlocked file, and @samp{:} a
-locked file; if the file is locked by another user (for instance,
-@samp{jim}), that is displayed as @samp{RCS:jim:1.3}.
+unmodified, and @samp{:} indicates that it has been modified.
+@samp{!} indicates that the file contains conflicts as result of a
+recent merge operation (@pxref{Merging}), or that the file was removed
+from the version control.  Finally, @samp{?}  means that the file is
+under version control, but is missing from the working tree.
+
+  In a lock-based system, @samp{-} indicates an unlocked file, and
+@samp{:} a locked file; if the file is locked by another user (for
+instance, @samp{jim}), that is displayed as @samp{RCS:jim:1.3}.
+@samp{@@} means that the file was locally added, but not yet committed
+to the master repository.
 
   On a graphical display, you can move the mouse over this mode line
 indicator to pop up a ``tool-tip'', which displays a more verbose
@@ -737,6 +744,13 @@ is neither visiting a version-controlled file nor a VC directory
 buffer, these commands generate a diff of all registered files in the
 current directory and its subdirectories.
 
+@findex vc-ediff
+The function @code{vc-ediff} works like @code{vc-diff} and provides a way to
+visually compare two revisions of a file in an Ediff session, @pxref{Top,
+Ediff, ediff, The Ediff Manual}.  It compares the file associated with the
+current buffer with the last repository revision.  To compare two arbitrary
+revisions of the current file, call @code{vc-ediff} with a prefix argument.
+
 @vindex vc-diff-switches
 @vindex vc-rcs-diff-switches
   @kbd{C-x v =} works by running a variant of the @code{diff} utility
@@ -884,10 +898,11 @@ You can specify a different default by setting the variable
 numeric argument; then it reads the initial revision ID for this
 particular file using the minibuffer.
 
-@vindex vc-initial-comment
-  If @code{vc-initial-comment} is non-@code{nil}, @kbd{C-x v i} reads an
-initial comment to describe the purpose of this source file.  Reading
-the initial comment works like reading a log entry (@pxref{Log Buffer}).
+@c See http://debbugs.gnu.org/9745
+@c @vindex vc-initial-comment
+@c   If @code{vc-initial-comment} is non-@code{nil}, @kbd{C-x v i} reads an
+@c initial comment to describe the purpose of this source file.  Reading
+@c the initial comment works like reading a log entry (@pxref{Log Buffer}).
 
 @node VC Change Log
 @subsubsection VC Change Log
@@ -900,6 +915,14 @@ Display revision control state and change history
 @item C-x v L
 Display the change history for the current repository
 (@code{vc-print-root-log}).
+
+@item C-x v I
+Display the changes that will be received with a pull operation
+(@code{vc-log-incoming}).
+
+@item C-x v O
+Display the changes that will be sent by the next push operation
+(@code{vc-log-outgoing}).
 @end table
 
 @kindex C-x v l
@@ -921,6 +944,19 @@ version-controlled directory tree as a whole.  With a prefix argument,
 the command prompts for the maximum number of revisions to display.
 RCS, SCCS, and CVS do not support this feature.
 
+  On a distributed version control system, the @kbd{C-x v I}
+(@code{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.  This other repository is the default one from which
+changes are pulled, as defined by the version control system; with a
+prefix argument, @code{vc-log-incoming} prompts for a specific
+repository from which changes would be pulled, and lists the changes
+accordingly.  Similarly, @kbd{C-x v O} (@code{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 repository to which changes would be pushed.
+
   In the @samp{*vc-change-log*} buffer, you can use the following keys
 to move between the logs of revisions and of files, to view past
 revisions, to modify change comments, to view annotations and to view
@@ -1374,12 +1410,18 @@ master file revision with user B's changes in it is 1.11.
 @end group
 @end smallexample
 
-@cindex vc-resolve-conflicts
+@findex vc-resolve-conflicts
   Then you can resolve the conflicts by editing the file manually.  Or
 you can type @code{M-x vc-resolve-conflicts} after visiting the file.
 This starts an Ediff session, as described above.  Don't forget to
 commit the merged version afterwards.
 
+@findex vc-find-conflicted-file
+  If there is more than one conflicted file in a merge, type @kbd{M-x
+vc-find-conflicted-file} after resolving the conflicts in each file.
+This command visits the next conflicted file, and moves point to the
+first conflict marker in that file.
+
 @node Multi-User Branching
 @subsubsection Multi-User Branching
 
@@ -1452,6 +1494,10 @@ changed.
 non-@code{nil}, @kbd{C-x 4 a} adds to any existing item for the file
 rather than starting a new item.
 
+You can combine multiple changes of the same nature.  If you don't
+enter any text after the initial @kbd{C-x 4 a}, any subsequent
+@kbd{C-x 4 a} adds another symbol to the change.
+
 @vindex add-log-always-start-new-record
   If @code{add-log-always-start-new-record} is non-@code{nil},
 @kbd{C-x 4 a} always makes a new entry, even if the last entry
@@ -1501,13 +1547,14 @@ insert a VC log entry into a Change Log buffer by typing @kbd{C-x v a}
 @node Format of ChangeLog
 @subsection Format of ChangeLog
 
-  A change log entry starts with a header line that contains the current
-date, your name, and your email address (taken from the variable
-@code{add-log-mailing-address}).  Aside from these header lines, every
-line in the change log starts with a space or a tab.  The bulk of the
-entry consists of @dfn{items}, each of which starts with a line starting
-with whitespace and a star.  Here are two entries, both dated in May
-1993, with two items and one item respectively.
+  A change log entry starts with a header line that contains the
+current date, your name (taken from the variable
+@code{add-log-full-name}), and your email address (taken from the
+variable @code{add-log-mailing-address}).  Aside from these header
+lines, every line in the change log starts with a space or a tab.  The
+bulk of the entry consists of @dfn{items}, each of which starts with a
+line starting with whitespace and a star.  Here are two entries, both
+dated in May 1993, with two items and one item respectively.
 
 @iftex
 @medbreak
@@ -2280,6 +2327,12 @@ details.
   You can also use the collection of tag names to complete a symbol
 name in the buffer.  @xref{Symbol Completion}.
 
+  You can use @kbd{M-x next-file} to visit the files in the selected
+tags table.  The first time this command is called, it visits the
+first file in the tags table.  Each subsequent call visits the next
+file in the table, unless a prefix argument is supplied, in which case
+it returns to the first file.
+
 @node EDE
 @section Emacs Development Environment
 @cindex EDE (Emacs Development Environment)
@@ -2346,4 +2399,3 @@ the target should be built.
 @ifnottex
 @include emerge-xtra.texi
 @end ifnottex
-