CVS Kit Copyright (c) 1993-1994 Brian Berliner Copyright (c) 1992 Brian Berliner and Jeff Polk Copyright (c) 1989-1992, Brian Berliner All Rights Reserved 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 1, 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. ------------------------------------------------------------------------------- Welcome to CVS! If you have problems or think you have found a bug in CVS, see the section BUGS in the CVS manual (also known as Version Management with CVS by Per Cederqvist et al, or cvs.texinfo--see below for details). If you are thinking of submitting changes to CVS, see the file HACKING. Please consult the INSTALL file for information on tested configurations. If you have a comment about an already tested configuration, or have tried CVS on a new configuration, please let us know as described in INSTALL. Free software only works if we all help out. Finally, we cannot guarantee that this release will not completely wipe out all of your work from your system. We do some simple testing before each release, but you are completely on your own. We recommend testing this release on a source repository that is not critical to your work. THIS SOFTWARE IS SUPPLIED COMPLETELY "AS IS". NO WARRANTY.... Thanks for your support! -The CVS Team ------------------------------------------------------------------------------- What Is CVS? CVS is a version control system, which allows you to keep old versions of files (usually source code), keep a log of who, when, and why changes occurred, etc., like RCS or SCCS. It handles multiple developers, multiple directories, triggers to enable/log/control various operations, and can work over a wide area network. The following tasks are not included; they can be done in conjunction with CVS but will tend to require some script-writing and software other than CVS: bug-tracking, build management (that is, make and make-like tools), and automated testing. And a whole lot more. See the manual for more information. ------------------------------------------------------------------------------- Notes to people upgrading from a previous release of CVS: See the NEWS file for a description of features new in this version. See the Compatibility section of the manual for information on compatibility between CVS versions. The quick summary is that as long as you not using the optional watch features, there are no compatibility problems with CVS 1.5 or later. ------------------------------------------------------------------------------- Installation: Please read the INSTALL file for installation instructions. Brief summary: $ ./noautomake.sh --noautoconf $ ./configure $ make (run the regression tests if desired) $ make install (create a repository if you don't already have one) The documentation is in the doc subdirectory. cvs.texinfo is the main manual; cvs.info* and cvs.ps are the info and postscript versions, respectively, generated from cvs.texinfo. The postscript version is for US letter size paper; we do this not because we consider this size "better" than A4, but because we believe that the US letter version will print better on A4 paper than the other way around. If you want a version formatted for A4, add the line @afourpaper near the start of cvs.texinfo and re-generate cvs.ps using TeX. ------------------------------------------------------------------------------- * How do I get up-to-date information and information about other versions of CVS? On the web, http://www.loria.fr/~molli/cvs-index.html. See also http://www.cvshome.org The mailing list for CVS is info-cvs@gnu.org. Send subscription and removal requests for that list to info-cvs-request@gnu.org. The newsgroup for CVS (and other configuration management systems) is comp.software.config-mgmt. There is not yet a CVS-specific newsgroup, but perhaps if comp.software.config-mgmt gets enough CVS discussion, then it will be possible to create one. ------------------------------------------------------------------------------- Credits: The conflict-resolution algorithms and much of the administrative file definitions of CVS were based on the original package written by Dick Grune at Vrije Universiteit in Amsterdam , and posted to comp.sources.unix in the volume 6 release sometime in 1986. This original version was a collection of shell scripts. I am thankful that Dick made his work available. Brian Berliner from Prisma, Inc. (now at Sun Microsystems, Inc.) converted the original CVS shell scripts into reasonably fast C and added many, many features to support software release control functions. See the manual page in the "man" directory. A copy of the USENIX article presented at the Winter 1990 USENIX Conference, Washington D.C., is included in the "doc" directory. Jeff Polk from BSDI converted the CVS 1.2 sources into much more readable and maintainable C code. He also added a whole lot of functionality and modularity to the code in the process. See the bottom of the NEWS file (from about 1992). david d `zoo' zuhn contributed the working base code for CVS 1.4 Alpha. His work carries on from work done by K. Richard Pixley and others at Cygnus Support. The CVS 1.4 upgrade is due in large part to Zoo's efforts. David G. Grubbs contributed the CVS "history" and "release" commands. As well as the ever-so-useful "-n" option of CVS which tells CVS to show what it would do, without actually doing it. He also contributed support for the .cvsignore file. The Free Software Foundation (GNU) contributed most of the portability framework that CVS now uses. This can be found in the "configure" script, the Makefile's, and basically most of the "lib" directory. K. Richard Pixley, Cygnus Support contributed many bug fixes/enhancement as well as completing early reviews of the CVS 1.3 manual pages. Roland Pesch, then of Cygnus Support contributed brand new cvs(1) and cvs(5) manual pages. Thanks to him for saving us from poor use of our language! Paul Sander, HaL Computer Systems, Inc. wrote and contributed the code in lib/sighandle.c. I added support for POSIX, BSD, and non-POSIX/non-BSD systems. Jim Kingdon and others at Cygnus Support wrote the remote repository access code. There have been many, many contributions not listed here. Consult the ChangeLog files in each directory for a more complete idea. In addition to the above contributors, the following Beta testers deserve special mention for their support. This is only a partial list; if you have helped in this way and would like to be listed, let bug-cvs know (as described in the Cederqvist manual). Mark D. Baushke Per Cederqvist J.T. Conklin Vince DeMarco Paul Eggert Lal George Dean E. Hardi Mike Heath Jim Kingdon Bernd Leibing Benedict Lofstedt Dave Love Robert Lupton the Good Tom McAliney Eberhard Mattes Jim Meyering Thomas Mohr Thomas Nilsson Raye Raskin Harlan Stenn Gunnar Tornblom Greg A. Woods Many contributors have added code to the "contrib" directory. See the README file there for a list of what is available. There is also a contributed GNU Emacs CVS-mode in tools/pcl-cvs.