\input texinfo @c -*-texinfo-*-
-
-@c "@(#)$Name: $:$Id: pcl-cvs.texi,v 1.7 2000/11/21 11:39:43 fx Exp $"
-
-@c Documentation for the GNU Emacs CVS mode.
-@c Copyright (C) 1991-2000 Free Software Foundation, Inc.
-
-@c This file is part of GNU Emacs
-
-@c GNU Emacs is free software; you can redistribute it and/or modify
-@c it under the terms of the GNU General Public License as published by
-@c the Free Software Foundation; either version 2 of the License,
-@c or (at your option) any later version.
-
-@c GNU Emacs is distributed in the hope that it will be useful,
-@c but WITHOUT ANY WARRANTY; without even the implied warranty of
-@c MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-@c GNU General Public License for more details.
-
-@c You should have received a copy of the GNU General Public License
-@c along with pcl-cvs; see the file COPYING. If not, write to
-@c the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-
+@c "@(#)$Name: $:$Id: pcl-cvs.texi,v 1.18 2002/12/07 13:38:26 pj Exp $"
@c %**start of header
@setfilename ../info/pcl-cvs
-@settitle PCL-CVS--Emacs Front-End to CVS
+@settitle PCL-CVS --- Emacs Front-End to CVS
+@syncodeindex vr fn
@c %**end of header
-@dircategory Emacs
-@direntry
-* PCL-CVS: (pcl-cvs). Emacs front-end to CVS.
-@end direntry
-@setchapternewpage on
-
-@ifinfo
-Copyright @copyright{} 1991-2000 Free Software Foundation, Inc.
+@copying
+Copyright @copyright{} 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
+1999, 2000, 2002 Free Software Foundation, Inc.
+@quotation
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.1 or
any later version published by the Free Software Foundation; with the
(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
this GNU Manual, like GNU software. Copies published by the Free
Software Foundation raise funds for GNU development.''
-@end ifinfo
+@end quotation
+@end copying
+
+@dircategory Emacs
+@direntry
+* PCL-CVS: (pcl-cvs). Emacs front-end to CVS.
+@end direntry
-@syncodeindex vr fn
@c The titlepage section does not appear in the Info file.
@titlepage
@sp 4
@c for the printed manual. This will not appear in the Info file.
@page
@vskip 0pt plus 1filll
-Copyright @copyright{} 1991-2000 Free Software Foundation, Inc.
-
-Permission is granted to copy, distribute and/or modify this document
-under the terms of the GNU Free Documentation License, Version 1.1 or
-any later version published by the Free Software Foundation; with the
-Invariant Sections being ``The GNU Manifesto'', ``Distribution'' and
-``GNU GENERAL PUBLIC LICENSE'', with the Front-Cover texts being ``A GNU
-Manual'', and with the Back-Cover Texts as in (a) below. A copy of the
-license is included in the section entitled ``GNU Free Documentation
-License'' in the Emacs manual.
-
-This document is part of a collection distributed under the GNU Free
-Documentation License. If you want to distribute this document
-separately from the collection, you can do so by adding a copy of the
-license to the document, as described in section 6 of the license.
-
-(a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
-this GNU Manual, like GNU software. Copies published by the Free
-Software Foundation raise funds for GNU development.''
+@insertcopying
@end titlepage
@c ================================================================
@c ================================================================
@node Top, About PCL-CVS, (dir), (dir)
-@ifinfo
+@ifnottex
@top PCL-CVS
This manual describes PCL-CVS, the GNU Emacs front-end to CVS. It
customize-group RET pcl-cvs @key{RET}} and to look at the documentation strings
of the various commands and major modes for further information.
@c This manual is updated to release 2.5 of PCL-CVS.
-@end ifinfo
+@end ifnottex
@menu
* About PCL-CVS:: Installation, credits, history, @dots{}
* Log Edit Mode:: Major mode to edit log messages.
* Log View Mode:: Major mode to browse log changes.
-* CVS Status Mode:: Major mode to view CVS' status output.
+@c * CVS Status Mode:: Major mode to view CVS' status output.
* Customization:: How you can tailor PCL-CVS to suit your needs.
* Bugs:: Bugs (known and unknown).
About PCL-CVS
* Contributors:: Contributors to PCL-CVS.
-* Installation::
+* Installation::
Commands
* Entering PCL-CVS:: Commands to invoke PCL-CVS
* Setting flags:: Setting flags for CVS commands
-* Updating the buffer::
+* Updating the buffer::
* Movement commands:: How to move up and down in the buffer
* Marking files:: How to mark files that other commands
will later operate on.
* Committing changes:: Checking in your modifications to the
- CVS repository.
+ CVS repository.
* Editing files:: Loading files into Emacs.
* Getting info about files:: Display the log and status of files.
* Adding and removing files:: Adding and removing files
Customization
-* Customizing Faces::
+* Customizing Faces::
@end detailmenu
@end menu
@menu
* Contributors:: Contributors to PCL-CVS.
-* Installation::
+* Installation::
@end menu
@node Contributors, Installation, About PCL-CVS, About PCL-CVS
@file{pcl-cvs-xemacs.el}.@refill
@item
-Leif Lonnblad contributed RCVS support (since superceded by the new
+Leif Lonnblad contributed RCVS support (since superseded by the new
remote CVS support).
@item
pre-compiled package form. Please refer to the XEmacs manual for
instructions regarding package selection and installation. Currently,
that PCL-CVS package also requires you to have installed the
-@file{xemacs-base}, @file{elib}, and @file{dired} packages.
+@file{xemacs-base}, @file{elib}, and @file{dired} packages.
If you have @TeX{} installed at your site, you can make a typeset manual
from @file{pcl-cvs.texi}.
In this example, your repository is in @file{/usr/CVSroot} and CVS has
been run in the directory @file{/users/ceder/FOO/test}. The three files
-(@file{bar}, @file{file.txt} and
+(@file{bar}, @file{file.txt} and
@file{newer}) that are marked with @samp{Need-Update} have been changed
by someone else in the CVS repository. Two files (@file{namechange}
and @file{sub/ChangeLog}) have been modified locally, and need to be
@menu
* Entering PCL-CVS:: Commands to invoke PCL-CVS
* Setting flags:: Setting flags for CVS commands
-* Updating the buffer::
+* Updating the buffer::
* Movement commands:: How to move up and down in the buffer
* Marking files:: How to mark files that other commands
will later operate on.
* Committing changes:: Checking in your modifications to the
- CVS repository.
+ CVS repository.
* Editing files:: Loading files into Emacs.
* Getting info about files:: Display the log and status of files.
* Adding and removing files:: Adding and removing files
Most commands in PCL-CVS require that you have a @samp{*cvs*}
buffer. The commands that you use to get one are listed below.
-For each, a @samp{cvs} process will be run, the output will be parsed by
+For each, a @samp{cvs} process will be run, the output will be parsed by
PCL-CVS, and the result will be printed in the @samp{*cvs*} buffer (see
@ref{Buffer contents}, for a description of the buffer's contents).
@table @kbd
@item M-x cvs-update
-Run a @samp{cvs update} command. You will be asked for the directory
+Run a @samp{cvs update} command. You will be asked for the directory
in which the @samp{cvs update} will be run.
@item M-x cvs-examine
which the @samp{cvs -n update} will be run.
@item M-x cvs-status
-Run a @samp{cvs status} command. You will be asked for the directory
+Run a @samp{cvs status} command. You will be asked for the directory
in which the @samp{cvs status} will be run.
@item M-x cvs-checkout
Perhaps an example or two is in order. Say you are about to add a
binary file to the repository, and want to specify the flags @samp{-kb}
-to @samp{cvs add}. You can type @kbd{C-u a -kb @key{RET}}, enter the
-description, and the file will be added. Subsequent @samp{cvs add}
+to @samp{cvs add}. You can type @kbd{C-u a -kb @key{RET}},
+and the file will be added. Subsequent @samp{cvs add}
commands will use the previously prevailing flags.
As a second example, say you are about to perform a diff and want to see
@kindex ESC DEL@r{--unmark all files}
@kindex DEL@r{--unmark previous file}
@kindex %@r{--mark files matching regexp}
+@kindex S@r{--mark files in a particular state}
@kindex T@r{--toggle marks}
@findex cvs-mode-mark
@findex cvs-mode-unmark
@findex cvs-mode-unmark-all-files
@findex cvs-mode-unmark-up
@findex cvs-mode-mark-matching-files
+@findex cvs-mode-mark-on-state
@findex cvs-mode-toggle-marks
PCL-CVS works on a set of @dfn{selected files} (@pxref{Selected files}).
Unmark the file on the previous line, and move point to that line
(@code{cvs-mode-unmark-up}).
-@item @key{%}
+@item %
Mark all files matching a regular expression
(@code{cvs-mode-mark-matching-files}).
-@item @key{T}
+@item S
+Mark all files in a particular state, such as ``Modified'' or
+``Removed''. (@code{cvs-mode-mark-on-state}).
+
+@item T
Toggle use of marks for the next command (@code{cvs-mode-toggle-marks}).
@end table
@item
You type in the log message describing the changes you're about to
-commit (@pxref{Log Edit Mode}).@refill
+commit (@pxref{Log Edit Mode}).
@item
When you're happy with it, you type @kbd{C-c C-c} to do the actual
@item s
Call the command @code{cvs-mode-status} which runs @samp{cvs status} on
all selected files, and show the result in a temporary buffer
-@samp{*cvs-info*} (@pxref{CVS Status Mode}).
+@samp{*cvs-info*}.
+@c Fixme: reinstate when node is written:
+@c (@pxref{CVS Status Mode}).
@end table
@findex cvs-mode-add
@findex cvs-mode-remove-file
-The following commands are available to make it easy to add fuiles to
+The following commands are available to make it easy to add files to
and remove them from the CVS repository.
@table @kbd
@node Log Edit Mode, Log View Mode, Commands, Top
@chapter Editing a Log Message
-@node Log View Mode, CVS Status Mode, Log Edit Mode, Top
+@cindex Log Edit mode
+@cindex mode, Log Edit
+Buffers for entering/editing log messages for changes which are about
+to be committed are put into Log Edit mode.
+
+Sometimes the log buffer contains default text when you enter it,
+typically the last log message entered. If it does, mark and point
+are set around the entire contents of the buffer so that it is easy to
+kill the contents of the buffer with @kbd{C-w}.
+
+@findex log-edit-insert-changelog
+If you work by writing entries in the @file{ChangeLog}
+(@pxref{(emacs)Change Log}) and then commit the change under revision
+control, you can generate the Log Edit text from the ChangeLog using
+@kbd{C-a C-a} (@kbd{log-edit-insert-changelog}). This looks for
+entries for the file(s) concerned in the top entry in the ChangeLog
+and uses those paragraphs as the log text. This text is only inserted
+if the top entry was made under your user name on the current date.
+@xref{(emacs)Change Logs and VC}, for the opposite way of
+working---generating ChangeLog entries from the revision control log.
+
+In the Log Edit buffer, @kbd{C-c C-f} (@kbd{M-x log-edit-show-files})
+shows the list of files to be committed in case you need to check
+that.
+
+When you have finished editing the log message, type @kbd{C-c C-c} to
+exit the buffer and commit the change.
+
+@c Fixme: customization variables
+
+@node Log View Mode, Customization, Log Edit Mode, Top
@chapter Browsing a Log of Changes
-@node CVS Status Mode, Customization, Log View Mode, Top
-@chapter Viewing CVS' Status output
+@cindex Log View mode
+@cindex mode, Log View
+@cindex output, logs
+
+@findex cvs-mode-log
+@findex vc-print-log
+Log View mode provides a few useful commands for navigating revision
+control log output. It is used for the output buffers of both
+@code{cvs-mode-log} and @code{vc-print-log}.
+
+In this mode, @kbd{n} goes to the next message and @kbd{p} goes to the
+previous message and @kbd{N} and @kbd{P} go to the next and previous
+files, respectively, in multi-file output. With a numeric prefix
+argument, these commands move that many messages of files.
+
+@c @node CVS Status Mode
+@c @chapter Viewing CVS' Status output
-@node Customization, Bugs, CVS Status Mode, Top
+@node Customization, Bugs, Log View Mode, Top
@chapter Customization
@vindex log-edit-changelog-full-paragraphs@r{ (variable)}
@vindex cvs-auto-remove-handled@r{ (variable)}
@findex cvs-mode-changelog-commit
@item log-edit-changelog-full-paragraphs
If this variable is non-@code{nil}, include full @file{ChangeLog}
-paragraphs in the CVS log created by @samp{cvs-mode-changelog-commit}.
+paragraphs in the CVS log created by @samp{cvs-mode-changelog-commit}.
This may be set in the local variables section of a @file{ChangeLog}
file, to indicate the policy for that @file{ChangeLog}.
@menu
-* Customizing Faces::
+* Customizing Faces::
@end menu
@node Customizing Faces, , Customization, Customization
@vindex cvs-marked-face (face)
PCL-CVS adds a few extra features, including menus, mouse bindings, and
-fontification the the @samp{*cvs*} buffer. The faces defined for
+fontification the @samp{*cvs*} buffer. The faces defined for
fontification are listed below:
@table @samp
used to highlight the status of files which are @samp{Unknown}.
@item cvs-handled-face
-used to highlight the status of files which are handled and
+used to highlight the status of files which are handled and
need no further action.
@item cvs-need-action-face
extensions to this package, we would like to hear from you. We hope that
you find this package useful!
-Below is a partial list of currently known problems with PCL-CVS version
-2.0.
+Below is a partial list of currently known problems with PCL-CVS.
@table @asis
@item Unexpected output from CVS
warning messages in the @samp{*cvs*} buffer alerting you to any parse errors.
If you get these messages, please send a bug report to the email
addresses listed above. Include the contents of the @samp{*cvs*} buffer, the
-output of the CVS process (which should be found in the @samp{*cvs-tmp*}
+output of the CVS process (which should be found in the @samp{ *cvs-tmp*}
buffer), and the versions of Emacs, PCL-CVS and CVS you are using.
@end table