| 1 |
Changes from 1.4A2 to the present: |
| 2 |
|
| 3 |
* Remote implementation. (this release can also be used locally, |
| 4 |
like other CVS versions, if you have no need for remote access). |
| 5 |
|
| 6 |
Cyclic CVS can access repositories on remote machines. This is very |
| 7 |
helpful when collaborating on a project with someone across a |
| 8 |
wide-area network. |
| 9 |
|
| 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 |
| 13 |
over short distances) |
| 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 |
| 21 |
wide-area network. |
| 22 |
|
| 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 |
| 26 |
over short distances) |
| 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. |
| 32 |
|
| 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. |
| 36 |
|
| 37 |
* Death support. See src/README-rm-add for more information on this. |
| 38 |
|
| 39 |
* Many speedups, especially from jtc@cygnus.com. |
| 40 |
|
| 41 |
Fri Oct 21 20:58:54 1994 Brian Berliner <berliner@sun.com> |
| 42 |
|
| 43 |
* Changes between CVS 1.3 and CVS 1.4 Alpha-2 |
| 44 |
|
| 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 |
| 49 |
"src/cvsbug.sh". |
| 50 |
|
| 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". |
| 54 |
|
| 55 |
* The Frequesntly Asked Questions file, FAQ, has been added to the |
| 56 |
release. Unfortunately, its contents are likely out-of-date. |
| 57 |
|
| 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. |
| 61 |
|
| 62 |
* Index: lines are now printed on output from 'diff' and 'rdiff', |
| 63 |
in order to facilitate application of patches to multiple subdirs. |
| 64 |
|
| 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. |
| 70 |
|
| 71 |
* You can now list subdirectories that you wish to ignore in a |
| 72 |
modules listing, such as: |
| 73 |
|
| 74 |
gcc -a gnu/gcc, !gnu/gcc/testsuites |
| 75 |
|
| 76 |
which will check out everything underneath gnu/gcc, except |
| 77 |
everything underneath gnu/gcc/testsuites. |
| 78 |
|
| 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. |
| 82 |
|
| 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>) |
| 86 |
|
| 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. |
| 91 |
|
| 92 |
* You can now specify an RCS keyword substitution value when you |
| 93 |
import files into the repository. |
| 94 |
|
| 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 |
| 97 |
long option names. |
| 98 |
|
| 99 |
* Code cleanup. Many passes through gcc -Wall helped to identify |
| 100 |
a number of questionable constructs. Most arbitrary length limits |
| 101 |
were removed. |
| 102 |
|
| 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 |
| 106 |
up checkouts. |
| 107 |
|
| 108 |
* Many more contributions have been added to the "contrib" |
| 109 |
directory. See the README file in that directory for more |
| 110 |
information. |
| 111 |
|
| 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 |
| 116 |
builds. |
| 117 |
|
| 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. |
| 121 |
|
| 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. |
| 126 |
|
| 127 |
* "cvs commit" will now function with a pre-commit program that |
| 128 |
has arguments specified in the "commitinfo" file. |
| 129 |
|
| 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 |
| 134 |
originally had. |
| 135 |
|
| 136 |
* "cvs diff" is much more accurate about its exit status now. It |
| 137 |
now returns the maximum exit status of any invoked diff. |
| 138 |
|
| 139 |
* The "-I !" option is now supported for the import and update |
| 140 |
commands correctly. It will properly clear the ignore list now. |
| 141 |
|
| 142 |
* Some problems with "cvs import" handling of .cvsignore have been |
| 143 |
fixed; as well, some rampant recursion problems with import have |
| 144 |
also been fixed. |
| 145 |
|
| 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 |
| 149 |
be created. |
| 150 |
|
| 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. |
| 156 |
|
| 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. |
| 161 |
|
| 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 |
| 166 |
(mdb@cisco.com). |
| 167 |
|
| 168 |
* Command argument changes: |
| 169 |
cvs: The "-f" option has been added to ignore |
| 170 |
the ~/.cvsrc file. |
| 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 |
| 177 |
timezone. |
| 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 |
| 182 |
newly-created files. |
| 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. |
| 192 |
|
| 193 |
Tue Apr 7 15:55:25 1992 Brian Berliner (berliner at sun.com) |
| 194 |
|
| 195 |
* Changes between CVS 1.3 Beta-3 and official CVS 1.3! |
| 196 |
|
| 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. |
| 200 |
|
| 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! |
| 204 |
|
| 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). |
| 211 |
|
| 212 |
* The manual pages cvs(1) and cvs(5) have been updated. |
| 213 |
|
| 214 |
* The "mkmodules" command now informs you when your modules file |
| 215 |
has duplicate entries. |
| 216 |
|
| 217 |
* The "add" command now preserves any per-directory sticky tag when |
| 218 |
you add a new directory to your checked-out sources. |
| 219 |
|
| 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. |
| 223 |
|
| 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 |
| 229 |
tags). |
| 230 |
|
| 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 |
| 235 |
doing it. |
| 236 |
|
| 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). |
| 240 |
|
| 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. |
| 244 |
|
| 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. |
| 247 |
|
| 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 |
| 250 |
development). |
| 251 |
|
| 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. |
| 255 |
|
| 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 |
| 260 |
next "cvs commit". |
| 261 |
|
| 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"). |
| 265 |
|
| 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 |
| 270 |
it frequently. |
| 271 |
|
| 272 |
Sat Feb 29 16:02:05 1992 Brian Berliner (berliner at sun.com) |
| 273 |
|
| 274 |
* Changes between CVS 1.3 Beta-2 and CVS 1.3 Beta-3 |
| 275 |
|
| 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. |
| 279 |
|
| 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 |
| 286 |
the 3.0 release. Do: |
| 287 |
|
| 288 |
% cvs rtag -b -rFOO_2_0 FOO_2_0_Patch foo |
| 289 |
% cvs checkout -rFOO_2_0_Patch foo |
| 290 |
% cd foo |
| 291 |
[[ hack away ]] |
| 292 |
% cvs commit |
| 293 |
|
| 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: |
| 299 |
|
| 300 |
% cvs tag -b Personal_Hack |
| 301 |
% cvs update -rPersonal_Hack |
| 302 |
[[ hack away ]] |
| 303 |
% cvs commit |
| 304 |
|
| 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: |
| 308 |
|
| 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 |
| 312 |
|
| 313 |
to update your checked-out sources, or: |
| 314 |
|
| 315 |
% cvs checkout -jPersonal_Hack module |
| 316 |
|
| 317 |
to checkout a fresh copy. |
| 318 |
|
| 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", .... |
| 324 |
|
| 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 |
| 329 |
level: |
| 330 |
|
| 331 |
% cvs commit -r2.0 |
| 332 |
|
| 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). |
| 336 |
|
| 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. |
| 342 |
|
| 343 |
* The -j options of checkout/update have been added. The "cvs join" |
| 344 |
command has been removed. |
| 345 |
|
| 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). |
| 350 |
|
| 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 |
| 355 |
1.5, I might do: |
| 356 |
|
| 357 |
% cvs update -j1.5 -j1.3 foo.c # note the order... |
| 358 |
|
| 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: |
| 363 |
|
| 364 |
-jSymbolic_Tag:Date_Specifier |
| 365 |
|
| 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: |
| 368 |
|
| 369 |
% cvs checkout -jTAG:yesterday -jTAG module |
| 370 |
|
| 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: |
| 375 |
|
| 376 |
% cvs checkout -jTAG:'1 week ago' -jTAG module |
| 377 |
|
| 378 |
* "cvs diff" now supports the special tags "BASE" and "HEAD". So, |
| 379 |
the command: |
| 380 |
|
| 381 |
% cvs diff -u -rBASE -rHEAD |
| 382 |
|
| 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. |
| 388 |
|
| 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. |
| 394 |
|
| 395 |
* The new file INSTALL describes how to install CVS, including |
| 396 |
detailed descriptions of interfaces to "configure". |
| 397 |
|
| 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. |
| 402 |
|
| 403 |
Example files for commitinfo and rcsinfo are now included in the |
| 404 |
examples directory. |
| 405 |
|
| 406 |
* All "#if defined(__STDC__) && __STDC__ == 1" lines have been |
| 407 |
changed to be "#if __STDC__" to fix some problems with the former. |
| 408 |
|
| 409 |
* The lib/regex.[ch] files have been updated to the 1.3 release of |
| 410 |
the GNU regex package. |
| 411 |
|
| 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. |
| 417 |
|
| 418 |
* "cvs add" and "cvs remove" are a bit more verbose, telling you |
| 419 |
what to do to add/remove your file permanently. |
| 420 |
|
| 421 |
* We no longer mess with /dev/tty in "commit" and "add". |
| 422 |
|
| 423 |
* More things are quiet with the -Q option set. |
| 424 |
|
| 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. |
| 427 |
|
| 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. |
| 430 |
|
| 431 |
* "cvs -n diff" is now supported so that you can still run diffs |
| 432 |
even while in the middle of committing files. |
| 433 |
|
| 434 |
* Handling of the CVS/Entries file is now much more robust. |
| 435 |
|
| 436 |
* The default file ignore list now includes "*.so". |
| 437 |
|
| 438 |
* "cvs import" did not expand '@' in the log message correctly. It |
| 439 |
does now. Also, import now uses the ignore file facility |
| 440 |
correctly. |
| 441 |
|
| 442 |
Import will now tell you whether there were conflicts that need to |
| 443 |
be resolved, and how to resolve them. |
| 444 |
|
| 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). |
| 447 |
|
| 448 |
* If you don't change the editor message on commit, CVS now prompts |
| 449 |
you with the choice: |
| 450 |
|
| 451 |
!)reuse this message unchanged for remaining dirs |
| 452 |
|
| 453 |
which allows you to tell CVS that you have no intention of changing |
| 454 |
the log message for the remainder of the commit. |
| 455 |
|
| 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. |
| 458 |
|
| 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 |
| 463 |
checkout. |
| 464 |
commit: -r option now supports committing to a |
| 465 |
numeric or symbolic tags, with some |
| 466 |
restrictions. Full consistency checks will |
| 467 |
be done. |
| 468 |
Added "-f logfile" option, which tells |
| 469 |
commit to glean the log message from the |
| 470 |
specified file, rather than invoking the |
| 471 |
editor. |
| 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 |
| 480 |
update. |
| 481 |
|
| 482 |
Thu Jan 9 10:51:35 MST 1992 Jeff Polk (polk at BSDI.COM) |
| 483 |
|
| 484 |
* Changes between CVS 1.3 Beta-1 and CVS 1.3 Beta-2 |
| 485 |
|
| 486 |
* Thanks to K. Richard Pixley at Cygnus we now have function |
| 487 |
prototypes in all the files |
| 488 |
|
| 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). |
| 494 |
|
| 495 |
* Lots of additional error checking for forked processes (run_exec) |
| 496 |
(thanks again to K. Richard Pixley) |
| 497 |
|
| 498 |
* Lots of miscellaneous bug fixes - including but certainly not |
| 499 |
limited to: |
| 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 |
| 511 |
lots of lint fixes |
| 512 |
|
| 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). |
| 522 |
|
| 523 |
Sat Dec 14 20:35:22 1991 Brian Berliner (berliner at sun.com) |
| 524 |
|
| 525 |
* Changes between CVS 1.2 and CVS 1.3 Beta are described here. |
| 526 |
|
| 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. |
| 532 |
|
| 533 |
* CVS has a new RCS parser that is much more flexible and |
| 534 |
extensible. It should read all known RCS ",v" format files. |
| 535 |
|
| 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 |
| 544 |
any sub-directories. |
| 545 |
|
| 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. |
| 550 |
|
| 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. |
| 556 |
|
| 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. |
| 560 |
|
| 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. |
| 566 |
|
| 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 |
| 569 |
symlinks. |
| 570 |
|
| 571 |
* A history database has been contributed which maintains the |
| 572 |
history of certain CVS operations, as well as providing a wide array |
| 573 |
of querying options. |
| 574 |
|
| 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. |
| 579 |
|
| 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". |
| 586 |
|
| 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. |
| 590 |
|
| 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 |
| 595 |
repository. |
| 596 |
|
| 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. |
| 601 |
|
| 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. |
| 607 |
|
| 608 |
* The new "cvs admin" command is basically an interface to the |
| 609 |
"rcs" program. (Not yet implemented very well). |
| 610 |
|
| 611 |
* Signal handling (on systems with BSD or POSIX signals) is much |
| 612 |
improved. Interrupting CVS now works with a single interrupt! |
| 613 |
|
| 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. |
| 617 |
|
| 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. |
| 622 |
|
| 623 |
* Command argument changes: |
| 624 |
cvs: Added -l to turn off history logging. |
| 625 |
Added -n to show what would be done without actually |
| 626 |
doing anything. |
| 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. |
| 641 |
Removed -f option. |
| 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. |
| 683 |
|
| 684 |
Major Contributors: |
| 685 |
|
| 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 |
| 695 |
probably my fault! |
| 696 |
|
| 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. |
| 701 |
|
| 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. |
| 705 |
|
| 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. |
| 709 |
|
| 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. |
| 713 |
|
| 714 |
* Thanks to you all! |
| 715 |
|
| 716 |
Wed Feb 6 10:10:58 1991 Brian Berliner (berliner at sun.com) |
| 717 |
|
| 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". |
| 720 |
|
| 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. |
| 724 |
|
| 725 |
* ChangeLog (new): Added Emacs-style change-log file to CVS 1.2 |
| 726 |
release. Chronological description of changes between release. |
| 727 |
|
| 728 |
* README: Small fixes to installation instructions. My email |
| 729 |
address is now "berliner@sun.com". |
| 730 |
|
| 731 |
* src/Makefile: Removed "rcstime.h". Removed "depend" rule. |
| 732 |
|
| 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. |
| 737 |
|
| 738 |
* src/checkin.csh: Support for RCS 5.5 parsing. |
| 739 |
Thanks to Paul Eggert <eggert@twinsun.com> for this change. |
| 740 |
|
| 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. |
| 745 |
|
| 746 |
* src/commit.c (branch_number): Fix for RCS 5.5 parsing. |
| 747 |
Thanks to Paul Eggert <eggert@twinsun.com> for this change. |
| 748 |
|
| 749 |
* src/commit.c (do_editor): Bug fix - fprintf missing argument |
| 750 |
which sometimes caused core dumps. |
| 751 |
|
| 752 |
* src/modules.c (process_module): Properly NULL-terminate |
| 753 |
update_dir[] in all cases. |
| 754 |
|
| 755 |
* src/no_difference.c (No_Difference): The wrong RCS revision was |
| 756 |
being registered in certain (strange) cases. |
| 757 |
|
| 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. |
| 761 |
|
| 762 |
* src/patchlevel.h: Increased patch level to "2". |
| 763 |
|
| 764 |
* src/subr.c (isdir, islink): Changed to compare stat mode bits |
| 765 |
correctly. |
| 766 |
|
| 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. |
| 770 |
|
| 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. |
| 774 |
|
| 775 |
* src/update.c (update): Support for "cvs update dir" to correctly |
| 776 |
just update the argument directory "dir". |
| 777 |
|
| 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. |
| 782 |
|
| 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. |
| 786 |
|
| 787 |
Wed Feb 14 10:01:33 1990 Brian Berliner (berliner at sun.com) |
| 788 |
|
| 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". |
| 791 |
|
| 792 |
* src/patch.c (get_rcsdate): Portability fix. Replaced call to |
| 793 |
timelocal() with call to maketime(). |
| 794 |
|
| 795 |
Mon Nov 19 23:15:11 1990 Brian Berliner (berliner at prisma.com) |
| 796 |
|
| 797 |
* Sent CVS 1.0 release to comp.sources.unix moderator and FSF. |
| 798 |
|
| 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. |
| 803 |
|
| 804 |
$CVSid: @(#)ChangeLog 1.35 94/10/22 $ |