117721SpeterThu Sep 15 14:19:21 1994  david d `zoo' zuhn  <zoo@monad.armadillo.com>
217721Speter
317721Speter	* Makefile.in: define TEXI2DVI, add it to FLAGS_TO_PASS; remove
417721Speter	  old comments about parameters for DEFS
517721Speter
617721SpeterWed Jul 13 21:54:46 1994  david d `zoo' zuhn  (zoo@monad.armadillo.com)
717721Speter
817721Speter	* contrib/rcs-to-cvs: rewritten for Bourne shell (thanks to David
917721Speter	  MacKenzie <djm@cygnus.com>)
1017721Speter
1117721SpeterWed Jul 13 21:48:38 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
1217721Speter
1317721Speter	* Makefile.in: Deleted line consisting of only whitespace; it
1417721Speter	confuses some versions of make.
1517721Speter
1617721SpeterMon Jan 24 12:26:47 1994  david d zuhn  (zoo@monad.armadillo.com)
1717721Speter
1817721Speter	* configure.in: check for <sys/select.h> and <ndbm.h>
1917721Speter
2017721Speter	* Makefile.in: define YACC and not BISON
2117721Speter
2217721SpeterSat Dec 18 00:52:04 1993  david d zuhn  (zoo@monad.armadillo.com)
2317721Speter
2417721Speter	* config.h.in: handle HAVE_SYS_WAIT_H, HAVE_ERRNO_H
2517721Speter
2617721Speter	* configure.in: check for memmove, <errno.h>
2717721Speter
2817721Speter	* Makefile.in (VPATH): don't use $(srcdir), but @srcdir@ instead
2917721Speter
3017721Speter	* configure.in (AC_HAVE_HEADERS): check for <sys/wait.h>
3117721Speter
3217721SpeterMon Nov 29 15:05:43 1993  K. Richard Pixley  (rich@sendai.cygnus.com)
3317721Speter
3417721Speter	* lib/Makefile.in, src/Makefile.in (CFLAGS): default to -g.
3517721Speter
3617721Speter	* src/log.c (log_fileproc): if a file has been added, but not
3717721Speter	  committed, then say so rather than reporting that nothing is
3817721Speter	  known.
3917721Speter
4017721Speter	* src/sanity.el: update for emacs-19.
4117721Speter
4217721Speter	* src/RCS-patches, src/README-rm-add: update for rcs-5.6.6.
4317721Speter
4417721Speter	* src/Makefile.in: removed some gratuitous diffs from cvs-1.3.
4517721Speter
4617721Speter	* src/cvsrc.c: strdup -> xstrdup, malloc -> xmalloc, comment about
4717721Speter	  fgets lossage.
4817721Speter
4917721Speter	* configure, configure.in, Makefile.in: support man and doc
5017721Speter	  directories and info and dvi targets.
5117721Speter
5217721Speter	* doc/cvs.texinfo: comment out include of gpl.texinfo.
5317721Speter
5417721Speter	* doc/Makefile.in: added dvi & info targets.
5517721Speter
5617721Speter	* doc/cvsclient.texi: added @setfilename.
5717721Speter
5817721Speter	* lib/Makefile.in: remove some extraneous diffs against the
5917721Speter	  patched cvs-1.3.
6017721Speter
6117721Speter	* doc/Makefile.in, man/Makefile.in: update for autoconf.
6217721Speter
6317721SpeterFri Nov 19 12:56:34 1993  K. Richard Pixley  (rich@sendai.cygnus.com)
6417721Speter
6517721Speter	* Many files: added configure.in, updated configure based on
6617721Speter	  autoconf.
6717721Speter
6817721SpeterTue Jun  1 17:02:41 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
6917721Speter
7017721Speter	* configure: add support for alloca and sys/select.h
7117721Speter
7217721SpeterWed May 19 19:34:48 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
7317721Speter
7417721Speter	* cvs-format.el: Don't set c-tab-always-indent.
7517721Speter
7617721SpeterMon Mar 22 23:25:33 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
7717721Speter
7817721Speter	* Makefile.in: installcheck: recurse into src directory to run tests
7917721Speter
8017721SpeterMon Jan 18 17:21:16 1993  K. Richard Pixley  (rich@rtl.cygnus.com)
8117721Speter
8217721Speter	* Makefile.in (check): recur into src directory in order to pick
8317721Speter	  up the sanity check.
8417721Speter
8517721SpeterThu Dec 17 19:41:22 1992  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
8617721Speter
8717721Speter	* Makefile.in: added blank 'dvi' target
8817721Speter
8917721SpeterTue Apr  7 15:55:25 1992  Brian Berliner  (berliner at sun.com)
9017721Speter
9117721Speter	* Changes between CVS 1.3 Beta-3 and official CVS 1.3!
9217721Speter
9317721Speter	* A new shell script is provided, "./cvsinit", which can be run at
9417721Speter	install time to help setup your $CVSROOT area.  This can greatly
9517721Speter	ease your entry into CVS usage.
9617721Speter
9717721Speter	* The INSTALL file has been updated to include the machines on
9817721Speter	which CVS has compiled successfully.  I think CVS 1.3 is finally
9917721Speter	portable.  Thanks to all the Beta testers!
10017721Speter
10117721Speter	* Support for the "editinfo" file was contributed.  This file
10217721Speter	(located in $CVSROOT/CVSROOT) can be used to specify a special
10317721Speter	"editor" to run on a per-directory basis within the repository,
10417721Speter	instead of the usual user's editor.  As such, it can verify that
10517721Speter	the log message entered by the user is of the appropriate form
10617721Speter	(contains a bugid and test validation, for example).
10717721Speter
10817721Speter	* The manual pages cvs(1) and cvs(5) have been updated.
10917721Speter
11017721Speter	* The "mkmodules" command now informs you when your modules file
11117721Speter	has duplicate entries.
11217721Speter
11317721Speter	* The "add" command now preserves any per-directory sticky tag when
11417721Speter	you add a new directory to your checked-out sources.
11517721Speter
11617721Speter	* The "admin" command is now a fully recursive interface to the
11717721Speter	"rcs" program which operates on your checked-out sources.  It no
11817721Speter	longer requires you to specify the full path to the RCS file.
11917721Speter
12017721Speter	* The per-file sticky tags can now be effectively removed with
12117721Speter	"cvs update -A file", even if you had checked out the whole
12217721Speter	directory with a per-directory sticky tag.  This allows a great
12317721Speter	deal of flexibility in managing the revisions that your checked-out
12417721Speter	sources are based upon (both per-directory and per-file sticky
12517721Speter	tags).
12617721Speter
12717721Speter	* The "cvs -n commit" command now works, to show which files are
12817721Speter	out-of-date and will cause the real commit to fail, or which files
12917721Speter	will fail any pre-commit checks.  Also, the "cvs -n import ..."
13017721Speter	command will now show you what it would've done without actually
13117721Speter	doing it.
13217721Speter
13317721Speter	* Doing "cvs commit modules" to checkin the modules file will no
13417721Speter	properly run the "mkmodules" program (assuming you have setup your
13517721Speter	$CVSROOT/CVSROOT/modules file to do so).
13617721Speter
13717721Speter	* The -t option in the modules file (which specifies a program to
13817721Speter	run when you do a "cvs rtag" operation on a module) now gets the
13917721Speter	symbolic tag as the second argument when invoked.
14017721Speter
14117721Speter	* When the source repository is locked by another user, that user's
14217721Speter	login name will be displayed as the holder of the lock.
14317721Speter
14417721Speter	* Doing "cvs checkout module/file.c" now works even if
14517721Speter	module/file.c is in the Attic (has been removed from main-line
14617721Speter	development).
14717721Speter
14817721Speter	* Doing "cvs commit */Makefile" now works as one would expect.
14917721Speter	Rather than trying to commit everything recursively, it will now
15017721Speter	commit just the files specified.
15117721Speter
15217721Speter	* The "cvs remove" command is now fully recursive.  To schedule a
15317721Speter	file for removal, all you have to do is "rm file" and "cvs rm".
15417721Speter	With no arguments, "cvs rm" will schedule all files that have been
15517721Speter	physically removed for removal from the source repository at the
15617721Speter	next "cvs commit".
15717721Speter
15817721Speter	* The "cvs tag" command now prints "T file" for each file that was
15917721Speter	tagged by this invocation and "D file" for each file that had the
16017721Speter	tag removed (as with "cvs tag -d").
16117721Speter
16217721Speter	* The -a option has been added to "cvs rtag" to force it to clean
16317721Speter	up any old, matching tags for files that have been removed (in the
16417721Speter	Attic) that may not have been touched by this tag operation.  This
16517721Speter	can help keep a consistent view with your tag, even if you re-use
16617721Speter	it frequently.
16717721Speter
16817721SpeterSat Feb 29 16:02:05 1992  Brian Berliner  (berliner at sun.com)
16917721Speter
17017721Speter	* Changes between CVS 1.3 Beta-2 and CVS 1.3 Beta-3
17117721Speter
17217721Speter	* Many portability fixes, thanks to all the Beta testers!  With any
17317721Speter	luck, this Beta release will compile correctly on most anything.
17417721Speter	Hey, what are we without our dreams.
17517721Speter
17617721Speter	* CVS finally has support for doing isolated development on a
17717721Speter	branch off the current (or previous!) revisions.  This is also
17817721Speter	extremely nice for generating patches for previously released
17917721Speter	software while development is progressing on the next release.
18017721Speter	Here's an example of creating a branch to fix a patch with the 2.0
18117721Speter	version of the "foo" module, even though we are already well into
18217721Speter	the 3.0 release.  Do:
18317721Speter
18417721Speter		% cvs rtag -b -rFOO_2_0 FOO_2_0_Patch foo
18517721Speter		% cvs checkout -rFOO_2_0_Patch foo
18617721Speter		% cd foo
18717721Speter		[[ hack away ]]
18817721Speter		% cvs commit
18917721Speter
19017721Speter	A physical branch will be created in the RCS file only when you
19117721Speter	actually commit the change.  As such, forking development at some
19217721Speter	random point in time is extremely light-weight -- requiring just a
19317721Speter	symbolic tag in each file until a commit is done.  To fork
19417721Speter	development at the currently checked out sources, do:
19517721Speter
19617721Speter		% cvs tag -b Personal_Hack
19717721Speter		% cvs update -rPersonal_Hack
19817721Speter		[[ hack away ]]
19917721Speter		% cvs commit
20017721Speter
20117721Speter	Now, if you decide you want the changes made in the Personal_Hack
20217721Speter	branch to be merged in with other changes made in the main-line
20317721Speter	development, you could do:
20417721Speter
20517721Speter		% cvs commit		     # to make Personal_Hack complete
20617721Speter		% cvs update -A		     # to update sources to main-line
20717721Speter		% cvs update -jPersonal_Hack # to merge Personal_Hack
20817721Speter
20917721Speter	to update your checked-out sources, or:
21017721Speter
21117721Speter		% cvs checkout -jPersonal_Hack module
21217721Speter
21317721Speter	to checkout a fresh copy.
21417721Speter
21517721Speter	To support this notion of forked development, CVS reserves
21617721Speter	all even-numbered branches for its own use.  In addition, CVS
21717721Speter	reserves the ".0" and ".1" branches.  So, if you intend to do your
21817721Speter	own branches by hand with RCS, you should use odd-numbered branches
21917721Speter	starting with ".3", as in "1.1.3", "1.1.5", 1.2.9", ....
22017721Speter
22117721Speter	* The "cvs commit" command now supports a fully functional -r
22217721Speter	option, allowing you to commit your changes to a specific numeric
22317721Speter	revision or symbolic tag with full consistency checks.  Numeric
22417721Speter	tags are useful for bringing your sources all up to some revision
22517721Speter	level:
22617721Speter
22717721Speter		% cvs commit -r2.0
22817721Speter
22917721Speter	For symbolic tags, you can only commit to a tag that references a
23017721Speter	branch in the RCS file.  One created by "cvs rtag -b" or from
23117721Speter	"cvs tag -b" is appropriate (see below).
23217721Speter
23317721Speter	* Roland Pesch <pesch@cygnus.com> and K. Richard Pixley
23417721Speter	<rich@cygnus.com> were kind enough to contribute two new manual
23517721Speter	pages for CVS: cvs(1) and cvs(5).  Most of the new CVS 1.3 features
23617721Speter	are now documented, with the exception of the new branch support
23717721Speter	added to commit/rtag/tag/checkout/update.
23817721Speter
23917721Speter	* The -j options of checkout/update have been added.  The "cvs join"
24017721Speter	command has been removed.
24117721Speter
24217721Speter	With one -j option, CVS will merge the changes made between the
24317721Speter	resulting revision and the revision that it is based on (e.g., if
24417721Speter	the tag refers to a branch, CVS will merge all changes made in
24517721Speter	that branch into your working file).
24617721Speter
24717721Speter	With two -j options, CVS will merge in the changes between the two
24817721Speter	respective revisions.  This can be used to "remove" a certain delta
24917721Speter	from your working file.  E.g., If the file foo.c is based on
25017721Speter	revision 1.6 and I want to remove the changes made between 1.3 and
25117721Speter	1.5, I might do:
25217721Speter
25317721Speter		% cvs update -j1.5 -j1.3 foo.c		# note the order...
25417721Speter
25517721Speter	In addition, each -j option can contain on optional date
25617721Speter	specification which, when used with branches, can limit the chosen
25717721Speter	revision to one within a specific date.  An optional date is
25817721Speter	specified by adding a colon (:) to the tag, as in:
25917721Speter
26017721Speter		-jSymbolic_Tag:Date_Specifier
26117721Speter
26217721Speter	An example might be what "cvs import" tells you to do when you have
26317721Speter	just imported sources that have conflicts with local changes:
26417721Speter
26517721Speter		% cvs checkout -jTAG:yesterday -jTAG module
26617721Speter
26717721Speter	which tells CVS to merge in the changes made to the branch
26817721Speter	specified by TAG in the last 24 hours.  If this is not what is
26917721Speter	intended, substitute "yesterday" for whatever format of date that
27017721Speter	is appropriate, like:
27117721Speter
27217721Speter		% cvs checkout -jTAG:'1 week ago' -jTAG module
27317721Speter
27417721Speter	* "cvs diff" now supports the special tags "BASE" and "HEAD".  So,
27517721Speter	the command:
27617721Speter
27717721Speter		% cvs diff -u -rBASE -rHEAD
27817721Speter
27917721Speter	will effectively show the changes made by others (in unidiff
28017721Speter	format) that will be merged into your working sources with your
28117721Speter	next "cvs update" command.  "-rBASE" resolves to the revision that
28217721Speter	your working file is based on.  "-rHEAD" resolves to the current
28317721Speter	head of the branch or trunk that you are working on.
28417721Speter
28517721Speter	* The -P option of "cvs checkout" now means to Prune empty
28617721Speter	directories, as with "update".  The default is to not remove empty
28717721Speter	directories.  However, if you do "checkout" with any -r options, -P
28817721Speter	will be implied.  I.e., checking out with a tag will cause empty
28917721Speter	directories to be pruned automatically.
29017721Speter
29117721Speter	* The new file INSTALL describes how to install CVS, including
29217721Speter	detailed descriptions of interfaces to "configure".
29317721Speter
29417721Speter	* The example loginfo file in examples/loginfo has been updated to
29517721Speter	use the perl script included in contrib/log.pl.  The nice thing
29617721Speter	about this log program is that it records the revision numbers of
29717721Speter	your change in the log message.
29817721Speter
29917721Speter	Example files for commitinfo and rcsinfo are now included in the
30017721Speter	examples directory.
30117721Speter
30217721Speter	* All "#if defined(__STDC__) && __STDC__ == 1" lines have been
30317721Speter	changed to be "#if __STDC__" to fix some problems with the former.
30417721Speter
30517721Speter	* The lib/regex.[ch] files have been updated to the 1.3 release of
30617721Speter	the GNU regex package.
30717721Speter
30817721Speter	* The ndbm emulation routines included with CVS 1.3 Beta-2 in the
30917721Speter	src/ndbm.[ch] files has been moved into the src/myndbm.[ch] files
31017721Speter	to avoid any conflict with the system <ndbm.h> header file.  If
31117721Speter	you had a previous CVS 1.3 Beta release, you will want to "cvs
31217721Speter	remove ndbm.[ch]" form your copy of CVS as well.
31317721Speter
31417721Speter	* "cvs add" and "cvs remove" are a bit more verbose, telling you
31517721Speter	what to do to add/remove your file permanently.
31617721Speter
31717721Speter	* We no longer mess with /dev/tty in "commit" and "add".
31817721Speter
31917721Speter	* More things are quiet with the -Q option set.
32017721Speter
32117721Speter	* New src/config.h option:  If CVS_BADROOT is set, CVS will not
32217721Speter	allow people really logged in as "root" to commit changes.
32317721Speter
32417721Speter	* "cvs diff" exits with a status of 0 if there were no diffs, 1 if
32517721Speter	there were diffs, and 2 if there were errors.
32617721Speter
32717721Speter	* "cvs -n diff" is now supported so that you can still run diffs
32817721Speter	even while in the middle of committing files.
32917721Speter
33017721Speter	* Handling of the CVS/Entries file is now much more robust.
33117721Speter
33217721Speter	* The default file ignore list now includes "*.so".
33317721Speter
33417721Speter	* "cvs import" did not expand '@' in the log message correctly.  It
33517721Speter	does now.  Also, import now uses the ignore file facility
33617721Speter	correctly.
33717721Speter
33817721Speter	Import will now tell you whether there were conflicts that need to
33917721Speter	be resolved, and how to resolve them.
34017721Speter
34117721Speter	* "cvs log" has been changed so that you can "log" things that are
34217721Speter	not a part of the current release (in the Attic).
34317721Speter
34417721Speter	* If you don't change the editor message on commit, CVS now prompts
34517721Speter	you with the choice:
34617721Speter
34717721Speter		!)reuse this message unchanged for remaining dirs
34817721Speter
34917721Speter	which allows you to tell CVS that you have no intention of changing
35017721Speter	the log message for the remainder of the commit.
35117721Speter
35217721Speter	* It is no longer necessary to have CVSROOT set if you are using
35317721Speter	the -H option to get Usage information on the commands.
35417721Speter
35517721Speter	* Command argument changes:
35617721Speter	checkout:		-P handling changed as described above.
35717721Speter				New -j option (up to 2 can be specified)
35817721Speter				for doing rcsmerge kind of things on
35917721Speter				checkout.
36017721Speter	commit:			-r option now supports committing to a
36117721Speter				numeric or symbolic tags, with some
36217721Speter				restrictions.  Full consistency checks will
36317721Speter				be done.
36417721Speter				Added "-f logfile" option, which tells
36517721Speter				commit to glean the log message from the
36617721Speter				specified file, rather than invoking the
36717721Speter				editor.
36817721Speter	rtag:			Added -b option to create a branch tag,
36917721Speter				useful for creating a patch for a previous
37017721Speter				release, or for forking development.
37117721Speter	tag:			Added -b option to create a branch tag,
37217721Speter				useful for creating a patch for a previous
37317721Speter				release, or for forking development.
37417721Speter	update:			New -j option (up to 2 can be specified)
37517721Speter				for doing rcsmerge kind of things on
37617721Speter				update.
37717721Speter
37817721SpeterThu Jan  9 10:51:35 MST 1992 Jeff Polk (polk at BSDI.COM)
37917721Speter
38017721Speter	* Changes between CVS 1.3 Beta-1 and CVS 1.3 Beta-2
38117721Speter
38217721Speter	* Thanks to K. Richard Pixley at Cygnus we now have function
38317721Speter	prototypes in all the files
38417721Speter
38517721Speter	* Some small changes to configure for portability.  There have
38617721Speter	been other portability problems submitted that have not been fixed
38717721Speter	(Brian will be working on those).  Additionally all __STDC__
38817721Speter	tests have been modified to check __STDC__ against the constant 1 
38917721Speter	(this is what the Second edition of K&R says must be true).
39017721Speter
39117721Speter	* Lots of additional error checking for forked processes (run_exec)
39217721Speter	(thanks again to K. Richard Pixley)
39317721Speter
39417721Speter	* Lots of miscellaneous bug fixes - including but certainly not 
39517721Speter	limited to:
39617721Speter		various commit core dumps
39717721Speter		various update core dumps
39817721Speter		bogus results from status with numeric sticky tags
39917721Speter		commitprog used freed memory
40017721Speter		Entries file corruption caused by No_Difference
40117721Speter		commit to revision broken (now works if branch exists)
40217721Speter		ignore file processing broken for * and !
40317721Speter		ignore processing didn't handle memory reasonably
40417721Speter		miscellaneous bugs in the recursion processor
40517721Speter		file descriptor leak in ParseInfo
40617721Speter		CVSROOT.adm->CVSROOT rename bug
40717721Speter		lots of lint fixes
40817721Speter
40917721Speter	* Reformatted all the code in src (with GNU indent) and then 
41017721Speter	went back and fixed prototypes, etc since indent gets confused.  The
41117721Speter	rationale is that it is better to do it sooner than later and now
41217721Speter	everything is consistent and will hopefully stay that way.
41317721Speter	The basic options to indent were: "-bad -bbb -bap -cdb -d0 -bl -bli0 
41417721Speter	-nce -pcs -cs -cli4 -di1 -nbc -psl -lp -i4 -ip4 -c41"  and then
41517721Speter	miscellaneous formatting fixes were applied.  Note also that the 
41617721Speter	"-nfc1" or "-nfca" may be appropriate in files where comments have
41717721Speter	been carefully formatted (e.g, modules.c).
41817721Speter
41917721SpeterSat Dec 14 20:35:22 1991  Brian Berliner  (berliner at sun.com)
42017721Speter
42117721Speter	* Changes between CVS 1.2 and CVS 1.3 Beta are described here.
42217721Speter
42317721Speter	* Lots of portability work.  CVS now uses the GNU "configure"
42417721Speter	script to dynamically determine the features provided by your
42517721Speter	system.  It probably is not foolproof, but it is better than
42617721Speter	nothing.  Please let me know of any portability problems.  Some
42717721Speter	file names were changed to fit within 14-characters.
42817721Speter
42917721Speter	* CVS has a new RCS parser that is much more flexible and
43017721Speter	extensible.  It should read all known RCS ",v" format files.
43117721Speter
43217721Speter	* Most of the commands now are fully recursive, rather than just
43317721Speter	operating on the current directory alone.  This includes "commit",
43417721Speter	which makes it real easy to do an "atomic" commit of all the
43517721Speter	changes made to a CVS hierarchy of sources.  Most of the commands
43617721Speter	also correctly handle file names that are in directories other than
43717721Speter	".", including absolute path names.  Commands now accept the "-R"
43817721Speter	option to force recursion on (though it is always the default now)
43917721Speter	and the "-l" option to force recursion off, doing just "." and not
44017721Speter	any sub-directories.
44117721Speter
44217721Speter	* CVS supports many of the features provided with the RCS 5.x
44317721Speter	distribution - including the new "-k" keyword expansion options.  I
44417721Speter	recommend using RCS 5.x (5.6 is the current official RCS version)
44517721Speter	and GNU diff 1.15 (or later) distributions with CVS.
44617721Speter
44717721Speter	* Checking out files with symbolic tags/dates is now "sticky", in
44817721Speter	that CVS remembers the tag/date used for each file (and directory)
44917721Speter	and will use that tag/date automatically on the next "update" call.
45017721Speter	This stickyness also holds for files checked out with the the new
45117721Speter	RCS 5.x "-k" options.
45217721Speter
45317721Speter	* The "cvs diff" command now recognizes all of the rcsdiff 5.x
45417721Speter	options.  Unidiff format is available by installing the GNU
45517721Speter	diff 1.15 distribution.
45617721Speter
45717721Speter	* The old "CVS.adm" directories created on checkout are now called
45817721Speter	"CVS" directories, to look more like "RCS" and "SCCS".  Old CVS.adm
45917721Speter	directories are automagically converted to CVS directories.  The
46017721Speter	old "CVSROOT.adm" directory within the source repository is
46117721Speter	automagically changed into a "CVSROOT" directory as well.
46217721Speter
46317721Speter	* Symbolic links in the source repository are fully supported ONLY
46417721Speter	if you use RCS 5.6 or later and (of course) your system supports
46517721Speter	symlinks.
46617721Speter
46717721Speter	* A history database has been contributed which maintains the
46817721Speter	history of certain CVS operations, as well as providing a wide array
46917721Speter	of querying options.
47017721Speter
47117721Speter	* The "cvs" program has a "-n" option which can be used with the
47217721Speter	"update" command to show what would be updated without actually
47317721Speter	doing the update, like:  "cvs -n update".  All usage statements
47417721Speter	have been cleaned up and made more verbose.
47517721Speter
47617721Speter	* The module database parsing has been rewritten.  The new format
47717721Speter	is compatible with the old format, but with much more
47817721Speter	functionality.  It allows modules to be created that grab pieces or
47917721Speter	whole directories from various different parts of your source
48017721Speter	repository.  Module-relative specifications are also correctly
48117721Speter	recognized now, like "cvs checkout module/file.c".
48217721Speter
48317721Speter	* A configurable template can be specified such that on a "commit", 
48417721Speter	certain directories can supply a template that the user must fill
48517721Speter	before completing the commit operation.
48617721Speter
48717721Speter	* A configurable pre-commit checking program can be specified which
48817721Speter	will run to verify that a "commit" can happen.  This feature can be
48917721Speter	used to restrict certain users from changing certain pieces of the
49017721Speter	source repository, or denying commits to the entire source
49117721Speter	repository.
49217721Speter
49317721Speter	* The new "cvs export" command is much like "checkout", but
49417721Speter	establishes defaults suitable for exporting code to others (expands
49517721Speter	out keywords, forces the use of a symbolic tag, and does not create
49617721Speter	"CVS" directories within the checked out sources.
49717721Speter
49817721Speter	* The new "cvs import" command replaces the deprecated "checkin"
49917721Speter	shell script and is used to import sources into CVS control.  It is
50017721Speter	also much faster for the first-time import.  Some algorithmic
50117721Speter	improvements have also been made to reduce the number of
50217721Speter	conflicting files on next-time imports.
50317721Speter
50417721Speter	* The new "cvs admin" command is basically an interface to the
50517721Speter	"rcs" program.  (Not yet implemented very well).
50617721Speter
50717721Speter	* Signal handling (on systems with BSD or POSIX signals) is much
50817721Speter	improved.  Interrupting CVS now works with a single interrupt!
50917721Speter
51017721Speter	* CVS now invokes RCS commands by direct fork/exec rather than
51117721Speter	calling system(3).  This improves performance by removing a call to
51217721Speter	the shell to parse the arguments.
51317721Speter
51417721Speter	* Support for the .cvsignore file has been contributed.  CVS will
51517721Speter	now show "unknown" files as "? filename" as the result of an "update"
51617721Speter	command.  The .cvsignore file can be used to add files to the
51717721Speter	current list of ignored files so that they won't show up as unknown.
51817721Speter
51917721Speter	* Command argument changes:
52017721Speter	cvs:		Added -l to turn off history logging.
52117721Speter			Added -n to show what would be done without actually
52217721Speter			doing anything.
52317721Speter			Added -q/-Q for quiet and really quiet settings.
52417721Speter			Added -t to show debugging trace.
52517721Speter	add:		Added -k to allow RCS 5.x -k options to be specified.
52617721Speter	admin:		New command; an interface to rcs(1).
52717721Speter	checkout:	Added -A to reset sticky tags/date/options.
52817721Speter			Added -N to not shorten module paths.
52917721Speter			Added -R option to force recursion.
53017721Speter			Changed -p (prune empty directories) to -P option.
53117721Speter			Changed -f option; forcing tags match is now default.
53217721Speter			Added -p option to checkout module to standard output.
53317721Speter			Added -s option to cat the modules db with status.
53417721Speter			Added -d option to checkout in the specified directory.
53517721Speter			Added -k option to use RCS 5.x -k support.
53617721Speter	commit:		Removed -a option; use -l instead.
53717721Speter			Removed -f option.
53817721Speter			Added -l option to disable recursion.
53917721Speter			Added -R option to force recursion.
54017721Speter			If no files specified, commit is recursive.
54117721Speter	diff:		Now recognizes all RCS 5.x rcsdiff options.
54217721Speter			Added -l option to disable recursion.
54317721Speter			Added -R option to force recursion.
54417721Speter	history:	New command; displays info about CVS usage.
54517721Speter	import:		Replaces "checkin" shell script; imports sources
54617721Speter			under CVS control.  Ignores files on the ignore
54717721Speter			list (see -I option or .cvsignore description above).
54817721Speter	export:		New command; like "checkout", but w/special options
54917721Speter			turned on by default to facilitate exporting sources.
55017721Speter	join:		Added -B option to join from base of the branch;
55117721Speter			join now defaults to only joining with the top two
55217721Speter			revisions on the branch.
55317721Speter			Added -k option for RCS 5.x -k support.
55417721Speter	log:		Supports all RCS 5.x options.
55517721Speter			Added -l option to disable recursion.
55617721Speter			Added -R option to force recursion.
55717721Speter	patch:		Changed -f option; forcing tags match is now default.
55817721Speter			Added -c option to force context-style diffs.
55917721Speter			Added -u option to support unidiff-style diffs.
56017721Speter			Added -V option to support RCS specific-version
56117721Speter			keyword expansion formats.
56217721Speter			Added -R option to force recursion.
56317721Speter	remove:		No option changes.  It's a bit more verbose.
56417721Speter	rtag:		Equivalent to the old "cvs tag" command.
56517721Speter			No option changes.  It's a lot faster for re-tag.
56617721Speter	status:		New output formats with more information.
56717721Speter			Added -l option to disable recursion.
56817721Speter			Added -R option to force recursion.
56917721Speter			Added -v option to show symbolic tags for files.
57017721Speter	tag:		Functionality changed to tag checked out files
57117721Speter			rather than modules; use "rtag" command to get the
57217721Speter			old "cvs tag" behaviour.
57317721Speter	update:		Added -A to reset sticky tags/date/options.
57417721Speter			Changed -p (prune empty directories) to -P option.
57517721Speter			Changed -f option; forcing tags match is now default.
57617721Speter			Added -p option to checkout module to standard output.
57717721Speter			Added -I option to add files to the ignore list.
57817721Speter			Added -R option to force recursion.
57917721Speter
58017721Speter	Major Contributors:
58117721Speter
58217721Speter	* Jeff Polk <polk@bsdi.com> rewrote most of the grody code of CVS
58317721Speter	1.2.  He made just about everything dynamic (by using malloc),
58417721Speter	added a generic hashed list manager, re-wrote the modules database
58517721Speter	parsing in a compatible - but extended way, generalized directory
58617721Speter	hierarchy recursion for virtually all the commands (including
58717721Speter	commit!), generalized the loginfo file to be used for pre-commit
58817721Speter	checks and commit templates, wrote a new and flexible RCS parser,
58917721Speter	fixed an uncountable number of bugs, and helped in the design of
59017721Speter	future CVS features.  If there's anything gross left in CVS, it's
59117721Speter	probably my fault!
59217721Speter
59317721Speter	* David G. Grubbs <dgg@ksr.com> contributed the CVS "history" and
59417721Speter	"release" commands.  As well as the ever-so-useful "-n" option of
59517721Speter	CVS which tells CVS to show what it would do, without actually
59617721Speter	doing it.  He also contributed support for the .cvsignore file.
59717721Speter
59817721Speter	* Paul Sander, HaL Computer Systems, Inc. <paul@hal.com> wrote and
59917721Speter	contributed the code in lib/sighandle.c.  I added support for
60017721Speter	POSIX, BSD, and non-POSIX/non-BSD systems.
60117721Speter
60217721Speter	* Free Software Foundation contributed the "configure" script and
60317721Speter	other compatibility support in the "lib" directory, which will help
60417721Speter	make CVS much more portable.
60517721Speter
60617721Speter	* Many others have contributed bug reports and enhancement requests.
60717721Speter	Some have even submitted actual code which I have not had time yet
60817721Speter	to integrate into CVS.  Maybe for the next release.
60917721Speter
61017721Speter	* Thanks to you all!
61117721Speter
61217721SpeterWed Feb  6 10:10:58 1991  Brian Berliner  (berliner at sun.com)
61317721Speter
61417721Speter	* Changes from CVS 1.0 Patchlevel 1 to CVS 1.0 Patchlevel 2; also
61517721Speter	known as "Changes from CVS 1.1 to CVS 1.2".
61617721Speter
61717721Speter	* Major new support with this release is the ability to use the
61817721Speter	recently-posted RCS 5.5 distribution with CVS 1.2.  See below for
61917721Speter	other assorted bug-fixes that have been thrown in.
62017721Speter
62117721Speter	* ChangeLog (new): Added Emacs-style change-log file to CVS 1.2
62217721Speter	release.  Chronological description of changes between release.
62317721Speter
62417721Speter	* README: Small fixes to installation instructions.  My email
62517721Speter	address is now "berliner@sun.com".
62617721Speter
62717721Speter	* src/Makefile: Removed "rcstime.h".  Removed "depend" rule.
62817721Speter
62917721Speter	* src/partime.c:  Updated to RCS 5.5 version with hooks for CVS.
63017721Speter	* src/maketime.c: Updated to RCS 5.5 version with hooks for CVS.
63117721Speter	* src/rcstime.h:  Removed from the CVS 1.2 distribution.
63217721Speter	Thanks to Paul Eggert <eggert@twinsun.com> for these changes.
63317721Speter
63417721Speter	* src/checkin.csh: Support for RCS 5.5 parsing.
63517721Speter	Thanks to Paul Eggert <eggert@twinsun.com> for this change.
63617721Speter
63717721Speter	* src/collect_sets.c (Collect_Sets): Be quieter if "-f" option is
63817721Speter	specified.  When checking out files on-top-of other files that CVS
63917721Speter	doesn't know about, run a diff in the hopes that they are really
64017721Speter	the same file before aborting.
64117721Speter
64217721Speter	* src/commit.c (branch_number): Fix for RCS 5.5 parsing.
64317721Speter	Thanks to Paul Eggert <eggert@twinsun.com> for this change.
64417721Speter
64517721Speter	* src/commit.c (do_editor): Bug fix - fprintf missing argument
64617721Speter	which sometimes caused core dumps.
64717721Speter
64817721Speter	* src/modules.c (process_module): Properly NULL-terminate
64917721Speter	update_dir[] in all cases.
65017721Speter
65117721Speter	* src/no_difference.c (No_Difference): The wrong RCS revision was
65217721Speter	being registered in certain (strange) cases.
65317721Speter
65417721Speter	* src/patch.c (get_rcsdate): New algorithm.  No need to call
65517721Speter	maketime() any longer.
65617721Speter	Thanks to Paul Eggert <eggert@twinsun.com> for this change.
65717721Speter
65817721Speter	* src/patchlevel.h: Increased patch level to "2".
65917721Speter
66017721Speter	* src/subr.c (isdir, islink): Changed to compare stat mode bits
66117721Speter	correctly.
66217721Speter
66317721Speter	* src/tag.c (tag_file): Added support for following symbolic links
66417721Speter	that are in the master source repository when tagging.  Made tag
66517721Speter	somewhat quieter in certain cases.
66617721Speter
66717721Speter	* src/update.c (update_process_lists): Unlink the user's file if it
66817721Speter	was put on the Wlist, meaning that the user's file is not modified
66917721Speter	and its RCS file has been removed by someone else.
67017721Speter
67117721Speter	* src/update.c (update): Support for "cvs update dir" to correctly
67217721Speter	just update the argument directory "dir".
67317721Speter
67417721Speter	* src/cvs.h: Fixes for RCS 5.5 parsing.
67517721Speter	* src/version_number.c (Version_Number): Fixes for parsing RCS 5.5
67617721Speter	and older RCS-format files.
67717721Speter	Thanks to Paul Eggert <eggert@twinsun.com> for these changes.
67817721Speter
67917721Speter	* src/version_number.c (Version_Number): Bug fixes for "-f" option.
68017721Speter	Bug fixes for parsing with certain branch numbers.  RCS
68117721Speter	revision/symbol parsing is much more solid now.
68217721Speter
68317721SpeterWed Feb 14 10:01:33 1990  Brian Berliner  (berliner at sun.com)
68417721Speter
68517721Speter	* Changes from CVS 1.0 Patchlevel 0 to CVS 1.0 Patchlevel 1; also
68617721Speter	known as "Changes from CVS 1.0 to CVS 1.1".
68717721Speter
68817721Speter	* src/patch.c (get_rcsdate): Portability fix.  Replaced call to
68917721Speter	timelocal() with call to maketime().
69017721Speter
69117721SpeterMon Nov 19 23:15:11 1990  Brian Berliner  (berliner at prisma.com)
69217721Speter
69317721Speter	* Sent CVS 1.0 release to comp.sources.unix moderator and FSF.
69417721Speter
69517721Speter	* Special thanks to Dick Grune <dick@cs.vu.nl> for his work on the
69617721Speter	1986 version of CVS and making it available to the world.  Dick's
69717721Speter	version is available on uunet.uu.net in the
69817721Speter	comp.sources.unix/volume6/cvs directory.
69917721Speter
70017721Speter@(#)ChangeLog 1.17 92/04/10
701