freebsd-dev/contrib/cvs
jdp 45124554c2 Fix a bug that shows up when checking out files by date with the
"-D date" command line option.  There is code in the original to
handle a special case.  If the date search finds revision 1.1 it
is supposed to check whether revision 1.1.1.1 has the same date
stamp, which would indicate that the file was originally brought
in with "cvs import".  In that case it is supposed to return the
vendor branch version 1.1.1.1.

However, there is a bug in the code.  It actually compares the date
of revision 1.1 for equality with the date given on the command
line -- clearly wrong.  This commit fixes the coding bug.

There is an additional bug which is _not_ fixed in this commit.
The date comparison should not be a strict equality test.  It should
allow a fudge factor of, say, 2-3 seconds.  Old versions of CVS
created the two revisions with two separate invocations of the RCS
"ci" command.  We have many old files in the tree in which the
dates of revisions 1.1 and 1.1.1.1 differ by 1 second.

Approved by:	peter
2000-10-29 03:56:49 +00:00
..
contrib Merge changes from 1.10.7 -> 1.11 into mainline. Note that the old 2000-10-02 06:43:58 +00:00
diff Merge changes from 1.10.7 -> 1.11 into mainline. Note that the old 2000-10-02 06:43:58 +00:00
doc This commit was generated by cvs2svn to compensate for changes in r66525, 2000-10-02 06:33:59 +00:00
lib This commit was generated by cvs2svn to compensate for changes in r66525, 2000-10-02 06:33:59 +00:00
man Merge changes from 1.10.7 -> 1.11 into mainline. Note that the old 2000-10-02 06:43:58 +00:00
src Fix a bug that shows up when checking out files by date with the 2000-10-29 03:56:49 +00:00
tools
acconfig.h Import cvs-1.11 onto vendor branch. 2000-10-02 06:33:59 +00:00
BUGS
ChangeLog Import cvs-1.11 onto vendor branch. 2000-10-02 06:33:59 +00:00
ChangeLog.zoo
config.h.in Import cvs-1.11 onto vendor branch. 2000-10-02 06:33:59 +00:00
configure Import cvs-1.11 onto vendor branch. 2000-10-02 06:33:59 +00:00
configure.in Import cvs-1.11 onto vendor branch. 2000-10-02 06:33:59 +00:00
COPYING
COPYING.LIB
cvs-format.el
DEVEL-CVS Import cvs-1.11 onto vendor branch. 2000-10-02 06:33:59 +00:00
FAQ Import cvs-1.11 onto vendor branch. 2000-10-02 06:33:59 +00:00
FREEBSD-upgrade Merge changes from 1.10.7 -> 1.11 into mainline. Note that the old 2000-10-02 06:43:58 +00:00
HACKING Import cvs-1.11 onto vendor branch. 2000-10-02 06:33:59 +00:00
INSTALL Import cvs-1.11 onto vendor branch. 2000-10-02 06:33:59 +00:00
install-sh Import cvs-1.11 onto vendor branch. 2000-10-02 06:33:59 +00:00
Makefile.in Import cvs-1.11 onto vendor branch. 2000-10-02 06:33:59 +00:00
MINOR-BUGS
mkinstalldirs Import cvs-1.11 onto vendor branch. 2000-10-02 06:33:59 +00:00
NEWS Import cvs-1.11 onto vendor branch. 2000-10-02 06:33:59 +00:00
PROJECTS
README Import cvs-1.11 onto vendor branch. 2000-10-02 06:33:59 +00:00
stamp-h.in
TESTS Import cvs-1.11 onto vendor branch. 2000-10-02 06:33:59 +00:00
TODO Import cvs-1.11 onto vendor branch. 2000-10-02 06:33:59 +00:00

				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:

	$ ./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 <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 bottom of the NEWS file (from about 1992).

david d `zoo' zuhn <zoo@armadillo.com> 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 <dgg@odi.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, then of Cygnus Support <roland@wrs.com> 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. <paul@hal.com> 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 <info@cygnus.com> 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 <mdb@cisco.com>
	Per Cederqvist <ceder@signum.se>
	J.T. Conklin <jtc@cygnus.com>
	Vince DeMarco <vdemarco@fdcsrvr.cs.mci.com>
	Paul Eggert <eggert@twinsun.com>
	Lal George <george@research.att.com>
	Dean E. Hardi <Dean.E.Hardi@ccmail.jpl.nasa.gov>
	Mike Heath <mike@pencom.com>
	Jim Kingdon <kingdon@cygnus.com>
	Bernd Leibing <bernd.leibing@rz.uni-ulm.de>
	Benedict Lofstedt <benedict@tusc.com.au>
	Dave Love <d.love@dl.ac.uk>
	Robert Lupton the Good <rhl@astro.princeton.edu>
	Tom McAliney <tom@hilco.com>
	Eberhard Mattes <mattes@azu.informatik.uni-stuttgart.de>
	Jim Meyering <meyering@comco.com>
	Thomas Mohr <mohr@lts.sel.alcatel.de>
	Thomas Nilsson <thoni@softlab.se>
	Raye Raskin <raye.raskin@lia.com>
	Harlan Stenn <harlan@landmark.com>
	Gunnar Tornblom <gunnar.tornblom@senet.abb.se>
	Greg A. Woods <woods@planix.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 tools/pcl-cvs.