to
Thu Sep 15 14:19:21 1994  david d `zoo' zuhn  <zoo@monad.armadil-
lo.com>

     * Makefile.in: define TEXI2DVI, add it to FLAGS_TO_PASS; re-
move        old comments about parameters for DEFS

Wed Jul 13 21:54:46 1994  david d `zoo' zuhn  (zoo@monad.armadil-
lo.com)

     * contrib/rcs-to-cvs: rewritten for Bourne shell (thanks  to
David        MacKenzie <djm@cygnus.com>)

Wed Jul 13 21:48:38 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)

     *  Makefile.in:  Deleted line consisting of only whitespace;
it      confuses some versions of make.

Mon Jan 24 12:26:47 1994  david d zuhn  (zoo@monad.armadillo.com)

     * configure.in: check for <sys/select.h> and <ndbm.h>

     * Makefile.in: define YACC and not BISON

Sat Dec 18 00:52:04 1993  david d zuhn  (zoo@monad.armadillo.com)

     * config.h.in: handle HAVE_SYS_WAIT_H, HAVE_ERRNO_H

     * configure.in: check for memmove, <errno.h>

     * Makefile.in (VPATH): don't use $(srcdir), but @srcdir@ in-
stead

     * configure.in (AC_HAVE_HEADERS): check for <sys/wait.h>

Mon     Nov    29    15:05:43    1993     K.    Richard    Pixley
(rich@sendai.cygnus.com)

     * lib/Makefile.in, src/Makefile.in (CFLAGS): default to  -g.

     *  src/log.c  (log_fileproc):  if a file has been added, but
not        committed, then say  so  rather  than  reporting  that
nothing is        known.

     * src/sanity.el: update for emacs-19.

     *  src/RCS-patches, src/README-rm-add: update for rcs-5.6.6.

     *  src/Makefile.in:  removed  some  gratuitous  diffs   from
cvs-1.3.

     * src/cvsrc.c: strdup -> xstrdup, malloc -> xmalloc, comment
about        fgets lossage.

     * configure, configure.in, Makefile.in: support man and  doc
       directories and info and dvi targets.

     * doc/cvs.texinfo: comment out include of gpl.texinfo.

     * doc/Makefile.in: added dvi & info targets.

     * doc/cvsclient.texi: added @setfilename.

     *  lib/Makefile.in: remove some extraneous diffs against the
       patched cvs-1.3.

     * doc/Makefile.in, man/Makefile.in: update for autoconf.

Fri    Nov    19    12:56:34    1993     K.    Richard     Pixley
(rich@sendai.cygnus.com)

     * Many files: added configure.in, updated configure based on
       autoconf.

Tue Jun  1 17:02:41 1993   david  d  `zoo'  zuhn   (zoo  at  cir-
dan.cygnus.com)

     * configure: add support for alloca and sys/select.h

Wed May 19 19:34:48 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)

     * cvs-format.el: Don't set c-tab-always-indent.

Mon Mar 22 23:25:33 1993   david  d  `zoo'  zuhn   (zoo  at  cir-
dan.cygnus.com)

     *  Makefile.in:  installcheck: recurse into src directory to
run tests

Mon    Jan    18    17:21:16    1993     K.    Richard     Pixley
(rich@rtl.cygnus.com)

     *  Makefile.in (check): recur into src directory in order to
pick        up the sanity check.

Thu Dec 17 19:41:22 1992   david  d  `zoo'  zuhn   (zoo  at  cir-
dan.cygnus.com)

     * Makefile.in: added blank 'dvi' target

Tue Apr  7 15:55:25 1992  Brian Berliner  (berliner at sun.com)

     * Changes between CVS 1.3 Beta-3 and official CVS 1.3!

     *  A new shell script is provided, "./cvsinit", which can be
run at      install time to help setup your $CVSROOT area.   This
can greatly      ease your entry into CVS usage.

     *  The INSTALL file has been updated to include the machines
on      which CVS has compiled successfully.  I think CVS 1.3  is
finally      portable.  Thanks to all the Beta testers!

     *  Support  for  the  "editinfo" file was contributed.  This
file      (located in $CVSROOT/CVSROOT) can be used to specify  a
special       "editor" to run on a per-directory basis within the
repository,      instead of the usual user's editor.  As such, it
can  verify  that       the log message entered by the user is of
the appropriate form      (contains a bugid and test  validation,
for example).

     * The manual pages cvs(s) and cvs(s) have been updated.

     *  The "mkmodules" command now informs you when your modules
file      has duplicate entries.

     * The "add" command now preserves any  per-directory  sticky
tag  when       you  add  a  new  directory  to  your checked-out
sources.

     * The "admin" command is now a fully recursive interface  to
the        "rcs"  program  which  operates  on  your  checked-out
sources.  It no      longer requires you to specify the full path
to the RCS file.

     *  The  per-file  sticky tags can now be effectively removed
with      "cvs update -A file", even if you had checked  out  the
whole       directory  with a per-directory sticky tag.  This al-
lows a great      deal of flexibility in managing  the  revisions
that  your  checked-out      sources are based upon (both per-di-
rectory and per-file sticky      tags).

     * The "cvs -n commit" command now works, to show which files
are       out-of-date  and will cause the real commit to fail, or
which files      will fail any pre-commit checks.  Also, the "cvs
-n  import  ..."       command will now show you what it would've
done without actually      doing it.

     * Doing "cvs commit modules" to  checkin  the  modules  file
will  no       properly run the "mkmodules" program (assuming you
have setup your      $CVSROOT/CVSROOT/modules file to do so).

     * The -t option in the modules file (which specifies a  pro-
gram  to      run when you do a "cvs rtag" operation on a module)
now gets the      symbolic tag as the second  argument  when  in-
voked.

     * When the source repository is locked by another user, that
user's      login name will be displayed as  the  holder  of  the
lock.

     *  Doing  "cvs  checkout  module/file.c"  now  works even if
     module/file.c is in the Attic (has been removed  from  main-
line      development).

     *  Doing  "cvs commit */Makefile" now works as one would ex-
pect.       Rather than trying to commit everything  recursively,
it will now      commit just the files specified.

     *  The  "cvs  remove"  command  is  now fully recursive.  To
schedule a      file for removal, all you have to do is "rm file"
and "cvs rm".       With no arguments, "cvs rm" will schedule all
files that have been      physically removed for removal from the
source repository at the      next "cvs commit".

     *  The  "cvs  tag" command now prints "T file" for each file
that was      tagged by this invocation and  "D  file"  for  each
file that had the      tag removed (as with "cvs tag -d").

     *  The -a option has been added to "cvs rtag" to force it to
clean      up any old, matching tags for files that have been re-
moved  (in the      Attic) that may not have been touched by this
tag operation.  This      can help keep a  consistent  view  with
your tag, even if you re-use      it frequently.

Sat Feb 29 16:02:05 1992  Brian Berliner  (berliner at sun.com)

     * Changes between CVS 1.3 Beta-2 and CVS 1.3 Beta-3

     *  Many  portability  fixes, thanks to all the Beta testers!
With any      luck, this Beta release will compile  correctly  on
most anything.       Hey, what are we without our dreams.

     *  CVS finally has support for doing isolated development on
a      branch off the current (or previous!) revisions.  This  is
also       extremely  nice  for generating patches for previously
released      software while development is  progressing  on  the
next release.       Here's an example of creating a branch to fix
a patch with the 2.0       version  of  the  "foo"  module,  even
though we are already well into      the 3.0 release.  Do:

          %  cvs  rtag -b -rFOO_2_0 FOO_2_0_Patch foo           %
cvs checkout -rFOO_2_0_Patch foo           % cd foo            [[
hack away ]]           % cvs commit

     A  physical branch will be created in the RCS file only when
you      actually commit the change.  As such,  forking  develop-
ment  at some      random point in time is extremely light-weight
-- requiring just a      symbolic tag in each file until a commit
is  done.   To fork      development at the currently checked out
sources, do:

          % cvs  tag  -b  Personal_Hack            %  cvs  update
-rPersonal_Hack           [[ hack away ]]           % cvs commit

     Now,  if you decide you want the changes made in the Person-
al_Hack      branch to be merged in with other  changes  made  in
the main-line      development, you could do:

          %  cvs  commit             # to make Personal_Hack com-
plete           % cvs update -A               # to update sources
to  main-line            %  cvs update -jPersonal_Hack # to merge
Personal_Hack

     to update your checked-out sources, or:

          % cvs checkout -jPersonal_Hack module

     to checkout a fresh copy.

     To support this notion of forked development,  CVS  reserves
     all  even-numbered  branches  for its own use.  In addition,
CVS      reserves the ".0" and ".1" branches.  So, if you  intend
to  do  your       own  branches by hand with RCS, you should use
odd-numbered branches      starting with  ".3",  as  in  "1.1.3",
"1.1.5", 1.2.9", ....

     *  The  "cvs commit" command now supports a fully functional
-r      option, allowing you to commit your changes to a specific
numeric       revision  or  symbolic  tag  with  full consistency
checks.  Numeric      tags are useful for bringing  your  sources
all up to some revision      level:

          % cvs commit -r2.0

     For  symbolic tags, you can only commit to a tag that refer-
ences a      branch in the RCS file.  One created  by  "cvs  rtag
-b" or from      "cvs tag -b" is appropriate (see below).

     *  Roland  Pesch  <pesch@cygnus.com>  and  K. Richard Pixley
     <rich@cygnus.com> were kind enough  to  contribute  two  new
manual       pages  for  CVS: cvs(s) and cvs(s).  Most of the new
CVS 1.3 features      are now documented, with the  exception  of
the new branch support      added to commit/rtag/tag/checkout/up-
date.

     * The -j options of checkout/update have  been  added.   The
"cvs join"      command has been removed.

     With  one -j option, CVS will merge the changes made between
the      resulting revision and the revision that it is based  on
(e.g.,  if       the  tag  refers to a branch, CVS will merge all
changes made in      that branch into your working file).

     With two -j options, CVS will merge in the  changes  between
the  two      respective revisions.  This can be used to "remove"
a certain delta      from your working file.  E.g., If  the  file
foo.c  is  based  on       revision  1.6 and I want to remove the
changes made between 1.3 and      1.5, I might do:

          % cvs update -j1.5 -j1.3 foo.c          # note the  or-
der...

     In  addition,  each  -j  option can contain on optional date
     specification which, when used with branches, can limit  the
chosen       revision to one within a specific date.  An optional
date is      specified by adding a colon (:) to the tag, as in:

          -jSymbolic_Tag:Date_Specifier

     An example might be what "cvs import" tells you to  do  when
you  have      just imported sources that have conflicts with lo-
cal changes:

          % cvs checkout -jTAG:yesterday -jTAG module

     which tells CVS to merge in the changes made to  the  branch
     specified  by TAG in the last 24 hours.  If this is not what
is      intended, substitute "yesterday" for whatever  format  of
date that      is appropriate, like:

          % cvs checkout -jTAG:'1 week ago' -jTAG module

     *  "cvs  diff"  now  supports  the  special  tags "BASE" and
"HEAD".  So,      the command:

          % cvs diff -u -rBASE -rHEAD

     will effectively show the changes made by others (in unidiff
     format)  that  will be merged into your working sources with
your      next "cvs update" command.  "-rBASE"  resolves  to  the
revision  that       your working file is based on.  "-rHEAD" re-
solves to the current      head of the branch or trunk  that  you
are working on.

     *  The  -P option of "cvs checkout" now means to Prune empty
     directories, as with "update".  The default is to not remove
empty       directories.   However, if you do "checkout" with any
-r options, -P      will be implied.  I.e., checking out  with  a
tag will cause empty      directories to be pruned automatically.

     * The new file INSTALL describes how to install CVS, includ-
ing      detailed descriptions of interfaces to "configure".

     *  The example loginfo file in examples/loginfo has been up-
dated to      use the perl  script  included  in  contrib/log.pl.
The nice thing      about this log program is that it records the
revision numbers of      your change in the log message.

     Example files for commitinfo and rcsinfo are now included in
the      examples directory.

     *  All  "#if  defined(__STDC__) && __STDC__ == 1" lines have
been      changed to be "#if __STDC__" to fix some problems  with
the former.

     *  The lib/regex.[ch] files have been updated to the 1.3 re-
lease of      the GNU regex package.

     * The ndbm emulation routines included with CVS  1.3  Beta-2
in  the      src/ndbm.[ch] files has been moved into the src/myn-
dbm.[ch]  files       to  avoid  any  conflict  with  the  system
<ndbm.h>  header  file.   If      you had a previous CVS 1.3 Beta
release, you will want to "cvs      remove ndbm.[ch]"  form  your
copy of CVS as well.

     * "cvs add" and "cvs remove" are a bit more verbose, telling
you      what to do to add/remove your file permanently.

     * We no longer mess with /dev/tty in "commit" and "add".

     * More things are quiet with the -Q option set.

     * New src/config.h option:  If CVS_BADROOT is set, CVS  will
not       allow  people  really  logged  in  as  "root" to commit
changes.

     * "cvs diff" exits with a status  of  0  if  there  were  no
diffs, 1 if      there were diffs, and 2 if there were errors.

     *  "cvs  -n diff" is now supported so that you can still run
diffs      even while in the middle of committing files.

     * Handling of the CVS/Entries file is now much more  robust.

     * The default file ignore list now includes "*.so".

     *  "cvs  import"  did not expand '@' in the log message cor-
rectly.  It      does now.  Also, import now uses the ignore file
facility      correctly.

     Import  will  now tell you whether there were conflicts that
need to      be resolved, and how to resolve them.

     * "cvs log" has been changed so that you  can  "log"  things
that are      not a part of the current release (in the Attic).

     *  If you don't change the editor message on commit, CVS now
prompts      you with the choice:

          !)reuse this message unchanged for remaining dirs

     which allows you to tell CVS that you have no  intention  of
changing      the log message for the remainder of the commit.

     *  It  is no longer necessary to have CVSROOT set if you are
using      the -H option to get Usage  information  on  the  com-
mands.

     *  Command argument changes:      checkout:      -P handling
changed as described above.                       New  -j  option
(up to 2 can be specified)                     for doing rcsmerge
kind  of  things  on                       checkout.         com-
mit:             -r   option   now   supports   committing  to  a
                    numeric   or   symbolic   tags,   with   some
                    restrictions.   Full  consistency checks will
                    be done.                      Added "-f  log-
file" option, which tells                     commit to glean the
log message from the                     specified  file,  rather
than        invoking        the                           editor.
     rtag:               Added -b option to create a branch  tag,
                    useful  for  creating  a patch for a previous
                    release,   or   for   forking    development.
     tag:           Added  -b  option  to  create  a  branch tag,
                    useful for creating a patch  for  a  previous
                    release,    or   for   forking   development.
     update:             New -j option (up to 2 can be specified)
                    for   doing   rcsmerge   kind  of  things  on
                    update.

Thu Jan  9 10:51:35 MST 1992 Jeff Polk (polk at BSDI.COM)

     * Changes between CVS 1.3 Beta-1 and CVS 1.3 Beta-2

     * Thanks to K. Richard Pixley at Cygnus we now have function
     prototypes in all the files

     *  Some  small  changes to configure for portability.  There
have      been other portability problems submitted that have not
been  fixed       (Brian will be working on those).  Additionally
all __STDC__      tests have  been  modified  to  check  __STDC__
against  the  constant 1      (this is what the Second edition of
K&R says must be true).

     * Lots of additional error  checking  for  forked  processes
(run_exec)      (thanks again to K. Richard Pixley)

     *  Lots of miscellaneous bug fixes - including but certainly
not       limited  to:            various   commit   core   dumps
          various  update core dumps           bogus results from
status with numeric sticky tags           commitprog  used  freed
memory            Entries file corruption caused by No_Difference
          commit to revision broken (now works if branch  exists)
          ignore   file   processing   broken   for   *   and   !
          ignore  processing  didn't  handle  memory   reasonably
          miscellaneous   bugs   in   the   recursion   processor
          file  descriptor  leak  in   ParseInfo             CVS-
ROOT.adm->CVSROOT rename bug           lots of lint fixes

     * Reformatted all the code in src (with GNU indent) and then
     went back and fixed prototypes, etc since indent  gets  con-
fused.   The       rationale is that it is better to do it sooner
than later and now      everything is consistent and  will  hope-
fully  stay  that  way.        The  basic options to indent were:
"-bad -bbb -bap -cdb -d0 -bl -bli0      -nce -pcs -cs -cli4  -di1
-nbc -psl -lp -i4 -ip4 -c41"  and then      miscellaneous format-
ting fixes were applied.  Note  also  that  the       "-nfc1"  or
"-nfca" may be appropriate in files where comments have      been
carefully formatted (e.g, modules.c).

Sat Dec 14 20:35:22 1991  Brian Berliner  (berliner at sun.com)

     * Changes between CVS 1.2 and CVS  1.3  Beta  are  described
here.

     *  Lots  of portability work.  CVS now uses the GNU "config-
ure"      script to dynamically determine the  features  provided
by  your       system.   It  probably is not foolproof, but it is
better than      nothing.  Please let me know of any  portability
problems.   Some       file  names  were  changed  to  fit within
14-characters.

     * CVS has a new RCS parser that is much  more  flexible  and
     extensible.  It should read all known RCS ",v" format files.

     * Most of the commands now are fully recursive, rather  than
just       operating  on  the  current directory alone.  This in-
cludes "commit",      which makes it real easy to do an  "atomic"
commit  of  all  the       changes  made  to  a  CVS hierarchy of
sources.  Most of the commands      also  correctly  handle  file
names  that are in directories other than      ".", including ab-
solute path names.  Commands now accept the "-R"       option  to
force recursion on (though it is always the default now)      and
the "-l" option to force recursion off, doing just  "."  and  not
     any sub-directories.

     *  CVS  supports  many of the features provided with the RCS
5.x      distribution - including the new "-k" keyword  expansion
options.   I      recommend using RCS 5.x (5.6 is the current of-
ficial RCS version)      and GNU diff 1.15 (or  later)  distribu-
tions with CVS.

     *  Checking  out  files  with  symbolic  tags/dates  is  now
"sticky", in      that CVS remembers the tag/date used  for  each
file (and directory)      and will use that tag/date automatical-
ly on the next "update" call.       This  stickyness  also  holds
for files checked out with the the new      RCS 5.x "-k" options.

     * The "cvs diff" command now recognizes all of  the  rcsdiff
5.x       options.  Unidiff format is available by installing the
GNU      diff 1.15 distribution.

     * The old "CVS.adm" directories created on checkout are  now
called       "CVS"  directories,  to  look  more  like  "RCS" and
"SCCS".  Old CVS.adm      directories are automagically converted
to  CVS directories.  The      old "CVSROOT.adm" directory within
the source repository is      automagically changed into a  "CVS-
ROOT" directory as well.

     * Symbolic links in the source repository are fully support-
ed ONLY      if you use RCS 5.6 or later  and  (of  course)  your
system supports      symlinks.

     *  A  history  database has been contributed which maintains
the      history of certain CVS operations, as well as  providing
a wide array      of querying options.

     * The "cvs" program has a "-n" option which can be used with
the      "update" command to show what would be  updated  without
actually       doing the update, like:  "cvs -n update".  All us-
age statements      have been cleaned up and made more verbose.

     * The module database parsing has been rewritten.   The  new
format      is compatible with the old format, but with much more
     functionality.  It allows modules to be  created  that  grab
pieces  or      whole directories from various different parts of
your source      repository.  Module-relative specifications  are
also  correctly       recognized  now,  like  "cvs  checkout mod-
ule/file.c".

     * A configurable template can be specified such  that  on  a
"commit",      certain directories can supply a template that the
user must fill      before completing the commit operation.

     * A configurable pre-commit checking program can  be  speci-
fied  which       will  run to verify that a "commit" can happen.
This feature can be      used  to  restrict  certain  users  from
changing certain pieces of the      source repository, or denying
commits to the entire source      repository.

     * The new "cvs export" command is much like "checkout",  but
     establishes  defaults  suitable for exporting code to others
(expands      out keywords, forces the use of a symbolic tag, and
does  not  create       "CVS"  directories within the checked out
sources.

     * The new  "cvs  import"  command  replaces  the  deprecated
"checkin"       shell  script  and is used to import sources into
CVS control.  It is      also much faster for the first-time  im-
port.   Some algorithmic      improvements have also been made to
reduce the number of      conflicting files on next-time imports.

     *  The  new "cvs admin" command is basically an interface to
the      "rcs" program.  (Not yet implemented very well).

     * Signal handling (on systems with BSD or POSIX signals)  is
much      improved.  Interrupting CVS now works with a single in-
terrupt!

     * CVS now invokes RCS commands by  direct  fork/exec  rather
than      calling system(m).  This improves performance by remov-
ing a call to      the shell to parse the arguments.

     * Support for the .cvsignore file has been contributed.  CVS
will       now show "unknown" files as "? filename" as the result
of an "update"      command.  The .cvsignore file can be used  to
add  files to the      current list of ignored files so that they
won't show up as unknown.

     * Command argument changes:      cvs:      Added -l to  turn
off  history logging.                 Added -n to show what would
be   done   without   actually                  doing   anything.
               Added  -q/-Q  for quiet and really quiet settings.
               Added    -t    to    show     debugging     trace.
     add:      Added  -k to allow RCS 5.x -k options to be speci-
fied.       admin:         New command; an interface  to  rcs(s).
     checkout: Added   -A   to  reset  sticky  tags/date/options.
               Added   -N   to   not   shorten   module    paths.
               Added    -R    option    to    force    recursion.
               Changed -p (prune empty directories) to -P option.
               Changed  -f  option; forcing tags match is now de-
fault.                 Added -p  option  to  checkout  module  to
standard  output.                 Added -s option to cat the mod-
ules db with status.                 Added -d option to  checkout
in  the  specified  directory.                 Added -k option to
use RCS 5.x -k support.       commit:        Removed  -a  option;
use    -l    instead.                    Removed    -f    option.
               Added   -l   option    to    disable    recursion.
               Added    -R    option    to    force    recursion.
               If  no  files  specified,  commit  is   recursive.
     diff:          Now  recognizes  all RCS 5.x rcsdiff options.
               Added   -l   option    to    disable    recursion.
               Added  -R  option to force recursion.       histo-
ry:  New  command;  displays  info  about  CVS  usage.        im-
port:        Replaces  "checkin"  shell  script;  imports sources
               under CVS control.  Ignores files  on  the  ignore
               list  (see  -I  option  or  .cvsignore description
above).       export:        New command;  like  "checkout",  but
w/special  options                turned on by default to facili-
tate exporting sources.       join:          Added -B  option  to
join from base of the branch;                join now defaults to
only joining with the top  two                 revisions  on  the
branch.                  Added  -k option for RCS 5.x -k support.
     log:      Supports      all      RCS      5.x       options.
               Added    -l    option    to   disable   recursion.
               Added    -R    option    to    force    recursion.
     patch:         Changed  -f option; forcing tags match is now
default.                 Added -c option to  force  context-style
diffs.                  Added  -u option to support unidiff-style
diffs.                 Added -V option to support  RCS  specific-
version                      keyword      expansion      formats.
               Added -R  option  to  force  recursion.        re-
move:        No   option  changes.   It's  a  bit  more  verbose.
     rtag:          Equivalent to  the  old  "cvs  tag"  command.
               No  option changes.  It's a lot faster for re-tag.
     status:        New output  formats  with  more  information.
               Added    -l    option    to   disable   recursion.
               Added    -R    option    to    force    recursion.
               Added  -v  option to show symbolic tags for files.
     tag:      Functionality changed to  tag  checked  out  files
               rather than modules; use "rtag" command to get the
               old     "cvs     tag"     behaviour.           up-
date:        Added   -A   to   reset   sticky  tags/date/options.
               Changed -p (prune empty directories) to -P option.
               Changed  -f  option; forcing tags match is now de-
fault.                 Added -p  option  to  checkout  module  to
standard  output.                 Added -I option to add files to
the ignore list.                 Added -R option to force  recur-
sion.

     Major Contributors:

     *  Jeff  Polk <polk@bsdi.com> rewrote most of the grody code
of CVS      1.2.  He made just about everything dynamic (by using
malloc),       added  a generic hashed list manager, re-wrote the
modules database      parsing in a compatible - but extended way,
generalized  directory      hierarchy recursion for virtually all
the commands (including      commit!),  generalized  the  loginfo
file  to be used for pre-commit      checks and commit templates,
wrote a new and flexible RCS parser,       fixed  an  uncountable
number  of bugs, and helped in the design of      future CVS fea-
tures.  If there's anything gross left in CVS, it's      probably
my fault!

     *  David G. Grubbs <dgg@ksr.com> contributed the CVS "histo-
ry" 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.

     *  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.

     *  Free  Software  Foundation  contributed  the  "configure"
script and      other compatibility support in the "lib" directo-
ry, which will help      make CVS much more portable.

     *  Many  others have contributed bug reports and enhancement
requests.       Some have even submitted actual code which I have
not  had time yet      to integrate into CVS.  Maybe for the next
release.

     * Thanks to you all!

Wed Feb  6 10:10:58 1991  Brian Berliner  (berliner at sun.com)

     * Changes from CVS 1.0 Patchlevel 1 to CVS 1.0 Patchlevel 2;
also      known as "Changes from CVS 1.1 to CVS 1.2".

     *  Major new support with this release is the ability to use
the      recently-posted RCS 5.5 distribution with CVS 1.2.   See
below for      other assorted bug-fixes that have been thrown in.

     * ChangeLog (new): Added Emacs-style change-log file to  CVS
1.2       release.   Chronological description of changes between
release.

     * README: Small  fixes  to  installation  instructions.   My
email      address is now "berliner@sun.com".

     * src/Makefile: Removed "rcstime.h".  Removed "depend" rule.

     * src/partime.c:  Updated to RCS 5.5 version with hooks  for
CVS.        *  src/maketime.c:  Updated  to  RCS 5.5 version with
hooks for CVS.       * src/rcstime.h:  Removed from the  CVS  1.2
distribution.        Thanks  to  Paul Eggert <eggert@twinsun.com>
for these changes.

     * src/checkin.csh: Support for RCS 5.5 parsing.       Thanks
to Paul Eggert <eggert@twinsun.com> for this change.

     *  src/collect_sets.c (Collect_Sets): Be quieter if "-f" op-
tion is      specified.  When checking out files on-top-of  other
files  that  CVS      doesn't know about, run a diff in the hopes
that they are really      the same file before aborting.

     * src/commit.c (branch_number): Fix  for  RCS  5.5  parsing.
     Thanks  to Paul Eggert <eggert@twinsun.com> for this change.

     * src/commit.c (do_editor): Bug fix - fprintf missing  argu-
ment      which sometimes caused core dumps.

     *  src/modules.c  (process_module):  Properly NULL-terminate
     update_dir[] in all cases.

     * src/no_difference.c (No_Difference): The wrong  RCS  revi-
sion was      being registered in certain (strange) cases.

     * src/patch.c (get_rcsdate): New algorithm.  No need to call
     maketime() any longer.        Thanks  to  Paul  Eggert  <eg-
gert@twinsun.com> for this change.

     * src/patchlevel.h: Increased patch level to "2".

     *  src/subr.c  (isdir, islink): Changed to compare stat mode
bits      correctly.

     * src/tag.c (tag_file): Added support for following symbolic
links      that are in the master source repository when tagging.
Made tag      somewhat quieter in certain cases.

     * src/update.c  (update_process_lists):  Unlink  the  user's
file  if  it       was  put on the Wlist, meaning that the user's
file is not modified      and its RCS file has  been  removed  by
someone else.

     *  src/update.c  (update):  Support  for "cvs update dir" to
correctly      just update the argument directory "dir".

     * src/cvs.h: Fixes for RCS  5.5  parsing.        *  src/ver-
sion_number.c   (Version_Number):   Fixes  for  parsing  RCS  5.5
     and older RCS-format files.       Thanks to Paul Eggert <eg-
gert@twinsun.com> for these changes.

     *  src/version_number.c (Version_Number): Bug fixes for "-f"
option.       Bug fixes for parsing with certain branch  numbers.
RCS      revision/symbol parsing is much more solid now.

Wed Feb 14 10:01:33 1990  Brian Berliner  (berliner at sun.com)

     * Changes from CVS 1.0 Patchlevel 0 to CVS 1.0 Patchlevel 1;
also      known as "Changes from CVS 1.0 to CVS 1.1".

     * src/patch.c (get_rcsdate): Portability fix.  Replaced call
to      timelocal() with call to maketime().

Mon  Nov  19  23:15:11  1990   Brian Berliner  (berliner at pris-
ma.com)

     * Sent CVS 1.0 release to  comp.sources.unix  moderator  and
FSF.

     *  Special thanks to Dick Grune <dick@cs.vu.nl> for his work
on the      1986 version of CVS and making it  available  to  the
world.   Dick's       version is available on uunet.uu.net in the
     comp.sources.unix/volume6/cvs directory.

@(#)ChangeLog 1.17 92/04/10