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