From: polk@uunet.uu.net (Jeff Polk)
Subject: Re: Ditto: Status of next release??
Summary: CVS works very well in this environment
Organization: UUNET Technologies, Inc
Date: Wed, 15 Apr 1992 22:15:29 GMT

In article <1992Apr15.205650.19966@tc.cornell.edu>, cchase@theory.TC.Cornell.EDU (Craig Chase) writes:
> Anyway, has anyone had experience with the GNU CVS revision control
> system?  It is a front end to RCS and, based on the descriptions I've
> read, would seem ideal for supporting the 386BSD development effort.
> It supports heirarchical source distributions (i.e. sub directories)
> and I think gnu diff/patch can supply patches for binary files.  This
> functionality should allow someone to define the CVS-modules in such a
> way that complete binary and/or source diffs for the entire 386BSD
> distribution could be generated with a single command.  There may also
> be a little bit of support for concurrent editing of the source files
> by different people.
> 
> We've had a few people offering their (and their computer's) services
> as archives.  Would someone be willing to set up a CVS repository for
> 386BSD?  It might help to get the current patch confusion under control.
> 
> Craig

I have worked extensively on the new version (1.3) of CVS and it is 
really becoming a nice product.  There are a few glitches in the port
to BSD/386, so I assume the same ones will exist in 386BSD.  We use it 
to manage our sources for BSD/386.  I also have a preliminary version 
of a remote access version which minimizes the amount of data sent 
over the network.  I hope to have time to finish it and incorporate it
into the next release of CVS.

Craig's speculation above is also correct.  The new CVS along with 
GNU diff and RCS 5.6 provides a very powerful means of managing sources
and binaries.  The only real problem with managing binaries is rapid
growth of the RCS files since the diffs are usually pretty extensive.
The patch command to CVS allows you to generate patch files in either 
normal context diff format or in uni-diff format.  A single command can
tell you all the changes from one version to another and/or create the
patch file.

One of CVS's biggest features over other source control systems is 
conflict mitigation.  CVS keeps track of which version each developer has
checked out and ensures that the checked out version is up-to-date with
the tree before allowing the user to commit changes.  Developers can 
update their sources at any time with the ``update'' command and CVS
will automatically merge changes from the repository into the local
files.  CVS generates a report of which files were updated, which files
required merging, and which files contained conflicts during the merge so 
you can go back and ensure everything is as it needs to be.

I've been using CVS since it was first written and it is by far the 
best system out there for the money :-).

If you have specific questions regarding CVS, you can contact me 
directly at polk@BSDI.COM or contact Brian Berliner 
(berliner@rmtc.Central.Sun.COM).

Jeff

 ==========================================================================
          /\      Jeff Polk             Berkeley Software Design, Inc. 
       /\/  \     polk@BSDI.COM         7759 Delmonico Drive
      /  \   \    719-260-8114          Colorado Springs, CO  80919
 ==========================================================================

Newsgroups: comp.unix.bsd