xref: /openbsd/gnu/usr.bin/cvs/NEWS (revision 43c1707e)
1*43c1707eStholoChanges since 1.11.1:
2*43c1707eStholo
3*43c1707eStholo* Read only access was broken - now fixed.
4*43c1707eStholo
5*43c1707eStholoChanges since 1.11:
6*43c1707eStholo
7*43c1707eStholo* There was a bug in the diff code which caused conflicts to be flagged which shouldn't
8*43c1707eStholohave been.  This has been fixed.
9*43c1707eStholo
10*43c1707eStholo* New "cvs rlog" and "cvs rannotate" commands have been added to get log
11*43c1707eStholomessages and annotations without having to have a checked-out copy.
12*43c1707eStholo
13*43c1707eStholo* The VMS client now accepts wildcards if you're running VMS 7.x.
14*43c1707eStholo
15*43c1707eStholo* ZLIB has been updated to version 1.1.3, the most current version.  This
16*43c1707eStholoincludes mostly some optimizations and minor bug fixes.
17*43c1707eStholo
18*43c1707eStholo* The ~/.cvspass file has a slightly modified format.  CVSROOTs are now
19*43c1707eStholostored in a new canonical form - hostnames are now case insensitive and port
20*43c1707eStholonumbers are always stored in the new format.  Until a new login for a
21*43c1707eStholoparticular CVSROOT is performed with the new version of CVS, new and old
22*43c1707eStholoversions of CVS should interoperate invisibly.  After that point, an extra login
23*43c1707eStholousing the old version of CVS may be necessary to continue to allow the new and
24*43c1707eStholoold versions of CVS to interoperate using the same ~/.cvspass file and CVSROOT.
25*43c1707eStholoThe exception to this rule occurs when the CVSROOTs used with the different
26*43c1707eStholoversions use case insensitively different hostnames, for example, "empress",
27*43c1707eStholoand "empress.2-wit.com".
28*43c1707eStholo
29*43c1707eStholo* A password and a port number may now be specified in CVSROOT for pserver
30*43c1707eStholoconnections.  The new format is:
31*43c1707eStholo
32*43c1707eStholo    :pserver:[[user][:password]@]host[:[port]]/path
33*43c1707eStholo
34*43c1707eStholoNote that passwords specified in a checkout command will be saved in the clear
35*43c1707eStholoin the CVS/Root file in each created directory, so this is not recommended,
36*43c1707eStholoexcept perhaps when accessing anonymous repositories or the like.
37*43c1707eStholo
38*43c1707eStholo* The distribution has been converted to use Automake.  This shouldn't affect
39*43c1707eStholomost users except to ease some portability concerns, but if you are building
40*43c1707eStholofrom the repository and encounter problems with the makefiles, you might try
41*43c1707eStholorunning ./noautoconf.sh after a fresh update -AC.
42*43c1707eStholo
43c71bc7e2StholoChanges since 1.10:
44c71bc7e2Stholo
45e77048c1Stholo* The new "cvs version" command gives a short version message.  If
46e77048c1Stholothe repository is remote, both the client and server versions are
47e77048c1Stholoreported.
48e77048c1Stholo
49e77048c1Stholo* "cvs admin -t" now works correctly in client/server mode.
50e77048c1Stholo
51e77048c1Stholo* The "cvs history" command output format has changed -- the date
52e77048c1Stholonow includes the year and is given is ISO 8601 format (yyyy-mm-dd).
53e77048c1StholoAlso, the new LogHistory option in CVSROOT/config can be used to
54e77048c1Stholocontrol what information gets recorded in the log file and code has
55e77048c1Stholobeen added to record file removals.
56e77048c1Stholo
57e77048c1Stholo* The buggy PreservePermissions code has been disabled.
58e77048c1Stholo
59e77048c1Stholo* Anonymous read-only access can now be done without requiring a
60e77048c1Stholopassword.  On the server side, simply give that user (presumably
61e77048c1Stholo`anonymous') an empty password in the CVSROOT/passwd file, and then
62e77048c1Stholoany received password will authenticate successfully.
63e77048c1Stholo
64c71bc7e2Stholo* There is a new access method :fork: which is similar to :local:
65c71bc7e2Stholoexcept that it is implemented via the CVS remote protocol, and thus
66c71bc7e2Stholohas a somewhat different set of quirks and bugs.
67c71bc7e2Stholo
68c71bc7e2Stholo* The -d command line option no longer updates the CVS/Root file.  For
69c71bc7e2Stholoone thing, the CVS 1.9/1.10 behavior never had updated CVS/Root in
70c71bc7e2Stholosubdirectories, and for another, it didn't seem that popular in
71c71bc7e2Sthologeneral.  So this change restores the CVS 1.8 behavior (which is also
72c71bc7e2Stholothe CVS 1.9/1.10 behavior if the environment variable
73c71bc7e2StholoCVS_IGNORE_REMOTE_ROOT is set; with this change,
74c71bc7e2StholoCVS_IGNORE_REMOTE_ROOT no longer has any effect).
75c71bc7e2Stholo
76c71bc7e2Stholo* It is now possible for a single CVS command to recurse into several
77c71bc7e2StholoCVS roots.  This includes roots which are located on several servers,
78c71bc7e2Stholoor which are both remote and local.  CVS will make connections to as
79c71bc7e2Stholomany servers as necessary.
80c71bc7e2Stholo
81c71bc7e2Stholo* It is now possible to put the CVS lock files in a directory
82c71bc7e2Stholoset by the new LockDir option in CVSROOT/config.  The default
83c71bc7e2Stholocontinues to be to put the lock files in the repository itself.
84c71bc7e2Stholo
85c71bc7e2StholoChanges from 1.9 to 1.10:
86461cc63eStholo
87b2346922Stholo* There is a new feature, enabled by TopLevelAdmin in CVSROOT/config,
88b2346922Stholowhich tells CVS to modify the behavior of the "checkout" command.  The
89b2346922Stholocommand now creates a CVS directory at the top level of the new
90b2346922Stholoworking directory, in addition to CVS directories created within
91b2346922Stholochecked-out directories.  See the Cederqvist for details.
92b2346922Stholo
93b6f6614eStholo* There is an optional set of features, enabled by PreservePermissions
94b6f6614eStholoin CVSROOT/config, which allow CVS to store unix-specific file
95b6f6614eStholoinformation such as permissions, file ownership, and links.  See the
96b6f6614eStholoCederqvist for details.
97b6f6614eStholo
982286d8edStholo* One can now authenticate and encrypt using the GSSAPI network
99b6f6614eStholosecurity interface.  For details see the Cederqvist's description of
100b6f6614eStholospecifying :gserver: in CVSROOT, and the -a global option.
1012286d8edStholo
1022286d8edStholo* All access to RCS files is now implemented internally rather than by
1032286d8edStholocalling RCS programs.  The main user-visible consequence of this is
1042286d8edStholothat there is no need to worry about making sure that CVS finds the
1052286d8edStholocorrect version of RCS.  The -b global option and the RCSBIN setting
1062286d8edStholoin CVSROOT/config are still accepted but don't do anything.  The
1072286d8edStholo$RCSBIN internal variable in administrative files is no longer
1082286d8edStholoaccepted.
1092286d8edStholo
1102286d8edStholo* There is a new syntax, "cvs admin -orev1::rev2", which collapses the
1112286d8edStholorevisions between rev1 and rev2 without deleting rev1 or rev2
1122286d8edStholothemselves.
1132286d8edStholo
1142286d8edStholo* There is a new administrative file CVSROOT/config which allows one
1152286d8edStholoto specify miscellaneous aspects of CVS configuration.  Currently
1162286d8edStholosupported here:
1172286d8edStholo
1182286d8edStholo  - SystemAuth, allows you to prevent pserver from checking for system
1192286d8edStholo  usernames/passwords.
1202286d8edStholo
1212286d8edStholoFor more information see the "config" section of cvs.texinfo.
1222286d8edStholo
1232770ece5Stholo* When setting up the pserver server, one now must specify the
1242770ece5Stholoallowable CVSROOT directories in inetd.conf.  See the Password
1252770ece5Stholoauthentication server section of cvs.texinfo for details.  Note that
1262770ece5Stholothis implies that everyone who is running a pserver server must edit
1272770ece5Stholoinetd.conf when upgrading their CVS.
1282770ece5Stholo
1292770ece5Stholo* The client no longer needs an external patch program (assuming both
1302770ece5Stholothe client and the server have been updated to the new version).
1312770ece5Stholo
132780d15dfStholo* "cvs admin [options]" will now recurse.  In previous versions of
133780d15dfStholoCVS, it was an error and one needed to specify "cvs admin [options] ."
134780d15dfStholoto recurse.  This change brings admin in line with the other CVS
135780d15dfStholocommands.
136780d15dfStholo
137780d15dfStholo* New "logout" command to remove the password for a remote cvs
138780d15dfStholorepository from the cvspass file.
139780d15dfStholo
140461cc63eStholo* Read-only repository access is implemented for the
141461cc63eStholopassword-authenticated server (other access methods are just governed
142461cc63eStholoby Unix file permissions, since they require login access to the
143461cc63eStholorepository machine anyway).  See the "Repository" section of
1442286d8edStholocvs.texinfo for details, including a discussion of security issues.
1452286d8edStholoNote that the requirement that read-only users be able to create locks
1462286d8edStholoand write the history file still applies.
147461cc63eStholo
148461cc63eStholo* There is a new administrative file verifymsg which is like editinfo
149461cc63eStholobut merely validates the message, rather than also getting it from the
150461cc63eStholouser.  It therefore works with client/server CVS or if one uses the -m
151461cc63eStholoor -F options to commit.  See the verifymsg section of cvs.texinfo for
152461cc63eStholodetails.
153461cc63eStholo
154461cc63eStholo* The %s format formerly accepted in loginfo has been extended to
155461cc63eStholoformats such as %{sVv}, so that loginfo scripts have access to the
156461cc63eStholoversion numbers being changed.  See the Loginfo section of cvs.texinfo
157461cc63eStholofor details.
158461cc63eStholo
159461cc63eStholo* The postscript documentation (doc/cvs.ps) shipped with CVS is now
160461cc63eStholoformatted for US letter size instead of A4.  This is not because we
161461cc63eStholoconsider this size "better" than A4, but because we believe that the
162461cc63eStholoUS letter version will print better on A4 paper than the other way
163461cc63eStholoaround.
164461cc63eStholo
165461cc63eStholo* The "cvs export" command is now logged in the history file and there
166461cc63eStholois a "cvs history -x E" command to select history file entries
167461cc63eStholoproduced by export.
168461cc63eStholo
169461cc63eStholo* CVS no longer uses the CVS_PASSWORD environment variable.  Storing
170461cc63eStholopasswords in cleartext in an environment variable is a security risk,
171461cc63eStholoespecially since (on BSD variants) any user on the system can display
172461cc63eStholoany process's environment using 'ps'.  Users should use the 'cvs
173461cc63eStholologin' command instead.
174461cc63eStholo
175461cc63eStholo
176461cc63eStholoChanges from 1.8 to 1.9:
17750bf276cStholo
17850bf276cStholo* Windows NT client should now work on Windows 95 as well.
17950bf276cStholo
18050bf276cStholo* New option "--help-synonyms" prints a list of all recognized command
18150bf276cStholosynonyms.
18250bf276cStholo
18350bf276cStholo* The "log" command is now implemented internally rather than via the
18450bf276cStholoRCS "rlog" program.  The main user-visible consequence is that
18550bf276cStholosymbolic branch names now work (for example "cvs log -rbranch1").
18650bf276cStholoAlso, the date formats accepted by -d have changed.  They previously
18750bf276cStholohad been a bewildering variety of poorly-documented date formats.  Now
18850bf276cStholothey are the same as the date formats accepted by the -D options to
18950bf276cStholothe other CVS commands, which is also a (different) bewildering
19050bf276cStholovariety of poorly-documented date formats, but at least we are
19150bf276cStholoconsistently bewildering :-).
19250bf276cStholo
19350bf276cStholo* Encryption is now supported over a Kerberos client/server
19450bf276cStholoconnection.  The new "-x" global option requests it.  You must
19550bf276cStholoconfigure with the --enable-encryption option in order to enable
19650bf276cStholoencryption.
19750bf276cStholo
19850bf276cStholo* The format of the CVS commit message has changed slightly when
19950bf276cStholocommitting changes on a branch.  The tag on which the commit is
20050bf276cStholoocurring is now reported correctly in all cases.
20150bf276cStholo
20250bf276cStholo* New flag -k in wrappers allows you to specify the keyword expansion
20350bf276cStholomode for added files based on their name.  For example, you can
20450bf276cStholospecify that files whose name matches *.exe are binary by default.
20550bf276cStholoSee the Wrappers section of cvs.texinfo for more details.
20650bf276cStholo
20750bf276cStholo* Remote CVS with the "-z" option now uses the zlib library (included
20850bf276cStholowith CVS) to compress all communication between the client and the
20950bf276cStholoserver, rather than invoking gzip on each file separately.  This means
21050bf276cStholothat compression is better and there is no need for an external gzip
21150bf276cStholoprogram (except to interoperate with older version of CVS).
21250bf276cStholo
21350bf276cStholo* The "cvs rlog" command is deprecated and running it will print a
21450bf276cStholowarning; use the synonymous "cvs log" command instead.  It is
21550bf276cStholoconfusing for rlog to mean the same as log because some other CVS
21650bf276cStholocommands are in pairs consisting of a plain command which operates on
21750bf276cStholoa working directory and an "r" command which does not (diff/rdiff;
21850bf276cStholotag/rtag).
21950bf276cStholo
22050bf276cStholo* "cvs diff" has a bunch of new options, mostly long options.  Most of
22150bf276cStholothese work only if rcsdiff and diff support them, and are named the
22250bf276cStholosame as the corresponding options to diff.
22350bf276cStholo
22450bf276cStholo* The -q and -Q command options to "cvs diff" were removed (use the
22550bf276cSthologlobal options instead).  This brings "cvs diff" into line with the
22650bf276cStholorest of the CVS commands.
22750bf276cStholo
22850bf276cStholo* The "annotate" command can now be used to annotate a revision other
22950bf276cStholothan the head revision on the trunk (see the -r, -D, and -f options in
23050bf276cStholothe annotate node of cvs.texinfo for details).
23150bf276cStholo
23250bf276cStholo* The "tag" command has a new option "-c" which checks that all files
23350bf276cStholo  are not locally modified before tagging.
23450bf276cStholo
23550bf276cStholo* The -d command line option now overrides the cvsroot setting stored
23650bf276cStholoin the CVS/Root file in each working directory, and specifying -d will
23750bf276cStholocause CVS/Root to be updated.
23850bf276cStholo
23950bf276cStholo* Local (non-client/server) CVS now runs on Windows NT.  See
24050bf276cStholowindows-NT/README for details.
24150bf276cStholo
24250bf276cStholo* The CVSROOT variable specification has changed to support more
24350bf276cStholoaccess methods.  In addition to "pserver," "server" (internal rsh
24450bf276cStholoclient), "ext" (external rsh client), "kserver" (kerberos), and
24550bf276cStholo"local" (local filesystem access) can now be specified.  For more
24650bf276cStholodetails on each method, see cvs.texinfo (there is an index entry for
24750bf276cStholo:local: and each of the other access methods).
24850bf276cStholo
24950bf276cStholo* The "login" command no longer prompts the user for username and
25050bf276cStholohostname, since one will have to provide that information via the `-d'
25150bf276cStholoflag or by setting CVSROOT.
25250bf276cStholo
25350bf276cStholoChanges from 1.7 to 1.8:
25413571821Stholo
255c2c61682Stholo* New "cvs annotate" command to display the last modification for each
256c2c61682Sthololine of a file, with the revision number, user checking in the
257c2c61682Stholomodification, and date of the modification.  For more information see
258c2c61682Stholothe `annotate' node in cvs.texinfo.
259c2c61682Stholo
260c2c61682Stholo* The cvsinit shell script has been replaced by a cvs init command.
261c2c61682StholoThe cvs init command creates some example administrative files which
262c2c61682Stholoare similar to the files found in the examples directory (and copied
263c2c61682Stholoby cvsinit) in previous releases.
264c2c61682Stholo
265c2c61682Stholo* Added the patterns *.olb *.exe _$* *$ to default ignore list.
266c2c61682Stholo
267c26070a5Stholo* There is now a $USER internal variable for *info files.
268c26070a5Stholo
269c26070a5Stholo* There is no longer a separate `mkmodules' program; the functionality
270c26070a5Stholois now built into `cvs'.  If upgrading an old repository, it is OK to
271c26070a5Sthololeave in the lines in the modules file which run mkmodules (the
272c26070a5Stholomkmodules actions will get done twice, but that is harmless); you will
273c26070a5Stholoprobably want to remove them once you are no longer using the old CVS.
274c26070a5Stholo
275c26070a5Stholo* One can now specify user variables in *info files via the
276c26070a5Stholo${=varname} syntax; there is a -s global option to set them.  See the
277c26070a5StholoVariables node in cvs.texinfo for details.
27813571821Stholo
27913571821StholoChanges from 1.6 to 1.7:
28013571821Stholo
28113571821Stholo* The default ignore list has changed slightly: *.obj has been added
28213571821Stholoand CVS* has been changed to CVS CVS.adm.
28313571821Stholo
28413571821Stholo* CVS now supports password authentication when accessing remote
28513571821Stholorepositories; this is useful for sites that can't use rsh (because of
28613571821Stholoa firewall, for example), and also don't have kerberos.  See node
28713571821Stholo"Password authenticated" (in "Remote repositories", in
28813571821Stholodoc/cvs.texinfo) for more details.  Note: This feature requires both
28913571821Stholothe client and server to be upgraded.
29013571821Stholo
29113571821Stholo* Using the -kb option to specify binary files now works--most cases
29213571821Stholodid not work before.  See the "Binary files" section of
29313571821Stholodoc/cvs.texinfo for details.
29413571821Stholo
29513571821Stholo* New developer communication features.  See the "Watches" section of
29613571821Stholodoc/cvs.texinfo for details.
29713571821Stholo
29813571821Stholo* RCS keyword "Name" supported for "cvs update -r <tag>" and "cvs
29913571821Stholocheckout -r <tag>".
30013571821Stholo
30113571821Stholo* If there is a group whose name matches a compiled in value which
30213571821Stholodefaults to "cvsadmin", only members of that group can use "cvs
30313571821Stholoadmin".  This replaces the CVS_NOADMIN option.
30413571821Stholo
30513571821Stholo* CVS now sets the modes of files in the repository based on the
30613571821StholoCVSUMASK environment variable or a compiled in value defaulting to
30713571821Stholo002.  This way other developers will be able to access the files in
30813571821Stholothe repository regardless of the umask of the developer creating them.
30913571821Stholo
31013571821Stholo* The command names in .cvsrc now match the official name of the
31113571821Stholocommand, not the one (possibly an alias) by which it was invoked.  If
31213571821Stholoyou had previously relied on "cvs di" and "cvs diff" using different
31313571821Stholooptions, instead use a shell function or alias (for example "alias
31413571821Stholocvsdi='cvs diff -u'").  You also can specify global CVS options (like
31513571821Stholo"-z") using the command name "cvs".
31613571821Stholo
3171e72d8d2SderaadtChanges from 1.5 to 1.6:
3181e72d8d2Sderaadt
3191e72d8d2Sderaadt* Del updated the man page to include all of the new features
3201e72d8d2Sderaadtof CVS 1.6.
3211e72d8d2Sderaadt
3221e72d8d2Sderaadt* "cvs tag" now supports a "-r | -D" option for tagging an already
3231e72d8d2Sderaadttagged revision / specific revision of a file.
3241e72d8d2Sderaadt
3251e72d8d2Sderaadt* There is a "taginfo" file in CVSROOT that supports filtering and
3261e72d8d2Sderaadtrecording of tag operations.
3271e72d8d2Sderaadt
3281e72d8d2Sderaadt* Long options support added, including --help and --version options.
3291e72d8d2Sderaadt
3301e72d8d2Sderaadt* "cvs release" no longer cares whether or not the directory being
3311e72d8d2Sderaadtreleased has an entry in the `modules' file.
3321e72d8d2Sderaadt
3331e72d8d2Sderaadt* The modules file now takes a -e option which is used instead of -o
3341e72d8d2Sderaadtfor "cvs export".  If your modules file has a -o option which you want
3351e72d8d2Sderaadtto be used for "cvs export", change it to specify -e as well as -o.
3361e72d8d2Sderaadt
3371e72d8d2Sderaadt* "cvs export" now takes a -k option to set RCS keyword expansion.
3381e72d8d2SderaadtThis way you can export binary files.  If you want the old behavior,
3391e72d8d2Sderaadtyou need to specify -kv.
3401e72d8d2Sderaadt
3411e72d8d2Sderaadt* "cvs update", "cvs rdiff", "cvs checkout", "cvs import", "cvs
3421e72d8d2Sderaadtrelease", "cvs rtag", and "cvs tag" used to take -q and -Q options
3431e72d8d2Sderaadtafter the command name (e.g. "cvs update -q").  This was confusing
3441e72d8d2Sderaadtbecause other commands, such as "cvs ci", did not.  So the options
3451e72d8d2Sderaadtafter the command name have been removed and you must now specify, for
3461e72d8d2Sderaadtexample, "cvs -q update", which has been supported since CVS 1.3.
3471e72d8d2Sderaadt
3481e72d8d2Sderaadt* New "wrappers" feature.  This allows you to set a hook which
3491e72d8d2Sderaadttransforms files on their way in and out of cvs (apparently on the
3501e72d8d2SderaadtNeXT there is some particular usefulness in tarring things up in the
3511e72d8d2Sderaadtrepository).  It also allows you to declare files as merge-by-copy
3521e72d8d2Sderaadtwhich means that instead of trying to merge the file, CVS will merely
3531e72d8d2Sderaadtcopy the new version.  There is a CVSROOT/cvswrappers file and an
3541e72d8d2Sderaadtoptionsl ~/.cvswrappers file to support this feature.
3551e72d8d2Sderaadt
3561e72d8d2Sderaadt* You can set CVSROOT to user@host:dir, not just host:dir, if your
3571e72d8d2Sderaadtusername on the server host is different than on the client host.
3581e72d8d2Sderaadt
3591e72d8d2Sderaadt* VISUAL is accepted as well as EDITOR.
3601e72d8d2Sderaadt
3611e72d8d2Sderaadt* $CVSROOT is expanded in *info files.
3621e72d8d2Sderaadt
3631e72d8d2SderaadtChanges from 1.4A2 to 1.5:
3641e72d8d2Sderaadt
3651e72d8d2Sderaadt* Remote implementation.  This is very helpful when collaborating on a
3661e72d8d2Sderaadtproject with someone across a wide-area network.  This release can
3671e72d8d2Sderaadtalso be used locally, like other CVS versions, if you have no need for
3681e72d8d2Sderaadtremote access.
3691e72d8d2Sderaadt
3701e72d8d2SderaadtHere are some of the features of the remote implementation:
3711e72d8d2Sderaadt- It uses reliable transport protocols (TCP/IP) for remote repository
3721e72d8d2Sderaadt  access, not NFS.  NFS is unusable over long distances (and sometimes
3731e72d8d2Sderaadt  over short distances)
3741e72d8d2Sderaadt- It transfers only those files that have changed in the repository or
3751e72d8d2Sderaadt  the working directory.  To save transmission time, it will transfer
3761e72d8d2Sderaadt  patches when appropriate, and can compress data for transmission.
3771e72d8d2Sderaadt- The server never holds CVS locks while waiting for a reply from the client;
3781e72d8d2Sderaadt  this makes the system robust when used over flaky networks.
3791e72d8d2Sderaadt
3801e72d8d2SderaadtThe remote features are documented in doc/cvsclient.texi in the CVS
3811e72d8d2Sderaadtdistribution, but the main doc file, cvs.texinfo, has not yet been
3821e72d8d2Sderaadtupdated to include the remote features.
3831e72d8d2Sderaadt
3841e72d8d2Sderaadt* Death support.  See src/README-rm-add for more information on this.
3851e72d8d2Sderaadt
3861e72d8d2Sderaadt* Many speedups, especially from jtc@cygnus.com.
3871e72d8d2Sderaadt
3881e72d8d2Sderaadt* CVS 1.2 compatibility code has been removed as a speedup.  If you
3891e72d8d2Sderaadthave working directories checked out by CVS 1.2, CVS 1.3 or 1.4A2 will
3901e72d8d2Sderaadttry to convert them, but CVS 1.5 and later will not (if the working
3911e72d8d2Sderaadtdirectory is up to date and contains no extraneous files, you can just
3921e72d8d2Sderaadtremove it, and then check out a new working directory).  Likewise if
3931e72d8d2Sderaadtyour repository contains a CVSROOT.adm directory instead of a CVSROOT
3941e72d8d2Sderaadtdirectory, you need to rename it.
3951e72d8d2Sderaadt
3961e72d8d2SderaadtFri Oct 21 20:58:54 1994  Brian Berliner  <berliner@sun.com>
3971e72d8d2Sderaadt
3981e72d8d2Sderaadt	* Changes between CVS 1.3 and CVS 1.4 Alpha-2
3991e72d8d2Sderaadt
4001e72d8d2Sderaadt	* A new program, "cvsbug", is provided to let you send bug reports
4011e72d8d2Sderaadt	directly to the CVS maintainers.  Please use it instead of sending
4021e72d8d2Sderaadt	mail to the info-cvs mailing list.  If your build fails, you may
4031e72d8d2Sderaadt	have to invoke "cvsbug" directly from the "src" directory as
4041e72d8d2Sderaadt	"src/cvsbug.sh".
4051e72d8d2Sderaadt
4061e72d8d2Sderaadt	* A new User's Guide and Tutorial, written by Per Cederqvist
4071e72d8d2Sderaadt	<ceder@signum.se> of Signum Support.  See the "doc" directory.  A
4081e72d8d2Sderaadt	PostScript version is included as "doc/cvs.ps".
4091e72d8d2Sderaadt
4101e72d8d2Sderaadt	* The Frequesntly Asked Questions file, FAQ, has been added to the
4111e72d8d2Sderaadt	release.  Unfortunately, its contents are likely out-of-date.
4121e72d8d2Sderaadt
4131e72d8d2Sderaadt	* The "cvsinit" shell script is now installed in the $prefix/bin
4141e72d8d2Sderaadt	directory like the other programs.  You can now create new
4151e72d8d2Sderaadt	CVS repositories with great ease.
4161e72d8d2Sderaadt
4171e72d8d2Sderaadt	* Index: lines are now printed on output from 'diff' and 'rdiff',
4181e72d8d2Sderaadt	in order to facilitate application of patches to multiple subdirs.
4191e72d8d2Sderaadt
4201e72d8d2Sderaadt	* Support for a ~/.cvsrc file, which allows you to specify options
4211e72d8d2Sderaadt	that are always supposed to be given to a specific command.  This
4221e72d8d2Sderaadt	feature shows the non-orthogonality of the option set, since while
4231e72d8d2Sderaadt	there may be an option to turn something on, the option to turn
4241e72d8d2Sderaadt	that same thing off may not exist.
4251e72d8d2Sderaadt
4261e72d8d2Sderaadt	* You can now list subdirectories that you wish to ignore in a
4271e72d8d2Sderaadt	modules listing, such as:
4281e72d8d2Sderaadt
4291e72d8d2Sderaadt		gcc  -a gnu/gcc, !gnu/gcc/testsuites
4301e72d8d2Sderaadt
4311e72d8d2Sderaadt	which will check out everything underneath gnu/gcc, except
4321e72d8d2Sderaadt	everything underneath gnu/gcc/testsuites.
4331e72d8d2Sderaadt
4341e72d8d2Sderaadt	* It is now much harder to accidentally overwrite an existing tag
4351e72d8d2Sderaadt	name, since attempting to move a tag name will result in a error,
4361e72d8d2Sderaadt	unless the -F (force) flag is given to the tag subcommands.
4371e72d8d2Sderaadt
4381e72d8d2Sderaadt	* Better error checking on matching of the repository used to
4391e72d8d2Sderaadt	check code out from against the repository the current cvs
4401e72d8d2Sderaadt	commnands would use. (Thanks to Mark Baushke <mdb@cisco.com>)
4411e72d8d2Sderaadt
4421e72d8d2Sderaadt	* Better support for sites with multiple CVSROOT repositories has
4431e72d8d2Sderaadt	been contributed.  The file "CVS/Root" in your working directory
4441e72d8d2Sderaadt	is created to hold the full path to the CVS repository and a
4451e72d8d2Sderaadt	simple check is made against your current CVSROOT setting.
4461e72d8d2Sderaadt
4471e72d8d2Sderaadt	* You can now specify an RCS keyword substitution value when you
4481e72d8d2Sderaadt	import files into the repository.
4491e72d8d2Sderaadt
4501e72d8d2Sderaadt	* Uses a much newer version of Autoconf, and conforms to the GNU
4511e72d8d2Sderaadt	coding standards much more closely.  No, it still doesn't have
4521e72d8d2Sderaadt	long option names.
4531e72d8d2Sderaadt
4541e72d8d2Sderaadt	* Code cleanup.  Many passes through gcc -Wall helped to identify
4551e72d8d2Sderaadt	a number of questionable constructs.  Most arbitrary length limits
4561e72d8d2Sderaadt	were removed.
4571e72d8d2Sderaadt
4581e72d8d2Sderaadt	* Profiling to determine bottlenecks helped to identify the best
4591e72d8d2Sderaadt	places to spend time speeding up the code, which was then done.  A
4601e72d8d2Sderaadt	number of performance enhancements in filename matching have sped
4611e72d8d2Sderaadt	up checkouts.
4621e72d8d2Sderaadt
4631e72d8d2Sderaadt	* Many more contributions have been added to the "contrib"
4641e72d8d2Sderaadt	directory.  See the README file in that directory for more
4651e72d8d2Sderaadt	information.
4661e72d8d2Sderaadt
4671e72d8d2Sderaadt	* "cvs commit" will try harder to not change the file's
4681e72d8d2Sderaadt	modification time after the commit.  If the file does not change
4691e72d8d2Sderaadt	as a result of the commit operation, CVS will preserve the
4701e72d8d2Sderaadt	original modification time, thus speeding up future make-type
4711e72d8d2Sderaadt	builds.
4721e72d8d2Sderaadt
4731e72d8d2Sderaadt	* "cvs commit" now includes any removed files in the (optional)
4741e72d8d2Sderaadt	pre-commit checking program that may be invoked.  Previously, only
4751e72d8d2Sderaadt	added and modified files were included.
4761e72d8d2Sderaadt
4771e72d8d2Sderaadt	* It is now possible to commit a file directly onto the trunk at a
4781e72d8d2Sderaadt	specific revision level by doing "cvs commit -r3.0 file.c", where
4791e72d8d2Sderaadt	"3.0" specifies the revision you wish to create.  The file must be
4801e72d8d2Sderaadt	up-to-date with the current head of the trunk for this to succeed.
4811e72d8d2Sderaadt
4821e72d8d2Sderaadt	* "cvs commit" will now function with a pre-commit program that
4831e72d8d2Sderaadt	has arguments specified in the "commitinfo" file.
4841e72d8d2Sderaadt
4851e72d8d2Sderaadt	* The "mkmodules" program will now look within the
4861e72d8d2Sderaadt	$CVSROOT/CVSROOT/checkoutlist" file for any additional files that
4871e72d8d2Sderaadt	should be automatically checked out within CVSROOT; mkmodules also
4881e72d8d2Sderaadt	tries harder to preserve any execute bits the files may have
4891e72d8d2Sderaadt	originally had.
4901e72d8d2Sderaadt
4911e72d8d2Sderaadt	* "cvs diff" is much more accurate about its exit status now.  It
4921e72d8d2Sderaadt	now returns the maximum exit status of any invoked diff.
4931e72d8d2Sderaadt
4941e72d8d2Sderaadt	* The "-I !" option is now supported for the import and update
4951e72d8d2Sderaadt	commands correctly.  It will properly clear the ignore list now.
4961e72d8d2Sderaadt
4971e72d8d2Sderaadt	* Some problems with "cvs import" handling of .cvsignore have been
4981e72d8d2Sderaadt	fixed; as well, some rampant recursion problems with import have
4991e72d8d2Sderaadt	also been fixed.
5001e72d8d2Sderaadt
5011e72d8d2Sderaadt	* "cvs rdiff" (aka "cvs patch") now tries to set the modify time
5021e72d8d2Sderaadt	of any temporary files it uses to match those specified for the
5031e72d8d2Sderaadt	particular revision.  This allows a more accurate patch image to
5041e72d8d2Sderaadt	be created.
5051e72d8d2Sderaadt
5061e72d8d2Sderaadt	* "cvs status" has improved revision descriptions.  "Working
5071e72d8d2Sderaadt	revision" is used for the revision of the working file that you
5081e72d8d2Sderaadt	edit directly; "Repository revision" is the revision of the file
5091e72d8d2Sderaadt	with the $CVSROOT source repository.  Also, the output is clearer
5101e72d8d2Sderaadt	with regard to sticky and branch revisions.
5111e72d8d2Sderaadt
5121e72d8d2Sderaadt	* CVS no longer dumps core when given a mixture of directories and
5131e72d8d2Sderaadt	files in sub-directories (as in "cvs ci file1 dir1/file2").
5141e72d8d2Sderaadt	Instead, arguments are now clumped into their respective directory
5151e72d8d2Sderaadt	and operated on in chunks, together.
5161e72d8d2Sderaadt
5171e72d8d2Sderaadt	* If the CVSEDITOR environment variable is set, that editor is
5181e72d8d2Sderaadt	used for log messages instead of the EDITOR environment variable.
5191e72d8d2Sderaadt	This makes it easy to substitute intelligent programs to make more
5201e72d8d2Sderaadt	elaborate log messages.  Contributed by Mark D Baushke
5211e72d8d2Sderaadt	(mdb@cisco.com).
5221e72d8d2Sderaadt
5231e72d8d2Sderaadt	* Command argument changes:
5241e72d8d2Sderaadt	cvs:			The "-f" option has been added to ignore
5251e72d8d2Sderaadt				the ~/.cvsrc file.
5261e72d8d2Sderaadt	commit:			Renamed the "-f logfile" option to the
5271e72d8d2Sderaadt				"-F logfile" option.  Added the "-f"
5281e72d8d2Sderaadt				option to force a commit of the specified
5291e72d8d2Sderaadt				files (this disables recursion).
5301e72d8d2Sderaadt	history:		Added "-t timezone" option to force any
5311e72d8d2Sderaadt				date-specific output into the specified
5321e72d8d2Sderaadt				timezone.
5331e72d8d2Sderaadt	import:			Added "-d" option to use the file's
5341e72d8d2Sderaadt				modification time as the time of the
5351e72d8d2Sderaadt				import. Added "-k sub" option to set the
5361e72d8d2Sderaadt				default RCS keyword substitution mode for
5371e72d8d2Sderaadt				newly-created files.
5381e72d8d2Sderaadt	remove:			Added "-f" option to force the file's
5391e72d8d2Sderaadt				automatic removal if it still exists in
5401e72d8d2Sderaadt				the working directory (use with caution).
5411e72d8d2Sderaadt	rtag:			Added "-F" option to move the tag if it
5421e72d8d2Sderaadt				already exists -- new default is to NOT
5431e72d8d2Sderaadt				move tags automatically.
5441e72d8d2Sderaadt	tag:			Added "-F" option to move the tag if it
5451e72d8d2Sderaadt				already exists -- new default is to NOT
5461e72d8d2Sderaadt				move tags automatically.
5471e72d8d2Sderaadt
5481e72d8d2SderaadtTue Apr  7 15:55:25 1992  Brian Berliner  (berliner at sun.com)
5491e72d8d2Sderaadt
5501e72d8d2Sderaadt	* Changes between CVS 1.3 Beta-3 and official CVS 1.3!
5511e72d8d2Sderaadt
5521e72d8d2Sderaadt	* A new shell script is provided, "./cvsinit", which can be run at
5531e72d8d2Sderaadt	install time to help setup your $CVSROOT area.  This can greatly
5541e72d8d2Sderaadt	ease your entry into CVS usage.
5551e72d8d2Sderaadt
5561e72d8d2Sderaadt	* The INSTALL file has been updated to include the machines on
5571e72d8d2Sderaadt	which CVS has compiled successfully.  I think CVS 1.3 is finally
5581e72d8d2Sderaadt	portable.  Thanks to all the Beta testers!
5591e72d8d2Sderaadt
5601e72d8d2Sderaadt	* Support for the "editinfo" file was contributed.  This file
5611e72d8d2Sderaadt	(located in $CVSROOT/CVSROOT) can be used to specify a special
5621e72d8d2Sderaadt	"editor" to run on a per-directory basis within the repository,
5631e72d8d2Sderaadt	instead of the usual user's editor.  As such, it can verify that
5641e72d8d2Sderaadt	the log message entered by the user is of the appropriate form
5651e72d8d2Sderaadt	(contains a bugid and test validation, for example).
5661e72d8d2Sderaadt
5671e72d8d2Sderaadt	* The manual pages cvs(1) and cvs(5) have been updated.
5681e72d8d2Sderaadt
5691e72d8d2Sderaadt	* The "mkmodules" command now informs you when your modules file
5701e72d8d2Sderaadt	has duplicate entries.
5711e72d8d2Sderaadt
5721e72d8d2Sderaadt	* The "add" command now preserves any per-directory sticky tag when
5731e72d8d2Sderaadt	you add a new directory to your checked-out sources.
5741e72d8d2Sderaadt
5751e72d8d2Sderaadt	* The "admin" command is now a fully recursive interface to the
5761e72d8d2Sderaadt	"rcs" program which operates on your checked-out sources.  It no
5771e72d8d2Sderaadt	longer requires you to specify the full path to the RCS file.
5781e72d8d2Sderaadt
5791e72d8d2Sderaadt	* The per-file sticky tags can now be effectively removed with
5801e72d8d2Sderaadt	"cvs update -A file", even if you had checked out the whole
5811e72d8d2Sderaadt	directory with a per-directory sticky tag.  This allows a great
5821e72d8d2Sderaadt	deal of flexibility in managing the revisions that your checked-out
5831e72d8d2Sderaadt	sources are based upon (both per-directory and per-file sticky
5841e72d8d2Sderaadt	tags).
5851e72d8d2Sderaadt
5861e72d8d2Sderaadt	* The "cvs -n commit" command now works, to show which files are
5871e72d8d2Sderaadt	out-of-date and will cause the real commit to fail, or which files
5881e72d8d2Sderaadt	will fail any pre-commit checks.  Also, the "cvs -n import ..."
5891e72d8d2Sderaadt	command will now show you what it would've done without actually
5901e72d8d2Sderaadt	doing it.
5911e72d8d2Sderaadt
5921e72d8d2Sderaadt	* Doing "cvs commit modules" to checkin the modules file will no
5931e72d8d2Sderaadt	properly run the "mkmodules" program (assuming you have setup your
5941e72d8d2Sderaadt	$CVSROOT/CVSROOT/modules file to do so).
5951e72d8d2Sderaadt
5961e72d8d2Sderaadt	* The -t option in the modules file (which specifies a program to
5971e72d8d2Sderaadt	run when you do a "cvs rtag" operation on a module) now gets the
5981e72d8d2Sderaadt	symbolic tag as the second argument when invoked.
5991e72d8d2Sderaadt
6001e72d8d2Sderaadt	* When the source repository is locked by another user, that user's
6011e72d8d2Sderaadt	login name will be displayed as the holder of the lock.
6021e72d8d2Sderaadt
6031e72d8d2Sderaadt	* Doing "cvs checkout module/file.c" now works even if
6041e72d8d2Sderaadt	module/file.c is in the Attic (has been removed from main-line
6051e72d8d2Sderaadt	development).
6061e72d8d2Sderaadt
6071e72d8d2Sderaadt	* Doing "cvs commit */Makefile" now works as one would expect.
6081e72d8d2Sderaadt	Rather than trying to commit everything recursively, it will now
6091e72d8d2Sderaadt	commit just the files specified.
6101e72d8d2Sderaadt
6111e72d8d2Sderaadt	* The "cvs remove" command is now fully recursive.  To schedule a
6121e72d8d2Sderaadt	file for removal, all you have to do is "rm file" and "cvs rm".
6131e72d8d2Sderaadt	With no arguments, "cvs rm" will schedule all files that have been
6141e72d8d2Sderaadt	physically removed for removal from the source repository at the
6151e72d8d2Sderaadt	next "cvs commit".
6161e72d8d2Sderaadt
6171e72d8d2Sderaadt	* The "cvs tag" command now prints "T file" for each file that was
6181e72d8d2Sderaadt	tagged by this invocation and "D file" for each file that had the
6191e72d8d2Sderaadt	tag removed (as with "cvs tag -d").
6201e72d8d2Sderaadt
6211e72d8d2Sderaadt	* The -a option has been added to "cvs rtag" to force it to clean
6221e72d8d2Sderaadt	up any old, matching tags for files that have been removed (in the
6231e72d8d2Sderaadt	Attic) that may not have been touched by this tag operation.  This
6241e72d8d2Sderaadt	can help keep a consistent view with your tag, even if you re-use
6251e72d8d2Sderaadt	it frequently.
6261e72d8d2Sderaadt
6271e72d8d2SderaadtSat Feb 29 16:02:05 1992  Brian Berliner  (berliner at sun.com)
6281e72d8d2Sderaadt
6291e72d8d2Sderaadt	* Changes between CVS 1.3 Beta-2 and CVS 1.3 Beta-3
6301e72d8d2Sderaadt
6311e72d8d2Sderaadt	* Many portability fixes, thanks to all the Beta testers!  With any
6321e72d8d2Sderaadt	luck, this Beta release will compile correctly on most anything.
6331e72d8d2Sderaadt	Hey, what are we without our dreams.
6341e72d8d2Sderaadt
6351e72d8d2Sderaadt	* CVS finally has support for doing isolated development on a
6361e72d8d2Sderaadt	branch off the current (or previous!) revisions.  This is also
6371e72d8d2Sderaadt	extremely nice for generating patches for previously released
6381e72d8d2Sderaadt	software while development is progressing on the next release.
6391e72d8d2Sderaadt	Here's an example of creating a branch to fix a patch with the 2.0
6401e72d8d2Sderaadt	version of the "foo" module, even though we are already well into
6411e72d8d2Sderaadt	the 3.0 release.  Do:
6421e72d8d2Sderaadt
6431e72d8d2Sderaadt		% cvs rtag -b -rFOO_2_0 FOO_2_0_Patch foo
6441e72d8d2Sderaadt		% cvs checkout -rFOO_2_0_Patch foo
6451e72d8d2Sderaadt		% cd foo
6461e72d8d2Sderaadt		[[ hack away ]]
6471e72d8d2Sderaadt		% cvs commit
6481e72d8d2Sderaadt
6491e72d8d2Sderaadt	A physical branch will be created in the RCS file only when you
6501e72d8d2Sderaadt	actually commit the change.  As such, forking development at some
6511e72d8d2Sderaadt	random point in time is extremely light-weight -- requiring just a
6521e72d8d2Sderaadt	symbolic tag in each file until a commit is done.  To fork
6531e72d8d2Sderaadt	development at the currently checked out sources, do:
6541e72d8d2Sderaadt
6551e72d8d2Sderaadt		% cvs tag -b Personal_Hack
6561e72d8d2Sderaadt		% cvs update -rPersonal_Hack
6571e72d8d2Sderaadt		[[ hack away ]]
6581e72d8d2Sderaadt		% cvs commit
6591e72d8d2Sderaadt
6601e72d8d2Sderaadt	Now, if you decide you want the changes made in the Personal_Hack
6611e72d8d2Sderaadt	branch to be merged in with other changes made in the main-line
6621e72d8d2Sderaadt	development, you could do:
6631e72d8d2Sderaadt
6641e72d8d2Sderaadt		% cvs commit		     # to make Personal_Hack complete
6651e72d8d2Sderaadt		% cvs update -A		     # to update sources to main-line
6661e72d8d2Sderaadt		% cvs update -jPersonal_Hack # to merge Personal_Hack
6671e72d8d2Sderaadt
6681e72d8d2Sderaadt	to update your checked-out sources, or:
6691e72d8d2Sderaadt
6701e72d8d2Sderaadt		% cvs checkout -jPersonal_Hack module
6711e72d8d2Sderaadt
6721e72d8d2Sderaadt	to checkout a fresh copy.
6731e72d8d2Sderaadt
6741e72d8d2Sderaadt	To support this notion of forked development, CVS reserves
6751e72d8d2Sderaadt	all even-numbered branches for its own use.  In addition, CVS
6761e72d8d2Sderaadt	reserves the ".0" and ".1" branches.  So, if you intend to do your
6771e72d8d2Sderaadt	own branches by hand with RCS, you should use odd-numbered branches
6781e72d8d2Sderaadt	starting with ".3", as in "1.1.3", "1.1.5", 1.2.9", ....
6791e72d8d2Sderaadt
6801e72d8d2Sderaadt	* The "cvs commit" command now supports a fully functional -r
6811e72d8d2Sderaadt	option, allowing you to commit your changes to a specific numeric
6821e72d8d2Sderaadt	revision or symbolic tag with full consistency checks.  Numeric
6831e72d8d2Sderaadt	tags are useful for bringing your sources all up to some revision
6841e72d8d2Sderaadt	level:
6851e72d8d2Sderaadt
6861e72d8d2Sderaadt		% cvs commit -r2.0
6871e72d8d2Sderaadt
6881e72d8d2Sderaadt	For symbolic tags, you can only commit to a tag that references a
6891e72d8d2Sderaadt	branch in the RCS file.  One created by "cvs rtag -b" or from
6901e72d8d2Sderaadt	"cvs tag -b" is appropriate (see below).
6911e72d8d2Sderaadt
6921e72d8d2Sderaadt	* Roland Pesch <pesch@cygnus.com> and K. Richard Pixley
6931e72d8d2Sderaadt	<rich@cygnus.com> were kind enough to contribute two new manual
6941e72d8d2Sderaadt	pages for CVS: cvs(1) and cvs(5).  Most of the new CVS 1.3 features
6951e72d8d2Sderaadt	are now documented, with the exception of the new branch support
6961e72d8d2Sderaadt	added to commit/rtag/tag/checkout/update.
6971e72d8d2Sderaadt
6981e72d8d2Sderaadt	* The -j options of checkout/update have been added.  The "cvs join"
6991e72d8d2Sderaadt	command has been removed.
7001e72d8d2Sderaadt
7011e72d8d2Sderaadt	With one -j option, CVS will merge the changes made between the
7021e72d8d2Sderaadt	resulting revision and the revision that it is based on (e.g., if
7031e72d8d2Sderaadt	the tag refers to a branch, CVS will merge all changes made in
7041e72d8d2Sderaadt	that branch into your working file).
7051e72d8d2Sderaadt
7061e72d8d2Sderaadt	With two -j options, CVS will merge in the changes between the two
7071e72d8d2Sderaadt	respective revisions.  This can be used to "remove" a certain delta
7081e72d8d2Sderaadt	from your working file.  E.g., If the file foo.c is based on
7091e72d8d2Sderaadt	revision 1.6 and I want to remove the changes made between 1.3 and
7101e72d8d2Sderaadt	1.5, I might do:
7111e72d8d2Sderaadt
7121e72d8d2Sderaadt		% cvs update -j1.5 -j1.3 foo.c		# note the order...
7131e72d8d2Sderaadt
7141e72d8d2Sderaadt	In addition, each -j option can contain on optional date
7151e72d8d2Sderaadt	specification which, when used with branches, can limit the chosen
7161e72d8d2Sderaadt	revision to one within a specific date.  An optional date is
7171e72d8d2Sderaadt	specified by adding a colon (:) to the tag, as in:
7181e72d8d2Sderaadt
7191e72d8d2Sderaadt		-jSymbolic_Tag:Date_Specifier
7201e72d8d2Sderaadt
7211e72d8d2Sderaadt	An example might be what "cvs import" tells you to do when you have
7221e72d8d2Sderaadt	just imported sources that have conflicts with local changes:
7231e72d8d2Sderaadt
7241e72d8d2Sderaadt		% cvs checkout -jTAG:yesterday -jTAG module
7251e72d8d2Sderaadt
7261e72d8d2Sderaadt	which tells CVS to merge in the changes made to the branch
7271e72d8d2Sderaadt	specified by TAG in the last 24 hours.  If this is not what is
7281e72d8d2Sderaadt	intended, substitute "yesterday" for whatever format of date that
7291e72d8d2Sderaadt	is appropriate, like:
7301e72d8d2Sderaadt
7311e72d8d2Sderaadt		% cvs checkout -jTAG:'1 week ago' -jTAG module
7321e72d8d2Sderaadt
7331e72d8d2Sderaadt	* "cvs diff" now supports the special tags "BASE" and "HEAD".  So,
7341e72d8d2Sderaadt	the command:
7351e72d8d2Sderaadt
7361e72d8d2Sderaadt		% cvs diff -u -rBASE -rHEAD
7371e72d8d2Sderaadt
7381e72d8d2Sderaadt	will effectively show the changes made by others (in unidiff
7391e72d8d2Sderaadt	format) that will be merged into your working sources with your
7401e72d8d2Sderaadt	next "cvs update" command.  "-rBASE" resolves to the revision that
7411e72d8d2Sderaadt	your working file is based on.  "-rHEAD" resolves to the current
7421e72d8d2Sderaadt	head of the branch or trunk that you are working on.
7431e72d8d2Sderaadt
7441e72d8d2Sderaadt	* The -P option of "cvs checkout" now means to Prune empty
7451e72d8d2Sderaadt	directories, as with "update".  The default is to not remove empty
7461e72d8d2Sderaadt	directories.  However, if you do "checkout" with any -r options, -P
7471e72d8d2Sderaadt	will be implied.  I.e., checking out with a tag will cause empty
7481e72d8d2Sderaadt	directories to be pruned automatically.
7491e72d8d2Sderaadt
7501e72d8d2Sderaadt	* The new file INSTALL describes how to install CVS, including
7511e72d8d2Sderaadt	detailed descriptions of interfaces to "configure".
7521e72d8d2Sderaadt
7531e72d8d2Sderaadt	* The example loginfo file in examples/loginfo has been updated to
7541e72d8d2Sderaadt	use the perl script included in contrib/log.pl.  The nice thing
7551e72d8d2Sderaadt	about this log program is that it records the revision numbers of
7561e72d8d2Sderaadt	your change in the log message.
7571e72d8d2Sderaadt
7581e72d8d2Sderaadt	Example files for commitinfo and rcsinfo are now included in the
7591e72d8d2Sderaadt	examples directory.
7601e72d8d2Sderaadt
7611e72d8d2Sderaadt	* All "#if defined(__STDC__) && __STDC__ == 1" lines have been
7621e72d8d2Sderaadt	changed to be "#if __STDC__" to fix some problems with the former.
7631e72d8d2Sderaadt
7641e72d8d2Sderaadt	* The lib/regex.[ch] files have been updated to the 1.3 release of
7651e72d8d2Sderaadt	the GNU regex package.
7661e72d8d2Sderaadt
7671e72d8d2Sderaadt	* The ndbm emulation routines included with CVS 1.3 Beta-2 in the
7681e72d8d2Sderaadt	src/ndbm.[ch] files has been moved into the src/myndbm.[ch] files
7691e72d8d2Sderaadt	to avoid any conflict with the system <ndbm.h> header file.  If
7701e72d8d2Sderaadt	you had a previous CVS 1.3 Beta release, you will want to "cvs
7711e72d8d2Sderaadt	remove ndbm.[ch]" form your copy of CVS as well.
7721e72d8d2Sderaadt
7731e72d8d2Sderaadt	* "cvs add" and "cvs remove" are a bit more verbose, telling you
7741e72d8d2Sderaadt	what to do to add/remove your file permanently.
7751e72d8d2Sderaadt
7761e72d8d2Sderaadt	* We no longer mess with /dev/tty in "commit" and "add".
7771e72d8d2Sderaadt
7781e72d8d2Sderaadt	* More things are quiet with the -Q option set.
7791e72d8d2Sderaadt
7801e72d8d2Sderaadt	* New src/config.h option:  If CVS_BADROOT is set, CVS will not
7811e72d8d2Sderaadt	allow people really logged in as "root" to commit changes.
7821e72d8d2Sderaadt
7831e72d8d2Sderaadt	* "cvs diff" exits with a status of 0 if there were no diffs, 1 if
7841e72d8d2Sderaadt	there were diffs, and 2 if there were errors.
7851e72d8d2Sderaadt
7861e72d8d2Sderaadt	* "cvs -n diff" is now supported so that you can still run diffs
7871e72d8d2Sderaadt	even while in the middle of committing files.
7881e72d8d2Sderaadt
7891e72d8d2Sderaadt	* Handling of the CVS/Entries file is now much more robust.
7901e72d8d2Sderaadt
7911e72d8d2Sderaadt	* The default file ignore list now includes "*.so".
7921e72d8d2Sderaadt
7931e72d8d2Sderaadt	* "cvs import" did not expand '@' in the log message correctly.  It
7941e72d8d2Sderaadt	does now.  Also, import now uses the ignore file facility
7951e72d8d2Sderaadt	correctly.
7961e72d8d2Sderaadt
7971e72d8d2Sderaadt	Import will now tell you whether there were conflicts that need to
7981e72d8d2Sderaadt	be resolved, and how to resolve them.
7991e72d8d2Sderaadt
8001e72d8d2Sderaadt	* "cvs log" has been changed so that you can "log" things that are
8011e72d8d2Sderaadt	not a part of the current release (in the Attic).
8021e72d8d2Sderaadt
8031e72d8d2Sderaadt	* If you don't change the editor message on commit, CVS now prompts
8041e72d8d2Sderaadt	you with the choice:
8051e72d8d2Sderaadt
8061e72d8d2Sderaadt		!)reuse this message unchanged for remaining dirs
8071e72d8d2Sderaadt
8081e72d8d2Sderaadt	which allows you to tell CVS that you have no intention of changing
8091e72d8d2Sderaadt	the log message for the remainder of the commit.
8101e72d8d2Sderaadt
8111e72d8d2Sderaadt	* It is no longer necessary to have CVSROOT set if you are using
8121e72d8d2Sderaadt	the -H option to get Usage information on the commands.
8131e72d8d2Sderaadt
8141e72d8d2Sderaadt	* Command argument changes:
8151e72d8d2Sderaadt	checkout:		-P handling changed as described above.
8161e72d8d2Sderaadt				New -j option (up to 2 can be specified)
8171e72d8d2Sderaadt				for doing rcsmerge kind of things on
8181e72d8d2Sderaadt				checkout.
8191e72d8d2Sderaadt	commit:			-r option now supports committing to a
8201e72d8d2Sderaadt				numeric or symbolic tags, with some
8211e72d8d2Sderaadt				restrictions.  Full consistency checks will
8221e72d8d2Sderaadt				be done.
8231e72d8d2Sderaadt				Added "-f logfile" option, which tells
8241e72d8d2Sderaadt				commit to glean the log message from the
8251e72d8d2Sderaadt				specified file, rather than invoking the
8261e72d8d2Sderaadt				editor.
8271e72d8d2Sderaadt	rtag:			Added -b option to create a branch tag,
8281e72d8d2Sderaadt				useful for creating a patch for a previous
8291e72d8d2Sderaadt				release, or for forking development.
8301e72d8d2Sderaadt	tag:			Added -b option to create a branch tag,
8311e72d8d2Sderaadt				useful for creating a patch for a previous
8321e72d8d2Sderaadt				release, or for forking development.
8331e72d8d2Sderaadt	update:			New -j option (up to 2 can be specified)
8341e72d8d2Sderaadt				for doing rcsmerge kind of things on
8351e72d8d2Sderaadt				update.
8361e72d8d2Sderaadt
8371e72d8d2SderaadtThu Jan  9 10:51:35 MST 1992 Jeff Polk (polk at BSDI.COM)
8381e72d8d2Sderaadt
8391e72d8d2Sderaadt	* Changes between CVS 1.3 Beta-1 and CVS 1.3 Beta-2
8401e72d8d2Sderaadt
8411e72d8d2Sderaadt	* Thanks to K. Richard Pixley at Cygnus we now have function
8421e72d8d2Sderaadt	prototypes in all the files
8431e72d8d2Sderaadt
8441e72d8d2Sderaadt	* Some small changes to configure for portability.  There have
8451e72d8d2Sderaadt	been other portability problems submitted that have not been fixed
8461e72d8d2Sderaadt	(Brian will be working on those).  Additionally all __STDC__
8471e72d8d2Sderaadt	tests have been modified to check __STDC__ against the constant 1
8481e72d8d2Sderaadt	(this is what the Second edition of K&R says must be true).
8491e72d8d2Sderaadt
8501e72d8d2Sderaadt	* Lots of additional error checking for forked processes (run_exec)
8511e72d8d2Sderaadt	(thanks again to K. Richard Pixley)
8521e72d8d2Sderaadt
8531e72d8d2Sderaadt	* Lots of miscellaneous bug fixes - including but certainly not
8541e72d8d2Sderaadt	limited to:
8551e72d8d2Sderaadt		various commit core dumps
8561e72d8d2Sderaadt		various update core dumps
8571e72d8d2Sderaadt		bogus results from status with numeric sticky tags
8581e72d8d2Sderaadt		commitprog used freed memory
8591e72d8d2Sderaadt		Entries file corruption caused by No_Difference
8601e72d8d2Sderaadt		commit to revision broken (now works if branch exists)
8611e72d8d2Sderaadt		ignore file processing broken for * and !
8621e72d8d2Sderaadt		ignore processing didn't handle memory reasonably
8631e72d8d2Sderaadt		miscellaneous bugs in the recursion processor
8641e72d8d2Sderaadt		file descriptor leak in ParseInfo
8651e72d8d2Sderaadt		CVSROOT.adm->CVSROOT rename bug
8661e72d8d2Sderaadt		lots of lint fixes
8671e72d8d2Sderaadt
8681e72d8d2Sderaadt	* Reformatted all the code in src (with GNU indent) and then
8691e72d8d2Sderaadt	went back and fixed prototypes, etc since indent gets confused.  The
8701e72d8d2Sderaadt	rationale is that it is better to do it sooner than later and now
8711e72d8d2Sderaadt	everything is consistent and will hopefully stay that way.
8721e72d8d2Sderaadt	The basic options to indent were: "-bad -bbb -bap -cdb -d0 -bl -bli0
8731e72d8d2Sderaadt	-nce -pcs -cs -cli4 -di1 -nbc -psl -lp -i4 -ip4 -c41"  and then
8741e72d8d2Sderaadt	miscellaneous formatting fixes were applied.  Note also that the
8751e72d8d2Sderaadt	"-nfc1" or "-nfca" may be appropriate in files where comments have
8761e72d8d2Sderaadt	been carefully formatted (e.g, modules.c).
8771e72d8d2Sderaadt
8781e72d8d2SderaadtSat Dec 14 20:35:22 1991  Brian Berliner  (berliner at sun.com)
8791e72d8d2Sderaadt
8801e72d8d2Sderaadt	* Changes between CVS 1.2 and CVS 1.3 Beta are described here.
8811e72d8d2Sderaadt
8821e72d8d2Sderaadt	* Lots of portability work.  CVS now uses the GNU "configure"
8831e72d8d2Sderaadt	script to dynamically determine the features provided by your
8841e72d8d2Sderaadt	system.  It probably is not foolproof, but it is better than
8851e72d8d2Sderaadt	nothing.  Please let me know of any portability problems.  Some
8861e72d8d2Sderaadt	file names were changed to fit within 14-characters.
8871e72d8d2Sderaadt
8881e72d8d2Sderaadt	* CVS has a new RCS parser that is much more flexible and
8891e72d8d2Sderaadt	extensible.  It should read all known RCS ",v" format files.
8901e72d8d2Sderaadt
8911e72d8d2Sderaadt	* Most of the commands now are fully recursive, rather than just
8921e72d8d2Sderaadt	operating on the current directory alone.  This includes "commit",
8931e72d8d2Sderaadt	which makes it real easy to do an "atomic" commit of all the
8941e72d8d2Sderaadt	changes made to a CVS hierarchy of sources.  Most of the commands
8951e72d8d2Sderaadt	also correctly handle file names that are in directories other than
8961e72d8d2Sderaadt	".", including absolute path names.  Commands now accept the "-R"
8971e72d8d2Sderaadt	option to force recursion on (though it is always the default now)
8981e72d8d2Sderaadt	and the "-l" option to force recursion off, doing just "." and not
8991e72d8d2Sderaadt	any sub-directories.
9001e72d8d2Sderaadt
9011e72d8d2Sderaadt	* CVS supports many of the features provided with the RCS 5.x
9021e72d8d2Sderaadt	distribution - including the new "-k" keyword expansion options.  I
9031e72d8d2Sderaadt	recommend using RCS 5.x (5.6 is the current official RCS version)
9041e72d8d2Sderaadt	and GNU diff 1.15 (or later) distributions with CVS.
9051e72d8d2Sderaadt
9061e72d8d2Sderaadt	* Checking out files with symbolic tags/dates is now "sticky", in
9071e72d8d2Sderaadt	that CVS remembers the tag/date used for each file (and directory)
9081e72d8d2Sderaadt	and will use that tag/date automatically on the next "update" call.
9091e72d8d2Sderaadt	This stickyness also holds for files checked out with the the new
9101e72d8d2Sderaadt	RCS 5.x "-k" options.
9111e72d8d2Sderaadt
9121e72d8d2Sderaadt	* The "cvs diff" command now recognizes all of the rcsdiff 5.x
9131e72d8d2Sderaadt	options.  Unidiff format is available by installing the GNU
9141e72d8d2Sderaadt	diff 1.15 distribution.
9151e72d8d2Sderaadt
9161e72d8d2Sderaadt	* The old "CVS.adm" directories created on checkout are now called
9171e72d8d2Sderaadt	"CVS" directories, to look more like "RCS" and "SCCS".  Old CVS.adm
9181e72d8d2Sderaadt	directories are automagically converted to CVS directories.  The
9191e72d8d2Sderaadt	old "CVSROOT.adm" directory within the source repository is
9201e72d8d2Sderaadt	automagically changed into a "CVSROOT" directory as well.
9211e72d8d2Sderaadt
9221e72d8d2Sderaadt	* Symbolic links in the source repository are fully supported ONLY
9231e72d8d2Sderaadt	if you use RCS 5.6 or later and (of course) your system supports
9241e72d8d2Sderaadt	symlinks.
9251e72d8d2Sderaadt
9261e72d8d2Sderaadt	* A history database has been contributed which maintains the
9271e72d8d2Sderaadt	history of certain CVS operations, as well as providing a wide array
9281e72d8d2Sderaadt	of querying options.
9291e72d8d2Sderaadt
9301e72d8d2Sderaadt	* The "cvs" program has a "-n" option which can be used with the
9311e72d8d2Sderaadt	"update" command to show what would be updated without actually
9321e72d8d2Sderaadt	doing the update, like:  "cvs -n update".  All usage statements
9331e72d8d2Sderaadt	have been cleaned up and made more verbose.
9341e72d8d2Sderaadt
9351e72d8d2Sderaadt	* The module database parsing has been rewritten.  The new format
9361e72d8d2Sderaadt	is compatible with the old format, but with much more
9371e72d8d2Sderaadt	functionality.  It allows modules to be created that grab pieces or
9381e72d8d2Sderaadt	whole directories from various different parts of your source
9391e72d8d2Sderaadt	repository.  Module-relative specifications are also correctly
9401e72d8d2Sderaadt	recognized now, like "cvs checkout module/file.c".
9411e72d8d2Sderaadt
9421e72d8d2Sderaadt	* A configurable template can be specified such that on a "commit",
9431e72d8d2Sderaadt	certain directories can supply a template that the user must fill
9441e72d8d2Sderaadt	before completing the commit operation.
9451e72d8d2Sderaadt
9461e72d8d2Sderaadt	* A configurable pre-commit checking program can be specified which
9471e72d8d2Sderaadt	will run to verify that a "commit" can happen.  This feature can be
9481e72d8d2Sderaadt	used to restrict certain users from changing certain pieces of the
9491e72d8d2Sderaadt	source repository, or denying commits to the entire source
9501e72d8d2Sderaadt	repository.
9511e72d8d2Sderaadt
9521e72d8d2Sderaadt	* The new "cvs export" command is much like "checkout", but
9531e72d8d2Sderaadt	establishes defaults suitable for exporting code to others (expands
9541e72d8d2Sderaadt	out keywords, forces the use of a symbolic tag, and does not create
9551e72d8d2Sderaadt	"CVS" directories within the checked out sources.
9561e72d8d2Sderaadt
9571e72d8d2Sderaadt	* The new "cvs import" command replaces the deprecated "checkin"
9581e72d8d2Sderaadt	shell script and is used to import sources into CVS control.  It is
9591e72d8d2Sderaadt	also much faster for the first-time import.  Some algorithmic
9601e72d8d2Sderaadt	improvements have also been made to reduce the number of
9611e72d8d2Sderaadt	conflicting files on next-time imports.
9621e72d8d2Sderaadt
9631e72d8d2Sderaadt	* The new "cvs admin" command is basically an interface to the
9641e72d8d2Sderaadt	"rcs" program.  (Not yet implemented very well).
9651e72d8d2Sderaadt
9661e72d8d2Sderaadt	* Signal handling (on systems with BSD or POSIX signals) is much
9671e72d8d2Sderaadt	improved.  Interrupting CVS now works with a single interrupt!
9681e72d8d2Sderaadt
9691e72d8d2Sderaadt	* CVS now invokes RCS commands by direct fork/exec rather than
9701e72d8d2Sderaadt	calling system(3).  This improves performance by removing a call to
9711e72d8d2Sderaadt	the shell to parse the arguments.
9721e72d8d2Sderaadt
9731e72d8d2Sderaadt	* Support for the .cvsignore file has been contributed.  CVS will
9741e72d8d2Sderaadt	now show "unknown" files as "? filename" as the result of an "update"
9751e72d8d2Sderaadt	command.  The .cvsignore file can be used to add files to the
9761e72d8d2Sderaadt	current list of ignored files so that they won't show up as unknown.
9771e72d8d2Sderaadt
9781e72d8d2Sderaadt	* Command argument changes:
9791e72d8d2Sderaadt	cvs:		Added -l to turn off history logging.
9801e72d8d2Sderaadt			Added -n to show what would be done without actually
9811e72d8d2Sderaadt			doing anything.
9821e72d8d2Sderaadt			Added -q/-Q for quiet and really quiet settings.
9831e72d8d2Sderaadt			Added -t to show debugging trace.
9841e72d8d2Sderaadt	add:		Added -k to allow RCS 5.x -k options to be specified.
9851e72d8d2Sderaadt	admin:		New command; an interface to rcs(1).
9861e72d8d2Sderaadt	checkout:	Added -A to reset sticky tags/date/options.
9871e72d8d2Sderaadt			Added -N to not shorten module paths.
9881e72d8d2Sderaadt			Added -R option to force recursion.
9891e72d8d2Sderaadt			Changed -p (prune empty directories) to -P option.
9901e72d8d2Sderaadt			Changed -f option; forcing tags match is now default.
9911e72d8d2Sderaadt			Added -p option to checkout module to standard output.
9921e72d8d2Sderaadt			Added -s option to cat the modules db with status.
9931e72d8d2Sderaadt			Added -d option to checkout in the specified directory.
9941e72d8d2Sderaadt			Added -k option to use RCS 5.x -k support.
9951e72d8d2Sderaadt	commit:		Removed -a option; use -l instead.
9961e72d8d2Sderaadt			Removed -f option.
9971e72d8d2Sderaadt			Added -l option to disable recursion.
9981e72d8d2Sderaadt			Added -R option to force recursion.
9991e72d8d2Sderaadt			If no files specified, commit is recursive.
10001e72d8d2Sderaadt	diff:		Now recognizes all RCS 5.x rcsdiff options.
10011e72d8d2Sderaadt			Added -l option to disable recursion.
10021e72d8d2Sderaadt			Added -R option to force recursion.
10031e72d8d2Sderaadt	history:	New command; displays info about CVS usage.
10041e72d8d2Sderaadt	import:		Replaces "checkin" shell script; imports sources
10051e72d8d2Sderaadt			under CVS control.  Ignores files on the ignore
10061e72d8d2Sderaadt			list (see -I option or .cvsignore description above).
10071e72d8d2Sderaadt	export:		New command; like "checkout", but w/special options
10081e72d8d2Sderaadt			turned on by default to facilitate exporting sources.
10091e72d8d2Sderaadt	join:		Added -B option to join from base of the branch;
10101e72d8d2Sderaadt			join now defaults to only joining with the top two
10111e72d8d2Sderaadt			revisions on the branch.
10121e72d8d2Sderaadt			Added -k option for RCS 5.x -k support.
10131e72d8d2Sderaadt	log:		Supports all RCS 5.x options.
10141e72d8d2Sderaadt			Added -l option to disable recursion.
10151e72d8d2Sderaadt			Added -R option to force recursion.
10161e72d8d2Sderaadt	patch:		Changed -f option; forcing tags match is now default.
10171e72d8d2Sderaadt			Added -c option to force context-style diffs.
10181e72d8d2Sderaadt			Added -u option to support unidiff-style diffs.
10191e72d8d2Sderaadt			Added -V option to support RCS specific-version
10201e72d8d2Sderaadt			keyword expansion formats.
10211e72d8d2Sderaadt			Added -R option to force recursion.
10221e72d8d2Sderaadt	remove:		No option changes.  It's a bit more verbose.
10231e72d8d2Sderaadt	rtag:		Equivalent to the old "cvs tag" command.
10241e72d8d2Sderaadt			No option changes.  It's a lot faster for re-tag.
10251e72d8d2Sderaadt	status:		New output formats with more information.
10261e72d8d2Sderaadt			Added -l option to disable recursion.
10271e72d8d2Sderaadt			Added -R option to force recursion.
10281e72d8d2Sderaadt			Added -v option to show symbolic tags for files.
10291e72d8d2Sderaadt	tag:		Functionality changed to tag checked out files
10301e72d8d2Sderaadt			rather than modules; use "rtag" command to get the
10311e72d8d2Sderaadt			old "cvs tag" behaviour.
10321e72d8d2Sderaadt	update:		Added -A to reset sticky tags/date/options.
10331e72d8d2Sderaadt			Changed -p (prune empty directories) to -P option.
10341e72d8d2Sderaadt			Changed -f option; forcing tags match is now default.
10351e72d8d2Sderaadt			Added -p option to checkout module to standard output.
10361e72d8d2Sderaadt			Added -I option to add files to the ignore list.
10371e72d8d2Sderaadt			Added -R option to force recursion.
10381e72d8d2Sderaadt
10391e72d8d2Sderaadt	Major Contributors:
10401e72d8d2Sderaadt
10411e72d8d2Sderaadt	* Jeff Polk <polk@bsdi.com> rewrote most of the grody code of CVS
10421e72d8d2Sderaadt	1.2.  He made just about everything dynamic (by using malloc),
10431e72d8d2Sderaadt	added a generic hashed list manager, re-wrote the modules database
10441e72d8d2Sderaadt	parsing in a compatible - but extended way, generalized directory
10451e72d8d2Sderaadt	hierarchy recursion for virtually all the commands (including
10461e72d8d2Sderaadt	commit!), generalized the loginfo file to be used for pre-commit
10471e72d8d2Sderaadt	checks and commit templates, wrote a new and flexible RCS parser,
10481e72d8d2Sderaadt	fixed an uncountable number of bugs, and helped in the design of
10491e72d8d2Sderaadt	future CVS features.  If there's anything gross left in CVS, it's
10501e72d8d2Sderaadt	probably my fault!
10511e72d8d2Sderaadt
10521e72d8d2Sderaadt	* David G. Grubbs <dgg@odi.com> contributed the CVS "history" and
10531e72d8d2Sderaadt	"release" commands.  As well as the ever-so-useful "-n" option of
10541e72d8d2Sderaadt	CVS which tells CVS to show what it would do, without actually
10551e72d8d2Sderaadt	doing it.  He also contributed support for the .cvsignore file.
10561e72d8d2Sderaadt
10571e72d8d2Sderaadt	* Paul Sander, HaL Computer Systems, Inc. <paul@hal.com> wrote and
10581e72d8d2Sderaadt	contributed the code in lib/sighandle.c.  I added support for
10591e72d8d2Sderaadt	POSIX, BSD, and non-POSIX/non-BSD systems.
10601e72d8d2Sderaadt
10611e72d8d2Sderaadt	* Free Software Foundation contributed the "configure" script and
10621e72d8d2Sderaadt	other compatibility support in the "lib" directory, which will help
10631e72d8d2Sderaadt	make CVS much more portable.
10641e72d8d2Sderaadt
10651e72d8d2Sderaadt	* Many others have contributed bug reports and enhancement requests.
10661e72d8d2Sderaadt	Some have even submitted actual code which I have not had time yet
10671e72d8d2Sderaadt	to integrate into CVS.  Maybe for the next release.
10681e72d8d2Sderaadt
10691e72d8d2Sderaadt	* Thanks to you all!
10701e72d8d2Sderaadt
10711e72d8d2SderaadtWed Feb  6 10:10:58 1991  Brian Berliner  (berliner at sun.com)
10721e72d8d2Sderaadt
10731e72d8d2Sderaadt	* Changes from CVS 1.0 Patchlevel 1 to CVS 1.0 Patchlevel 2; also
10741e72d8d2Sderaadt	known as "Changes from CVS 1.1 to CVS 1.2".
10751e72d8d2Sderaadt
10761e72d8d2Sderaadt	* Major new support with this release is the ability to use the
10771e72d8d2Sderaadt	recently-posted RCS 5.5 distribution with CVS 1.2.  See below for
10781e72d8d2Sderaadt	other assorted bug-fixes that have been thrown in.
10791e72d8d2Sderaadt
10801e72d8d2Sderaadt	* ChangeLog (new): Added Emacs-style change-log file to CVS 1.2
10811e72d8d2Sderaadt	release.  Chronological description of changes between release.
10821e72d8d2Sderaadt
10831e72d8d2Sderaadt	* README: Small fixes to installation instructions.  My email
10841e72d8d2Sderaadt	address is now "berliner@sun.com".
10851e72d8d2Sderaadt
10861e72d8d2Sderaadt	* src/Makefile: Removed "rcstime.h".  Removed "depend" rule.
10871e72d8d2Sderaadt
10881e72d8d2Sderaadt	* src/partime.c:  Updated to RCS 5.5 version with hooks for CVS.
10891e72d8d2Sderaadt	* src/maketime.c: Updated to RCS 5.5 version with hooks for CVS.
10901e72d8d2Sderaadt	* src/rcstime.h:  Removed from the CVS 1.2 distribution.
10911e72d8d2Sderaadt	Thanks to Paul Eggert <eggert@twinsun.com> for these changes.
10921e72d8d2Sderaadt
10931e72d8d2Sderaadt	* src/checkin.csh: Support for RCS 5.5 parsing.
10941e72d8d2Sderaadt	Thanks to Paul Eggert <eggert@twinsun.com> for this change.
10951e72d8d2Sderaadt
10961e72d8d2Sderaadt	* src/collect_sets.c (Collect_Sets): Be quieter if "-f" option is
10971e72d8d2Sderaadt	specified.  When checking out files on-top-of other files that CVS
10981e72d8d2Sderaadt	doesn't know about, run a diff in the hopes that they are really
10991e72d8d2Sderaadt	the same file before aborting.
11001e72d8d2Sderaadt
11011e72d8d2Sderaadt	* src/commit.c (branch_number): Fix for RCS 5.5 parsing.
11021e72d8d2Sderaadt	Thanks to Paul Eggert <eggert@twinsun.com> for this change.
11031e72d8d2Sderaadt
11041e72d8d2Sderaadt	* src/commit.c (do_editor): Bug fix - fprintf missing argument
11051e72d8d2Sderaadt	which sometimes caused core dumps.
11061e72d8d2Sderaadt
11071e72d8d2Sderaadt	* src/modules.c (process_module): Properly NULL-terminate
11081e72d8d2Sderaadt	update_dir[] in all cases.
11091e72d8d2Sderaadt
11101e72d8d2Sderaadt	* src/no_difference.c (No_Difference): The wrong RCS revision was
11111e72d8d2Sderaadt	being registered in certain (strange) cases.
11121e72d8d2Sderaadt
11131e72d8d2Sderaadt	* src/patch.c (get_rcsdate): New algorithm.  No need to call
11141e72d8d2Sderaadt	maketime() any longer.
11151e72d8d2Sderaadt	Thanks to Paul Eggert <eggert@twinsun.com> for this change.
11161e72d8d2Sderaadt
11171e72d8d2Sderaadt	* src/patchlevel.h: Increased patch level to "2".
11181e72d8d2Sderaadt
11191e72d8d2Sderaadt	* src/subr.c (isdir, islink): Changed to compare stat mode bits
11201e72d8d2Sderaadt	correctly.
11211e72d8d2Sderaadt
11221e72d8d2Sderaadt	* src/tag.c (tag_file): Added support for following symbolic links
11231e72d8d2Sderaadt	that are in the master source repository when tagging.  Made tag
11241e72d8d2Sderaadt	somewhat quieter in certain cases.
11251e72d8d2Sderaadt
11261e72d8d2Sderaadt	* src/update.c (update_process_lists): Unlink the user's file if it
11271e72d8d2Sderaadt	was put on the Wlist, meaning that the user's file is not modified
11281e72d8d2Sderaadt	and its RCS file has been removed by someone else.
11291e72d8d2Sderaadt
11301e72d8d2Sderaadt	* src/update.c (update): Support for "cvs update dir" to correctly
11311e72d8d2Sderaadt	just update the argument directory "dir".
11321e72d8d2Sderaadt
11331e72d8d2Sderaadt	* src/cvs.h: Fixes for RCS 5.5 parsing.
11341e72d8d2Sderaadt	* src/version_number.c (Version_Number): Fixes for parsing RCS 5.5
11351e72d8d2Sderaadt	and older RCS-format files.
11361e72d8d2Sderaadt	Thanks to Paul Eggert <eggert@twinsun.com> for these changes.
11371e72d8d2Sderaadt
11381e72d8d2Sderaadt	* src/version_number.c (Version_Number): Bug fixes for "-f" option.
11391e72d8d2Sderaadt	Bug fixes for parsing with certain branch numbers.  RCS
11401e72d8d2Sderaadt	revision/symbol parsing is much more solid now.
11411e72d8d2Sderaadt
11421e72d8d2SderaadtWed Feb 14 10:01:33 1990  Brian Berliner  (berliner at sun.com)
11431e72d8d2Sderaadt
11441e72d8d2Sderaadt	* Changes from CVS 1.0 Patchlevel 0 to CVS 1.0 Patchlevel 1; also
11451e72d8d2Sderaadt	known as "Changes from CVS 1.0 to CVS 1.1".
11461e72d8d2Sderaadt
11471e72d8d2Sderaadt	* src/patch.c (get_rcsdate): Portability fix.  Replaced call to
11481e72d8d2Sderaadt	timelocal() with call to maketime().
11491e72d8d2Sderaadt
11501e72d8d2SderaadtMon Nov 19 23:15:11 1990  Brian Berliner  (berliner at prisma.com)
11511e72d8d2Sderaadt
11521e72d8d2Sderaadt	* Sent CVS 1.0 release to comp.sources.unix moderator and FSF.
11531e72d8d2Sderaadt
11541e72d8d2Sderaadt	* Special thanks to Dick Grune <dick@cs.vu.nl> for his work on the
11551e72d8d2Sderaadt	1986 version of CVS and making it available to the world.  Dick's
11561e72d8d2Sderaadt	version is available on uunet.uu.net in the
11571e72d8d2Sderaadt	comp.sources.unix/volume6/cvs directory.
1158