Files
oldlinux-files/gnu/cvs.README
2024-02-19 00:24:47 -05:00

147 lines
6.0 KiB
Plaintext

$Id: README,v 1.3 89/11/19 23:15:11 berliner Exp $
CVS Kit, Version 1.0
Copyright (c) 1989, Brian Berliner
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.
--------------------------------------------------------------------------
This is the first release of CVS -- Concurrent Version System.
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 (uses the V4 branch
support). 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.
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.
Brian Berliner from Prisma, 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, and
a copy of the USENIX article presented at the Winter 1990 USENIX
Conference, Washington D.C., is included in the "doc" directory.
This code has been tested extensively on Sun-4 and Sun-3 platforms, all
running SunOS 4.X. Your mileage may vary for other systems, and I would
really appreciate hearing back on what was necessary to get this beast
working on other platforms.
Installation:
1) Edit the top-level Makefile (in this directory) and set DESTDIR to the
location of local binaries. Also adjust CFLAGS and LDFLAGS
appropriately as well. May also need to edit the man/Makefile file to
be sure that manual pages will be dropped in the correct place for your
system.
2) Edit the src/cvs.h header file. Appropriate things to look at may be
the hard-coded locations of programs like DIFF, GREP, RM, and SORT.
Also glance at the default values for the environment variables that
CVS uses, in particular, the RCSBIN variable, which holds the path to
where the RCS programs live on your system.
3) make depend
To get the Makefiles to use *your* include dependencies, not mine.
4) make
This will (hopefully) make the needed CVS binaries within the "src"
directory.
5) make install
If all goes well above, install the binaries and manual pages.
Depending on your instrallation's configuration, you may need to be
root to do this.
6) man cvs
Take a look at the CVS manual page to see what it can do for you, and
if it fits your environment (or can possibly be made to fit your
environment). If things look good, continue on...
7) Setup the master source repository. Choose a directory with ample disk
space available for source files. This is where the RCS ",v" files
will be stored. Say you choose "/src/master" as the root of your
source repository. Make the CVSROOT.adm directory in the root of the
source repository: "mkdir /src/master/CVSROOT.adm". Populate this
directory with the files from the "examples" directory included with
this release (loginfo and modules). Edit these files
(/src/master/CVSROOT.adm/{loginfo,modules}) to reflect your local
source repository environment -- they may be quite small initially, but
will grow as sources are added to your source repository. Turn these
files into RCS controlled files:
cd /src/master/CVSROOT.adm
ci -m'Initial loginfo file' loginfo
ci -m'Initial modules file' modules
8) mkmodules /src/master/CVSROOT.adm
This will build the ndbm(3) file for the modules database. mkmodules
should have been installed above by the "make install" done in step 5.
If mkmodules cannot be found, check your PATH or try "rehash".
9) Have all users of the CVS system set the CVSROOT environment variable
appropriately to reflect the placement of your source repository. If
the above example is used, the following commands can be placed in
user's ~/.login or ~/.profile file:
setenv CVSROOT /src/master
for csh users, and
CVSROOT=/src/master; export CVSROOT
for sh users.
10) It might be a good idea to jump right in and put the CVS distribution
directly under CVS control. From within the top-level directory of the
CVS distribution (the one that contains this README file) do the
following commands:
mkdir $CVSROOT/cvs
checkin -m 'CVS 1.0 distribution' cvs CVS CVS1_0
11) Having done step 10, one should be able to checkout a copy of the CVS
distribution and hack away at the sources with the following command:
cvs checkout cvs
This will make the directory "cvs" in your current directory and
populate it with the appropriate CVS files and directories.
12) Remember to edit the modules file manually when sources are checked in
with "checkin" or "cvs add". A copy of the modules file for editing
can usually be retrieved with the "cvs checkout modules" command, and
definitely with the "cvs checkout CVSROOT.adm" command.
13) PLEASE report any problems to me, berliner@prisma.com (Brian Berliner)
and I will try to collect patches and enhancements into future CVS
distributions. "patch" format files are best, using context diffs,
if you will.
14) GOOD LUCK!
Brian Berliner
berliner@prisma.com