* doc/emacs/misc.texi: Small updates (no need to merge to trunk)
[bpt/emacs.git] / doc / emacs / maintaining.texi
index c8d9e9f..e066c49 100644 (file)
@@ -1,5 +1,5 @@
-@c This is part of the Emacs manual.
-@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2013 Free Software
+@c This is part of the Emacs manual., Abbrevs, This is part of the Emacs manual., Top
+@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2014 Free Software
 @c Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Maintaining
@@ -56,6 +56,7 @@ variable @code{vc-handled-backends} to @code{nil}
 * Old Revisions::       Examining and comparing old versions.
 * VC Change Log::       Viewing the VC Change Log.
 * VC Undo::             Canceling changes before or after committing.
+* VC Ignore::           Ignore files under version control system.
 * VC Directory Mode::   Listing files managed by version control.
 * Branches::            Multiple lines of development.
 @ifnottex
@@ -342,7 +343,9 @@ before version control systems.
 modification log for the entire system, which makes change log files
 somewhat redundant.  One advantage that they retain is that it is
 sometimes useful to be able to view the transaction history of a
-single directory separately from those of other directories.
+single directory separately from those of other directories.  Another
+advantage is that commit logs can't be fixed in many version control
+systems.
 
   A project maintained with version control can use just the version
 control log, or it can use both kinds of logs.  It can handle some
@@ -377,7 +380,7 @@ merge-based version control system, a @samp{-} character indicates
 that the work file is 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
+was removed from the version control.  Finally, @samp{?} means that
 the file is under version control, but is missing from the working
 tree.
 
@@ -596,6 +599,7 @@ the buffer and commit the change, together with your log entry.
 @cindex Log Edit mode
 @cindex mode, Log Edit
 @vindex vc-log-mode-hook
+@c FIXME: Mention log-edit-mode-hook here?  --xfq
   The major mode for the @file{*vc-log*} buffer is Log Edit mode, a
 variant of Text mode (@pxref{Text Mode}).  On entering Log Edit mode,
 Emacs runs the hooks @code{text-mode-hook} and @code{vc-log-mode-hook}
@@ -649,7 +653,7 @@ opposite way of working---generating ChangeLog entries from the Log
 Edit buffer.
 @end ifnottex
 
-  To abort a commit, just @strong{don't} type @kbd{C-c C-c} in that
+  To abort a commit, just @emph{don't} type @kbd{C-c C-c} in that
 buffer.  You can switch buffers and do other editing.  As long as you
 don't try to make another commit, the entry you were editing remains
 in the @file{*vc-log*} buffer, and you can go back to that buffer at
@@ -1030,6 +1034,25 @@ unlocked; you must lock again to resume editing.  You can also use
 @kbd{C-x v u} to unlock a file if you lock it and then decide not to
 change it.
 
+@node VC Ignore
+@subsection Ignore Version Control Files
+
+@table @kbd
+@item C-x v G
+Ignore a file under current version control system.  (@code{vc-ignore}).
+@end table
+
+@kindex C-x v G
+@findex vc-ignore
+  Many source trees contain some files that do not need to be
+versioned, such as editor backups, object or bytecode files, and built
+programs.  You can simply not add them, but then they'll always crop
+up as unknown files.  You can also tell the version control system to
+ignore these files by adding them to the ignore file at the top of the
+tree.  @kbd{C-x v G} (@code{vc-ignore}) can help you do this.  When
+called with a prefix argument, you can remove a file from the ignored
+file list.
+
 @node VC Directory Mode
 @subsection VC Directory Mode
 
@@ -1201,7 +1224,8 @@ files and directories.
 
 @item x
 Hide files with @samp{up-to-date} status
-(@code{vc-dir-hide-up-to-date}).
+(@code{vc-dir-hide-up-to-date}).  With a prefix argument, hide items
+whose state is that of the item at point.
 @end table
 
 @findex vc-dir-mark
@@ -1219,7 +1243,7 @@ Revisions}), and @w{@kbd{C-x v u}} (@pxref{VC Undo}).
 
   The VC Directory buffer also defines some single-key shortcuts for
 VC commands with the @kbd{C-x v} prefix: @kbd{=}, @kbd{+}, @kbd{l},
-@kbd{i}, and @kbd{v}.
+@kbd{i}, @kbd{D}, @kbd{L}, @kbd{G}, @kbd{I} and @kbd{v}.
 
   For example, you can commit a set of edited files by opening a VC
 Directory buffer, where the files are listed with the @samp{edited}
@@ -1264,10 +1288,10 @@ bring them back at a later time).
 @cindex branch (version control)
 
   One use of version control is to support multiple independent lines
-of development, which are called @dfn{branches}.  Branches are used
-for maintaining separate ``stable'' and ``development'' versions of a
-program, and for developing unrelated features in isolation from one
-another.
+of development, which are called @dfn{branches}.  Amongst other
+things, branches can be used for maintaining separate ``stable'' and
+``development'' versions of a program, and for developing unrelated
+features in isolation from one another.
 
   VC's support for branch operations is currently fairly limited.  For
 decentralized version control systems, it provides commands for
@@ -2343,7 +2367,7 @@ directory trees.  The @dfn{project root} is the topmost directory of a
 project.  To define a new project, visit a file in the desired project
 root and type @kbd{M-x ede-new}.  This command prompts for a
 @dfn{project type}, which refers to the underlying method that EDE
-will use to manage the project (@pxref{Creating a Project, EDE,, ede,
+will use to manage the project (@pxref{Creating a project, EDE,, ede,
 Emacs Development Environment}).  The most common project types are
 @samp{Make}, which uses Makefiles, and @samp{Automake}, which uses GNU
 Automake (@pxref{Top, Automake,, automake, Automake}).  In both cases,