386BSD 0.1 development
[unix-history] / usr / othersrc / public / cvs-1.3 / README
@(#)README 1.23 92/04/10
CVS Kit, Version 1.3
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.
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.
-------------------------------------------------------------------------------
CVS is a freely available collection of programs that provide for software
release and revision control functions in a UNIX environment. It is
designed to work on top of the RCS distribution, V4 and later. CVS does
understand how to parse older RCS formats, but cannot do any of the fancier
features (like vendor branch support) without RCS branch support.
Short blurb from the manual page (larger blurb is included there):
cvs is a front end to the rcs(1) revision control system
which extends the notion of revision control from a collec-
tion of files in a single directory to a hierarchical col-
lection of directories consisting of revision controlled
files. These directories and files can be combined together
to form a software release. cvs provides the functions
necessary to manage these software releases and to control
the concurrent editing of source files among multiple
software developers.
And a whole lot more. See the man/cvs.1 file for more information.
-------------------------------------------------------------------------------
Special note to current CVS 1.0 and CVS 1.2 users:
--> You can skip this section and go straight to "Installation" if you <--
--> have not been running any previous releases of CVS. <--
The location of CVS administrative files has changed both for checked out
files and administrative files in the $CVSROOT. For checked out files the
old directory created was named "CVS.adm". The new directory is now named
"CVS". This release will take care to convert your old CVS.adm directories
into CVS directories when you first execute CVS 1.3 within the directory.
Also, the CVS/Entries file has changed format with this release, to support
the added functionality. The format is changed automagically when CVS
notices that your Entries file is in the old format. No tools are provided
for going back to the old formats, though. So, be sure that CVS 1.3 is
working at your site before you unleash it on your unsuspecting users!
Remember, this is an unsupported product, after all :-).
Within the source repository ($CVSROOT) the administrative files were kept
in the "CVSROOT.adm" directory. They are now kept within the "CVSROOT"
directory. Again, CVS 1.3 will attempt to rename the directory to CVSROOT
when it is first run. If you wish to run with CVS 1.3 and older CVS
releases for some time, you can make a symbolic link (after the rename has
occurred) so that the older CVS binaries will continue to work:
$ ln -s CVSROOT $CVSROOT/CVSROOT.adm
While CVS automagically renames the directory within $CVSROOT, it does *not*
rename any CVS/Repository pointers for checked out files. So, if you
had the modules file checked out based on CVS 1.2, you will need to
fix the CVS/Repository file by hand for CVS 1.3.
The file formats within $CVSROOT/CVSROOT are the same right now. But, CVS
1.3 has extended the modules format, which will break CVS 1.2 if you are
running them both. I suggest upgrading your entire network to CVS 1.3 as
soon as possible (once you have tested it, of course).
==> See the ChangeLog file in this directory to get a feel for what has
==> changed since the CVS 1.2 release. There is a lot there.
Finally, I do NOT recommend importing this CVS release on top of your
existing CVS 1.0 or CVS 1.2 release. There have been too many changes
to even bother with trying to use CVS for the merge. Instead, if you
have made local hacks to CVS, do:
$ cvs patch -rCVS1_2 cvs > cvs.local.hacks
Then move your CVS 1.0 or CVS 1.2 sources to a backup area with:
$ mv $CVSROOT/cvs $CVSROOT/cvs.old
Then follow the instructions below. When you are done installing the
new CVS, you can merge your hacks in (with patch or by hand) into your
new CVS 1.3 sources.
If you have already imported the CVS 1.3 ALPHA or CVS 1.3 BETA release, you
are welcome to import this CVS 1.3 release on top of that.
-------------------------------------------------------------------------------
Please read the INSTALL file for installation instructions. Brief summary:
$ ./configure
$ make
$ make install
$ ./cvsinit
-------------------------------------------------------------------------------
Mailing Lists:
I have setup the following mailing list for CVS users and other interested
parties. I have no idea what kind of volume will be generated on this
list. Nor can I guarantee to personally respond to questions posted to the
list. Anyway, the mailing list is:
info-cvs-request@prep.ai.mit.edu Requests for addition to or
removal from the mailing
list must be sent to this
address. Problems with the
list (like bounced mail)
should also be sent here.
Please be specific about
your email address.
info-cvs@prep.ai.mit.edu Questions, bugs, porting
problems, hints, or whatever
can be sent to this address.
-------------------------------------------------------------------------------
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 <dick@cs.vu.nl>, 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.)
<berliner@sun.com> 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 <polk@bsdi.com> 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 ChangeLog file.
David G. Grubbs <dgg@ksr.com> 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 <rich@cygnus.com> contributed many bug
fixes/enhancement as well as completing early reviews of the CVS 1.3 manual
pages.
Roland Pesch, Cygnus Support <pesch@cygnus.com> contributed brand new
cvs(1) and cvs(5) manual pages. We should all thank him for saving us from
my poor use of our language!
Paul Sander, HaL Computer Systems, Inc. <paul@hal.com> wrote and
contributed the code in lib/sighandle.c. I added support for POSIX, BSD,
and non-POSIX/non-BSD systems.
In addition to the above contributors, the following Beta testers deserve
special mention for their support. If I have left off your name, I
apologize. Just write to me and let me know.
Adam Stoller <ghoti+@andrew.cmu.edu>
Al Gaspar <gaspar@stlouis-emh2.army.mil>
Arnold Goldberg <ajg@ccd.harris.com>
Bob Forrest <forrest@gdc.com>
Brett Bergquist <bergquis@nms.gdc.com>
Carl Schaefer <schaefer@cisco.com>
Charlie Xiaoli Huang <epic!mimi!hxl@uunet.UU.NET>
Chris Moran <cjm@iris.mincom.oz.au>
Christopher C. Powell <powell@chevron.com>
D. Jason Penney <penneyj@servio.SLC.COM>
David C. Martin <dcmartin@fascet.msi.com>
David C. Martin <dcmartin@fascet.msi.com>
David Hampton <hampton@cisco.com>
David Keaton <dmk@craycos.com>
Francois Felix Ingrand <felix@vega.laas.fr>
George C. Hwa <hwa@Cadence.COM>
Greg Onufer <greg.onufer@eng.sun.com>,
Jeffrey P. Bakke <bakke@plains.NoDak.edu>
Jeffry Scott <pvi!jeffry@ncar.ucar.edu>,
John Clyne <clyne@redcloud.scd.ucar.EDU>
John Lagrue <John_Lagrue.Wgc-e@rx.xerox.com>
John P. Rouillard <rouilj@cs.umb.ed>
Josh Siegel <josh@rad.com>
Kent Williams <williams@herky.cs.uiowa.edu>
Lee E. Busby <busby@phoenix.ocf.llnl.gov>
Lee Iverson <leei@mcrcim.mcgill.edu>
Les Pennington <les@cac.washington.edu>
Matthew Kwan <mkwan@cs.mu.OZ.AU>
Michael Batchelor <michaelb@wshb.csms.com>
Patrick Smith <bnrmtl!pat@larry.mcrcim.mcgill.edu>
Paul Eggert <eggert@twinsun.com>
Per Cederqvist <ceder@LYSATOR.LiU.SE>
Ray Essick <essick@i88.isc.com>
Rich Mayfield <deltam!dm!rich@uunet.UU.NET>
Rob Savoye <rips!rob@solbourne.com>
Robert A. Osborne <isgtec!robert@uunet.uu.net>
Rusty Carruth <rusty%anasaz.uucp@asuvax.eas.asu.edu>
Sam Drake <drake@almaden.ibm.com>
Stephan Fruehauf <sfr%dasburo.UUCP%TUB.BITNET@mitvma.mit.edu>
Teemu Torma <Teemu.Torma@frend.fi>
Walter F. Hartheimer <walter@pins.com>
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 contrib/pcl-cvs.
-------------------------------------------------------------------------------
Jeff Polk
polk@BSDI.COM
Brian Berliner
berliner@Sun.COM