1
Changes from 1.4A2 to the present:
3
* Remote implementation. (this release can also be used locally,
4
like other CVS versions, if you have no need for remote access).
6
Cyclic CVS can access repositories on remote machines. This is very
7
helpful when collaborating on a project with someone across a
10
Here are some of the features of the remote implementation:
11
- It uses reliable transport protocols (TCP/IP) for remote repository
12
access, not NFS. NFS is unusable over long distances (and sometimes
14
- It transfers only those files that have changed in the repository or
15
the working directory. To save transmission time, it will transfer
16
patches when appropriate, and can compress data for transmission.
17
- The server never holds CVS locks while waiting for a reply from the client;
18
this makes the system robust when used over flaky networks.
19
Cyclic CVS can access repositories on remote machines. This is very
20
helpful when collaborating on a project with someone across a
23
Here are some of the features of the remote implementation:
24
- It uses reliable transport protocols (TCP/IP) for remote repository
25
access, not NFS. NFS is unusable over long distances (and sometimes
27
- It transfers only those files that have changed in the repository or
28
the working directory. To save transmission time, it will transfer
29
patches when appropriate, and can compress data for transmission.
30
- The server never holds CVS locks while waiting for a reply from the client;
31
this makes the system robust when used over flaky networks.
33
The remote features are documented in doc/cvsclient.texi in the CVS
34
distribution, but the main doc file, cvs.texinfo, has not yet been
35
updated to include the remote features.
37
* Death support. See src/README-rm-add for more information on this.
39
* Many speedups, especially from jtc@cygnus.com.
41
Fri Oct 21 20:58:54 1994 Brian Berliner <berliner@sun.com>
43
* Changes between CVS 1.3 and CVS 1.4 Alpha-2
45
* A new program, "cvsbug", is provided to let you send bug reports
46
directly to the CVS maintainers. Please use it instead of sending
47
mail to the info-cvs mailing list. If your build fails, you may
48
have to invoke "cvsbug" directly from the "src" directory as
51
* A new User's Guide and Tutorial, written by Per Cederqvist
52
<ceder@signum.se> of Signum Support. See the "doc" directory. A
53
PostScript version is included as "doc/cvs.ps".
55
* The Frequesntly Asked Questions file, FAQ, has been added to the
56
release. Unfortunately, its contents are likely out-of-date.
58
* The "cvsinit" shell script is now installed in the $prefix/bin
59
directory like the other programs. You can now create new
60
CVS repositories with great ease.
62
* Index: lines are now printed on output from 'diff' and 'rdiff',
63
in order to facilitate application of patches to multiple subdirs.
65
* Support for a ~/.cvsrc file, which allows you to specify options
66
that are always supposed to be given to a specific command. This
67
feature shows the non-orthogonality of the option set, since while
68
there may be an option to turn something on, the option to turn
69
that same thing off may not exist.
71
* You can now list subdirectories that you wish to ignore in a
72
modules listing, such as:
74
gcc -a gnu/gcc, !gnu/gcc/testsuites
76
which will check out everything underneath gnu/gcc, except
77
everything underneath gnu/gcc/testsuites.
79
* It is now much harder to accidentally overwrite an existing tag
80
name, since attempting to move a tag name will result in a error,
81
unless the -F (force) flag is given to the tag subcommands.
83
* Better error checking on matching of the repository used to
84
check code out from against the repository the current cvs
85
commnands would use. (Thanks to Mark Baushke <mdb@cisco.com>)
87
* Better support for sites with multiple CVSROOT repositories has
88
been contributed. The file "CVS/Root" in your working directory
89
is created to hold the full path to the CVS repository and a
90
simple check is made against your current CVSROOT setting.
92
* You can now specify an RCS keyword substitution value when you
93
import files into the repository.
95
* Uses a much newer version of Autoconf, and conforms to the GNU
96
coding standards much more closely. No, it still doesn't have
99
* Code cleanup. Many passes through gcc -Wall helped to identify
100
a number of questionable constructs. Most arbitrary length limits
103
* Profiling to determine bottlenecks helped to identify the best
104
places to spend time speeding up the code, which was then done. A
105
number of performance enhancements in filename matching have sped
108
* Many more contributions have been added to the "contrib"
109
directory. See the README file in that directory for more
112
* "cvs commit" will try harder to not change the file's
113
modification time after the commit. If the file does not change
114
as a result of the commit operation, CVS will preserve the
115
original modification time, thus speeding up future make-type
118
* "cvs commit" now includes any removed files in the (optional)
119
pre-commit checking program that may be invoked. Previously, only
120
added and modified files were included.
122
* It is now possible to commit a file directly onto the trunk at a
123
specific revision level by doing "cvs commit -r3.0 file.c", where
124
"3.0" specifies the revision you wish to create. The file must be
125
up-to-date with the current head of the trunk for this to succeed.
127
* "cvs commit" will now function with a pre-commit program that
128
has arguments specified in the "commitinfo" file.
130
* The "mkmodules" program will now look within the
131
$CVSROOT/CVSROOT/checkoutlist" file for any additional files that
132
should be automatically checked out within CVSROOT; mkmodules also
133
tries harder to preserve any execute bits the files may have
136
* "cvs diff" is much more accurate about its exit status now. It
137
now returns the maximum exit status of any invoked diff.
139
* The "-I !" option is now supported for the import and update
140
commands correctly. It will properly clear the ignore list now.
142
* Some problems with "cvs import" handling of .cvsignore have been
143
fixed; as well, some rampant recursion problems with import have
146
* "cvs rdiff" (aka "cvs patch") now tries to set the modify time
147
of any temporary files it uses to match those specified for the
148
particular revision. This allows a more accurate patch image to
151
* "cvs status" has improved revision descriptions. "Working
152
revision" is used for the revision of the working file that you
153
edit directly; "Repository revision" is the revision of the file
154
with the $CVSROOT source repository. Also, the output is clearer
155
with regard to sticky and branch revisions.
157
* CVS no longer dumps core when given a mixture of directories and
158
files in sub-directories (as in "cvs ci file1 dir1/file2").
159
Instead, arguments are now clumped into their respective directory
160
and operated on in chunks, together.
162
* If the CVSEDITOR environment variable is set, that editor is
163
used for log messages instead of the EDITOR environment variable.
164
This makes it easy to substitute intelligent programs to make more
165
elaborate log messages. Contributed by Mark D Baushke
168
* Command argument changes:
169
cvs: The "-f" option has been added to ignore
171
commit: Renamed the "-f logfile" option to the
172
"-F logfile" option. Added the "-f"
173
option to force a commit of the specified
174
files (this disables recursion).
175
history: Added "-t timezone" option to force any
176
date-specific output into the specified
178
import: Added "-d" option to use the file's
179
modification time as the time of the
180
import. Added "-k sub" option to set the
181
default RCS keyword substitution mode for
183
remove: Added "-f" option to force the file's
184
automatic removal if it still exists in
185
the working directory (use with caution).
186
rtag: Added "-F" option to move the tag if it
187
already exists -- new default is to NOT
188
move tags automatically.
189
tag: Added "-F" option to move the tag if it
190
already exists -- new default is to NOT
191
move tags automatically.
193
Tue Apr 7 15:55:25 1992 Brian Berliner (berliner at sun.com)
195
* Changes between CVS 1.3 Beta-3 and official CVS 1.3!
197
* A new shell script is provided, "./cvsinit", which can be run at
198
install time to help setup your $CVSROOT area. This can greatly
199
ease your entry into CVS usage.
201
* The INSTALL file has been updated to include the machines on
202
which CVS has compiled successfully. I think CVS 1.3 is finally
203
portable. Thanks to all the Beta testers!
205
* Support for the "editinfo" file was contributed. This file
206
(located in $CVSROOT/CVSROOT) can be used to specify a special
207
"editor" to run on a per-directory basis within the repository,
208
instead of the usual user's editor. As such, it can verify that
209
the log message entered by the user is of the appropriate form
210
(contains a bugid and test validation, for example).
212
* The manual pages cvs(1) and cvs(5) have been updated.
214
* The "mkmodules" command now informs you when your modules file
215
has duplicate entries.
217
* The "add" command now preserves any per-directory sticky tag when
218
you add a new directory to your checked-out sources.
220
* The "admin" command is now a fully recursive interface to the
221
"rcs" program which operates on your checked-out sources. It no
222
longer requires you to specify the full path to the RCS file.
224
* The per-file sticky tags can now be effectively removed with
225
"cvs update -A file", even if you had checked out the whole
226
directory with a per-directory sticky tag. This allows a great
227
deal of flexibility in managing the revisions that your checked-out
228
sources are based upon (both per-directory and per-file sticky
231
* The "cvs -n commit" command now works, to show which files are
232
out-of-date and will cause the real commit to fail, or which files
233
will fail any pre-commit checks. Also, the "cvs -n import ..."
234
command will now show you what it would've done without actually
237
* Doing "cvs commit modules" to checkin the modules file will no
238
properly run the "mkmodules" program (assuming you have setup your
239
$CVSROOT/CVSROOT/modules file to do so).
241
* The -t option in the modules file (which specifies a program to
242
run when you do a "cvs rtag" operation on a module) now gets the
243
symbolic tag as the second argument when invoked.
245
* When the source repository is locked by another user, that user's
246
login name will be displayed as the holder of the lock.
248
* Doing "cvs checkout module/file.c" now works even if
249
module/file.c is in the Attic (has been removed from main-line
252
* Doing "cvs commit */Makefile" now works as one would expect.
253
Rather than trying to commit everything recursively, it will now
254
commit just the files specified.
256
* The "cvs remove" command is now fully recursive. To schedule a
257
file for removal, all you have to do is "rm file" and "cvs rm".
258
With no arguments, "cvs rm" will schedule all files that have been
259
physically removed for removal from the source repository at the
262
* The "cvs tag" command now prints "T file" for each file that was
263
tagged by this invocation and "D file" for each file that had the
264
tag removed (as with "cvs tag -d").
266
* The -a option has been added to "cvs rtag" to force it to clean
267
up any old, matching tags for files that have been removed (in the
268
Attic) that may not have been touched by this tag operation. This
269
can help keep a consistent view with your tag, even if you re-use
272
Sat Feb 29 16:02:05 1992 Brian Berliner (berliner at sun.com)
274
* Changes between CVS 1.3 Beta-2 and CVS 1.3 Beta-3
276
* Many portability fixes, thanks to all the Beta testers! With any
277
luck, this Beta release will compile correctly on most anything.
278
Hey, what are we without our dreams.
280
* CVS finally has support for doing isolated development on a
281
branch off the current (or previous!) revisions. This is also
282
extremely nice for generating patches for previously released
283
software while development is progressing on the next release.
284
Here's an example of creating a branch to fix a patch with the 2.0
285
version of the "foo" module, even though we are already well into
288
% cvs rtag -b -rFOO_2_0 FOO_2_0_Patch foo
289
% cvs checkout -rFOO_2_0_Patch foo
294
A physical branch will be created in the RCS file only when you
295
actually commit the change. As such, forking development at some
296
random point in time is extremely light-weight -- requiring just a
297
symbolic tag in each file until a commit is done. To fork
298
development at the currently checked out sources, do:
300
% cvs tag -b Personal_Hack
301
% cvs update -rPersonal_Hack
305
Now, if you decide you want the changes made in the Personal_Hack
306
branch to be merged in with other changes made in the main-line
307
development, you could do:
309
% cvs commit # to make Personal_Hack complete
310
% cvs update -A # to update sources to main-line
311
% cvs update -jPersonal_Hack # to merge Personal_Hack
313
to update your checked-out sources, or:
315
% cvs checkout -jPersonal_Hack module
317
to checkout a fresh copy.
319
To support this notion of forked development, CVS reserves
320
all even-numbered branches for its own use. In addition, CVS
321
reserves the ".0" and ".1" branches. So, if you intend to do your
322
own branches by hand with RCS, you should use odd-numbered branches
323
starting with ".3", as in "1.1.3", "1.1.5", 1.2.9", ....
325
* The "cvs commit" command now supports a fully functional -r
326
option, allowing you to commit your changes to a specific numeric
327
revision or symbolic tag with full consistency checks. Numeric
328
tags are useful for bringing your sources all up to some revision
333
For symbolic tags, you can only commit to a tag that references a
334
branch in the RCS file. One created by "cvs rtag -b" or from
335
"cvs tag -b" is appropriate (see below).
337
* Roland Pesch <pesch@cygnus.com> and K. Richard Pixley
338
<rich@cygnus.com> were kind enough to contribute two new manual
339
pages for CVS: cvs(1) and cvs(5). Most of the new CVS 1.3 features
340
are now documented, with the exception of the new branch support
341
added to commit/rtag/tag/checkout/update.
343
* The -j options of checkout/update have been added. The "cvs join"
344
command has been removed.
346
With one -j option, CVS will merge the changes made between the
347
resulting revision and the revision that it is based on (e.g., if
348
the tag refers to a branch, CVS will merge all changes made in
349
that branch into your working file).
351
With two -j options, CVS will merge in the changes between the two
352
respective revisions. This can be used to "remove" a certain delta
353
from your working file. E.g., If the file foo.c is based on
354
revision 1.6 and I want to remove the changes made between 1.3 and
357
% cvs update -j1.5 -j1.3 foo.c # note the order...
359
In addition, each -j option can contain on optional date
360
specification which, when used with branches, can limit the chosen
361
revision to one within a specific date. An optional date is
362
specified by adding a colon (:) to the tag, as in:
364
-jSymbolic_Tag:Date_Specifier
366
An example might be what "cvs import" tells you to do when you have
367
just imported sources that have conflicts with local changes:
369
% cvs checkout -jTAG:yesterday -jTAG module
371
which tells CVS to merge in the changes made to the branch
372
specified by TAG in the last 24 hours. If this is not what is
373
intended, substitute "yesterday" for whatever format of date that
374
is appropriate, like:
376
% cvs checkout -jTAG:'1 week ago' -jTAG module
378
* "cvs diff" now supports the special tags "BASE" and "HEAD". So,
381
% cvs diff -u -rBASE -rHEAD
383
will effectively show the changes made by others (in unidiff
384
format) that will be merged into your working sources with your
385
next "cvs update" command. "-rBASE" resolves to the revision that
386
your working file is based on. "-rHEAD" resolves to the current
387
head of the branch or trunk that you are working on.
389
* The -P option of "cvs checkout" now means to Prune empty
390
directories, as with "update". The default is to not remove empty
391
directories. However, if you do "checkout" with any -r options, -P
392
will be implied. I.e., checking out with a tag will cause empty
393
directories to be pruned automatically.
395
* The new file INSTALL describes how to install CVS, including
396
detailed descriptions of interfaces to "configure".
398
* The example loginfo file in examples/loginfo has been updated to
399
use the perl script included in contrib/log.pl. The nice thing
400
about this log program is that it records the revision numbers of
401
your change in the log message.
403
Example files for commitinfo and rcsinfo are now included in the
406
* All "#if defined(__STDC__) && __STDC__ == 1" lines have been
407
changed to be "#if __STDC__" to fix some problems with the former.
409
* The lib/regex.[ch] files have been updated to the 1.3 release of
410
the GNU regex package.
412
* The ndbm emulation routines included with CVS 1.3 Beta-2 in the
413
src/ndbm.[ch] files has been moved into the src/myndbm.[ch] files
414
to avoid any conflict with the system <ndbm.h> header file. If
415
you had a previous CVS 1.3 Beta release, you will want to "cvs
416
remove ndbm.[ch]" form your copy of CVS as well.
418
* "cvs add" and "cvs remove" are a bit more verbose, telling you
419
what to do to add/remove your file permanently.
421
* We no longer mess with /dev/tty in "commit" and "add".
423
* More things are quiet with the -Q option set.
425
* New src/config.h option: If CVS_BADROOT is set, CVS will not
426
allow people really logged in as "root" to commit changes.
428
* "cvs diff" exits with a status of 0 if there were no diffs, 1 if
429
there were diffs, and 2 if there were errors.
431
* "cvs -n diff" is now supported so that you can still run diffs
432
even while in the middle of committing files.
434
* Handling of the CVS/Entries file is now much more robust.
436
* The default file ignore list now includes "*.so".
438
* "cvs import" did not expand '@' in the log message correctly. It
439
does now. Also, import now uses the ignore file facility
442
Import will now tell you whether there were conflicts that need to
443
be resolved, and how to resolve them.
445
* "cvs log" has been changed so that you can "log" things that are
446
not a part of the current release (in the Attic).
448
* If you don't change the editor message on commit, CVS now prompts
451
!)reuse this message unchanged for remaining dirs
453
which allows you to tell CVS that you have no intention of changing
454
the log message for the remainder of the commit.
456
* It is no longer necessary to have CVSROOT set if you are using
457
the -H option to get Usage information on the commands.
459
* Command argument changes:
460
checkout: -P handling changed as described above.
461
New -j option (up to 2 can be specified)
462
for doing rcsmerge kind of things on
464
commit: -r option now supports committing to a
465
numeric or symbolic tags, with some
466
restrictions. Full consistency checks will
468
Added "-f logfile" option, which tells
469
commit to glean the log message from the
470
specified file, rather than invoking the
472
rtag: Added -b option to create a branch tag,
473
useful for creating a patch for a previous
474
release, or for forking development.
475
tag: Added -b option to create a branch tag,
476
useful for creating a patch for a previous
477
release, or for forking development.
478
update: New -j option (up to 2 can be specified)
479
for doing rcsmerge kind of things on
482
Thu Jan 9 10:51:35 MST 1992 Jeff Polk (polk at BSDI.COM)
484
* Changes between CVS 1.3 Beta-1 and CVS 1.3 Beta-2
486
* Thanks to K. Richard Pixley at Cygnus we now have function
487
prototypes in all the files
489
* Some small changes to configure for portability. There have
490
been other portability problems submitted that have not been fixed
491
(Brian will be working on those). Additionally all __STDC__
492
tests have been modified to check __STDC__ against the constant 1
493
(this is what the Second edition of K&R says must be true).
495
* Lots of additional error checking for forked processes (run_exec)
496
(thanks again to K. Richard Pixley)
498
* Lots of miscellaneous bug fixes - including but certainly not
500
various commit core dumps
501
various update core dumps
502
bogus results from status with numeric sticky tags
503
commitprog used freed memory
504
Entries file corruption caused by No_Difference
505
commit to revision broken (now works if branch exists)
506
ignore file processing broken for * and !
507
ignore processing didn't handle memory reasonably
508
miscellaneous bugs in the recursion processor
509
file descriptor leak in ParseInfo
510
CVSROOT.adm->CVSROOT rename bug
513
* Reformatted all the code in src (with GNU indent) and then
514
went back and fixed prototypes, etc since indent gets confused. The
515
rationale is that it is better to do it sooner than later and now
516
everything is consistent and will hopefully stay that way.
517
The basic options to indent were: "-bad -bbb -bap -cdb -d0 -bl -bli0
518
-nce -pcs -cs -cli4 -di1 -nbc -psl -lp -i4 -ip4 -c41" and then
519
miscellaneous formatting fixes were applied. Note also that the
520
"-nfc1" or "-nfca" may be appropriate in files where comments have
521
been carefully formatted (e.g, modules.c).
523
Sat Dec 14 20:35:22 1991 Brian Berliner (berliner at sun.com)
525
* Changes between CVS 1.2 and CVS 1.3 Beta are described here.
527
* Lots of portability work. CVS now uses the GNU "configure"
528
script to dynamically determine the features provided by your
529
system. It probably is not foolproof, but it is better than
530
nothing. Please let me know of any portability problems. Some
531
file names were changed to fit within 14-characters.
533
* CVS has a new RCS parser that is much more flexible and
534
extensible. It should read all known RCS ",v" format files.
536
* Most of the commands now are fully recursive, rather than just
537
operating on the current directory alone. This includes "commit",
538
which makes it real easy to do an "atomic" commit of all the
539
changes made to a CVS hierarchy of sources. Most of the commands
540
also correctly handle file names that are in directories other than
541
".", including absolute path names. Commands now accept the "-R"
542
option to force recursion on (though it is always the default now)
543
and the "-l" option to force recursion off, doing just "." and not
546
* CVS supports many of the features provided with the RCS 5.x
547
distribution - including the new "-k" keyword expansion options. I
548
recommend using RCS 5.x (5.6 is the current official RCS version)
549
and GNU diff 1.15 (or later) distributions with CVS.
551
* Checking out files with symbolic tags/dates is now "sticky", in
552
that CVS remembers the tag/date used for each file (and directory)
553
and will use that tag/date automatically on the next "update" call.
554
This stickyness also holds for files checked out with the the new
555
RCS 5.x "-k" options.
557
* The "cvs diff" command now recognizes all of the rcsdiff 5.x
558
options. Unidiff format is available by installing the GNU
559
diff 1.15 distribution.
561
* The old "CVS.adm" directories created on checkout are now called
562
"CVS" directories, to look more like "RCS" and "SCCS". Old CVS.adm
563
directories are automagically converted to CVS directories. The
564
old "CVSROOT.adm" directory within the source repository is
565
automagically changed into a "CVSROOT" directory as well.
567
* Symbolic links in the source repository are fully supported ONLY
568
if you use RCS 5.6 or later and (of course) your system supports
571
* A history database has been contributed which maintains the
572
history of certain CVS operations, as well as providing a wide array
575
* The "cvs" program has a "-n" option which can be used with the
576
"update" command to show what would be updated without actually
577
doing the update, like: "cvs -n update". All usage statements
578
have been cleaned up and made more verbose.
580
* The module database parsing has been rewritten. The new format
581
is compatible with the old format, but with much more
582
functionality. It allows modules to be created that grab pieces or
583
whole directories from various different parts of your source
584
repository. Module-relative specifications are also correctly
585
recognized now, like "cvs checkout module/file.c".
587
* A configurable template can be specified such that on a "commit",
588
certain directories can supply a template that the user must fill
589
before completing the commit operation.
591
* A configurable pre-commit checking program can be specified which
592
will run to verify that a "commit" can happen. This feature can be
593
used to restrict certain users from changing certain pieces of the
594
source repository, or denying commits to the entire source
597
* The new "cvs export" command is much like "checkout", but
598
establishes defaults suitable for exporting code to others (expands
599
out keywords, forces the use of a symbolic tag, and does not create
600
"CVS" directories within the checked out sources.
602
* The new "cvs import" command replaces the deprecated "checkin"
603
shell script and is used to import sources into CVS control. It is
604
also much faster for the first-time import. Some algorithmic
605
improvements have also been made to reduce the number of
606
conflicting files on next-time imports.
608
* The new "cvs admin" command is basically an interface to the
609
"rcs" program. (Not yet implemented very well).
611
* Signal handling (on systems with BSD or POSIX signals) is much
612
improved. Interrupting CVS now works with a single interrupt!
614
* CVS now invokes RCS commands by direct fork/exec rather than
615
calling system(3). This improves performance by removing a call to
616
the shell to parse the arguments.
618
* Support for the .cvsignore file has been contributed. CVS will
619
now show "unknown" files as "? filename" as the result of an "update"
620
command. The .cvsignore file can be used to add files to the
621
current list of ignored files so that they won't show up as unknown.
623
* Command argument changes:
624
cvs: Added -l to turn off history logging.
625
Added -n to show what would be done without actually
627
Added -q/-Q for quiet and really quiet settings.
628
Added -t to show debugging trace.
629
add: Added -k to allow RCS 5.x -k options to be specified.
630
admin: New command; an interface to rcs(1).
631
checkout: Added -A to reset sticky tags/date/options.
632
Added -N to not shorten module paths.
633
Added -R option to force recursion.
634
Changed -p (prune empty directories) to -P option.
635
Changed -f option; forcing tags match is now default.
636
Added -p option to checkout module to standard output.
637
Added -s option to cat the modules db with status.
638
Added -d option to checkout in the specified directory.
639
Added -k option to use RCS 5.x -k support.
640
commit: Removed -a option; use -l instead.
642
Added -l option to disable recursion.
643
Added -R option to force recursion.
644
If no files specified, commit is recursive.
645
diff: Now recognizes all RCS 5.x rcsdiff options.
646
Added -l option to disable recursion.
647
Added -R option to force recursion.
648
history: New command; displays info about CVS usage.
649
import: Replaces "checkin" shell script; imports sources
650
under CVS control. Ignores files on the ignore
651
list (see -I option or .cvsignore description above).
652
export: New command; like "checkout", but w/special options
653
turned on by default to facilitate exporting sources.
654
join: Added -B option to join from base of the branch;
655
join now defaults to only joining with the top two
656
revisions on the branch.
657
Added -k option for RCS 5.x -k support.
658
log: Supports all RCS 5.x options.
659
Added -l option to disable recursion.
660
Added -R option to force recursion.
661
patch: Changed -f option; forcing tags match is now default.
662
Added -c option to force context-style diffs.
663
Added -u option to support unidiff-style diffs.
664
Added -V option to support RCS specific-version
665
keyword expansion formats.
666
Added -R option to force recursion.
667
remove: No option changes. It's a bit more verbose.
668
rtag: Equivalent to the old "cvs tag" command.
669
No option changes. It's a lot faster for re-tag.
670
status: New output formats with more information.
671
Added -l option to disable recursion.
672
Added -R option to force recursion.
673
Added -v option to show symbolic tags for files.
674
tag: Functionality changed to tag checked out files
675
rather than modules; use "rtag" command to get the
676
old "cvs tag" behaviour.
677
update: Added -A to reset sticky tags/date/options.
678
Changed -p (prune empty directories) to -P option.
679
Changed -f option; forcing tags match is now default.
680
Added -p option to checkout module to standard output.
681
Added -I option to add files to the ignore list.
682
Added -R option to force recursion.
686
* Jeff Polk <polk@bsdi.com> rewrote most of the grody code of CVS
687
1.2. He made just about everything dynamic (by using malloc),
688
added a generic hashed list manager, re-wrote the modules database
689
parsing in a compatible - but extended way, generalized directory
690
hierarchy recursion for virtually all the commands (including
691
commit!), generalized the loginfo file to be used for pre-commit
692
checks and commit templates, wrote a new and flexible RCS parser,
693
fixed an uncountable number of bugs, and helped in the design of
694
future CVS features. If there's anything gross left in CVS, it's
697
* David G. Grubbs <dgg@odi.com> contributed the CVS "history" and
698
"release" commands. As well as the ever-so-useful "-n" option of
699
CVS which tells CVS to show what it would do, without actually
700
doing it. He also contributed support for the .cvsignore file.
702
* Paul Sander, HaL Computer Systems, Inc. <paul@hal.com> wrote and
703
contributed the code in lib/sighandle.c. I added support for
704
POSIX, BSD, and non-POSIX/non-BSD systems.
706
* Free Software Foundation contributed the "configure" script and
707
other compatibility support in the "lib" directory, which will help
708
make CVS much more portable.
710
* Many others have contributed bug reports and enhancement requests.
711
Some have even submitted actual code which I have not had time yet
712
to integrate into CVS. Maybe for the next release.
716
Wed Feb 6 10:10:58 1991 Brian Berliner (berliner at sun.com)
718
* Changes from CVS 1.0 Patchlevel 1 to CVS 1.0 Patchlevel 2; also
719
known as "Changes from CVS 1.1 to CVS 1.2".
721
* Major new support with this release is the ability to use the
722
recently-posted RCS 5.5 distribution with CVS 1.2. See below for
723
other assorted bug-fixes that have been thrown in.
725
* ChangeLog (new): Added Emacs-style change-log file to CVS 1.2
726
release. Chronological description of changes between release.
728
* README: Small fixes to installation instructions. My email
729
address is now "berliner@sun.com".
731
* src/Makefile: Removed "rcstime.h". Removed "depend" rule.
733
* src/partime.c: Updated to RCS 5.5 version with hooks for CVS.
734
* src/maketime.c: Updated to RCS 5.5 version with hooks for CVS.
735
* src/rcstime.h: Removed from the CVS 1.2 distribution.
736
Thanks to Paul Eggert <eggert@twinsun.com> for these changes.
738
* src/checkin.csh: Support for RCS 5.5 parsing.
739
Thanks to Paul Eggert <eggert@twinsun.com> for this change.
741
* src/collect_sets.c (Collect_Sets): Be quieter if "-f" option is
742
specified. When checking out files on-top-of other files that CVS
743
doesn't know about, run a diff in the hopes that they are really
744
the same file before aborting.
746
* src/commit.c (branch_number): Fix for RCS 5.5 parsing.
747
Thanks to Paul Eggert <eggert@twinsun.com> for this change.
749
* src/commit.c (do_editor): Bug fix - fprintf missing argument
750
which sometimes caused core dumps.
752
* src/modules.c (process_module): Properly NULL-terminate
753
update_dir[] in all cases.
755
* src/no_difference.c (No_Difference): The wrong RCS revision was
756
being registered in certain (strange) cases.
758
* src/patch.c (get_rcsdate): New algorithm. No need to call
759
maketime() any longer.
760
Thanks to Paul Eggert <eggert@twinsun.com> for this change.
762
* src/patchlevel.h: Increased patch level to "2".
764
* src/subr.c (isdir, islink): Changed to compare stat mode bits
767
* src/tag.c (tag_file): Added support for following symbolic links
768
that are in the master source repository when tagging. Made tag
769
somewhat quieter in certain cases.
771
* src/update.c (update_process_lists): Unlink the user's file if it
772
was put on the Wlist, meaning that the user's file is not modified
773
and its RCS file has been removed by someone else.
775
* src/update.c (update): Support for "cvs update dir" to correctly
776
just update the argument directory "dir".
778
* src/cvs.h: Fixes for RCS 5.5 parsing.
779
* src/version_number.c (Version_Number): Fixes for parsing RCS 5.5
780
and older RCS-format files.
781
Thanks to Paul Eggert <eggert@twinsun.com> for these changes.
783
* src/version_number.c (Version_Number): Bug fixes for "-f" option.
784
Bug fixes for parsing with certain branch numbers. RCS
785
revision/symbol parsing is much more solid now.
787
Wed Feb 14 10:01:33 1990 Brian Berliner (berliner at sun.com)
789
* Changes from CVS 1.0 Patchlevel 0 to CVS 1.0 Patchlevel 1; also
790
known as "Changes from CVS 1.0 to CVS 1.1".
792
* src/patch.c (get_rcsdate): Portability fix. Replaced call to
793
timelocal() with call to maketime().
795
Mon Nov 19 23:15:11 1990 Brian Berliner (berliner at prisma.com)
797
* Sent CVS 1.0 release to comp.sources.unix moderator and FSF.
799
* Special thanks to Dick Grune <dick@cs.vu.nl> for his work on the
800
1986 version of CVS and making it available to the world. Dick's
801
version is available on uunet.uu.net in the
802
comp.sources.unix/volume6/cvs directory.
804
$CVSid: @(#)ChangeLog 1.35 94/10/22 $