29349
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1 \input texinfo @c -*-texinfo-*-
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
2
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
3 @c "@(#)$Name: $:$Id: pcl-cvs.texi,v 1.16 2000/05/30 19:45:50 monnier Exp $"
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
4
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
5 @c Documentation for the GNU Emacs CVS mode.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
6 @c Copyright (C) 1991-2000 Free Software Foundation, Inc.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
7
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
8 @c This file is part of GNU Emacs
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
9
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
10 @c GNU Emacs is free software; you can redistribute it and/or modify
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
11 @c it under the terms of the GNU General Public License as published by
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
12 @c the Free Software Foundation; either version 2 of the License,
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
13 @c or (at your option) any later version.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
14
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
15 @c GNU Emacs is distributed in the hope that it will be useful,
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
16 @c but WITHOUT ANY WARRANTY; without even the implied warranty of
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
17 @c MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
18 @c GNU General Public License for more details.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
19
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
20 @c You should have received a copy of the GNU General Public License
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
21 @c along with pcl-cvs; see the file COPYING. If not, write to
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
22 @c the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
23
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
24 @c %**start of header
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
25 @setfilename ../info/pcl-cvs
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
26 @settitle PCL-CVS - Emacs Front-End to CVS
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
27 @c %**end of header
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
28
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
29 @c @dircategory Editors
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
30 @direntry
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
31 * PCL-CVS: (pcl-cvs). Emacs front-end to CVS
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
32 @end direntry
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
33 @setchapternewpage on
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
34
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
35 @ifinfo
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
36 Copyright @copyright{} 1991-2000 Free Software Foundation, Inc.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
37
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
38 Permission is granted to make and distribute verbatim copies of
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
39 this manual provided the copyright notice and this permission notice
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
40 are preserved on all copies.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
41
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
42 @ignore
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
43 Permission is granted to process this file through Tex and print the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
44 results, provided the printed document carries copying permission
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
45 notice identical to this one except for the removal of this paragraph
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
46 (this paragraph not being relevant to the printed manual).
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
47 @end ignore
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
48
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
49 Permission is granted to copy and distribute modified versions of this
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
50 manual under the conditions for verbatim copying, provided also that the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
51 section entitled ``GNU General Public License'' is included exactly as
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
52 in the original, and provided that the entire resulting derived work is
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
53 distributed under the terms of a permission notice identical to this one.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
54
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
55 Permission is granted to copy and distribute translations of this manual
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
56 into another language, under the above conditions for modified versions,
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
57 except that the section entitled ``GNU General Public License'' and
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
58 this permission notice may be included in translations approved by the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
59 Free Software Foundation instead of in the original English.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
60 @end ifinfo
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
61
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
62 @synindex vr fn
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
63 @c The titlepage section does not appear in the Info file.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
64 @titlepage
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
65 @sp 4
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
66 @c The title is printed in a large font.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
67 @center @titlefont{User's Guide}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
68 @sp
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
69 @center @titlefont{to}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
70 @sp
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
71 @center @titlefont{PCL-CVS - The Emacs Front-End to CVS}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
72 @sp 2
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
73 @center release 2.9
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
74 @c -release-
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
75 @sp 3
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
76 @center Per Cederqvist
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
77 @center Stefan Monnier
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
78 @c -date-
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
79
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
80 @c The following two commands start the copyright page
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
81 @c for the printed manual. This will not appear in the Info file.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
82 @page
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
83 @vskip 0pt plus 1filll
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
84 Copyright @copyright{} 1991-2000 Free Software Foundation, Inc.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
85
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
86 Permission is granted to make and distribute verbatim copies of
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
87 this manual provided the copyright notice and this permission notice
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
88 are preserved on all copies.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
89
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
90 Permission is granted to copy and distribute modified versions of this
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
91 manual under the conditions for verbatim copying, provided also that the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
92 section entitled ``GNU General Public License'' is included exactly as
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
93 in the original, and provided that the entire resulting derived work is
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
94 distributed under the terms of a permission notice identical to this one.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
95
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
96 Permission is granted to copy and distribute translations of this manual
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
97 into another language, under the above conditions for modified versions,
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
98 except that the section entitled ``GNU General Public License'' and
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
99 this permission notice may be included in translations approved by the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
100 Free Software Foundation instead of in the original English.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
101 @end titlepage
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
102
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
103 @c ================================================================
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
104 @c The real text starts here
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
105 @c ================================================================
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
106
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
107 @node Top, About PCL-CVS, (dir), (dir)
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
108 @ifinfo
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
109 @top PCL-CVS
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
110
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
111 This info manual describes PCL-CVS, the GNU Emacs front-end to CVS.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
112 This manual is updated to release 2.5 of PCL-CVS.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
113 @end ifinfo
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
114
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
115 @menu
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
116 * About PCL-CVS:: Installation, credits, history, ...
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
117
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
118 * Getting started:: An introduction with a walk-through example.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
119 * Buffer contents:: An explanation of the buffer contents.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
120 * Selected files:: To which files are commands applied.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
121 * Commands:: All commands, grouped by type.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
122
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
123 * Log Edit Mode:: Major mode to edit log messages.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
124 * Log View Mode:: Major mode to browse log changes.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
125 * CVS Status Mode:: Major mode to view CVS' status output.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
126 * Customization:: How you can tailor PCL-CVS to suit your needs.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
127 * Bugs:: Bugs (known and unknown).
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
128
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
129 * Function and Variable Index:: List of functions and variables.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
130 * Concept Index:: List of concepts.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
131 * Key Index:: List of keystrokes.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
132
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
133 @detailmenu
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
134 --- The Detailed Node Listing ---
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
135
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
136 About PCL-CVS
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
137
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
138 * Contributors:: Contributors to PCL-CVS.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
139 * Installation::
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
140
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
141 Commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
142
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
143 * Entering PCL-CVS:: Commands to invoke PCL-CVS
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
144 * Setting flags:: Setting flags for CVS commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
145 * Updating the buffer::
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
146 * Movement commands:: How to move up and down in the buffer
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
147 * Marking files:: How to mark files that other commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
148 will later operate on.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
149 * Committing changes:: Checking in your modifications to the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
150 CVS repository.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
151 * Editing files:: Loading files into Emacs.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
152 * Getting info about files:: Display the log and status of files.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
153 * Adding and removing files:: Adding and removing files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
154 * Undoing changes:: Undoing changes
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
155 * Removing handled entries:: Uninteresting lines can easily be removed.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
156 * Ignoring files:: Telling CVS to ignore generated files.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
157 * Viewing differences:: Commands to @samp{diff} different versions.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
158 * Invoking Ediff:: Running @samp{ediff} from @samp{*cvs*} buffer.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
159 * Updating files:: Updating files that Need-update.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
160 * Tagging files:: Tagging files.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
161 * Miscellaneous commands:: Miscellaneous commands.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
162
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
163 Customization
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
164
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
165 * Customizing Faces::
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
166
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
167 @end detailmenu
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
168 @end menu
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
169
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
170 @node About PCL-CVS, Getting started, Top, Top
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
171 @chapter About PCL-CVS
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
172 @cindex About PCL-CVS
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
173
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
174 PCL-CVS is a front-end to CVS versions 1.9 and later.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
175 It concisely shows the present status of a checked out module in an
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
176 Emacs buffer and provides single-key access to the most frequently used CVS
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
177 commands.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
178 For Emacs users accustomed to VC, PCL-CVS can be thought of as a replacement
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
179 for VC-dired (@pxref{(emacs)VC Dired Mode}) specifically designed for CVS.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
180
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
181 PCL-CVS was originally written many years ago by Per Cederqvist who
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
182 proudly maintained it until January 1996, at which point he released the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
183 beta version 2.0b2 and passed on the maintainership to Greg A Woods.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
184 Development stayed mostly dormant for a few years during which the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
185 version 2.0 never seemed to be able to leave the ``beta'' stage while a
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
186 separate XEmacs version was slowly splitting away. In late 1999,
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
187 Stefan Monnier picked up development again, adding some major new
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
188 functionality and taking over maintenance.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
189
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
190 As of Emacs-21, PCL-CVS is part of the standard Emacs distribution.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
191
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
192 @menu
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
193 * Contributors:: Contributors to PCL-CVS.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
194 * Installation::
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
195 @end menu
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
196
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
197 @node Contributors, Installation, About PCL-CVS, About PCL-CVS
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
198 @section Contributors to PCL-CVS
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
199 @cindex Contributors
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
200 @cindex Authors
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
201
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
202 Contributions to the package are welcome. I have limited time to work
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
203 on this project, but I will gladly add any code that you contribute to
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
204 me to this package (@pxref{Bugs}).
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
205
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
206 The following persons have made contributions to PCL-CVS.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
207
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
208 @itemize @bullet
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
209 @item
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
210 Brian Berliner wrote CVS, together with some other contributors.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
211 Without his work on CVS this package would be useless@dots{}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
212
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
213 @item
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
214 Per Cederqvist wrote most of the otherwise unattributed functions in
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
215 PCL-CVS as well as all documentation.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
216
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
217 @item
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
218 Inge Wallin (@samp{inge@@lysator.liu.se}) wrote the skeleton to
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
219 @file{pcl-cvs.texi}, and gave useful comments on it. He also wrote
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
220 the files @file{elib-node.el} and @file{compile-all.el}. The file
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
221 @file{cookie.el} was inspired by Inge.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
222
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
223 @item
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
224 Linus Tolke (@samp{linus@@lysator.liu.se}) contributed useful comments
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
225 on both the functionality and the documentation.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
226
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
227 @item
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
228 Jamie Zawinski (@samp{jwz@@jwz.com}) contributed
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
229 @file{pcl-cvs-lucid.el}, which was later renamed to
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
230 @file{pcl-cvs-xemacs.el}.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
231
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
232 @item
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
233 Leif Lonnblad contributed RCVS support. (Since superceded by the new
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
234 remote CVS support.)
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
235
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
236 @item
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
237 Jim Blandy (@samp{jimb@@cyclic.com}) contributed hooks to automatically
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
238 guess CVS log entries from ChangeLog contents; and initial support of
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
239 the new Cygnus / Cyclic remote CVS; as well as various sundry bug fixes
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
240 and cleanups.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
241
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
242 @item
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
243 Jim Kingdon (@samp{kingdon@@cyclic.com}) contributed lots of fixes to
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
244 the build and install procedure.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
245
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
246 @item
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
247 Greg A. Woods (@samp{woods@@weird.com}) contributed code to implement
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
248 the use of per-file diff buffers; and vendor join diffs with emerge and
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
249 ediff; as well as various and sundry bug fixes and cleanups.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
250
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
251 @item
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
252 Greg Klanderman (@samp{greg.klanderman@@alum.mit.edu}) implemented
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
253 toggling of marked files; setting of CVS command flags via prefix
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
254 arguments; updated the XEmacs support; updated the manual; and fixed
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
255 numerous bugs.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
256
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
257 @item
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
258 Stefan Monnier (@samp{monnier@@cs.yale.edu}) added a slew of other
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
259 features and introduced even more new bugs. If there's any bug left,
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
260 you can be sure it's his.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
261
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
262 @item
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
263 Masatake YAMATO (@samp{masata-y@@is.aist-nara.ac.jp}) graciously
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
264 contributed the cvstree code to display a tree of tags which was later
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
265 superseded by the new cvs-status-mode.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
266
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
267 @end itemize
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
268
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
269 Apart from these, a lot of people have sent us suggestions, ideas,
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
270 requests, bug reports and encouragement. Thanks a lot! Without you
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
271 there would be no new releases of PCL-CVS.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
272
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
273
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
274 @node Installation, , Contributors, About PCL-CVS
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
275 @section Installation
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
276 @cindex Installation
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
277
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
278 As mentioned above, PCL-CVS comes preinstalled since Emacs-21.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
279 If you're using Emacs 20, you can download an older version of PCL-CVS
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
280 from @url{ftp://flint.cs.yale.edu/pub/monnier/pcl-cvs}. That version
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
281 also works on XEmacs.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
282
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
283 If you are running XEmacs 21.0 or later, PCL-CVS is available in
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
284 pre-compiled package form. Please refer to the XEmacs manual for
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
285 instructions regarding package selection and installation. Currently,
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
286 that PCL-CVS package also requires you to have installed the xemacs-base,
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
287 elib, and dired packages.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
288
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
289 If you have @TeX{} installed at your site, you can make a typeset manual
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
290 from @file{pcl-cvs.texi}.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
291
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
292 @enumerate
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
293 @item
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
294 Run @TeX{} by typing @samp{texi2dvi pcl-cvs.texi}.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
295 @item
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
296 Convert the resulting device independent file @file{pcl-cvs.dvi} to a
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
297 form which your printer can output and print it. If you have a
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
298 postscript printer there is a program, @code{dvi2ps}, which does. There
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
299 is also a program which comes together with @TeX{}, @code{dvips}, which
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
300 you can use.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
301 @end enumerate
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
302
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
303
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
304 @node Getting started, Buffer contents, About PCL-CVS, Top
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
305 @chapter Getting started
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
306 @cindex Introduction
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
307 @cindex Example run
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
308
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
309 This document assumes that you know what CVS is, and that you at least
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
310 know the fundamental concepts of CVS. If that is not the case you
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
311 should read the man page for CVS.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
312
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
313 PCL-CVS is only useful once you have checked out a module. So before
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
314 you invoke it you must have a copy of a module somewhere in the file
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
315 system.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
316
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
317 You can invoke PCL-CVS by typing @kbd{M-x cvs-examine RET}.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
318 You can also invoke it via the menubar, under Tools.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
319 Or if you prefer, you can also invoke PCL-CVS by simply visiting the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
320 CVS administrative subdirectory of your module, with a prefix argument.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
321 F.ex. @kbd{C-u C-x 5 f ~/my/project/CVS RET}.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
322
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
323 The function @code{cvs-examine} will ask for a directory. The command
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
324 @samp{cvs -n update} will be run in that directory. (It should contain
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
325 files that have been checked out from a CVS archive.) The output from
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
326 @code{cvs} will be parsed and presented in a table in a buffer called
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
327 @samp{*cvs*}. It might look something like this:
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
328
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
329 @example
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
330 Repository : /usr/CVSroot
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
331 Module : test
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
332 Working dir: /users/ceder/FOO/test
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
333
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
334
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
335 In directory .:
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
336 Need-Update bar
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
337 Need-Update file.txt
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
338 Modified namechange
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
339 Need-Update newer
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
340 In directory sub:
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
341 Modified ChangeLog
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
342
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
343 --------------------- End ---------------------
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
344 -- last cmd: cvs -f -z6 -n update -d -P --
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
345 @end example
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
346
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
347 In this example, your repository is in @file{/usr/CVSroot} and CVS has
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
348 been run in the directory @file{/users/ceder/FOO/test}. The three files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
349 (@file{bar}, @file{file.txt} and
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
350 @file{newer}) that are marked with @samp{Need-Update} have been changed
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
351 by someone else in the CVS repository. Two files (@file{namechange}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
352 and @file{sub/ChangeLog}) have been modified locally, and need to be
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
353 checked in.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
354
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
355 You can move the cursor up and down in the buffer with @kbd{C-n} and
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
356 @kbd{C-p} or @kbd{n} and @kbd{p}. If you press @kbd{c} on one of the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
357 @samp{Modified} files that file will be checked in to the CVS
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
358 repository. @xref{Committing changes}. You can also press @kbd{O} to
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
359 update any of the files that are marked @samp{Need-Update}. You can
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
360 also run @kbd{M-x cvs-update RET} (bound to @kbd{M-u} in the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
361 @samp{*cvs*} buffer) to update all the files.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
362
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
363 You can then press @kbd{=} to easily get a @samp{diff} between your
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
364 modified file and the base version that you started from or you can
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
365 press @kbd{l} to get the output from @samp{cvs log}. Many more such
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
366 commands are available simply by pressing a key (@pxref{Getting info
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
367 about files}).
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
368
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
369 @node Buffer contents, Selected files, Getting started, Top
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
370 @chapter Buffer contents
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
371 @cindex Buffer contents
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
372
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
373 The display contains several columns, some of which are optional.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
374 They contain, from left to right:
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
375
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
376 @itemize @bullet
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
377
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
378 @item
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
379 Optionally, the head revision of the file. This is the latest version
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
380 found in the repository. It might also contain (instead of the head
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
381 revision) a sub status which typically gives further information about
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
382 how we got to the current state, for example @samp{patched},
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
383 @samp{merged}, ...
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
384
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
385 @item
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
386 An asterisk when the file is @dfn{marked} (@pxref{Selected
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
387 files}).@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
388
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
389 @item
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
390 The actual status of the file wrt to the repository. @xref{Buffer
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
391 contents}, for more information.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
392
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
393 @item
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
394 Optionally, the base revision of the file. This is the version
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
395 which the copy in your working directory is based upon.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
396
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
397 @item
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
398 The file name.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
399
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
400 @end itemize
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
401
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
402 The @samp{file status} field can have the following values:
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
403
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
404 @table @samp
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
405
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
406 @item Modified
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
407 The file is modified in your working directory, and there was no
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
408 modification to the same file in the repository. This status can have
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
409 the following substatus:
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
410
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
411 @table @samp
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
412
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
413 @item merged
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
414 The file was modified in your working directory, and there were
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
415 modifications in the repository as well, but they were merged
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
416 successfully, without conflict, in your working directory.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
417
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
418 @end table
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
419
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
420 @item Conflict
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
421 A conflict was detected while trying to merge your changes to @var{file}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
422 with changes from the repository. @var{file} (the copy in your
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
423 working directory) is now the output of the @samp{rcsmerge} command on
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
424 the two versions; an unmodified copy of your file is also in your
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
425 working directory, with the name @file{.#@var{file}.@var{version}},
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
426 where @var{version} is the RCS revision that your modified file started
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
427 from. @xref{Viewing differences}, for more details.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
428
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
429 A conflict can also come from a disagreement on the existence of the file
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
430 rather than on its content. This case is indicated by the following
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
431 possible substatus:
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
432
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
433 @table @samp
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
434
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
435 @item removed
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
436 The file is locally removed but a new revision has been committed to
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
437 the repository by someone else.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
438
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
439 @item added
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
440 The file is locally added and has also been added to the repository
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
441 by someone else.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
442
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
443 @item modified
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
444 The file is locally modified but someone else has removed it from the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
445 repository.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
446
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
447 @end table
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
448
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
449 @item Added
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
450 The file has been added by you, but it still needs to be checked in to
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
451 the repository.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
452
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
453 @item Removed
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
454 The file has been removed by you, but it still needs to be checked in to
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
455 the repository. You can resurrect it by typing @kbd{a} (@pxref{Adding
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
456 and removing files}).@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
457
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
458 @item Unknown
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
459 A file that was detected in your directory, but that neither appears in
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
460 the repository, nor is present on the list of files that CVS should
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
461 ignore.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
462
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
463 @item Up-to-date
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
464 The file is up to date with respect to the version in the repository.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
465 This status can have a substatus of:
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
466
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
467 @table @samp
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
468
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
469 @item added
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
470 You have just added the file to the repository.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
471
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
472 @item updated
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
473 The file was brought up to date with respect to the repository. This is
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
474 done for any file that exists in the repository but not in your source,
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
475 and for files that you haven't changed but are not the most recent
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
476 versions available in the repository.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
477
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
478 @item patched
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
479 The file was brought up to date with respect to the remote repository by
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
480 way of fetching and applying a patch to the file in your source. This
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
481 is equivalent to @samp{updated} except that CVS decided to use a hopefully
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
482 more efficient method.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
483
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
484 @item committed
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
485 You just committed the file.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
486
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
487 @end table
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
488
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
489 @item Need-Update
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
490 Either a newer version than the one in your source is available in the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
491 repository and you have not modified your checked out version, or the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
492 file exists in the repository but not in your source. Use
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
493 @samp{cvs-mode-update} bound to @kbd{O} to update the file.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
494
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
495 @item Need-Merge
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
496 You have modified the checked out version of the file, and a newer
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
497 version is available in the repository. A merge will take place when
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
498 you run a @samp{cvs-update}.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
499
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
500 @item Missing
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
501 The file has been unexpectedly removed from your working directory
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
502 although it has not been @samp{cvs remove}d.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
503
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
504 @end table
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
505
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
506 @node Selected files, Commands, Buffer contents, Top
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
507 @chapter Selected files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
508 @cindex Selected files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
509 @cindex Marked files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
510 @cindex File selection
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
511 @cindex Active files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
512 @cindex Applicable
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
513
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
514 Many of the commands work on the current set of @dfn{selected} files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
515 which can be either the set of marked files (if any file is marked and
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
516 marks are no ignored) or whichever file or directory the cursor is on.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
517
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
518 If a directory is selected but the command cannot be applied to a
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
519 directory, then it will be applied to the set of files under this
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
520 directory which are in the @samp{*cvs*} buffer.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
521
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
522 Furthermore, each command only operates on a subset of the selected
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
523 files, depending on whether or not the command is @dfn{applicable} to
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
524 each file (based on the file's status). For example,
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
525 @code{cvs-mode-commit} is not applicable to a file whose status is
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
526 @samp{Need-Update}. If it should happen that PCL-CVS guesses the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
527 applicability wrong, you can override it with the special prefix
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
528 @code{cvs-mode-force-command} normally bound to @kbd{M-f} (and file a
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
529 bug report). The applicability rule can be slightly changed with
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
530 @code{cvs-allow-dir-commit} and @code{cvs-force-dir-tag}.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
531
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
532 By default, marks are always in effect (you may change this, however, by
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
533 setting the variable @code{cvs-default-ignore-marks}) except for the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
534 commands that @samp{tag} or @samp{diff} a file (which can be changed
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
535 with the variable @code{cvs-invert-ignore-marks}).
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
536
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
537 In addition, you may use the special prefix @code{cvs-mode-toggle-marks}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
538 normally bound to @key{T} to toggle the use of marks for the following
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
539 command.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
540
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
541 This scheme might seem a little complicated, but once one gets used to
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
542 it, it is quite powerful.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
543
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
544 For commands to mark and unmark files, see @xref{Marking files}.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
545
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
546 @node Commands, Log Edit Mode, Selected files, Top
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
547 @chapter Commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
548
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
549 @iftex
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
550 This chapter describes all the commands that you can use in PCL-CVS.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
551 @end iftex
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
552 @ifinfo
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
553 The nodes in this menu contains explanations about all the commands that
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
554 you can use in PCL-CVS. They are grouped together by type.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
555 @end ifinfo
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
556
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
557 @menu
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
558 * Entering PCL-CVS:: Commands to invoke PCL-CVS
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
559 * Setting flags:: Setting flags for CVS commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
560 * Updating the buffer::
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
561 * Movement commands:: How to move up and down in the buffer
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
562 * Marking files:: How to mark files that other commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
563 will later operate on.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
564 * Committing changes:: Checking in your modifications to the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
565 CVS repository.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
566 * Editing files:: Loading files into Emacs.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
567 * Getting info about files:: Display the log and status of files.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
568 * Adding and removing files:: Adding and removing files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
569 * Undoing changes:: Undoing changes
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
570 * Removing handled entries:: Uninteresting lines can easily be removed.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
571 * Ignoring files:: Telling CVS to ignore generated files.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
572 * Viewing differences:: Commands to @samp{diff} different versions.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
573 * Invoking Ediff:: Running @samp{ediff} from @samp{*cvs*} buffer.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
574 * Updating files:: Updating files that Need-update.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
575 * Tagging files:: Tagging files.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
576 * Miscellaneous commands:: Miscellaneous commands.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
577 @end menu
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
578
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
579
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
580 @node Entering PCL-CVS, Setting flags, Commands, Commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
581 @section Entering PCL-CVS
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
582 @findex cvs-update
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
583 @findex cvs-examine
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
584 @findex cvs-status
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
585 @findex cvs-checkout
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
586 @findex cvs-mode-delete-lock
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
587 @cindex Getting the *cvs* buffer
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
588
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
589 Most commands in PCL-CVS require that you have a @samp{*cvs*}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
590 buffer. The commands that you use to get one are listed below.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
591 For each, a @samp{cvs} process will be run, the output will be parsed by
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
592 PCL-CVS, and the result will be printed in the @samp{*cvs*} buffer (see
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
593 @pxref{Buffer contents} for a description of the contents).@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
594
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
595 @table @kbd
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
596
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
597 @item M-x cvs-update
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
598 Run a @samp{cvs update} command. You will be asked for the directory
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
599 in which the @samp{cvs update} will be run.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
600
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
601 @item M-x cvs-examine
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
602 Run a @samp{cvs -n update} command. This is identical to the previous
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
603 command, except that it will only check what needs to be done but will
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
604 not change anything. You will be asked for the directory in
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
605 which the @samp{cvs -n update} will be run.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
606
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
607 @item M-x cvs-status
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
608 Run a @samp{cvs status} command. You will be asked for the directory
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
609 in which the @samp{cvs status} will be run.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
610
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
611 @item M-x cvs-checkout
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
612 Run a @samp{cvs checkout} command. You will be asked for the directory
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
613 in which the @samp{cvs update} will be run and the module to be checked
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
614 out.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
615
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
616 @item M-x cvs-quickdir
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
617 Populate the @samp{*cvs*} buffer by just looking at the @file{CVS/Entries}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
618 files. This is very much like @code{cvs-examine} except that it does
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
619 not access the CVS repository which is a major advantage when the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
620 repository is far away. But of course, it will not be able to detect
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
621 when a file needs to be updated or merged.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
622
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
623 @end table
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
624
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
625 The first four of those commands are also reachable from the menubar
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
626 under @samp{Tools->PCL-CVS}. Finally an alternative way is to visit
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
627 with the CVS administrative subdirectory in your work area with a simple
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
628 prefix argument. For example @kbd{C-u C-x C-f ~/my/work/CVS RET}. This
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
629 will by default run @code{cvs-examine} but the specific behavior can be
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
630 changed with @code{cvs-dired-action} and @code{cvs-dired-use-hook}.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
631
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
632 By default, the commands above will descend recursively into
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
633 subdirectories. You can avoid that behavior by including @samp{-l} in
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
634 the flags for the command. These flags can be set by giving a prefix
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
635 argument to the command (e.g., by typing
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
636 @kbd{C-u M-x cvs-update RET -l RET}).
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
637 @refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
638
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
639
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
640 @node Setting flags, Updating the buffer, Entering PCL-CVS, Commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
641 @section Setting flags for CVS commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
642 @cindex Special prefix
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
643
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
644 This section describes the convention used by nearly all PCL-CVS
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
645 commands for setting optional flags sent to CVS. A single @kbd{C-u}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
646 prefix argument is used to cause the command to prompt for flags to be
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
647 used for the current invocation of the command only. Two @kbd{C-u} prefix
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
648 arguments are used to prompt for flags which will be set permanently, for the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
649 current invocation and all that follow, until the flags are changed, or
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
650 unless temporary flags are set which override them.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
651
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
652 Perhaps an example or two is in order. Say you are about to add a
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
653 binary file to the repository, and want to specify the flags @samp{-kb}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
654 to @samp{cvs add}. You can type @kbd{C-u a -kb RET}, enter the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
655 description, and the file will be added. Subsequent adds will use the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
656 previously prevailing flags.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
657
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
658 As a second example, say you are about to perform a diff and want to see
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
659 the result in unified diff format, i.e. you'd like to pass the flag
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
660 @samp{-u} to both @samp{cvs diff} and @samp{diff}. You'd also like all
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
661 subsequent diffs to use this flag. You can type @kbd{C-u C-u = -u RET}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
662 and the diff will be performed, and the default flags will be set to
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
663 @code{("-u")}. You can of course override this flag for a single diff
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
664 by using a single @kbd{C-u} prefix argument.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
665
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
666 Additionally to this, some commands can take @dfn{special prefix} arguments.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
667 These work as follows: when called with a @kbd{C-u} prefix, the user is
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
668 prompted for a new value of the special prefix and the special prefix is
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
669 activated for the next command. When called without the @kbd{C-u}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
670 prefix, the special prefix is re-activated (with the same value as last
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
671 time) for the next command. Calling the prefix command again when it's
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
672 already activated deactivates it. Calling it with the @kbd{C-u C-u}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
673 prefix activates it for all subsequent commands until you deactivate it
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
674 explicitly. The special prefixes are:
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
675
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
676 @table @kbd
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
677
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
678 @item T
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
679 Toggles whether or not marks will be active in the next command.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
680
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
681 @item b
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
682 Provide the next command with a branch (can be any version
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
683 specifier) to work on.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
684
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
685 @item B
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
686 Secondary branch argument. Only meaningful if `b' is also used.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
687 It can be used to provide a second branch argument to
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
688 @code{cvs-mode-diff} or to @code{cvs-mode-update}.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
689
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
690 @item M-f
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
691 Forces the next command to apply to every selected file rather than only
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
692 to the ones PCL-CVS thinks are relevant.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
693
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
694 @end table
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
695
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
696 @node Updating the buffer, Movement commands, Setting flags, Commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
697 @section Updating the @samp{*cvs*} buffer
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
698 @findex cvs-update
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
699 @findex cvs-examine
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
700 @findex cvs-status
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
701 @findex cvs-mode-update
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
702 @findex cvs-mode-examine
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
703 @findex cvs-mode-status
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
704
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
705 The following commands can be used from within the @samp{*cvs*} buffer
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
706 to update the display:
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
707
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
708 @table @kbd
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
709
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
710 @item M-u
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
711 This runs the command @samp{cvs-update}.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
712
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
713 @item M-e
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
714 This runs the command @samp{cvs-examine}.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
715
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
716 @item M-s
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
717 This runs the command @samp{cvs-status}.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
718
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
719 @end table
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
720
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
721 Additionally to the above commands which operate on the whole module,
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
722 you can run the equivalent CVS command on just a subset of the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
723 files/directories with
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
724
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
725 @table @kbd
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
726
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
727 @item O
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
728 Runs @code{cvs-mode-update} on the selected files. When run on the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
729 top level directory, this is equivalent to @kbd{M-u}.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
730
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
731 @item e
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
732 Runs @code{cvs-mode-examine} on the selected files. When run on the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
733 top level directory, this is equivalent to @kbd{M-e}.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
734
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
735 @item s
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
736 Runs @code{cvs-mode-status} on the selected files. When run on the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
737 top level directory, this is equivalent to @kbd{M-s} except that
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
738 CVS output will be shown in a @samp{*cvs-info*} buffer that will be
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
739 put in @samp{cvs-status-mode}.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
740
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
741 @end table
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
742
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
743
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
744 @node Movement commands, Marking files, Updating the buffer, Commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
745 @section Movement Commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
746 @cindex Movement Commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
747 @findex cvs-mode-next-line
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
748 @findex cvs-mode-previous-line
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
749 @kindex SPC - Move down one file
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
750 @kindex n - Move down one file
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
751 @kindex p - Move up one file
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
752
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
753 You can use most normal Emacs commands to move forward and backward in
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
754 the buffer. Some keys are rebound to functions that take advantage of
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
755 the fact that the buffer is a PCL-CVS buffer:
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
756
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
757
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
758 @table @kbd
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
759 @item SPC
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
760 @itemx n
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
761 These keys move the cursor one file forward, towards the end of the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
762 buffer (@code{cvs-mode-next-line}).@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
763
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
764 @itemx p
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
765 This key move one file backward, towards the beginning of the buffer
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
766 (@code{cvs-mode-previous-line}).
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
767 @end table
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
768
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
769
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
770 @node Marking files, Committing changes, Movement commands, Commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
771 @section Marking files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
772 @cindex Selecting files (commands to mark files)
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
773 @cindex Marking files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
774 @kindex m - marking a file
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
775 @kindex M - marking all files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
776 @kindex u - unmark a file
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
777 @kindex ESC DEL - unmark all files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
778 @kindex DEL - unmark previous file
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
779 @kindex % - mark files matching regexp
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
780 @kindex T - toggle marks
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
781 @findex cvs-mode-mark
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
782 @findex cvs-mode-unmark
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
783 @findex cvs-mode-mark-all-files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
784 @findex cvs-mode-unmark-all-files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
785 @findex cvs-mode-unmark-up
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
786 @findex cvs-mode-mark-matching-files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
787 @findex cvs-mode-toggle-marks
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
788
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
789 PCL-CVS works on a set of @dfn{selected files} (@pxref{Selected files}).
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
790 You can mark and unmark files with these commands:
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
791
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
792 @table @kbd
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
793 @item m
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
794 This marks the file that the cursor is positioned on. If the cursor is
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
795 positioned on a directory all files in that directory will be marked.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
796 (@code{cvs-mode-mark}).@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
797
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
798 @item u
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
799 Unmark the file that the cursor is positioned on. If the cursor is on a
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
800 directory, all files in that directory will be unmarked.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
801 (@code{cvs-mode-unmark}).@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
802
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
803 @item M
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
804 Mark @emph{all} files in the buffer (@code{cvs-mode-mark-all-files}).
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
805
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
806 @item M-@key{DEL}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
807 Unmark @emph{all} files (@code{cvs-mode-unmark-all-files}).
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
808
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
809 @item @key{DEL}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
810 Unmark the file on the previous line, and move point to that line
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
811 (@code{cvs-mode-unmark-up}).
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
812
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
813 @item @key{%}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
814 Mark all files matching a regular expression
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
815 (@code{cvs-mode-mark-matching-files}).
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
816
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
817 @item @key{T}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
818 Toggle use of marks for the next command (@code{cvs-mode-toggle-marks}).
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
819 @end table
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
820
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
821
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
822 @node Committing changes, Editing files, Marking files, Commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
823 @section Committing changes
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
824 @cindex Committing changes
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
825 @cindex Ci
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
826 @findex cvs-mode-commit
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
827 @findex cvs-mode-commit-setup
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
828 @kindex c - commit files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
829 @kindex C - commit files with ChangeLog message
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
830 @vindex cvs-auto-revert (variable)
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
831 @cindex Commit buffer
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
832 @cindex Edit buffer
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
833 @cindex Erasing commit message
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
834 @cindex Reverting buffers after commit
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
835
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
836 Committing changes basically works as follows:
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
837
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
838 @enumerate
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
839 @item
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
840 After having selected the files you want to commit, you type either
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
841 @kbd{c} or @kbd{C} which brings up a special buffer
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
842 @samp{*cvs-commit*}.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
843
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
844 @item
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
845 You type in the log message describing the changes you're about to
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
846 commit (@pxref{Log Edit Mode}).@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
847
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
848 @item
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
849 When you're happy with it, you type @kbd{C-c C-c} to do the actual
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
850 commit.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
851
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
852 @end enumerate
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
853
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
854 There's no hidden state, so you can abort the process or pick it up
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
855 again at any time.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
856
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
857 The set of files actually committed is really decided only during the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
858 very last step, which is mixed blessing. It allows you to go back and
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
859 change your mind about which files to commit, but it also means that you
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
860 might inadvertently change the set of selected files. To reduce the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
861 risk of error, @kbd{C-c C-c} will ask for confirmation if the set of
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
862 selected files has changed between the first step and the last. You can
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
863 change this last detail with @code{log-edit-confirm}.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
864
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
865 As for the difference between @kbd{c} (i.e. @code{cvs-mode-commit}) and
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
866 @kbd{C} (i.e. @code{cvs-mode-commit-setup}) is that the first gets you
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
867 straight to @samp{*cvs-commit*} without erasing it or changing anything
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
868 to its content, while the second will first erase @samp{*cvs-commit*}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
869 and try to initialize it with a sane default (it will do that by either
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
870 using a template provided by the CVS administrator or by extracting a
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
871 relevant log message from a ChangeLog file).
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
872
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
873 If you are editing the files in your Emacs an automatic
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
874 @samp{revert-buffer} will be performed. (If the file contains
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
875 @samp{$@asis{Id}$} keywords @samp{cvs commit} will write a new file with
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
876 the new values substituted. The auto-revert makes sure that you get
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
877 them into your buffer). The revert will not occur if you have modified
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
878 your buffer, or if @samp{cvs-auto-revert} is set to
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
879 @samp{nil}.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
880
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
881
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
882 @node Editing files, Getting info about files, Committing changes, Commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
883 @section Editing files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
884 @cindex Editing files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
885 @cindex Finding files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
886 @cindex Loading files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
887 @cindex Dired
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
888 @cindex Invoking dired
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
889 @findex cvs-mode-find-file
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
890 @findex cvs-mode-find-file-other-window
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
891 @findex cvs-mode-add-change-log-entry-other-window
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
892 @kindex f - find file or directory
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
893 @kindex o - find file in other window
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
894 @kindex A - add ChangeLog entry
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
895
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
896 There are currently three commands that can be used to find a file (that
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
897 is, load it into a buffer and start editing it there). These commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
898 work on the line that the cursor is situated at. They always ignore any marked
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
899 files.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
900
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
901 @table @kbd
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
902 @item f
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
903 Find the file that the cursor points to. Run @samp{dired}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
904 @ifinfo
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
905 (@pxref{Dired,,,Emacs})
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
906 @end ifinfo
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
907 if the cursor points to a directory (@code{cvs-mode-find-file}).@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
908
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
909 @item o
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
910 Like @kbd{f}, but use another window
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
911 (@code{cvs-mode-find-file-other-window}).@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
912
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
913 @item A
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
914 Invoke @samp{add-change-log-entry-other-window} to edit a
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
915 @samp{ChangeLog} file. The @samp{ChangeLog} will be found in the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
916 directory or a parent of the directory of the file the cursor points to.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
917 (@code{cvs-mode-add-change-log-entry-other-window}).@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
918 @end table
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
919
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
920
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
921 @node Getting info about files, Adding and removing files, Editing files, Commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
922 @section Getting info about files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
923 @cindex Status (cvs command)
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
924 @cindex Log (RCS/cvs command)
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
925 @cindex Getting status
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
926 @kindex l - run @samp{cvs log}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
927 @kindex s - run @samp{cvs status}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
928 @findex cvs-mode-log
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
929 @findex cvs-mode-status
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
930
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
931 @table @kbd
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
932 @item l
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
933 Call the command @code{cvs-mode-log} which runs @samp{cvs log} on all
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
934 selected files, and show the result in a temporary @samp{*cvs-info*}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
935 buffer (@pxref{Log View Mode}).
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
936
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
937 @item s
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
938 Call the command @code{cvs-mode-status} which runs @samp{cvs status} on
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
939 all selected files, and show the result in a temporary @samp{*cvs-info*}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
940 buffer (@pxref{CVS Status Mode}).
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
941 @end table
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
942
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
943
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
944 @node Adding and removing files, Undoing changes, Getting info about files, Commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
945 @section Adding and removing files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
946 @cindex Adding files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
947 @cindex Removing files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
948 @cindex Resurrecting files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
949 @cindex Deleting files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
950 @cindex Putting files under CVS control
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
951 @kindex a - add a file
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
952 @kindex r - remove a file
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
953 @findex cvs-mode-add
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
954 @findex cvs-mode-remove-file
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
955
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
956 The following commands are available to make it easy to add and remove
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
957 files from the CVS repository.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
958
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
959 @table @kbd
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
960 @item a
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
961 Add all selected files. This command can be used on @samp{Unknown}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
962 files (@pxref{Buffer contents}). The status of the file will change to
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
963 @samp{Added}, and you will have to use @kbd{c} (@samp{cvs-mode-commit},
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
964 @pxref{Committing changes}) to really add the file to the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
965 repository.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
966
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
967 This command can also be used on @samp{Removed} files (before you commit
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
968 them) to resurrect them.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
969
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
970 The command that is run is @code{cvs-mode-add}.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
971
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
972 @item r
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
973 This command removes the selected files (after prompting for
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
974 confirmation). The files are @samp{rm}ed from your directory and
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
975 (unless the status was @samp{Unknown}; @pxref{Buffer contents}) they will
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
976 also be @samp{cvs remove}d. If the files were @samp{Unknown} they will
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
977 disappear from the buffer. Otherwise their status will change to
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
978 @samp{Removed}, and you must use @kbd{c} (@samp{cvs-mode-commit},
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
979 @pxref{Committing changes}) to commit the removal.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
980
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
981 The command that is run is @code{cvs-mode-remove-file}.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
982 @end table
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
983
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
984
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
985 @node Undoing changes, Removing handled entries, Adding and removing files, Commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
986 @section Undoing changes
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
987 @cindex Undo changes
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
988 @cindex Flush changes
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
989 @kindex U - undo changes
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
990 @findex cvs-mode-undo-local-changes
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
991
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
992 @table @kbd
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
993 @item U
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
994 If you have modified a file, and for some reason decide that you don't
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
995 want to keep the changes, you can undo them with this command. It works
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
996 by removing your working copy of the file and then getting the latest
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
997 version from the repository (@code{cvs-mode-undo-local-changes}.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
998 @end table
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
999
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1000
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1001 @node Removing handled entries, Ignoring files, Undoing changes, Commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1002 @section Removing handled entries
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1003 @cindex Expunging uninteresting entries
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1004 @cindex Uninteresting entries, getting rid of them
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1005 @cindex Getting rid of uninteresting lines
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1006 @cindex Removing uninteresting (processed) lines
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1007 @cindex Handled lines, removing them
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1008 @kindex x - remove processed entries
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1009 @kindex C-k - remove selected entries
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1010 @findex cvs-mode-remove-handled
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1011 @findex cvs-mode-acknowledge
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1012 @findex cvs-mode-ignore
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1013
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1014 @table @kbd
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1015 @item x
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1016 This command allows you to remove all entries that you have processed.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1017 More specifically, the lines for @samp{Up-to-date} files (@pxref{Buffer
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1018 contents} are removed from the buffer. If a directory becomes empty the heading
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1019 for that directory is also removed. This makes it easier to get an
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1020 overview of what needs to be done.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1021
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1022 The command is called @code{cvs-mode-remove-handled}. If
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1023 @samp{cvs-auto-remove-handled} is set to non-@code{nil} this will
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1024 automatically be performed after every commit.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1025
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1026 @item C-k
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1027 This command can be used for lines that @samp{cvs-mode-remove-handled} would
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1028 not delete, but that you want to delete (@code{cvs-mode-acknowledge}).
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1029 @end table
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1030
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1031
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1032 @node Ignoring files, Viewing differences, Removing handled entries, Commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1033 @section Ignoring files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1034 @kindex i - ignoring files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1035 @findex cvs-mode-ignore
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1036
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1037 @table @kbd
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1038 @item i
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1039 Arrange so that CVS will ignore the selected files. The file names are
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1040 added to the @file{.cvsignore} file in the corresponding directory. If
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1041 the @file{.cvsignore} doesn't exist it will be created.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1042
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1043 The @file{.cvsignore} file should normally be added to the repository,
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1044 but you could ignore it also if you like it better that way.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1045
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1046 This runs @code{cvs-mode-ignore}.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1047 @end table
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1048
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1049 @node Viewing differences, Invoking Ediff, Ignoring files, Commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1050 @section Viewing differences
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1051 @cindex Diff
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1052 @cindex Invoking ediff
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1053 @cindex Conflicts, how to resolve them
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1054 @cindex Viewing differences
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1055 @kindex d= - run @samp{cvs diff}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1056 @kindex = - run @samp{cvs diff}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1057 @kindex dh - diff against head of repository
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1058 @kindex dv - diff against vendor branch
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1059 @findex cvs-mode-diff
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1060 @findex cvs-mode-diff-backup
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1061 @findex cvs-mode-diff-head
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1062 @findex cvs-mode-diff-vendor
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1063 @vindex cvs-invert-ignore-marks
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1064
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1065 @table @kbd
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1066 @item =
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1067 @itemx d =
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1068 Display a @samp{cvs diff} between the selected files and the version
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1069 that they are based on. (@code{cvs-mode-diff}).@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1070
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1071 @item d b
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1072 If CVS finds a conflict while merging two versions of a file (during a
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1073 @samp{cvs update}, @pxref{Updating the buffer}) it will save the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1074 original file in a file called @file{.#@var{FILE}.@var{VERSION}} where
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1075 @var{FILE} is the name of the file, and @var{VERSION} is the revision
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1076 number that your file was based on.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1077
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1078 With the @kbd{b} command you can run a @samp{diff} on the files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1079 @file{.#@var{FILE}.@var{VERSION}} and @file{@var{FILE}}.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1080
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1081 @item d h
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1082 Display a @samp{cvs diff} between the selected files and the head
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1083 revision in the repository (the most recent version on the current
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1084 branch). (@code{cvs-mode-diff-head}).@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1085
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1086 @item d v
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1087 Display a @samp{cvs diff} between the selected files and the head
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1088 revision of the vendor branch in the repository.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1089 (@code{cvs-mode-diff-vendor}).@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1090
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1091 @end table
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1092
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1093 By default, @samp{diff} commands ignore the marks. This can be changed
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1094 with @code{cvs-invert-ignore-marks}.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1095
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1096 @node Invoking Ediff, Updating files, Viewing differences, Commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1097 @section Running ediff
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1098 @cindex Ediff
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1099 @cindex Invoking ediff
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1100 @cindex Viewing differences
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1101 @cindex Conflicts, resolving
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1102 @cindex Resolving conflicts
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1103 @kindex e - invoke @samp{ediff}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1104 @findex cvs-mode-idiff
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1105 @findex cvs-mode-imerge
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1106
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1107 @table @kbd
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1108 @item d e
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1109 This command uses ediff (or emerge depending on
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1110 @samp{cvs-idiff-imerge-handlers}) to allow you to view diffs.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1111 If a prefix argument is given, PCL-CVS will prompt for a revision against
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1112 which the diff should be made, else the default will be to use the BASE
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1113 revision.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1114
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1115 @item d E
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1116 This command use ediff (or emerge, see above) to allow you to do an
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1117 interactive 3-way merge.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1118
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1119 @strong{Note:} When the file status is @samp{Conflict},
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1120 CVS has already performed a merge. The resulting file is not used in
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1121 any way if you use this command. If you use the @kbd{q} command inside
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1122 @samp{ediff} (to successfully terminate a merge) the file that CVS
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1123 created will be overwritten.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1124
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1125 @end table
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1126
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1127 @node Updating files, Tagging files, Invoking Ediff, Commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1128 @section Updating files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1129 @findex cvs-mode-update
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1130 @cindex Updating files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1131 @kindex O - update files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1132
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1133 @table @kbd
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1134 @item O
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1135 Update all selected files with status @samp{Need-update} by running
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1136 @samp{cvs update} on them. (@code{cvs-mode-update}).
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1137 @end table
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1138
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1139
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1140 @node Tagging files, Miscellaneous commands, Updating files, Commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1141 @section Tagging files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1142 @findex cvs-mode-tag
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1143 @findex cvs-mode-untag
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1144 @findex cvs-rtag
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1145 @cindex Tagging files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1146 @kindex M-t - repository tag files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1147 @kindex t - tag files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1148 @vindex cvs-invert-ignore-marks
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1149 @vindex cvs-force-dir-tag
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1150
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1151 @table @kbd
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1152 @item t
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1153 Tag all selected files by running @samp{cvs tag} on
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1154 them. (@code{cvs-mode-tag}). It's usually preferable to tag directories
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1155 at a time. Rather than selecting all files (which too often doesn't
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1156 select all files but only the few that are displayed), clear the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1157 selection with @kbd{M-DEL} (@code{cvs-mode-unmark-all-files}), position
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1158 the cursor on the directory you want to tag and hit @kbd{t}.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1159
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1160 @end table
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1161
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1162 By default, @samp{tag} commands ignore the marks. This can be changed
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1163 with @code{cvs-invert-ignore-marks}. Also by default @samp{tag} can
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1164 only be applied to directories, see @code{cvs-force-dir-tag} if you want
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1165 to change this behavior.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1166
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1167
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1168 @node Miscellaneous commands, , Tagging files, Commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1169 @section Miscellaneous commands
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1170 @findex cvs-mode-byte-compile-files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1171 @cindex Recompiling elisp files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1172 @cindex Byte compilation
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1173 @findex cvs-mode-delete-lock
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1174 @cindex Getting rid of lock files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1175 @cindex Lock files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1176 @kindex q - quit PCL-CVS
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1177 @findex cvs-mode-quit
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1178 @cindex Quitting
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1179 @kindex h - help
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1180 @kindex ? - help
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1181 @findex cvs-help
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1182 @cindex Help
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1183
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1184 @table @kbd
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1185 @item M-x cvs-mode-byte-compile-files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1186 Byte compile all selected files that end in .el.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1187
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1188 @item M-x cvs-mode-delete-lock
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1189 This command deletes the lock files that
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1190 the *cvs* buffer informs you about. You should normally never have to
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1191 use this command since CVS tries very carefully to always remove the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1192 lock files itself.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1193
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1194 You can only use this command when a message in the *cvs* buffer tells
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1195 you so. You should wait a while before using this command in case
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1196 someone else is running a cvs command.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1197
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1198 Also note that this only works if the repository is local.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1199
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1200 @item ?
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1201 @itemx h
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1202 Show a summary of common command key bindings in the echo
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1203 area. (@code{cvs-help}).
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1204
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1205 @item q
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1206 Quit PCL-CVS, killing the @samp{*cvs*} buffer. (@code{cvs-mode-quit}).
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1207
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1208 @end table
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1209
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1210 @node Log Edit Mode, Log View Mode, Commands, Top
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1211 @chapter Editing a Log Message
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1212
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1213 @node Log View Mode, CVS Status Mode, Log Edit Mode, Top
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1214 @chapter Browsing a Log of Changes
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1215
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1216 @node CVS Status Mode, Customization, Log View Mode, Top
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1217 @chapter Viewing CVS' Status output
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1218
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1219 @node Customization, Bugs, CVS Status Mode, Top
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1220 @chapter Customization
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1221 @vindex log-edit-changelog-full-paragraphs (variable)
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1222 @vindex cvs-auto-remove-handled (variable)
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1223 @vindex cvs-auto-remove-directories (variable)
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1224 @vindex cvs-update-prog-output-skip-regexp (variable)
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1225 @vindex cvs-cvsroot (variable)
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1226 @vindex cvs-auto-revert (variable)
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1227 @vindex log-edit-require-final-newline (variable)
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1228 @vindex cvs-sort-ignore-file (variable)
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1229 @cindex Customization
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1230 @cindex Variables, list of all
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1231 @cindex Erasing the input buffer
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1232 @cindex Context diff, how to get
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1233 @cindex Unidiff, how to get
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1234 @cindex Automatically remove handled files
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1235 @cindex -u option in modules file
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1236 @cindex Modules file (-u option)
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1237 @cindex Update program (-u option in modules file)
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1238 @cindex Reverting buffers after commit
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1239 @cindex Require final newline
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1240 @cindex Automatically inserting newline
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1241 @cindex Commit message, inserting newline
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1242 @cindex Sorting the .cvsignore file
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1243 @cindex .cvsignore file, sorting
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1244 @cindex Automatically sorting .cvsignore
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1245
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1246 If you have an idea about any customization that would be handy but
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1247 isn't present in this list, please tell me!
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1248 For info on how to reach me, see @xref{Bugs}.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1249
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1250 @table @samp
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1251 @item cvs-auto-remove-handled
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1252 If this variable is set to any non-@code{nil} value
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1253 @samp{cvs-mode-remove-handled} will be called every time you check in
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1254 files, after the check-in is ready. @xref{Removing handled
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1255 entries}.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1256
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1257 @item cvs-auto-remove-directories
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1258 If this variable is set to any non-@code{nil} value, directories that do
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1259 not contain any files to be checked in will not be listed in the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1260 @samp{*cvs*} buffer.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1261
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1262 @item cvs-auto-revert
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1263 If this variable is set to any non-@samp{nil} value any buffers you have
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1264 that visit a file that is committed will be automatically reverted.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1265 This variable defaults to @samp{t}. @xref{Committing changes}.@refill
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1266
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1267 @item cvs-update-prog-output-skip-regexp
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1268 The @samp{-u} flag in the @file{modules} file can be used to run a command
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1269 whenever a @samp{cvs update} is performed (see cvs(5)). This regexp
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1270 is used to search for the last line in that output. It is normally set
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1271 to @samp{"$"}. That setting is only correct if the command outputs
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1272 nothing. Note that PCL-CVS will get very confused if the command
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1273 outputs @emph{anything} to @samp{stderr}.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1274
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1275 @item cvs-cvsroot
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1276 This variable can be set to override @samp{CVSROOT}. It should be a
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1277 string. If it is set then every time a cvs command is run it will be
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1278 called as @samp{cvs -d @var{cvs-cvsroot}@dots{}} This can be useful if
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1279 your site has several repositories.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1280
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1281 @item log-edit-require-final-newline
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1282 When you enter a log message in the @samp{*cvs-commit-message*} buffer
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1283 PCL-CVS will normally automatically insert a trailing newline, unless
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1284 there already is one. This behavior can be controlled via
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1285 @samp{cvs-commit-buffer-require-final-newline}. If it is @samp{t} (the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1286 default behavior), a newline will always be appended. If it is
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1287 @samp{nil}, newlines will never be appended. Any other value causes
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1288 PCL-CVS to ask the user whenever there is no trailing newline in the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1289 commit message buffer.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1290
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1291 @item log-edit-changelog-full-paragraphs
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1292 If this variable is non-@code{nil}, include full ChangeLog paragraphs in
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1293 the CVS log created by @samp{cvs-mode-changelog-commit}.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1294 This may be set in the local variables section of a ChangeLog, to
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1295 indicate the policy for that ChangeLog.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1296
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1297 A ChangeLog paragraph is a bunch of log text containing no blank lines;
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1298 a paragraph usually describes a set of changes with a single purpose,
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1299 but perhaps spanning several functions in several files. Changes in
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1300 different paragraphs are unrelated.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1301
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1302 You could argue that the CVS log entry for a file should contain the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1303 full ChangeLog paragraph mentioning the change to the file, even though
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1304 it may mention other files, because that gives you the full context you
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1305 need to understand the change. This is the behavior you get when this
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1306 variable is set to t, the default.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1307
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1308 On the other hand, you could argue that the CVS log entry for a change
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1309 should contain only the text for the changes which occurred in that
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1310 file, because the CVS log is per-file. This is the behavior you get
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1311 when this variable is set to nil.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1312
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1313 @item cvs-sort-ignore-file
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1314 If this variable is set to any non-@samp{nil} value the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1315 @file{.cvsignore} will always be sorted whenever you use
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1316 @samp{cvs-mode-ignore} to add a file to it. This option is on by
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1317 default.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1318
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1319 @end table
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1320
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1321
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1322 @menu
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1323 * Customizing Faces::
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1324 @end menu
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1325
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1326 @node Customizing Faces, , Customization, Customization
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1327 @section Customizing Faces
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1328 @vindex cvs-header-face (face)
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1329 @vindex cvs-filename-face (face)
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1330 @vindex cvs-unknown-face (face)
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1331 @vindex cvs-handled-face (face)
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1332 @vindex cvs-need-action-face (face)
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1333 @vindex cvs-marked-face (face)
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1334
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1335 The Emacs lisp file @file{pcl-cvs-xemacs.el} included with PCL-CVS adds
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1336 a few extra features for XEmacs, including menus, mouse bindings, and
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1337 fontification the the @samp{*cvs*} buffer. The faces defined for
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1338 fontification are listed below:
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1339
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1340 @table @samp
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1341
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1342 @item cvs-header-face
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1343 This face is used to highlight directory changes.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1344
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1345 @item cvs-filename-face
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1346 This face is used to highlight file names.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1347
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1348 @item cvs-unknown-face
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1349 This face is used to highlight the status of files which are UNKNOWN.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1350
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1351 @item cvs-handled-face
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1352 This face is used to highlight the status of files which are handled and
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1353 need no further action.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1354
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1355 @item cvs-need-action-face
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1356 This face is used to highlight the status of files which still need action.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1357
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1358 @item cvs-marked-face
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1359 This face is used to highlight the marked file indicator (@samp{*}).
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1360
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1361 @end table
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1362
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1363
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1364 @node Bugs, Function and Variable Index, Customization, Top
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1365 @chapter Bugs (known and unknown)
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1366 @cindex Reporting bugs and ideas
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1367 @cindex Bugs, how to report them
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1368 @cindex Author, how to reach
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1369 @cindex Email to the author
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1370 @cindex Known bugs
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1371 @cindex Bugs, known
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1372 @cindex FAQ
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1373 @cindex Problems, list of common
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1374
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1375 If you find a bug or misfeature, don't hesitate to tell us! Send email
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1376 to @samp{bugs-gnu-emacs@@gnu.org} which gatewayed to the newsgroup
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1377 @samp{gnu.emacs.bugs}. Feature requests should also be sent there. We
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1378 prefer discussing one thing at a time. If you find several unrelated
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1379 bugs, please report them separately. If you are running PCL-CVS under
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1380 XEmacs, you should also send a copy of bug reports to
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1381 @samp{xemacs-beta@@xemacs.org}.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1382
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1383 If you have problems using PCL-CVS or other questions,
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1384 @samp{help-gnu-emacs@@gnu.org} also gatewayed to @samp{gnu.emacs.help}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1385 is a good place to get help as well as @samp{cvs-info@@gnu.org}
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1386 yet again gatewayed to @samp{gnu.cvs.help}.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1387
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1388 If you have ideas for improvements, or if you have written some
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1389 extensions to this package, we would like to hear from you. We hope that
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1390 you find this package useful!
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1391
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1392 Below is a partial list of currently known problems with PCL-CVS version
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1393 2.0.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1394
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1395 @table @asis
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1396 @item Unexpected output from CVS
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1397 Unexpected output from CVS may confuse PCL-CVS. It will create
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1398 warning messages in the *cvs* buffer alerting you to any parse errors.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1399 If you get these messages, please send a bug report to the email
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1400 addresses listed above. Include the contents of the *cvs* buffer, the
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1401 output of the CVS process (which should be found in the *cvs-tmp* Emacs
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1402 buffer), and the versions of Emacs, PCL-CVS and CVS you are using.
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1403
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1404 @end table
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1405
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1406 @node Function and Variable Index, Concept Index, Bugs, Top
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1407 @unnumbered Function and Variable Index
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1408
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1409 @printindex fn
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1410
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1411 @node Concept Index, Key Index, Function and Variable Index, Top
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1412 @unnumbered Concept Index
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1413
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1414 @printindex cp
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1415
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1416 @node Key Index, , Concept Index, Top
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1417 @unnumbered Key Index
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1418
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1419 @printindex ky
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1420
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1421 @setchapternewpage odd
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1422 @summarycontents
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1423 @contents
|
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
diff
changeset
|
1424 @bye
|