diff options
Diffstat (limited to 'gnu/usr.bin/cvs/contrib/pcl-cvs/pcl-cvs.info-1')
-rw-r--r-- | gnu/usr.bin/cvs/contrib/pcl-cvs/pcl-cvs.info-1 | 1195 |
1 files changed, 1195 insertions, 0 deletions
diff --git a/gnu/usr.bin/cvs/contrib/pcl-cvs/pcl-cvs.info-1 b/gnu/usr.bin/cvs/contrib/pcl-cvs/pcl-cvs.info-1 new file mode 100644 index 00000000000..a56b771d50f --- /dev/null +++ b/gnu/usr.bin/cvs/contrib/pcl-cvs/pcl-cvs.info-1 @@ -0,0 +1,1195 @@ +This is Info file pcl-cvs.info, produced by Makeinfo-1.55 from the +input file ./pcl-cvs.texinfo. + + Copyright (C) 1992 Per Cederqvist + + Permission is granted to make and distribute verbatim copies of +this manual provided the copyright notice and this permission notice +are preserved on all copies. + + Permission is granted to copy and distribute modified versions of +this manual under the conditions for verbatim copying, provided also +that the section entitled "GNU General Public License" is included +exactly as in the original, and provided that the entire resulting +derived work is distributed under the terms of a permission notice +identical to this one. + + Permission is granted to copy and distribute translations of this +manual into another language, under the above conditions for modified +versions, except that the section entitled "GNU General Public +License" and this permission notice may be included in translations +approved by the Free Software Foundation instead of in the original +English. + + +File: pcl-cvs.info, Node: Top, Next: Copying, Prev: (dir), Up: (dir) + + This info manual describes pcl-cvs which is a GNU Emacs front-end +to CVS. It works with CVS version 1.3. This manual is updated to +release 1.05 of pcl-cvs. + +* Menu: + +* Copying:: GNU General Public License +* Installation:: How to install pcl-cvs on your system. +* About pcl-cvs:: Authors and ftp sites. + +* Getting started:: An introduction with a walk-through example. +* Buffer contents:: An explanation of the buffer contents. +* Commands:: All commands, grouped by type. + +* Customization:: How you can tailor pcl-cvs to suit your needs. +* Future enhancements:: Future enhancements of pcl-cvs. +* Bugs:: Bugs (known and unknown). +* Function and Variable Index:: List of functions and variables. +* Concept Index:: List of concepts. +* Key Index:: List of keystrokes. + + -- The Detailed Node Listing -- + +Installation + +* Pcl-cvs installation:: How to install pcl-cvs on your system. +* On-line manual installation:: How to install the on-line manual. +* Typeset manual installation:: How to create typeset documentation + about pcl-cvs. + +About pcl-cvs + +* Contributors:: Contributors to pcl-cvs. +* Archives:: Where can I get a copy of Pcl-Cvs? + +Buffer contents + +* File status:: The meaning of the second field. +* Selected files:: How selection works. + +Commands + +* Updating the directory:: Commands to update the local directory +* Movement commands:: How to move up and down in the buffer +* Marking files:: How to mark files that other commands + will later operate on. +* Committing changes:: Checking in your modifications to the + CVS repository. +* Editing files:: Loading files into Emacs. +* Getting info about files:: Display the log and status of files. +* Adding and removing files:: Adding and removing files +* Undoing changes:: Undoing changes +* Removing handled entries:: Uninteresting lines can easily be removed. +* Ignoring files:: Telling CVS to ignore generated files. +* Viewing differences:: Commands to `diff' different versions. +* Emerge:: +* Reverting your buffers:: Reverting your buffers +* Miscellaneous commands:: Miscellaneous commands + + +File: pcl-cvs.info, Node: Copying, Next: Installation, Prev: Top, Up: Top + +GNU GENERAL PUBLIC LICENSE +************************** + + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 675 Mass Ave, Cambridge, MA 02139, USA + + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +Preamble +======== + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, +and (2) offer you this license which gives you legal permission to +copy, distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make +certain that everyone understands that there is no warranty for this +free software. If the software is modified by someone else and +passed on, we want its recipients to know that what they have is not +the original, so that any problems introduced by others will not +reflect on the original authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at +all. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 1. This License applies to any program or other work which contains + a notice placed by the copyright holder saying it may be + distributed under the terms of this General Public License. The + "Program", below, refers to any such program or work, and a + "work based on the Program" means either the Program or any + derivative work under copyright law: that is to say, a work + containing the Program or a portion of it, either verbatim or + with modifications and/or translated into another language. + (Hereinafter, translation is included without limitation in the + term "modification".) Each licensee is addressed as "you". + + Activities other than copying, distribution and modification are + not covered by this License; they are outside its scope. The + act of running the Program is not restricted, and the output + from the Program is covered only if its contents constitute a + work based on the Program (independent of having been made by + running the Program). Whether that is true depends on what the + Program does. + + 2. You may copy and distribute verbatim copies of the Program's + source code as you receive it, in any medium, provided that you + conspicuously and appropriately publish on each copy an + appropriate copyright notice and disclaimer of warranty; keep + intact all the notices that refer to this License and to the + absence of any warranty; and give any other recipients of the + Program a copy of this License along with the Program. + + You may charge a fee for the physical act of transferring a + copy, and you may at your option offer warranty protection in + exchange for a fee. + + 3. You may modify your copy or copies of the Program or any portion + of it, thus forming a work based on the Program, and copy and + distribute such modifications or work under the terms of Section + 1 above, provided that you also meet all of these conditions: + + a. You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any + change. + + b. You must cause any work that you distribute or publish, + that in whole or in part contains or is derived from the + Program or any part thereof, to be licensed as a whole at + no charge to all third parties under the terms of this + License. + + c. If the modified program normally reads commands + interactively when run, you must cause it, when started + running for such interactive use in the most ordinary way, + to print or display an announcement including an + appropriate copyright notice and a notice that there is no + warranty (or else, saying that you provide a warranty) and + that users may redistribute the program under these + conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive + but does not normally print such an announcement, your work + based on the Program is not required to print an + announcement.) + + These requirements apply to the modified work as a whole. If + identifiable sections of that work are not derived from the + Program, and can be reasonably considered independent and + separate works in themselves, then this License, and its terms, + do not apply to those sections when you distribute them as + separate works. But when you distribute the same sections as + part of a whole which is a work based on the Program, the + distribution of the whole must be on the terms of this License, + whose permissions for other licensees extend to the entire + whole, and thus to each and every part regardless of who wrote + it. + + Thus, it is not the intent of this section to claim rights or + contest your rights to work written entirely by you; rather, the + intent is to exercise the right to control the distribution of + derivative or collective works based on the Program. + + In addition, mere aggregation of another work not based on the + Program with the Program (or with a work based on the Program) + on a volume of a storage or distribution medium does not bring + the other work under the scope of this License. + + 4. You may copy and distribute the Program (or a work based on it, + under Section 2) in object code or executable form under the + terms of Sections 1 and 2 above provided that you also do one of + the following: + + a. Accompany it with the complete corresponding + machine-readable source code, which must be distributed + under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + b. Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than + your cost of physically performing source distribution, a + complete machine-readable copy of the corresponding source + code, to be distributed under the terms of Sections 1 and 2 + above on a medium customarily used for software + interchange; or, + + c. Accompany it with the information you received as to the + offer to distribute corresponding source code. (This + alternative is allowed only for noncommercial distribution + and only if you received the program in object code or + executable form with such an offer, in accord with + Subsection b above.) + + The source code for a work means the preferred form of the work + for making modifications to it. For an executable work, + complete source code means all the source code for all modules + it contains, plus any associated interface definition files, + plus the scripts used to control compilation and installation of + the executable. However, as a special exception, the source + code distributed need not include anything that is normally + distributed (in either source or binary form) with the major + components (compiler, kernel, and so on) of the operating system + on which the executable runs, unless that component itself + accompanies the executable. + + If distribution of executable or object code is made by offering + access to copy from a designated place, then offering equivalent + access to copy the source code from the same place counts as + distribution of the source code, even though third parties are + not compelled to copy the source along with the object code. + + 5. You may not copy, modify, sublicense, or distribute the Program + except as expressly provided under this License. Any attempt + otherwise to copy, modify, sublicense or distribute the Program + is void, and will automatically terminate your rights under this + License. However, parties who have received copies, or rights, + from you under this License will not have their licenses + terminated so long as such parties remain in full compliance. + + 6. You are not required to accept this License, since you have not + signed it. However, nothing else grants you permission to + modify or distribute the Program or its derivative works. These + actions are prohibited by law if you do not accept this License. + Therefore, by modifying or distributing the Program (or any + work based on the Program), you indicate your acceptance of this + License to do so, and all its terms and conditions for copying, + distributing or modifying the Program or works based on it. + + 7. Each time you redistribute the Program (or any work based on the + Program), the recipient automatically receives a license from the + original licensor to copy, distribute or modify the Program + subject to these terms and conditions. You may not impose any + further restrictions on the recipients' exercise of the rights + granted herein. You are not responsible for enforcing + compliance by third parties to this License. + + 8. If, as a consequence of a court judgment or allegation of patent + infringement or for any other reason (not limited to patent + issues), conditions are imposed on you (whether by court order, + agreement or otherwise) that contradict the conditions of this + License, they do not excuse you from the conditions of this + License. If you cannot distribute so as to satisfy + simultaneously your obligations under this License and any other + pertinent obligations, then as a consequence you may not + distribute the Program at all. For example, if a patent license + would not permit royalty-free redistribution of the Program by + all those who receive copies directly or indirectly through you, + then the only way you could satisfy both it and this License + would be to refrain entirely from distribution of the Program. + + If any portion of this section is held invalid or unenforceable + under any particular circumstance, the balance of the section is + intended to apply and the section as a whole is intended to + apply in other circumstances. + + It is not the purpose of this section to induce you to infringe + any patents or other property right claims or to contest + validity of any such claims; this section has the sole purpose + of protecting the integrity of the free software distribution + system, which is implemented by public license practices. Many + people have made generous contributions to the wide range of + software distributed through that system in reliance on + consistent application of that system; it is up to the + author/donor to decide if he or she is willing to distribute + software through any other system and a licensee cannot impose + that choice. + + This section is intended to make thoroughly clear what is + believed to be a consequence of the rest of this License. + + 9. If the distribution and/or use of the Program is restricted in + certain countries either by patents or by copyrighted + interfaces, the original copyright holder who places the Program + under this License may add an explicit geographical distribution + limitation excluding those countries, so that distribution is + permitted only in or among countries not thus excluded. In such + case, this License incorporates the limitation as if written in + the body of this License. + + 10. The Free Software Foundation may publish revised and/or new + versions of the General Public License from time to time. Such + new versions will be similar in spirit to the present version, + but may differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the + Program specifies a version number of this License which applies + to it and "any later version", you have the option of following + the terms and conditions either of that version or of any later + version published by the Free Software Foundation. If the + Program does not specify a version number of this License, you + may choose any version ever published by the Free Software + Foundation. + + 11. If you wish to incorporate parts of the Program into other free + programs whose distribution conditions are different, write to + the author to ask for permission. For software which is + copyrighted by the Free Software Foundation, write to the Free + Software Foundation; we sometimes make exceptions for this. Our + decision will be guided by the two goals of preserving the free + status of all derivatives of our free software and of promoting + the sharing and reuse of software generally. + + NO WARRANTY + + 12. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO + WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE + LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT + HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT + WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY + AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE + QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE + PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY + SERVICING, REPAIR OR CORRECTION. + + 13. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN + WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY + MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE + LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, + INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR + INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS + OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY + YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH + ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + +Appendix: How to Apply These Terms to Your New Programs +======================================================= + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these +terms. + + To do so, attach the following notices to the program. It is +safest to attach them to the start of each source file to most +effectively convey the exclusion of warranty; and each file should +have at least the "copyright" line and a pointer to where the full +notice is found. + + ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES. + Copyright (C) 19YY NAME OF AUTHOR + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + Also add information on how to contact you by electronic and paper +mail. + + If the program is interactive, make it output a short notice like +this when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) 19YY NAME OF AUTHOR + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + + The hypothetical commands `show w' and `show c' should show the +appropriate parts of the General Public License. Of course, the +commands you use may be called something other than `show w' and +`show c'; they could even be mouse-clicks or menu items--whatever +suits your program. + + You should also get your employer (if you work as a programmer) or +your school, if any, to sign a "copyright disclaimer" for the +program, if necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + SIGNATURE OF TY COON, 1 April 1989 + Ty Coon, President of Vice + + This General Public License does not permit incorporating your +program into proprietary programs. If your program is a subroutine +library, you may consider it more useful to permit linking +proprietary applications with the library. If this is what you want +to do, use the GNU Library General Public License instead of this +License. + + +File: pcl-cvs.info, Node: Installation, Next: About pcl-cvs, Prev: Copying, Up: Top + +Installation +************ + + This section describes the installation of pcl-cvs, the GNU Emacs +CVS front-end. You should install not only the elisp files +themselves, but also the on-line documentation so that your users +will know how to use it. You can create typeset documentation from +the file `pcl-cvs.texinfo' as well as an on-line info file. The +following steps are also described in the file `INSTALL' in the source +directory. + +* Menu: + +* Pcl-cvs installation:: How to install pcl-cvs on your system. +* On-line manual installation:: How to install the on-line manual. +* Typeset manual installation:: How to create typeset documentation + about pcl-cvs. + + +File: pcl-cvs.info, Node: Pcl-cvs installation, Next: On-line manual installation, Prev: Installation, Up: Installation + +Installation of the pcl-cvs program +=================================== + + 1. Edit the file `Makefile' to reflect the situation at your site. + The only things you have to change is the definition of `lispdir' + and `infodir'. The elisp files will be copied to `lispdir', and + the info file to `infodir'. + + 2. Configure pcl-cvs.el + + There are a couple of paths that you have to check to make sure + that they match you system. They appear early in the file + pcl-cvs.el. + + *NOTE:* If your system is running emacs 18.57 or earlier you + MUST uncomment the line that says: + + (setq delete-exited-processes nil) + + Setting `delete-exited-processes' to `nil' works around a bug in + emacs that causes it to dump core. The bug was fixed in emacs + 18.58. + + 3. Release 1.05 and later of pcl-cvs requires parts of the Elib + library, version 0.07 or later. Elib is available via anonymous + ftp from prep.ai.mit.edu in `pub/gnu/elib-0.07.tar.z', and from + a lot of other sites that mirrors prep. Get Elib, and install + it, before proceeding. + + 4. Type `make install' in the source directory. This will + byte-compile all `.el' files and copy both the `.el' and the + `.elc' into the directory you specified in step 1. + + If you don't want to install the `.el' files but only the `.elc' + files (the byte-compiled files), you can type ``make + install_elc'' instead of ``make install''. + + If you only want to create the compiled elisp files, but don't + want to install them, you can type `make elcfiles' instead. + This is what happens if you only type `make' without parameters. + + 5. Edit the file `default.el' in your emacs lisp directory (usually + `/usr/gnu/emacs/lisp' or something similar) and enter the + contents of the file `pcl-cvs-startup.el' into it. It contains + a couple of `auto-load's that facilitates the use of pcl-cvs. + + + +File: pcl-cvs.info, Node: On-line manual installation, Next: Typeset manual installation, Prev: Pcl-cvs installation, Up: Installation + +Installation of the on-line manual. +=================================== + + 1. Create the info file `pcl-cvs' from `pcl-cvs.texinfo' by typing + `make info'. If you don't have the program `makeinfo' you can + get it by anonymous ftp from e.g. `ftp.gnu.ai.mit.edu' as + `pub/gnu/texinfo-2.14.tar.Z' (there might be a newer version + there when you read this), or you could use the preformatted + info file `pcl-cvs.info' that is included in the distribution + (type `cp pcl-cvs.info pcl-cvs'). + + 2. Move the info file `pcl-cvs' to your standard info directory. + This might be called something like `/usr/gnu/emacs/info'. + + 3. Edit the file `dir' in the info directory and enter one line to + contain a pointer to the info file `pcl-cvs'. The line can, for + instance, look like this: + + * Pcl-cvs: (pcl-cvs). An Emacs front-end to CVS. + + +File: pcl-cvs.info, Node: Typeset manual installation, Prev: On-line manual installation, Up: Installation + +How to make typeset documentation from pcl-cvs.texinfo +====================================================== + + If you have TeX installed at your site, you can make a typeset +manual from `pcl-cvs.texinfo'. + + 1. Run TeX by typing ``make pcl-cvs.dvi''. You will not get the + indices unless you have the `texindex' program. + + 2. Convert the resulting device independent file `pcl-cvs.dvi' to a + form which your printer can output and print it. If you have a + postscript printer there is a program, `dvi2ps', which does. + There is also a program which comes together with TeX, `dvips', + which you can use. + + + +File: pcl-cvs.info, Node: About pcl-cvs, Next: Getting started, Prev: Installation, Up: Top + +About pcl-cvs +************* + + Pcl-cvs is a front-end to CVS version 1.3. It integrates the most +frequently used CVS commands into emacs. + +* Menu: + +* Contributors:: Contributors to pcl-cvs. +* Archives:: Where can I get a copy of Pcl-Cvs? + + +File: pcl-cvs.info, Node: Contributors, Next: Archives, Prev: About pcl-cvs, Up: About pcl-cvs + +Contributors to pcl-cvs +======================= + + Contributions to the package are welcome. I have limited time to +work on this project, but I will gladly add any code that you +contribute to me to this package (*note Bugs::.). + + The following persons have made contributions to pcl-cvs. + + * Brian Berliner wrote CVS, together with some other contributors. + Without his work on CVS this package would be useless... + + * Per Cederqvist wrote most of the otherwise unattributed + functions in pcl-cvs as well as all documentation. + + * Inge Wallin (`inge@lysator.liu.se') wrote the skeleton to + `pcl-cvs.texinfo', and gave useful comments on it. He also wrote + the files `elib-node.el' and `compile-all.el'. The file + `cookie.el' was inspired by Inge. + + * Linus Tolke (`linus@lysator.liu.se') contributed useful comments + on both the functionality and the documentation. + + * Jamie Zawinski (`jwz@lucid.com') contributed `pcl-cvs-lucid.el'. + + * Leif Lonnblad contributed RCVS support. + + Apart from these, a lot of people have send me suggestions, ideas, +requests, bug reports and encouragement. Thanks a lot! Without your +there would be no new releases of pcl-cvs. + + +File: pcl-cvs.info, Node: Archives, Prev: Contributors, Up: About pcl-cvs + +Where can I get pcl-cvs? +======================== + + The latest release of pcl-cvs can be fetched via anonymous ftp from +`ftp.lysator.liu.se', (IP no. 130.236.254.1) in the directory +`pub/emacs'. If you don't live in Scandinavia you should probably +check with archie to see if there is a site closer to you that +archives pcl-cvs. + + New releases will be announced to appropriate newsgroups. If you +send your email address to me I will add you to my list of people to +mail when I make a new release. + + +File: pcl-cvs.info, Node: Getting started, Next: Buffer contents, Prev: About pcl-cvs, Up: Top + +Getting started +*************** + + This document assumes that you know what CVS is, and that you at +least knows the fundamental concepts of CVS. If that is not the case +you should read the man page for CVS. + + Pcl-cvs is only useful once you have checked out a module. So +before you invoke it you must have a copy of a module somewhere in +the file system. + + You invoke pcl-cvs by typing `M-x cvs-update RET'. If your emacs +responds with `[No match]' your system administrator has not +installed pcl-cvs properly. Try `M-x load-library RET pcl-cvs RET'. +If that also fails - talk to your root. If it succeeds you might put +this line in your `.emacs' file so that you don't have to type the +`load-library' command every time you wish to use pcl-cvs: + + (autoload 'cvs-update "pcl-cvs" nil t) + + The function `cvs-update' will ask for a directory. The command +`cvs update' will be run in that directory. (It should contain files +that have been checked out from a CVS archive.) The output from +`cvs' will be parsed and presented in a table in a buffer called +`*cvs*'. It might look something like this: + + PCL-CVS release 1.05. + + In directory /users/ceder/FOO/test: + Updated bar + Updated file.txt + Modified ci namechange + Updated newer + + In directory /users/ceder/FOO/test/sub: + Modified ci ChangeLog + ---------- End ----- + + In this example the three files (`bar', `file.txt' and `newer') +that are marked with `Updated' have been copied from the CVS +repository to `/users/ceder/FOO/test/' since someone else have +checked in newer versions of them. Two files (`namechange' and +`sub/ChangeLog') have been modified locally, and needs to be checked +in. + + You can move the cursor up and down in the buffer with `C-n' and +`C-p' or `n' and `p'. If you press `c' on one of the `Modified' +files that file will be checked in to the CVS repository. *Note +Committing changes::. You can press `x' to get rid of the +"uninteresting" files that have only been `Updated' (and don't +require any further action from you). + + You can also easily get a `diff' between your modified file and the +base version that you started from, and you can get the output from +`cvs log' and `cvs status' on the listed files simply by pressing a +key (*note Getting info about files::.). + + +File: pcl-cvs.info, Node: Buffer contents, Next: Commands, Prev: Getting started, Up: Top + +Buffer contents +*************** + + The display contains four columns. They contain, from left to +right: + + * An asterisk when the file is "marked" (*note Selected files::.). + + * The status of the file. See *Note File status::, for more + information. + + * A "need to be checked in"-marker (`ci'). + + * The file name. + +* Menu: + +* File status:: The meaning of the second field. +* Selected files:: How selection works. + + +File: pcl-cvs.info, Node: File status, Next: Selected files, Prev: Buffer contents, Up: Buffer contents + +File status +=========== + + The `file status' field can have the following values: + +`Updated' + The file was brought up to date with respect to the repository. + This is done for any file that exists in the repository but not + in your source, and for files that you haven't changed but are + not the most recent versions available in the repository. + +`Modified' + The file is modified in your working directory, and there was + no modification to the same file in the repository. + +`Merged' + The file is modified in your working directory, and there were + modifications in the repository as well as in your copy, but + they were merged successfully, without conflict, in your working + directory. + +`Conflict' + A conflict was detected while trying to merge your changes to + FILE with changes from the source repository. FILE (the copy in + your working directory) is now the output of the `rcsmerge' + command on the two versions; an unmodified copy of your file is + also in your working directory, with the name `.#FILE.VERSION', + where VERSION is the RCS revision that your modified file started + from. *Note Viewing differences::, for more details. + +`Added' + The file has been added by you, but it still needs to be checked + in to the repository. + +`Removed' + The file has been removed by you, but it needs to be checked in + to the repository. You can resurrect it by typing `a' (*note + Adding and removing files::.). + +`Unknown' + A file that was detected in your directory, but that neither + appears in the repository, nor is present on the list of files + that CVS should ignore. + + There are also a few special cases, that rarely occur, which have +longer strings in the fields: + +`Removed from repository' + The file has been removed from your directory since someone has + removed it from the repository. (It is still present in the + Attic directory, so no permanent loss has occurred). This, + unlike the other entries in this table, is not an error + condition. + +`Removed from repository, changed by you' + You have modified a file that someone have removed from the + repository. You can correct this situation by removing the file + manually (see *note Adding and removing files::.). + +`Removed by you, changed in repository' + You have removed a file, and before you committed the removal + someone committed a change to that file. You could use `a' to + resurrect the file (see *note Adding and removing files::.). + +`Move away FILE - it is in the way' + For some reason CVS does not like the file FILE. Rename or + remove it. + +`This repository is missing! Remove this dir manually.' + It is impossible to remove a directory in the CVS repository in + a clean way. Someone have tried to remove one, and CVS gets + confused. Remove your copy of the directory. + + +File: pcl-cvs.info, Node: Selected files, Prev: File status, Up: Buffer contents + +Selected files +============== + + Many of the commands works on the current set of "selected" files. + + * If there are any files that are marked they constitute the set of + selected files. + + * Otherwise, if the cursor points to a file, that file is the + selected file. + + * Otherwise, if the cursor points to a directory, all the files in + that directory that appears in the buffer are the selected files. + + This scheme might seem a little complicated, but once one get used +to it, it is quite powerful. + + *Note Marking files:: tells how you mark and unmark files. + + +File: pcl-cvs.info, Node: Commands, Next: Customization, Prev: Buffer contents, Up: Top + +Commands +******** + + The nodes in this menu contains explanations about all the +commands that you can use in pcl-cvs. They are grouped together by +type. + +* Menu: + +* Updating the directory:: Commands to update the local directory +* Movement commands:: How to move up and down in the buffer +* Marking files:: How to mark files that other commands + will later operate on. +* Committing changes:: Checking in your modifications to the + CVS repository. +* Editing files:: Loading files into Emacs. +* Getting info about files:: Display the log and status of files. +* Adding and removing files:: Adding and removing files +* Undoing changes:: Undoing changes +* Removing handled entries:: Uninteresting lines can easily be removed. +* Ignoring files:: Telling CVS to ignore generated files. +* Viewing differences:: Commands to `diff' different versions. +* Emerge:: +* Reverting your buffers:: Reverting your buffers +* Miscellaneous commands:: Miscellaneous commands + + +File: pcl-cvs.info, Node: Updating the directory, Next: Movement commands, Prev: Commands, Up: Commands + +Updating the directory +====================== + +`M-x cvs-update' + Run a `cvs update' command. You will be asked for the directory + in which the `cvs update' will be run. The output will be + parsed by pcl-cvs, and the result printed in the `*cvs*' buffer + (see *note Buffer contents::. for a description of the contents). + + By default, `cvs-update' will descend recursively into + subdirectories. You can avoid that behavior by giving a prefix + argument to it (e.g., by typing `C-u M-x cvs-update RET'). + + All other commands in pcl-cvs requires that you have a `*cvs*' + buffer. This is the command that you use to get one. + + CVS uses lock files in the repository to ensure the integrity of + the data files in the repository. They might be left behind + i.e. if a workstation crashes in the middle of a CVS operation. + CVS outputs a message when it is waiting for a lock file to go + away. Pcl-cvs will show the same message in the *cvs* buffer, + together with instructions for deleting the lock files. You + should normally not have to delete them manually -- just wait a + little while and the problem should fix itself. But if the lock + files doesn't disappear you can delete them with `M-x + cvs-delete-lock RET'. + +`g' + This will run `cvs update' again. It will always use the same + buffer that was used with the previous `cvs update'. Give a + prefix argument to avoid descending into subdirectories. This + runs the command `cvs-mode-update-no-prompt'. + + +File: pcl-cvs.info, Node: Movement commands, Next: Marking files, Prev: Updating the directory, Up: Commands + +Movement Commands +================= + + You can use most normal Emacs commands to move forward and +backward in the buffer. Some keys are rebound to functions that take +advantage of the fact that the buffer is a pcl-cvs buffer: + +`SPC' +`C-n' +`n' + These keys move the cursor one file forward, towards the end of + the buffer (`cookie-next-cookie'). + +`C-p' +`p' + These keys move one file backward, towards the beginning of the + buffer (`cookie-previous-cookie'). + + +File: pcl-cvs.info, Node: Marking files, Next: Committing changes, Prev: Movement commands, Up: Commands + +Marking files +============= + + Pcl-cvs works on a set of "selected files" (*note Selected +files::.). You can mark and unmark files with these commands: + +`m' + This marks the file that the cursor is positioned on. If the + cursor is positioned on a directory all files in that directory + will be marked. (`cvs-mode-mark'). + +`u' + Unmark the file that the cursor is positioned on. If the cursor + is on a directory, all files in that directory will be unmarked. + (`cvs-mode-unmark'). + +`M' + Mark *all* files in the buffer (`cvs-mode-mark-all-files'). + +`ESC DEL' + Unmark *all* files (`cvs-mode-unmark-all-files'). + +`DEL' + Unmark the file on the previous line, and move point to that line + (`cvs-mode-unmark-up'). + + +File: pcl-cvs.info, Node: Committing changes, Next: Editing files, Prev: Marking files, Up: Commands + +Committing changes +================== + +`c' + All files that have a "need to be checked in"-marker (*note + Buffer contents::.) can be checked in with the `c' command. It + checks in all selected files (*note Selected files::.) (except + those who lack the "ci"-marker - they are ignored). Pressing + `c' causes `cvs-mode-commit' to be run. + + When you press `c' you will get a buffer called + `*cvs-commit-message*'. Enter the log message for the file(s) in + it. When you are ready you should press `C-c C-c' to actually + commit the files (using `cvs-edit-done'). + + Normally the `*cvs-commit-message*' buffer will retain the log + message from the previous commit, but if the variable + `cvs-erase-input-buffer' is set to a non-`nil' value the buffer + will be erased. Point and mark will always be located around the + entire buffer so that you can easily erase it with `C-w' + (`kill-region'). + + If you are editing the files in your emacs an automatic + `revert-buffer' will be performed. (If the file contains `$Id: pcl-cvs.info-1,v 1.1 1995/12/19 09:21:41 deraadt Exp $' + keywords `cvs commit' will write a new file with the new values + substituted. The auto-revert makes sure that you get them into + your buffer). The revert will not occur if you have modified + your buffer, or if `cvs-auto-revert-after-commit' is set to + `nil'. + + +File: pcl-cvs.info, Node: Editing files, Next: Getting info about files, Prev: Committing changes, Up: Commands + +Editing files +============= + + There are currently three commands that can be used to find a file +(that is, load it into a buffer and start editing it there). These +commands work on the line that the cursor is situated at. They +ignore any marked files. + +`f' + Find the file that the cursor points to. Run `dired' (*note + Dired: (Emacs)Dired.) if the cursor points to a directory + (`cvs-mode-find-file'). + +`o' + Like `f', but use another window + (`cvs-mode-find-file-other-window'). + +`A' + Invoke `add-change-log-entry-other-window' to edit a `ChangeLog' + file. The `ChangeLog' will be found in the directory of the + file the cursor points to. + (`cvs-mode-add-change-log-entry-other-window'). + + +File: pcl-cvs.info, Node: Getting info about files, Next: Adding and removing files, Prev: Editing files, Up: Commands + +Getting info about files +======================== + + Both of the following commands can be customized. *Note +Customization::. + +`l' + Run `cvs log' on all selected files, and show the result in a + temporary buffer (`cvs-mode-log'). + +`s' + Run `cvs status' on all selected files, and show the result in a + temporary buffer (`cvs-mode-status'). + + +File: pcl-cvs.info, Node: Adding and removing files, Next: Undoing changes, Prev: Getting info about files, Up: Commands + +Adding and removing files +========================= + + The following commands are available to make it easy to add and +remove files from the CVS repository. + +`a' + Add all selected files. This command can be used on `Unknown' + files (see *note File status::.). The status of the file will + change to `Added', and you will have to use `c' + (`cvs-mode-commit', see *note Committing changes::.) to really + add the file to the repository. + + This command can also be used on `Removed' files (before you + commit them) to resurrect them. + + Selected files that are neither `Unknown' nor `Removed' will be + ignored by this command. + + The command that is run is `cvs-mode-add'. + +`r' + This command removes the selected files (after prompting for + confirmation). The files are `rm'ed from your directory and + (unless the status was `Unknown'; *note File status::.) they will + also be `cvs remove'd. If the files were `Unknown' they will + disappear from the buffer. Otherwise their status will change to + `Removed', and you must use `c' (`cvs-mode-commit', *note + Committing changes::.) to commit the removal. + + The command that is run is `cvs-mode-remove-file'. + + +File: pcl-cvs.info, Node: Undoing changes, Next: Removing handled entries, Prev: Adding and removing files, Up: Commands + +Undoing changes +=============== + +`U' + If you have modified a file, and for some reason decide that you + don't want to keep the changes, you can undo them with this + command. It works by removing your working copy of the file and + then getting the latest version from the repository + (`cvs-mode-undo-local-changes'. + + +File: pcl-cvs.info, Node: Removing handled entries, Next: Ignoring files, Prev: Undoing changes, Up: Commands + +Removing handled entries +======================== + +`x' + This command allows you to remove all entries that you have + processed. More specifically, the lines for `Updated' files + (*note File status::. and files that have been checked in (*note + Committing changes::.) are removed from the buffer. If a + directory becomes empty the heading for that directory is also + removed. This makes it easier to get an overview of what needs + to be done. + + The command is called `cvs-mode-remove-handled'. If + `cvs-auto-remove-handled' is set to non-`nil' this will + automatically be performed after every commit. + +`C-k' + This command can be used for lines that + `cvs-mode-remove-handled' would not delete, but that you want to + delete (`cvs-mode-acknowledge'). + + +File: pcl-cvs.info, Node: Ignoring files, Next: Viewing differences, Prev: Removing handled entries, Up: Commands + +Ignoring files +============== + +`i' + Arrange so that CVS will ignore the selected files. The file + names are added to the `.cvsignore' file in the corresponding + directory. If the `.cvsignore' doesn't exist it will be created. + + The `.cvsignore' file should normally be added to the repository, + but you could ignore it also if you like it better that way. + + This runs `cvs-mode-ignore'. + + +File: pcl-cvs.info, Node: Viewing differences, Next: Emerge, Prev: Ignoring files, Up: Commands + +Viewing differences +=================== + +`d' + Display a `cvs diff' between the selected files and the RCS + version that they are based on. *Note Customization:: describes + how you can send flags to `cvs diff'. If CVS-DIFF-IGNORE-MARKS + is set to a non-`nil' value or if a prefix argument is given + (but not both) any marked files will not be considered to be + selected. (`cvs-mode-diff-cvs'). + +`b' + If CVS finds a conflict while merging two versions of a file + (during a `cvs update', *note Updating the directory::.) it will + save the original file in a file called `.#FILE.VERSION' where + FILE is the name of the file, and VERSION is the RCS version + number that your file was based on. + + With the `b' command you can run a `diff' on the files + `.#FILE.VERSION' and `FILE'. You can get a context- or Unidiff + by setting `cvs-diff-flags' - *note Customization::.. This + command only works on files that have status `Conflict' or + `Merged'. + + If CVS-DIFF-IGNORE-MARKS is set to a non-`nil' value or if a + prefix argument is given (but not both) any marked files will + not be considered to be selected. (`cvs-mode-diff-backup'). + + +File: pcl-cvs.info, Node: Emerge, Next: Reverting your buffers, Prev: Viewing differences, Up: Commands + +Running emerge +============== + +`e' + Invoke `emerge' on one file. This command works slightly + different depending on the file status. + + `Modified' + Run `emerge-files' with your working file as file A, and + the latest revision in the repository as file B. + + `Merged' + `Conflict' + Run `emerge-files-with-ancestor' with your working file (as + it was prior to your invocation of `cvs-update') as file A, + the latest revision in the repository as file B, and the + revision that you based your local modifications on as + ancestor. + + *Note:* CVS has already performed a merge. The resulting file is + not used in any way if you use this command. If you use the `q' + command inside `emerge' (to successfully terminate the merge) the + file that CVS created will be overwritten. + + +File: pcl-cvs.info, Node: Reverting your buffers, Next: Miscellaneous commands, Prev: Emerge, Up: Commands + +Reverting your buffers +====================== + +`R' + If you are editing (or just viewing) a file in a buffer, and + that file is changed by CVS during a `cvs-update', all you have + to do is type `R' in the *cvs* buffer to read in the new + versions of the files. + + All files that are `Updated', `Merged' or in `Conflict' are + reverted from the disk. Any other files are ignored. Only files + that you were already editing are read. + + An error is signalled if you have modified the buffer since it + was last changed. (`cvs-mode-revert-updated-buffers'). + + +File: pcl-cvs.info, Node: Miscellaneous commands, Prev: Reverting your buffers, Up: Commands + +Miscellaneous commands +====================== + +`M-x cvs-byte-compile-files' + Byte compile all selected files that end in .el. + +`M-x cvs-delete-lock' + This command can be used in any buffer, and deletes the lock + files that the *cvs* buffer informs you about. You should + normally never have to use this command since CVS tries very + carefully to always remove the lock files itself. + + You can only use this command when a message in the *cvs* buffer + tells you so. You should wait a while before using this command + in case someone else is running a cvs command. + +`q' + Bury the *cvs* buffer. (`bury-buffer'). + |