1 This is Info file pcl-cvs, produced by Makeinfo-1.49 from the input
4 Copyright (C) 1992 Per Cederqvist
6 Permission is granted to make and distribute verbatim copies of
7 this manual provided the copyright notice and this permission notice
8 are preserved on all copies.
10 Permission is granted to copy and distribute modified versions of
11 this manual under the conditions for verbatim copying, provided also
12 that the section entitled "GNU General Public License" is included
13 exactly as in the original, and provided that the entire resulting
14 derived work is distributed under the terms of a permission notice
15 identical to this one.
17 Permission is granted to copy and distribute translations of this
18 manual into another language, under the above conditions for modified
19 versions, except that the section entitled "GNU General Public
20 License" and this permission notice may be included in translations
21 approved by the Free Software Foundation instead of in the original
25 File: pcl-cvs, Node: Top, Next: Copying, Prev: (dir), Up: (dir)
27 This info manual describes pcl-cvs which is a GNU Emacs front-end
28 to CVS. It works with CVS version 1.3. This manual is updated to
29 release 1.05 of pcl-cvs.
33 * Copying:: GNU General Public License
34 * Installation:: How to install pcl-cvs on your system.
35 * About pcl-cvs:: Authors and ftp sites.
37 * Getting started:: An introduction with a walk-through example.
38 * Buffer contents:: An explanation of the buffer contents.
39 * Commands:: All commands, grouped by type.
41 * Customization:: How you can tailor pcl-cvs to suit your needs.
42 * Future enhancements:: Future enhancements of pcl-cvs.
43 * Bugs:: Bugs (known and unknown).
44 * Function and Variable Index:: List of functions and variables.
45 * Concept Index:: List of concepts.
46 * Key Index:: List of keystrokes.
48 -- The Detailed Node Listing --
52 * Pcl-cvs installation:: How to install pcl-cvs on your system.
53 * On-line manual installation:: How to install the on-line manual.
54 * Typeset manual installation:: How to create typeset documentation
59 * Contributors:: Contributors to pcl-cvs.
60 * Archives:: Where can I get a copy of Pcl-Cvs?
64 * File status:: The meaning of the second field.
65 * Selected files:: How selection works.
69 * Updating the directory:: Commands to update the local directory
70 * Movement commands:: How to move up and down in the buffer
71 * Marking files:: How to mark files that other commands
72 will later operate on.
73 * Committing changes:: Checking in your modifications to the
75 * Editing files:: Loading files into Emacs.
76 * Getting info about files:: Display the log and status of files.
77 * Adding and removing files:: Adding and removing files
78 * Undoing changes:: Undoing changes
79 * Removing handled entries:: Uninteresting lines can easily be removed.
80 * Ignoring files:: Telling CVS to ignore generated files.
81 * Viewing differences:: Commands to `diff' different versions.
83 * Reverting your buffers:: Reverting your buffers
84 * Miscellaneous commands:: Miscellaneous commands
87 File: pcl-cvs, Node: Copying, Next: Installation, Prev: Top, Up: Top
89 GNU GENERAL PUBLIC LICENSE
90 **************************
94 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
95 675 Mass Ave, Cambridge, MA 02139, USA
97 Everyone is permitted to copy and distribute verbatim copies
98 of this license document, but changing it is not allowed.
103 The licenses for most software are designed to take away your
104 freedom to share and change it. By contrast, the GNU General Public
105 License is intended to guarantee your freedom to share and change free
106 software--to make sure the software is free for all its users. This
107 General Public License applies to most of the Free Software
108 Foundation's software and to any other program whose authors commit to
109 using it. (Some other Free Software Foundation software is covered by
110 the GNU Library General Public License instead.) You can apply it to
113 When we speak of free software, we are referring to freedom, not
114 price. Our General Public Licenses are designed to make sure that you
115 have the freedom to distribute copies of free software (and charge for
116 this service if you wish), that you receive source code or can get it
117 if you want it, that you can change the software or use pieces of it
118 in new free programs; and that you know you can do these things.
120 To protect your rights, we need to make restrictions that forbid
121 anyone to deny you these rights or to ask you to surrender the rights.
122 These restrictions translate to certain responsibilities for you if
123 you distribute copies of the software, or if you modify it.
125 For example, if you distribute copies of such a program, whether
126 gratis or for a fee, you must give the recipients all the rights that
127 you have. You must make sure that they, too, receive or can get the
128 source code. And you must show them these terms so they know their
131 We protect your rights with two steps: (1) copyright the software,
132 and (2) offer you this license which gives you legal permission to
133 copy, distribute and/or modify the software.
135 Also, for each author's protection and ours, we want to make
136 certain that everyone understands that there is no warranty for this
137 free software. If the software is modified by someone else and
138 passed on, we want its recipients to know that what they have is not
139 the original, so that any problems introduced by others will not
140 reflect on the original authors' reputations.
142 Finally, any free program is threatened constantly by software
143 patents. We wish to avoid the danger that redistributors of a free
144 program will individually obtain patent licenses, in effect making the
145 program proprietary. To prevent this, we have made it clear that any
146 patent must be licensed for everyone's free use or not licensed at
149 The precise terms and conditions for copying, distribution and
152 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
154 1. This License applies to any program or other work which contains
155 a notice placed by the copyright holder saying it may be
156 distributed under the terms of this General Public License. The
157 "Program", below, refers to any such program or work, and a
158 "work based on the Program" means either the Program or any
159 derivative work under copyright law: that is to say, a work
160 containing the Program or a portion of it, either verbatim or
161 with modifications and/or translated into another language.
162 (Hereinafter, translation is included without limitation in the
163 term "modification".) Each licensee is addressed as "you".
165 Activities other than copying, distribution and modification are
166 not covered by this License; they are outside its scope. The
167 act of running the Program is not restricted, and the output
168 from the Program is covered only if its contents constitute a
169 work based on the Program (independent of having been made by
170 running the Program). Whether that is true depends on what the
173 2. You may copy and distribute verbatim copies of the Program's
174 source code as you receive it, in any medium, provided that you
175 conspicuously and appropriately publish on each copy an
176 appropriate copyright notice and disclaimer of warranty; keep
177 intact all the notices that refer to this License and to the
178 absence of any warranty; and give any other recipients of the
179 Program a copy of this License along with the Program.
181 You may charge a fee for the physical act of transferring a
182 copy, and you may at your option offer warranty protection in
185 3. You may modify your copy or copies of the Program or any portion
186 of it, thus forming a work based on the Program, and copy and
187 distribute such modifications or work under the terms of Section
188 1 above, provided that you also meet all of these conditions:
190 a. You must cause the modified files to carry prominent notices
191 stating that you changed the files and the date of any
194 b. You must cause any work that you distribute or publish,
195 that in whole or in part contains or is derived from the
196 Program or any part thereof, to be licensed as a whole at
197 no charge to all third parties under the terms of this
200 c. If the modified program normally reads commands
201 interactively when run, you must cause it, when started
202 running for such interactive use in the most ordinary way,
203 to print or display an announcement including an
204 appropriate copyright notice and a notice that there is no
205 warranty (or else, saying that you provide a warranty) and
206 that users may redistribute the program under these
207 conditions, and telling the user how to view a copy of this
208 License. (Exception: if the Program itself is interactive
209 but does not normally print such an announcement, your work
210 based on the Program is not required to print an
213 These requirements apply to the modified work as a whole. If
214 identifiable sections of that work are not derived from the
215 Program, and can be reasonably considered independent and
216 separate works in themselves, then this License, and its terms,
217 do not apply to those sections when you distribute them as
218 separate works. But when you distribute the same sections as
219 part of a whole which is a work based on the Program, the
220 distribution of the whole must be on the terms of this License,
221 whose permissions for other licensees extend to the entire
222 whole, and thus to each and every part regardless of who wrote
225 Thus, it is not the intent of this section to claim rights or
226 contest your rights to work written entirely by you; rather, the
227 intent is to exercise the right to control the distribution of
228 derivative or collective works based on the Program.
230 In addition, mere aggregation of another work not based on the
231 Program with the Program (or with a work based on the Program)
232 on a volume of a storage or distribution medium does not bring
233 the other work under the scope of this License.
235 4. You may copy and distribute the Program (or a work based on it,
236 under Section 2) in object code or executable form under the
237 terms of Sections 1 and 2 above provided that you also do one of
240 a. Accompany it with the complete corresponding
241 machine-readable source code, which must be distributed
242 under the terms of Sections 1 and 2 above on a medium
243 customarily used for software interchange; or,
245 b. Accompany it with a written offer, valid for at least three
246 years, to give any third party, for a charge no more than
247 your cost of physically performing source distribution, a
248 complete machine-readable copy of the corresponding source
249 code, to be distributed under the terms of Sections 1 and 2
250 above on a medium customarily used for software
253 c. Accompany it with the information you received as to the
254 offer to distribute corresponding source code. (This
255 alternative is allowed only for noncommercial distribution
256 and only if you received the program in object code or
257 executable form with such an offer, in accord with
260 The source code for a work means the preferred form of the work
261 for making modifications to it. For an executable work,
262 complete source code means all the source code for all modules
263 it contains, plus any associated interface definition files,
264 plus the scripts used to control compilation and installation of
265 the executable. However, as a special exception, the source
266 code distributed need not include anything that is normally
267 distributed (in either source or binary form) with the major
268 components (compiler, kernel, and so on) of the operating system
269 on which the executable runs, unless that component itself
270 accompanies the executable.
272 If distribution of executable or object code is made by offering
273 access to copy from a designated place, then offering equivalent
274 access to copy the source code from the same place counts as
275 distribution of the source code, even though third parties are
276 not compelled to copy the source along with the object code.
278 5. You may not copy, modify, sublicense, or distribute the Program
279 except as expressly provided under this License. Any attempt
280 otherwise to copy, modify, sublicense or distribute the Program
281 is void, and will automatically terminate your rights under this
282 License. However, parties who have received copies, or rights,
283 from you under this License will not have their licenses
284 terminated so long as such parties remain in full compliance.
286 6. You are not required to accept this License, since you have not
287 signed it. However, nothing else grants you permission to
288 modify or distribute the Program or its derivative works. These
289 actions are prohibited by law if you do not accept this License.
290 Therefore, by modifying or distributing the Program (or any
291 work based on the Program), you indicate your acceptance of this
292 License to do so, and all its terms and conditions for copying,
293 distributing or modifying the Program or works based on it.
295 7. Each time you redistribute the Program (or any work based on the
296 Program), the recipient automatically receives a license from the
297 original licensor to copy, distribute or modify the Program
298 subject to these terms and conditions. You may not impose any
299 further restrictions on the recipients' exercise of the rights
300 granted herein. You are not responsible for enforcing compliance
301 by third parties to this License.
303 8. If, as a consequence of a court judgment or allegation of patent
304 infringement or for any other reason (not limited to patent
305 issues), conditions are imposed on you (whether by court order,
306 agreement or otherwise) that contradict the conditions of this
307 License, they do not excuse you from the conditions of this
308 License. If you cannot distribute so as to satisfy
309 simultaneously your obligations under this License and any other
310 pertinent obligations, then as a consequence you may not
311 distribute the Program at all. For example, if a patent license
312 would not permit royalty-free redistribution of the Program by
313 all those who receive copies directly or indirectly through you,
314 then the only way you could satisfy both it and this License
315 would be to refrain entirely from distribution of the Program.
317 If any portion of this section is held invalid or unenforceable
318 under any particular circumstance, the balance of the section is
319 intended to apply and the section as a whole is intended to
320 apply in other circumstances.
322 It is not the purpose of this section to induce you to infringe
323 any patents or other property right claims or to contest
324 validity of any such claims; this section has the sole purpose
325 of protecting the integrity of the free software distribution
326 system, which is implemented by public license practices. Many
327 people have made generous contributions to the wide range of
328 software distributed through that system in reliance on
329 consistent application of that system; it is up to the
330 author/donor to decide if he or she is willing to distribute
331 software through any other system and a licensee cannot impose
334 This section is intended to make thoroughly clear what is
335 believed to be a consequence of the rest of this License.
337 9. If the distribution and/or use of the Program is restricted in
338 certain countries either by patents or by copyrighted
339 interfaces, the original copyright holder who places the Program
340 under this License may add an explicit geographical distribution
341 limitation excluding those countries, so that distribution is
342 permitted only in or among countries not thus excluded. In such
343 case, this License incorporates the limitation as if written in
344 the body of this License.
346 10. The Free Software Foundation may publish revised and/or new
347 versions of the General Public License from time to time. Such
348 new versions will be similar in spirit to the present version,
349 but may differ in detail to address new problems or concerns.
351 Each version is given a distinguishing version number. If the
352 Program specifies a version number of this License which applies
353 to it and "any later version", you have the option of following
354 the terms and conditions either of that version or of any later
355 version published by the Free Software Foundation. If the
356 Program does not specify a version number of this License, you
357 may choose any version ever published by the Free Software
360 11. If you wish to incorporate parts of the Program into other free
361 programs whose distribution conditions are different, write to
362 the author to ask for permission. For software which is
363 copyrighted by the Free Software Foundation, write to the Free
364 Software Foundation; we sometimes make exceptions for this. Our
365 decision will be guided by the two goals of preserving the free
366 status of all derivatives of our free software and of promoting
367 the sharing and reuse of software generally.
371 12. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
372 WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
373 LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
374 HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT
375 WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
376 BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
377 AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE
378 QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
379 PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
380 SERVICING, REPAIR OR CORRECTION.
382 13. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
383 WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
384 MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE
385 LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
386 INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
387 INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS
388 OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
389 YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH
390 ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
391 ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
393 END OF TERMS AND CONDITIONS
395 Appendix: How to Apply These Terms to Your New Programs
396 =======================================================
398 If you develop a new program, and you want it to be of the greatest
399 possible use to the public, the best way to achieve this is to make it
400 free software which everyone can redistribute and change under these
403 To do so, attach the following notices to the program. It is
404 safest to attach them to the start of each source file to most
405 effectively convey the exclusion of warranty; and each file should
406 have at least the "copyright" line and a pointer to where the full
409 ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
410 Copyright (C) 19YY NAME OF AUTHOR
412 This program is free software; you can redistribute it and/or modify
413 it under the terms of the GNU General Public License as published by
414 the Free Software Foundation; either version 2 of the License, or
415 (at your option) any later version.
417 This program is distributed in the hope that it will be useful,
418 but WITHOUT ANY WARRANTY; without even the implied warranty of
419 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
420 GNU General Public License for more details.
422 You should have received a copy of the GNU General Public License
423 along with this program; if not, write to the Free Software
424 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
426 Also add information on how to contact you by electronic and paper
429 If the program is interactive, make it output a short notice like
430 this when it starts in an interactive mode:
432 Gnomovision version 69, Copyright (C) 19YY NAME OF AUTHOR
433 Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
434 This is free software, and you are welcome to redistribute it
435 under certain conditions; type `show c' for details.
437 The hypothetical commands `show w' and `show c' should show the
438 appropriate parts of the General Public License. Of course, the
439 commands you use may be called something other than `show w' and
440 `show c'; they could even be mouse-clicks or menu items--whatever
443 You should also get your employer (if you work as a programmer) or
444 your school, if any, to sign a "copyright disclaimer" for the
445 program, if necessary. Here is a sample; alter the names:
447 Yoyodyne, Inc., hereby disclaims all copyright interest in the program
448 `Gnomovision' (which makes passes at compilers) written by James Hacker.
450 SIGNATURE OF TY COON, 1 April 1989
451 Ty Coon, President of Vice
453 This General Public License does not permit incorporating your
454 program into proprietary programs. If your program is a subroutine
455 library, you may consider it more useful to permit linking
456 proprietary applications with the library. If this is what you want
457 to do, use the GNU Library General Public License instead of this
461 File: pcl-cvs, Node: Installation, Next: About pcl-cvs, Prev: Copying, Up: Top
466 This section describes the installation of pcl-cvs, the GNU Emacs
467 CVS front-end. You should install not only the elisp files
468 themselves, but also the on-line documentation so that your users
469 will know how to use it. You can create typeset documentation from
470 the file `pcl-cvs.texinfo' as well as an on-line info file. The
471 following steps are also described in the file `INSTALL' in the source
476 * Pcl-cvs installation:: How to install pcl-cvs on your system.
477 * On-line manual installation:: How to install the on-line manual.
478 * Typeset manual installation:: How to create typeset documentation
482 File: pcl-cvs, Node: Pcl-cvs installation, Next: On-line manual installation, Prev: Installation, Up: Installation
484 Installation of the pcl-cvs program
485 ===================================
487 1. Edit the file `Makefile' to reflect the situation at your site.
488 The only things you have to change is the definition of `lispdir'
489 and `infodir'. The elisp files will be copied to `lispdir', and
490 the info file to `infodir'.
492 2. Configure pcl-cvs.el
494 There are a couple of paths that you have to check to make sure
495 that they match you system. They appear early in the file
498 *NOTE:* If your system is running emacs 18.57 or earlier you
499 MUST uncomment the line that says:
501 (setq delete-exited-processes nil)
503 Setting `delete-exited-processes' to `nil' works around a bug in
504 emacs that causes it to dump core. The bug was fixed in emacs
507 3. Release 1.05 and later of pcl-cvs requires parts of the Elib
508 library, version 0.07 or later. Elib is available via anonymous
509 ftp from prep.ai.mit.edu in `pub/gnu/elib-0.07.tar.z', and from
510 a lot of other sites that mirrors prep. Get Elib, and install
511 it, before proceeding.
513 4. Type `make install' in the source directory. This will
514 byte-compile all `.el' files and copy both the `.el' and the
515 `.elc' into the directory you specified in step 1.
517 If you don't want to install the `.el' files but only the `.elc'
518 files (the byte-compiled files), you can type ``make
519 install_elc'' instead of ``make install''.
521 If you only want to create the compiled elisp files, but don't
522 want to install them, you can type `make elcfiles' instead.
523 This is what happens if you only type `make' without parameters.
525 5. Edit the file `default.el' in your emacs lisp directory (usually
526 `/usr/gnu/emacs/lisp' or something similar) and enter the
527 contents of the file `pcl-cvs-startup.el' into it. It contains
528 a couple of `auto-load's that facilitates the use of pcl-cvs.
532 File: pcl-cvs, Node: On-line manual installation, Next: Typeset manual installation, Prev: Pcl-cvs installation, Up: Installation
534 Installation of the on-line manual.
535 ===================================
537 1. Create the info file `pcl-cvs' from `pcl-cvs.texinfo' by typing
538 `make info'. If you don't have the program `makeinfo' you can
539 get it by anonymous ftp from e.g. `ftp.gnu.ai.mit.edu' as
540 `pub/gnu/texinfo-2.14.tar.Z' (there might be a newer version
541 there when you read this), or you could use the preformatted
542 info file `pcl-cvs.info' that is included in the distribution
543 (type `cp pcl-cvs.info pcl-cvs').
545 2. Move the info file `pcl-cvs' to your standard info directory.
546 This might be called something like `/usr/gnu/emacs/info'.
548 3. Edit the file `dir' in the info directory and enter one line to
549 contain a pointer to the info file `pcl-cvs'. The line can, for
550 instance, look like this:
552 * Pcl-cvs: (pcl-cvs). An Emacs front-end to CVS.
555 File: pcl-cvs, Node: Typeset manual installation, Prev: On-line manual installation, Up: Installation
557 How to make typeset documentation from pcl-cvs.texinfo
558 ======================================================
560 If you have TeX installed at your site, you can make a typeset
561 manual from `pcl-cvs.texinfo'.
563 1. Run TeX by typing ``make pcl-cvs.dvi''. You will not get the
564 indices unless you have the `texindex' program.
566 2. Convert the resulting device independent file `pcl-cvs.dvi' to a
567 form which your printer can output and print it. If you have a
568 postscript printer there is a program, `dvi2ps', which does.
569 There is also a program which comes together with TeX, `dvips',
574 File: pcl-cvs, Node: About pcl-cvs, Next: Getting started, Prev: Installation, Up: Top
579 Pcl-cvs is a front-end to CVS version 1.3. It integrates the most
580 frequently used CVS commands into emacs.
584 * Contributors:: Contributors to pcl-cvs.
585 * Archives:: Where can I get a copy of Pcl-Cvs?
588 File: pcl-cvs, Node: Contributors, Next: Archives, Prev: About pcl-cvs, Up: About pcl-cvs
590 Contributors to pcl-cvs
591 =======================
593 Contributions to the package are welcome. I have limited time to
594 work on this project, but I will gladly add any code that you
595 contribute to me to this package (*note Bugs::.).
597 The following persons have made contributions to pcl-cvs.
599 * Brian Berliner wrote CVS, together with some other contributors.
600 Without his work on CVS this package would be useless...
602 * Per Cederqvist wrote most of the otherwise unattributed
603 functions in pcl-cvs as well as all documentation.
605 * Inge Wallin (`inge@lysator.liu.se') wrote the skeleton to
606 `pcl-cvs.texinfo', and gave useful comments on it. He also wrote
607 the files `elib-node.el' and `compile-all.el'. The file
608 `cookie.el' was inspired by Inge.
610 * Linus Tolke (`linus@lysator.liu.se') contributed useful comments
611 on both the functionality and the documentation.
613 * Jamie Zawinski (`jwz@lucid.com') contributed `pcl-cvs-lucid.el'.
615 * Leif Lonnblad contributed RCVS support.
617 Apart from these, a lot of people have send me suggestions, ideas,
618 requests, bug reports and encouragement. Thanks a lot! Without your
619 there would be no new releases of pcl-cvs.
622 File: pcl-cvs, Node: Archives, Prev: Contributors, Up: About pcl-cvs
624 Where can I get pcl-cvs?
625 ========================
627 The latest release of pcl-cvs can be fetched via anonymous ftp from
628 `ftp.lysator.liu.se', (IP no. 130.236.254.1) in the directory
629 `pub/emacs'. If you don't live in Scandinavia you should probably
630 check with archie to see if there is a site closer to you that
633 New releases will be announced to appropriate newsgroups. If you
634 send your email address to me I will add you to my list of people to
635 mail when I make a new release.
638 File: pcl-cvs, Node: Getting started, Next: Buffer contents, Prev: About pcl-cvs, Up: Top
643 This document assumes that you know what CVS is, and that you at
644 least knows the fundamental concepts of CVS. If that is not the case
645 you should read the man page for CVS.
647 Pcl-cvs is only useful once you have checked out a module. So
648 before you invoke it you must have a copy of a module somewhere in
651 You invoke pcl-cvs by typing `M-x cvs-update RET'. If your emacs
652 responds with `[No match]' your system administrator has not
653 installed pcl-cvs properly. Try `M-x load-library RET pcl-cvs RET'.
654 If that also fails - talk to your root. If it succeeds you might put
655 this line in your `.emacs' file so that you don't have to type the
656 `load-library' command every time you wish to use pcl-cvs:
658 (autoload 'cvs-update "pcl-cvs" nil t)
660 The function `cvs-update' will ask for a directory. The command
661 `cvs update' will be run in that directory. (It should contain files
662 that have been checked out from a CVS archive.) The output from
663 `cvs' will be parsed and presented in a table in a buffer called
664 `*cvs*'. It might look something like this:
666 PCL-CVS release 1.05.
668 In directory /users/ceder/FOO/test:
671 Modified ci namechange
674 In directory /users/ceder/FOO/test/sub:
675 Modified ci ChangeLog
678 In this example the three files (`bar', `file.txt' and `newer')
679 that are marked with `Updated' have been copied from the CVS
680 repository to `/users/ceder/FOO/test/' since someone else have
681 checked in newer versions of them. Two files (`namechange' and
682 `sub/ChangeLog') have been modified locally, and needs to be checked
685 You can move the cursor up and down in the buffer with `C-n' and
686 `C-p' or `n' and `p'. If you press `c' on one of the `Modified'
687 files that file will be checked in to the CVS repository. *Note
688 Committing changes::. You can press `x' to get rid of the
689 "uninteresting" files that have only been `Updated' (and don't
690 require any further action from you).
692 You can also easily get a `diff' between your modified file and the
693 base version that you started from, and you can get the output from
694 `cvs log' and `cvs status' on the listed files simply by pressing a
695 key (*note Getting info about files::.).
698 File: pcl-cvs, Node: Buffer contents, Next: Commands, Prev: Getting started, Up: Top
703 The display contains four columns. They contain, from left to
706 * An asterisk when the file is "marked" (*note Selected files::.).
708 * The status of the file. See *Note File status::, for more
711 * A "need to be checked in"-marker (`ci').
717 * File status:: The meaning of the second field.
718 * Selected files:: How selection works.
721 File: pcl-cvs, Node: File status, Next: Selected files, Prev: Buffer contents, Up: Buffer contents
726 The `file status' field can have the following values:
729 The file was brought up to date with respect to the repository.
730 This is done for any file that exists in the repository but not
731 in your source, and for files that you haven't changed but are
732 not the most recent versions available in the repository.
735 The file is modified in your working directory, and there was
736 no modification to the same file in the repository.
739 The file is modified in your working directory, and there were
740 modifications in the repository as well as in your copy, but
741 they were merged successfully, without conflict, in your working
745 A conflict was detected while trying to merge your changes to
746 FILE with changes from the source repository. FILE (the copy in
747 your working directory) is now the output of the `rcsmerge'
748 command on the two versions; an unmodified copy of your file is
749 also in your working directory, with the name `.#FILE.VERSION',
750 where VERSION is the RCS revision that your modified file started
751 from. *Note Viewing differences::, for more details.
754 The file has been added by you, but it still needs to be checked
755 in to the repository.
758 The file has been removed by you, but it needs to be checked in
759 to the repository. You can resurrect it by typing `a' (*note
760 Adding and removing files::.).
763 A file that was detected in your directory, but that neither
764 appears in the repository, nor is present on the list of files
765 that CVS should ignore.
767 There are also a few special cases, that rarely occur, which have
768 longer strings in the fields:
770 `Removed from repository'
771 The file has been removed from your directory since someone has
772 removed it from the repository. (It is still present in the
773 Attic directory, so no permanent loss has occurred). This,
774 unlike the other entries in this table, is not an error
777 `Removed from repository, changed by you'
778 You have modified a file that someone have removed from the
779 repository. You can correct this situation by removing the file
780 manually (see *note Adding and removing files::.).
782 `Removed by you, changed in repository'
783 You have removed a file, and before you committed the removal
784 someone committed a change to that file. You could use `a' to
785 resurrect the file (see *note Adding and removing files::.).
787 `Move away FILE - it is in the way'
788 For some reason CVS does not like the file FILE. Rename or
791 `This repository is missing! Remove this dir manually.'
792 It is impossible to remove a directory in the CVS repository in
793 a clean way. Someone have tried to remove one, and CVS gets
794 confused. Remove your copy of the directory.
797 File: pcl-cvs, Node: Selected files, Prev: File status, Up: Buffer contents
802 Many of the commands works on the current set of "selected" files.
804 * If there are any files that are marked they constitute the set of
807 * Otherwise, if the cursor points to a file, that file is the
810 * Otherwise, if the cursor points to a directory, all the files in
811 that directory that appears in the buffer are the selected files.
813 This scheme might seem a little complicated, but once one get used
814 to it, it is quite powerful.
816 *Note Marking files:: tells how you mark and unmark files.
819 File: pcl-cvs, Node: Commands, Next: Customization, Prev: Buffer contents, Up: Top
824 The nodes in this menu contains explanations about all the
825 commands that you can use in pcl-cvs. They are grouped together by
830 * Updating the directory:: Commands to update the local directory
831 * Movement commands:: How to move up and down in the buffer
832 * Marking files:: How to mark files that other commands
833 will later operate on.
834 * Committing changes:: Checking in your modifications to the
836 * Editing files:: Loading files into Emacs.
837 * Getting info about files:: Display the log and status of files.
838 * Adding and removing files:: Adding and removing files
839 * Undoing changes:: Undoing changes
840 * Removing handled entries:: Uninteresting lines can easily be removed.
841 * Ignoring files:: Telling CVS to ignore generated files.
842 * Viewing differences:: Commands to `diff' different versions.
844 * Reverting your buffers:: Reverting your buffers
845 * Miscellaneous commands:: Miscellaneous commands
848 File: pcl-cvs, Node: Updating the directory, Next: Movement commands, Prev: Commands, Up: Commands
850 Updating the directory
851 ======================
854 Run a `cvs update' command. You will be asked for the directory
855 in which the `cvs update' will be run. The output will be
856 parsed by pcl-cvs, and the result printed in the `*cvs*' buffer
857 (see *note Buffer contents::. for a description of the contents).
859 By default, `cvs-update' will descend recursively into
860 subdirectories. You can avoid that behavior by giving a prefix
861 argument to it (e.g., by typing `C-u M-x cvs-update RET').
863 All other commands in pcl-cvs requires that you have a `*cvs*'
864 buffer. This is the command that you use to get one.
866 CVS uses lock files in the repository to ensure the integrity of
867 the data files in the repository. They might be left behind
868 i.e. if a workstation crashes in the middle of a CVS operation.
869 CVS outputs a message when it is waiting for a lock file to go
870 away. Pcl-cvs will show the same message in the *cvs* buffer,
871 together with instructions for deleting the lock files. You
872 should normally not have to delete them manually -- just wait a
873 little while and the problem should fix itself. But if the lock
874 files doesn't disappear you can delete them with `M-x
875 cvs-delete-lock RET'.
878 This will run `cvs update' again. It will always use the same
879 buffer that was used with the previous `cvs update'. Give a
880 prefix argument to avoid descending into subdirectories. This
881 runs the command `cvs-mode-update-no-prompt'.
884 File: pcl-cvs, Node: Movement commands, Next: Marking files, Prev: Updating the directory, Up: Commands
889 You can use most normal Emacs commands to move forward and
890 backward in the buffer. Some keys are rebound to functions that take
891 advantage of the fact that the buffer is a pcl-cvs buffer:
896 These keys move the cursor one file forward, towards the end of
897 the buffer (`cookie-next-cookie').
901 These keys move one file backward, towards the beginning of the
902 buffer (`cookie-previous-cookie').
905 File: pcl-cvs, Node: Marking files, Next: Committing changes, Prev: Movement commands, Up: Commands
910 Pcl-cvs works on a set of "selected files" (*note Selected
911 files::.). You can mark and unmark files with these commands:
914 This marks the file that the cursor is positioned on. If the
915 cursor is positioned on a directory all files in that directory
916 will be marked. (`cvs-mode-mark').
919 Unmark the file that the cursor is positioned on. If the cursor
920 is on a directory, all files in that directory will be unmarked.
924 Mark *all* files in the buffer (`cvs-mode-mark-all-files').
927 Unmark *all* files (`cvs-mode-unmark-all-files').
930 Unmark the file on the previous line, and move point to that line
931 (`cvs-mode-unmark-up').
934 File: pcl-cvs, Node: Committing changes, Next: Editing files, Prev: Marking files, Up: Commands
940 All files that have a "need to be checked in"-marker (*note
941 Buffer contents::.) can be checked in with the `c' command. It
942 checks in all selected files (*note Selected files::.) (except
943 those who lack the "ci"-marker - they are ignored). Pressing
944 `c' causes `cvs-mode-commit' to be run.
946 When you press `c' you will get a buffer called
947 `*cvs-commit-message*'. Enter the log message for the file(s) in
948 it. When you are ready you should press `C-c C-c' to actually
949 commit the files (using `cvs-edit-done').
951 Normally the `*cvs-commit-message*' buffer will retain the log
952 message from the previous commit, but if the variable
953 `cvs-erase-input-buffer' is set to a non-`nil' value the buffer
954 will be erased. Point and mark will always be located around the
955 entire buffer so that you can easily erase it with `C-w'
958 If you are editing the files in your emacs an automatic
959 `revert-buffer' will be performed. (If the file contains `$Id$'
960 keywords `cvs commit' will write a new file with the new values
961 substituted. The auto-revert makes sure that you get them into
962 your buffer). The revert will not occur if you have modified
963 your buffer, or if `cvs-auto-revert-after-commit' is set to
967 File: pcl-cvs, Node: Editing files, Next: Getting info about files, Prev: Committing changes, Up: Commands
972 There are currently three commands that can be used to find a file
973 (that is, load it into a buffer and start editing it there). These
974 commands work on the line that the cursor is situated at. They
975 ignore any marked files.
978 Find the file that the cursor points to. Run `dired' (*note
979 Dired: (Emacs)Dired.) if the cursor points to a directory
980 (`cvs-mode-find-file').
983 Like `f', but use another window
984 (`cvs-mode-find-file-other-window').
987 Invoke `add-change-log-entry-other-window' to edit a `ChangeLog'
988 file. The `ChangeLog' will be found in the directory of the
989 file the cursor points to.
990 (`cvs-mode-add-change-log-entry-other-window').
993 File: pcl-cvs, Node: Getting info about files, Next: Adding and removing files, Prev: Editing files, Up: Commands
995 Getting info about files
996 ========================
998 Both of the following commands can be customized. *Note
1002 Run `cvs log' on all selected files, and show the result in a
1003 temporary buffer (`cvs-mode-log').
1006 Run `cvs status' on all selected files, and show the result in a
1007 temporary buffer (`cvs-mode-status').
1010 File: pcl-cvs, Node: Adding and removing files, Next: Undoing changes, Prev: Getting info about files, Up: Commands
1012 Adding and removing files
1013 =========================
1015 The following commands are available to make it easy to add and
1016 remove files from the CVS repository.
1019 Add all selected files. This command can be used on `Unknown'
1020 files (see *note File status::.). The status of the file will
1021 change to `Added', and you will have to use `c'
1022 (`cvs-mode-commit', see *note Committing changes::.) to really
1023 add the file to the repository.
1025 This command can also be used on `Removed' files (before you
1026 commit them) to resurrect them.
1028 Selected files that are neither `Unknown' nor `Removed' will be
1029 ignored by this command.
1031 The command that is run is `cvs-mode-add'.
1034 This command removes the selected files (after prompting for
1035 confirmation). The files are `rm'ed from your directory and
1036 (unless the status was `Unknown'; *note File status::.) they will
1037 also be `cvs remove'd. If the files were `Unknown' they will
1038 disappear from the buffer. Otherwise their status will change to
1039 `Removed', and you must use `c' (`cvs-mode-commit', *note
1040 Committing changes::.) to commit the removal.
1042 The command that is run is `cvs-mode-remove-file'.
1045 File: pcl-cvs, Node: Undoing changes, Next: Removing handled entries, Prev: Adding and removing files, Up: Commands
1051 If you have modified a file, and for some reason decide that you
1052 don't want to keep the changes, you can undo them with this
1053 command. It works by removing your working copy of the file and
1054 then getting the latest version from the repository
1055 (`cvs-mode-undo-local-changes'.
1058 File: pcl-cvs, Node: Removing handled entries, Next: Ignoring files, Prev: Undoing changes, Up: Commands
1060 Removing handled entries
1061 ========================
1064 This command allows you to remove all entries that you have
1065 processed. More specifically, the lines for `Updated' files
1066 (*note File status::. and files that have been checked in (*note
1067 Committing changes::.) are removed from the buffer. If a
1068 directory becomes empty the heading for that directory is also
1069 removed. This makes it easier to get an overview of what needs
1072 The command is called `cvs-mode-remove-handled'. If
1073 `cvs-auto-remove-handled' is set to non-`nil' this will
1074 automatically be performed after every commit.
1077 This command can be used for lines that
1078 `cvs-mode-remove-handled' would not delete, but that you want to
1079 delete (`cvs-mode-acknowledge').
1082 File: pcl-cvs, Node: Ignoring files, Next: Viewing differences, Prev: Removing handled entries, Up: Commands
1088 Arrange so that CVS will ignore the selected files. The file
1089 names are added to the `.cvsignore' file in the corresponding
1090 directory. If the `.cvsignore' doesn't exist it will be created.
1092 The `.cvsignore' file should normally be added to the repository,
1093 but you could ignore it also if you like it better that way.
1095 This runs `cvs-mode-ignore'.
1098 File: pcl-cvs, Node: Viewing differences, Next: Emerge, Prev: Ignoring files, Up: Commands
1104 Display a `cvs diff' between the selected files and the RCS
1105 version that they are based on. *Note Customization:: describes
1106 how you can send flags to `cvs diff'. If CVS-DIFF-IGNORE-MARKS
1107 is set to a non-`nil' value or if a prefix argument is given
1108 (but not both) any marked files will not be considered to be
1109 selected. (`cvs-mode-diff-cvs').
1112 If CVS finds a conflict while merging two versions of a file
1113 (during a `cvs update', *note Updating the directory::.) it will
1114 save the original file in a file called `.#FILE.VERSION' where
1115 FILE is the name of the file, and VERSION is the RCS version
1116 number that your file was based on.
1118 With the `b' command you can run a `diff' on the files
1119 `.#FILE.VERSION' and `FILE'. You can get a context- or Unidiff
1120 by setting `cvs-diff-flags' - *note Customization::.. This
1121 command only works on files that have status `Conflict' or
1124 If CVS-DIFF-IGNORE-MARKS is set to a non-`nil' value or if a
1125 prefix argument is given (but not both) any marked files will
1126 not be considered to be selected. (`cvs-mode-diff-backup').
1129 File: pcl-cvs, Node: Emerge, Next: Reverting your buffers, Prev: Viewing differences, Up: Commands
1135 Invoke `emerge' on one file. This command works slightly
1136 different depending on the file status.
1139 Run `emerge-files' with your working file as file A, and
1140 the latest revision in the repository as file B.
1144 Run `emerge-files-with-ancestor' with your working file (as
1145 it was prior to your invocation of `cvs-update') as file A,
1146 the latest revision in the repository as file B, and the
1147 revision that you based your local modifications on as
1150 *Note:* CVS has already performed a merge. The resulting file is
1151 not used in any way if you use this command. If you use the `q'
1152 command inside `emerge' (to successfully terminate the merge) the
1153 file that CVS created will be overwritten.
1156 File: pcl-cvs, Node: Reverting your buffers, Next: Miscellaneous commands, Prev: Emerge, Up: Commands
1158 Reverting your buffers
1159 ======================
1162 If you are editing (or just viewing) a file in a buffer, and
1163 that file is changed by CVS during a `cvs-update', all you have
1164 to do is type `R' in the *cvs* buffer to read in the new
1165 versions of the files.
1167 All files that are `Updated', `Merged' or in `Conflict' are
1168 reverted from the disk. Any other files are ignored. Only files
1169 that you were already editing are read.
1171 An error is signalled if you have modified the buffer since it
1172 was last changed. (`cvs-mode-revert-updated-buffers').
1175 File: pcl-cvs, Node: Miscellaneous commands, Prev: Reverting your buffers, Up: Commands
1177 Miscellaneous commands
1178 ======================
1180 `M-x cvs-byte-compile-files'
1181 Byte compile all selected files that end in .el.
1183 `M-x cvs-delete-lock'
1184 This command can be used in any buffer, and deletes the lock
1185 files that the *cvs* buffer informs you about. You should
1186 normally never have to use this command since CVS tries very
1187 carefully to always remove the lock files itself.
1189 You can only use this command when a message in the *cvs* buffer
1190 tells you so. You should wait a while before using this command
1191 in case someone else is running a cvs command.
1194 Bury the *cvs* buffer. (`bury-buffer').
1197 File: pcl-cvs, Node: Customization, Next: Future enhancements, Prev: Commands, Up: Top
1202 If you have an idea about any customization that would be handy but
1203 isn't present in this list, please tell me! *Note Bugs:: for info on
1206 `cvs-erase-input-buffer'
1207 If set to anything else than `nil' the edit buffer will be erased
1208 before you write the log message (*note Committing changes::.).
1210 `cvs-inhibit-copyright-message'
1211 The copyright message that is displayed on startup can be
1212 annoying after a while. Set this variable to `t' if you want to
1213 get rid of it. (But don't set this to `t' in the system defaults
1214 file - new users should see this message at least once).
1217 A list of strings to pass as arguments to the `cvs diff' and
1218 `diff' programs. This is used by `cvs-mode-diff-cvs' and
1219 `cvs-mode-diff-backup' (key `b', *note Viewing differences::.).
1220 If you prefer the Unidiff format you could add this line to your
1223 (setq cvs-diff-flags '("-u"))
1225 `cvs-diff-ignore-marks'
1226 If this variable is non-`nil' or if a prefix argument is given
1227 (but not both) to `cvs-mode-diff-cvs' or `cvs-mode-diff-backup'
1228 marked files are not considered selected.
1231 List of strings to send to `cvs log'. Used by `cvs-mode-log'
1232 (key `l', *note Getting info about files::.).
1235 List of strings to send to `cvs status'. Used by
1236 `cvs-mode-status' (key `s', *note Getting info about files::.).
1238 `cvs-auto-remove-handled'
1239 If this variable is set to any non-`nil' value
1240 `cvs-mode-remove-handled' will be called every time you check in
1241 files, after the check-in is ready. *Note Removing handled
1244 `cvs-auto-revert-after-commit'
1245 If this variable is set to any non-`nil' value any buffers you
1246 have that visit a file that is committed will be automatically
1247 reverted. This variable is default `t'. *Note Committing
1250 `cvs-update-prog-output-skip-regexp'
1251 The `-u' flag in the `modules' file can be used to run a command
1252 whenever a `cvs update' is performed (see cvs(5)). This regexp
1253 is used to search for the last line in that output. It is
1254 normally set to `"$"'. That setting is only correct if the
1255 command outputs nothing. Note that pcl-cvs will get very
1256 confused if the command outputs *anything* to `stderr'.
1259 This variable can be set to override `CVSROOT'. It should be a
1260 string. If it is set then everytime a cvs command is run it will
1261 be called as `cvs -d CVS-CVSROOT...' This can be useful if your
1262 site has several repositories.
1265 Pcl-cvs uses this *environment variable* to decide where to put
1266 the temporary files it needs. It defaults to `/tmp' if it is
1269 `cvs-commit-buffer-require-final-newline'
1270 When you enter a log message in the `*cvs-commit-message*' buffer
1271 pcl-cvs will normally automatically insert a trailing newline,
1272 unless there already is one. This behavior can be controlled via
1273 `cvs-commit-buffer-require-final-newline'. If it is `t' (the
1274 default behavior), a newline will always be appended. If it is
1275 `nil', newlines will never be appended. Any other value causes
1276 pcl-cvs to ask the user whenever there is no trailing newline in
1277 the commit message buffer.
1279 `cvs-sort-ignore-file'
1280 If this variable is set to any non-`nil' value the `.cvsignore'
1281 will always be sorted whenever you use `cvs-mode-ignore' to add
1282 a file to it. This option is on by default.
1285 File: pcl-cvs, Node: Future enhancements, Next: Bugs, Prev: Customization, Up: Top
1290 Pcl-cvs is still under development and needs a number of
1291 enhancements to be called complete. Below is my current wish-list
1292 for future releases of pcl-cvs. Please, let me know which of these
1293 features you want most. They are listed below in approximately the
1294 order that I currently think I will implement them in.
1296 * Rewritten parser code. There are many situations where pcl-cvs
1297 will fail to recognize the output from CVS. The situation could
1298 be greatly increased.
1300 * `cvs-status'. This will run `cvs status' in a directory and
1301 produce a buffer that looks pretty much like the current *cvs*
1302 buffer. That buffer will include information for all
1303 version-controlled files. (There will be a simple keystroke to
1304 remove all "uninteresting" files, that is, files that are
1305 "Up-to-date"). In this new buffer you will be able to update a
1306 file, commit a file, et c. The big win with this is that you
1307 will be able to watch the differences between your current
1308 working file and the head revision in the repository before you
1309 update the file, and you can then choose to update it or let it
1310 wait for a while longer.
1312 * Log mode. When this mode is finished you will be able to move
1313 around (using `n' and `p') between the revisions of a file, mark
1314 two of them, and run a diff between them. You will be able to
1315 hide branches (similar to the way you can hide sub-paragraphs in
1316 outline-mode) and do merges between revisions. Other ideas
1317 about this are welcome.
1319 * The current model for marks in the *cvs* buffer seems to be
1320 confusing. I am considering to use the VM model instead, where
1321 marks are normally inactive. To activate the mark, you issue a
1322 command like `cvs-mode-next-command-uses-marks'. I might
1323 implement a flag so that you can use either version. Feedback
1324 on this before I start coding it is very welcome.
1326 * It should be possible to run commands such as `cvs log', `cvs
1327 status' and `cvs commit' directly from a buffer containing a
1328 file, instead of having to `cvs-update'. If the directory
1329 contains many files the `cvs-update' can take quite some time,
1330 especially on a slow machine. I planed to put these kind of
1331 commands on the prefix `C-c C-v', but that turned out to be used
1332 by for instance c++-mode. If you have any suggestions for a
1333 better prefix key, please let me know.
1335 * Increased robustness. For instance, you can not currently press
1336 `C-g' when you are entering the description of a file that you
1337 are adding without confusing pcl-cvs.
1339 * Support for multiple active *cvs* buffers.
1341 * Dired support. I have an experimental `dired-cvs.el' that works
1342 together with CVS 1.2. Unfortunately I wrote it on top of a
1343 non-standard `dired.el', so it must be rewritten.
1345 * An ability to send user-supplied options to all the cvs commands.
1347 * Pcl-cvs is not at all clever about what it should do when `cvs
1348 update' runs a program (due to the `-u' option in the `modules'
1349 file -- see `cvs(5)'). The current release uses a regexp to
1350 search for the end. At the very least that regexp should be
1351 configured for different modules. Tell me if you have any idea
1352 about what is the right thing to do. In a perfect world the
1353 program should also be allowed to print to `stderr' without
1354 causing pcl-cvs to crash.
1356 If you miss something in this wish-list, let me know! I don't
1357 promise that I will write it, but I will at least try to coordinate
1358 the efforts of making a good Emacs front end to CVS. See *Note
1359 Bugs:: for information about how to reach me.
1361 So far, I have written most of pcl-cvs in my all-to-rare spare
1362 time. If you want pcl-cvs to be developed faster you can write a
1363 contract with Signum Support to do the extension. You can reach
1364 Signum Support by email to `info@signum.se' or via mail to Signum
1365 Support AB, Box 2044, S-580 02 Linkoping, Sweden. Phone: +46 (0) 13 -
1366 21 46 00. Fax: +46 (0) 13 - 21 47 00.
1369 File: pcl-cvs, Node: Bugs, Next: Function and Variable Index, Prev: Future enhancements, Up: Top
1371 Bugs (known and unknown)
1372 ************************
1374 If you find a bug or misfeature, don't hesitate to tell me! Send
1375 email to `ceder@lysator.liu.se'.
1377 If you have ideas for improvements, or if you have written some
1378 extensions to this package, I would like to hear from you. I hope
1379 that you find this package useful!
1381 Below is a partial list of currently known problems with pcl-cvs
1384 Commit causes Emacs to hang
1385 Emacs waits for the `cvs commit' command to finish before you can
1386 do anything. If you start a background job from the loginfo
1387 file you must take care that it closes `stdout' and `stderr' if
1388 you do not want to wait for it. (You do that with
1389 `background-command &>- 2&>- &' if you are starting
1390 `background-command' from a `/bin/sh' shell script).
1392 Your emacs will also hang if there was a lock file in the
1393 repository. In this case you can type `C-g' to get control over
1396 Name clash in Emacs 19
1397 This is really a bug in Elib or the Emacs 19 distribution. Both
1398 Elib and Emacs 19.6 through at least 19.10 contains a file named
1399 `cookie.el'. One of the files will have to be renamed, and we
1400 are currently negotiating about which of the files to rename.
1402 Commands while cvs-update is running
1403 It is possible to type commands in the *cvs* buffer while the
1404 update is running, but error messages is all that you will get.
1405 The error messages should be better.
1407 Unexpected output from CVS
1408 Unexpected output from CVS confuses pcl-cvs. It will currently
1409 create a bug report that you can mail to me. It should do
1410 something more civilized.
1413 File: pcl-cvs, Node: Function and Variable Index, Next: Concept Index, Prev: Bugs, Up: Top
1415 Function and Variable Index
1416 ***************************
1420 * bury-buffer: Miscellaneous commands.
1421 * cookie-next-cookie: Movement commands.
1422 * cookie-previous-cookie: Movement commands.
1423 * cvs-auto-remove-handled (variable): Customization.
1424 * cvs-auto-revert-after-commit (variable): Customization.
1425 * cvs-auto-revert-after-commit (variable): Committing changes.
1426 * cvs-byte-compile-files: Miscellaneous commands.
1427 * cvs-commit-buffer-require-final-newline (variable): Customization.
1428 * cvs-cvsroot (variable): Customization.
1429 * cvs-delete-lock: Updating the directory.
1430 * cvs-diff-flags (variable): Customization.
1431 * cvs-diff-ignore-marks (variable): Customization.
1432 * cvs-diff-ignore-marks (variable): Viewing differences.
1433 * cvs-erase-input-buffer (variable): Customization.
1434 * cvs-erase-input-buffer (variable): Committing changes.
1435 * cvs-inhibit-copyright-message (variable): Customization.
1436 * cvs-log-flags (variable): Customization.
1437 * cvs-mode-acknowledge: Removing handled entries.
1438 * cvs-mode-add: Adding and removing files.
1439 * cvs-mode-add-change-log-entry-other-window: Editing files.
1440 * cvs-mode-commit: Committing changes.
1441 * cvs-mode-diff-backup: Viewing differences.
1442 * cvs-mode-diff-cvs: Viewing differences.
1443 * cvs-mode-emerge: Emerge.
1444 * cvs-mode-find-file: Editing files.
1445 * cvs-mode-find-file-other-window: Editing files.
1446 * cvs-mode-ignore: Removing handled entries.
1447 * cvs-mode-log: Getting info about files.
1448 * cvs-mode-mark: Marking files.
1449 * cvs-mode-mark-all-files: Marking files.
1450 * cvs-mode-remove-file: Adding and removing files.
1451 * cvs-mode-remove-handled: Removing handled entries.
1452 * cvs-mode-revert-updated-buffers: Reverting your buffers.
1453 * cvs-mode-status: Getting info about files.
1454 * cvs-mode-undo-local-changes: Undoing changes.
1455 * cvs-mode-unmark: Marking files.
1456 * cvs-mode-unmark-all-files: Marking files.
1457 * cvs-mode-unmark-up: Marking files.
1458 * cvs-mode-update-no-prompt: Updating the directory.
1459 * cvs-sort-ignore-file (variable): Customization.
1460 * cvs-status-flags (variable): Customization.
1461 * cvs-update: Updating the directory.
1462 * cvs-update-prog-output-skip-regexp (variable): Customization.
1463 * TMPDIR (environment variable): Customization.
1466 File: pcl-cvs, Node: Concept Index, Next: Key Index, Prev: Function and Variable Index, Up: Top
1473 * -u option in modules file: Customization.
1474 * .cvsignore file, sorting: Customization.
1475 * About pcl-cvs: About pcl-cvs.
1476 * Active files: Selected files.
1477 * Added (file status): File status.
1478 * Adding files: Adding and removing files.
1479 * Archives: Archives.
1480 * Author, how to reach: Bugs.
1481 * Authors: Contributors.
1482 * Automatically inserting newline: Customization.
1483 * Automatically remove handled files: Customization.
1484 * Automatically sorting .cvsignore: Customization.
1485 * Buffer contents: Buffer contents.
1486 * Bugs, how to report them: Bugs.
1487 * Bugs, known: Bugs.
1488 * Byte compilation: Miscellaneous commands.
1489 * Ci: Committing changes.
1490 * Commit buffer: Committing changes.
1491 * Commit message, inserting newline: Customization.
1492 * Committing changes: Committing changes.
1493 * Conflict (file status): File status.
1494 * Conflicts, how to resolve them: Viewing differences.
1495 * Conflicts, resolving: Emerge.
1496 * Context diff, how to get: Customization.
1497 * Contributors: Contributors.
1498 * Copyright message, getting rid of it: Customization.
1499 * Customization: Customization.
1500 * Deleting files: Adding and removing files.
1501 * Diff: Viewing differences.
1502 * Dired: Editing files.
1503 * Edit buffer: Committing changes.
1504 * Editing files: Editing files.
1505 * Email archives: Archives.
1506 * Email to the author: Bugs.
1508 * Enhancements: Future enhancements.
1509 * Erasing commit message: Committing changes.
1510 * Erasing the input buffer: Customization.
1511 * Example run: Getting started.
1512 * Expunging uninteresting entries: Removing handled entries.
1514 * File selection: Selected files.
1515 * File status: File status.
1516 * Finding files: Editing files.
1517 * Flush changes: Undoing changes.
1518 * Ftp-sites: Archives.
1519 * Generating a typeset manual: Typeset manual installation.
1520 * Generating the on-line manual: On-line manual installation.
1521 * Getting pcl-cvs: Archives.
1522 * Getting rid of lock files: Miscellaneous commands.
1523 * Getting rid of the Copyright message.: Customization.
1524 * Getting rid of uninteresting lines: Removing handled entries.
1525 * Getting status: Getting info about files.
1526 * Getting the *cvs* buffer: Updating the directory.
1527 * Handled lines, removing them: Removing handled entries.
1528 * Info-file (how to generate): On-line manual installation.
1529 * Inhibiting the Copyright message.: Customization.
1530 * Installation: Installation.
1531 * Installation of elisp files: Pcl-cvs installation.
1532 * Installation of on-line manual: On-line manual installation.
1533 * Installation of typeset manual: Typeset manual installation.
1534 * Introduction: Getting started.
1535 * Invoking dired: Editing files.
1536 * Invoking emerge: Emerge.
1538 * Loading files: Editing files.
1539 * Lock files: Miscellaneous commands.
1540 * Log (RCS/cvs command): Getting info about files.
1541 * Manual installation (on-line): On-line manual installation.
1542 * Manual installation (typeset): Typeset manual installation.
1543 * Marked files: Selected files.
1544 * Marking files: Marking files.
1545 * Merged (file status): File status.
1546 * Modified (file status): File status.
1547 * Modules file (-u option): Customization.
1548 * Move away FILE - it is in the way (file status): File status.
1549 * Movement Commands: Movement commands.
1550 * On-line manual (how to generate): On-line manual installation.
1551 * Printing a manual: Typeset manual installation.
1552 * Problems, list of common: Bugs.
1553 * Putting files under CVS control: Adding and removing files.
1554 * Recompiling elisp files: Miscellaneous commands.
1555 * Removed (file status): File status.
1556 * Removed by you, changed in repository (file status): File status.
1557 * Removed from repository (file status): File status.
1558 * Removed from repository, changed by you (file status): File status.
1559 * Removing files: Adding and removing files.
1560 * Removing uninteresting (processed) lines: Removing handled entries.
1561 * Reporting bugs and ideas: Bugs.
1562 * Require final newline: Customization.
1563 * Resolving conflicts: Emerge.
1564 * Resurrecting files: Adding and removing files.
1565 * Reverting buffers: Reverting your buffers.
1566 * Reverting buffers after commit: Committing changes.
1567 * Reverting buffers after commit: Customization.
1568 * Selected files: Selected files.
1569 * Selecting files (commands to mark files): Marking files.
1571 * Sorting the .cvsignore file: Customization.
1572 * Status (cvs command): Getting info about files.
1573 * Syncing buffers: Reverting your buffers.
1574 * TeX - generating a typeset manual: Typeset manual installation.
1575 * This repository is missing!... (file status): File status.
1576 * Undo changes: Undoing changes.
1577 * Unidiff, how to get: Customization.
1578 * Uninteresting entries, getting rid of them: Removing handled entries.
1579 * Unknown (file status): File status.
1580 * Update program (-u option in modules file): Customization.
1581 * Updated (file status): File status.
1582 * Variables, list of all: Customization.
1583 * Viewing differences: Viewing differences.
1586 File: pcl-cvs, Node: Key Index, Prev: Concept Index, Up: Top
1593 * a - add a file: Adding and removing files.
1594 * A - add ChangeLog entry: Editing files.
1595 * b - diff backup file: Viewing differences.
1596 * c - commit files: Committing changes.
1597 * C-k - remove selected entries: Removing handled entries.
1598 * C-n - Move down one file: Movement commands.
1599 * C-p - Move up one file: Movement commands.
1600 * d - run cvs diff: Viewing differences.
1601 * DEL - unmark previous file: Marking files.
1602 * e - invoke emerge: Emerge.
1603 * ESC DEL - unmark all files: Marking files.
1604 * f - find file or directory: Editing files.
1605 * g - Rerun cvs update: Updating the directory.
1606 * l - run cvs log: Getting info about files.
1607 * m - marking a file: Marking files.
1608 * M - marking all files: Marking files.
1609 * n - Move down one file: Movement commands.
1610 * o - find file in other window: Editing files.
1611 * p - Move up on file: Movement commands.
1612 * q - bury the *cvs* buffer: Miscellaneous commands.
1613 * r - remove a file: Adding and removing files.
1614 * R - revert buffers: Reverting your buffers.
1615 * s - run cvs status: Getting info about files.
1616 * SPC - Move down one file: Movement commands.
1617 * U - undo changes: Undoing changes.
1618 * u - unmark a file: Marking files.
1619 * x - remove processed entries: Removing handled entries.
1625 Node: Copying
\7f3571
1626 Node: Installation
\7f22803
1627 Node: Pcl-cvs installation
\7f23593
1628 Node: On-line manual installation
\7f25654
1629 Node: Typeset manual installation
\7f26672
1630 Node: About pcl-cvs
\7f27411
1631 Node: Contributors
\7f27780
1632 Node: Archives
\7f29083
1633 Node: Getting started
\7f29662
1634 Node: Buffer contents
\7f32105
1635 Node: File status
\7f32654
1636 Node: Selected files
\7f35679
1637 Node: Commands
\7f36347
1638 Node: Updating the directory
\7f37558
1639 Node: Movement commands
\7f39217
1640 Node: Marking files
\7f39803
1641 Node: Committing changes
\7f40658
1642 Node: Editing files
\7f42124
1643 Node: Getting info about files
\7f42969
1644 Node: Adding and removing files
\7f43448
1645 Node: Undoing changes
\7f44799
1646 Node: Removing handled entries
\7f45259
1647 Node: Ignoring files
\7f46176
1648 Node: Viewing differences
\7f46706
1649 Node: Emerge
\7f48014
1650 Node: Reverting your buffers
\7f48988
1651 Node: Miscellaneous commands
\7f49685
1652 Node: Customization
\7f50427
1653 Node: Future enhancements
\7f54107
1655 Node: Function and Variable Index
\7f60079
1656 Node: Concept Index
\7f62872
1657 Node: Key Index
\7f69468