1Mon Dec 30 15:43:48 1996 Abe Feldman <feldman@harvey.cyclic.com> 2 3 * checkout.c (build_dirs_and_chdir): Reproduced block containing 4 Create_Admin, placing it before Subdir_Register. 5 * sanity.sh (basicb): Added tests 1a and 9a to test above changes 6 to the checkout command. 7 8Mon Dec 30 13:29:14 1996 uz@wuschel.ibb.schwaben.com (Ullrich von Bassewitz) 9 and Jim Kingdon <kingdon@harvey.cyclic.com> 10 11 * cvs.h (CVSEDITPREFIXLEN): New define. 12 * logmsg.c (do_editor): Use CVSEDITPREFIXLEN when deciding whether 13 to strip off CVSEDITPREFIX and when telling the user what we will 14 strip off. 15 16Sun Dec 22 22:06:49 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 17 18 * logmsg.c (do_verify): If noexec, skip the verification *without* 19 printing a message. Use cvs_output not printf. Skip verification 20 for client_active. 21 22Wed Dec 18 12:27:35 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 23 24 * repos.c (Name_Repository): Add comment regarding wording of 25 "*PANIC*" error message. 26 271996-12-18 Jim Kingdon 28 29 * client.c (call_in_directory): If the directory we are about 30 to create is the same as CVSADM as seen by fncmp (for example, 31 it is "cvs" and filenames are case-insensitive), then give a 32 fatal error. 33 34Tue Dec 17 13:14:22 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 35 36 * options.h.in: Add comments about SETXID security holes. 37 38 * logmsg.c (do_verify): Reindent comments. Check errno if return 39 code from run_exec is -1, not if it is 1. 40 * sanity.sh (info): Move tests info-4 and info-8 to end and rename 41 them. Add verifymsg tests. Instead of forcibly removing loginfo, 42 remove it nicely (test info-11). 43 44Tue Dec 17 12:45:32 1996 Abe Feldman <feldman@cyclic.com> 45 46 * commit.c, import.c: Call do_verify as well as do_editor. 47 * cvs.h (CVSROOTADM_VERIFYMSG): Define. 48 * logmsg.c, cvs.h (do_verify, verifymsg_proc): New functions. 49 (verifymsg_script): New variable. 50 * mkmodules.c (filelist): Add CVSROOTADM_VERIFYMSG. 51 52Mon Dec 16 13:24:47 1996 Ian Lance Taylor <ian@cygnus.com> 53 54 * lock.c (remove_locks): New static function, copied from part of 55 Lock_Cleanup. 56 (Lock_Cleanup): Call remove_locks. 57 (Writer_Lock): Call remove_locks rather than Lock_Cleanup when 58 waiting for a lock. 59 60Thu Dec 12 10:36:37 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 61 62 * login.c (get_cvs_password): If CVS_PASSWORD is set, print a 63 warning (and then proceed to ignore it). It was a documented 64 feature, so we should point people who were using it to the 65 replacement. 66 67Mon Dec 9 12:35:43 1996 Ian Lance Taylor <ian@cygnus.com> 68 69 * server.c (server_updated): Change comment to only worry about 70 umask in the rsh case. 71 (server): Create the temporary directory, and change the mode to 72 S_IRWXU. 73 (switch_to_user): Set the umask to 0, not 077. 74 75Mon Dec 9 10:58:28 1996 Jim Blandy <jimb@floss.cyclic.com> 76 77 * login.c (get_cvs_password): Remove code to check for value of 78 CVS_PASSWORD. Keeping cleartext passwords in environment 79 variables is a really bad idea on Unix, since anyone can print 80 out a processes' environment using 'ps' (on BSD variants 81 anyway). Update help message. 82 83Fri Dec 6 15:59:40 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 84 85 * sanity.sh: When matching "use .cvs commit. to remove this file 86 permanently" messages, change "cvs" to "${PROG}". 87 (rdiff, binfiles): Likewise. 88 This fixes testing a program named something other than "cvs", e.g. 89 $ cp cvs cvs-test 90 $ /bin/sh <srcdir>/sanity.sh `pwd`/cvs-test 91 921996-12-02 Jim Kingdon 93 94 * client.c: In comment saying that socket buffers don't 95 implement the blocking routine, say they are blocking. 96 * buffer.h (struct buffer): In description of input function, 97 describe blocking, non-blocking, and NEED more fully. Say 98 what happens if we read a nonzero amount less than NEED and 99 then get end of file. 100 * client.c (socket_buffer_input): If NEED == 0, still call 101 recv (once). Handle the case where recv returns 0. 102 103Sat Nov 30 15:10:07 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 104 105 * subr.c, cvs.h (file_has_markers): New function. 106 * rcs.h (RCS_MERGE_PAT): Now a fixed string not a regexp. 107 * options.h.in (GREP): Removed; no longer used. 108 * update.c (update_fileproc), commit.c (check_fileproc): Call 109 file_has_markers rather than GREP. 110 * rcscmds.c (RCS_merge): Just give a fatal error in the case where 111 we had been calling GREP. I suspect noone is using this code 112 any more. 113 * sanity.sh (conflicts): Rewrite tests 131, 132, and 133 to use 114 dotest; tests that the above changes didn't break anything. 115 116Fri Nov 29 09:06:41 1996 fnf@ninemoons.com (Fred Fish) 117 and Jim Kingdon <kingdon@harvey.cyclic.com> 118 119 * checkout.c (safe_location): Only call readlink if HAVE_READLINK. 120 121 * run.c (piped_child, filter_stream_through_program): If 122 HAVE_VFORK, call vfork not fork. 123 * run.c (run_exec): Add comment about why we use vfork. 124 125Mon Nov 25 12:48:31 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 126 127 * release.c (release): Don't return after processing the first 128 argument; that kind of defeats the purpose of having a loop, eh? 129 For client, close the connection after we've processed them all. 130 * sanity.sh: Remove workaround for modules2-8 test; tests for 131 above fix. Adjust modules2-6 test to answer both questions. 132 133 * login.c: Reindent (all of get_cvs_password, a handful of lines 134 elsewhere). 135 136 Cleanups to release, mostly cosmetic: 137 * release.c (release_server): New function; breaks out server code 138 from the release function. 139 * release.c: Move delete_flag inside the release function. 140 * release.c (release): Reindent. Rewrite comments about how the 141 implementation could be improved. Don't declare variables as 142 "register". Include errno in error message. Don't cast result of 143 printf to void. Remove unused variable srepos. 144 * release.c: Remove comments at top of file about what it does. 145 They were not particularly coherent and they were also out of date 146 (I think). Likewise for comment in release function about "if we 147 are in a repository". 148 * release.c: Change "module" to "directory" in a few messages 149 since that is what is meant. 150 * sanity.sh: In tests ignore-195 and ignore-193, change expected 151 message accordingly. 152 153Sun Nov 24 11:30:55 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 154 155 * sanity.sh: Clarify a few items in the todo list. 156 157 * log.c (log_parse_date): Use the "end" of the epoch not "next 158 week" as the time which means "no end time". 159 * sanity.sh (rcs): New test, tests dates and importing RCS files. 160 1611996-11-19 Jim Kingdon 162 163 Visual C++ lint: 164 * hash.c: Declare qsort_comp. 165 * update.c: Declare isremoved. 166 1671996-11-19 Jim Kingdon <kingdon@harvey.cyclic.com> 168 169 * root.c, repos.c, modules.c, create_adm.c: Change all calls to 170 strip_path to strip_trailing_slashes. Basically strip_path is 171 just an unneeded complication (we should keep the pathname the way 172 the user specifies it, and the system can worry about things like 173 consecutive /'s if it wants to). Stripping trailing slashes is 174 potentially dubious for the same reason, but it is a somewhat 175 different case which I won't try to tackle now. 176 * cvs.h (strip_path): Remove declaration. 177 178Tue Nov 19 15:18:13 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 179 180 There are a lot of details to this change, but the concept is 181 relatively simple: make it so that for every CVSLCK lock that we 182 might take out, there is a flag which is set iff we have created 183 the CVSLCK directory. 184 * lock.c (struct lock): New structure. 185 * lock.c: Remove static variables repository and cleanup_lckdir. 186 They are replaced by global_readlock.repository and 187 global_readlock.have_lckdir, respectively (except insofar as the 188 rest of these changes change the concept of cleanup_lckdir). 189 New static variable global_readlock. 190 (Reader_Lock, Lock_Cleanup): Use global_readlock in place of 191 repository. 192 (lock_simple_remove, set_lock, clear_lock, write_lock): Take a 193 struct lock * instead of just a repository. Set/clear 194 lock->have_lckdir instead of cleanup_lckdir. 195 (set_writelock_proc, unlock_proc): Pass ->data, not ->key, to 196 write_lock or lock_simple_remove. 197 (lock_filesdoneproc,lock_dir_for_write): Allocate a struct lock, 198 put it in the ->data field, and fill in its fields. 199 (lock_simple_remove): Use lock->have_lckdir as the sole test for 200 whether the CVSLCK directory needs to be removed. Add 201 comments about why readlock and writelock variables don't tell us 202 for sure whether locks exist. 203 (lock_simple_remove, clear_lock): Use SIG_beginCrSect and 204 SIG_endCrSect to ensure that ->have_lckdir is set to 0 iff the 205 CVSLCK directory was really removed. 206 (lock_simple_remove): Check for errors removing CVSLCK directory. 207 (lock_simple_remove, Check_Owner, set_lock): Remove all code which 208 checks userids (including all of Check_Owner and all the AFCVS 209 code). It was bogus if several CVS processes with the same userid 210 were running (common if several users share a userid; a common 211 practice with remote CVS), and with the rest of the changes here 212 should not be needed. 213 2141996-11-16 Paul Eggert <eggert@twinsun.com> 215 216 * rcs.c (RCS_deltas): Fix unintended trigraphs. 217 218Fri Nov 15 13:06:03 1996 Tom Hageman <tom@basil.icce.rug.nl> 219 220 * diff.c (diff_fileproc): In printing error messages, use the 221 correct filename for which the error occurred. 222 223Sun Nov 10 21:13:38 1996 Paul Sanders <p.sanders@dial.pipex.com> 224 and Jim Kingdon <kingdon@harvey.cyclic.com> 225 226 * server.c: Use all the right cruft which goes along with 227 including sys/time.h. 228 229 * server.c: Include a "copyright" notice. 230 231 * server.c: If HAVE_WINSOCK_H, include winsock.h. 232 233 * server.c (server): Only set a handler for SIGHUP if it is 234 defined. Likewise for all the other signals. 235 236 * server.c (do_cvs_command): Use DEVNULL not /dev/null. 237 238Fri Nov 08 12:14:20 1996 Jim Kingdon 239 240 IBM ICC (OS/2) lint: 241 * add.c (add): Only declare begin_added_files if 242 SERVER_SUPPORT. 243 * client.c (init_sockaddr): Change port argument from 244 unsigned short to unsigned int. Change hostname 245 argument from const char * to char *. 246 247Sun Nov 3 18:24:28 1996 Noel Cragg <noel@gargle.rain.org> 248 249 * sanity.sh (info): add new tests that check behavior of format 250 string substitution in loginfo file. 251 252Sat Nov 2 09:39:09 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 253 254 * client.c (do_deferred_progs): Don't access memory once it is 255 freed (we already did it right for checkin_progs; do the same 256 thing for update_progs). 257 258 * update.c, client.c, classify.c, client.h, diff.c, commit.c, 259 create_adm.c: Nuke more PATH_MAX. 260 261Fri Nov 1 18:22:32 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 262 263 * error.h: Define PROTO if it is not defined. 264 265Wed Oct 30 08:53:20 1996 jalving@ibm.net 266 267 * patch.c (patch_fileproc): Set line1 and line2 to NULL up-front 268 (before the first "goto out") so we don't try to free them. 269 270Wed Oct 30 08:53:20 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 271 272 * commit.c (remove_file, commit_filesdoneproc), run.c (run_print, 273 run_exec), modules.c (open_module, cat_module, do_module), update.c 274 (update_dirleave_proc), tag.c (tag_fileproc): Call cvs_out* rather 275 than stdio. 276 * server.c (serve_expand_modules): Remove comment about do_module 277 writing to stdout/stderr; above changes should fix this. 278 279Tue Oct 29 17:23:59 1996 Ian Lance Taylor <ian@cygnus.com> 280 281 * status.c (tag_list_proc): When printing the tag name, don't 282 truncate it to 25 characters. 283 284Tue Oct 29 12:49:07 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 285 286 * add.c, checkin.c, checkout.c, filesubr.c: Nuke arbitrary limit 287 of PATH_MAX. Many more such limits surely remain. 288 289 * fileattr.c (fileattr_set): Set attrs_modified *after* we might 290 call fileattr_read, because fileattr_read clears it. 291 * sanity.sh (devcom2): New tests, test for above fix and other 292 behaviors I discovered in the process of looking into it. 293 294Mon Oct 28 08:55:57 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 295 296 The following changes are to ensure that SYSTEM_CLEANUP is always 297 called. 298 * error.c, cvs.h, main.c: Remove error_set_cleanup and related 299 machinery. It was for a time when error.c was intended to be 300 shared with other programs, but that is no longer true. 301 * error.c, error.h (error_exit): New function; like error_cleanup 302 from main.c but also calls SYSTEM_CLEANUP and exit (EXIT_FAILURE). 303 * error.c (error, fperror): Call error_exit instead of doing it 304 ourself. 305 * server.c (server, serve_valid_responses, switch_to_user, 306 check_password, pserver_authenticate_connection, 307 kserver_authenticate_connection): Call SYSTEM_CLEANUP before exit. 308 * add.c, client.c, import.c, main.c, mkmodules.c, modules.c, 309 recurse.c, server.c, tag.c, update.c: Call error_exit () 310 instead of exit (EXIT_FAILURE). 311 312Sun Oct 27 08:34:16 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 313 314 * sanity.sh (conflicts): New test 128.5 tests "cvs co -p" in an empty 315 directory (like 126.5), but when the file has nonempty contents. 316 * rcs.c (RCS_checkout): If writing to stdout, use cvs_output 317 rather than fwrite. 318 * update.c (checkout_file): Call cvs_stderr not fprintf. 319 These changes should fix some out-of-order bugs which show up in 320 situations like conflicts-126.5 and conflicts-128.5. 321 322 * mkmodules.c (checkout_file): Call RCS_checkout rather than 323 run_exec on RCS_CO. 324 325Sat Oct 26 18:29:46 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 326 327 * sanity.sh (rdiff): cd out of testimport directory and remove it 328 when done. 329 330 * sanity.sh (info): Adjust tests to reflect fact that loginfo was 331 created by cvs init. 332 333 * sanity.sh (ignore): Change test 187a1 to allow any number of 334 files in CVSROOT, not just modules. 335 336 * sanity.sh (modules): In tests 148a0 and 148a1, don't expect a 337 module which defines CVSROOT to itself, since we don't define one 338 any more. Also change test to rewrite modules rather than append 339 to it (in case any previous tests are changed to do something with 340 modules). Change test 155b to allow any number of files in 341 CVSROOT, not just modules. 342 343 * add.c (add_directory): Set rev_old and rev_new fields of struct 344 logfile_info to NULL (prevents us from trying to free them later). 345 * commit.c (find_fileproc), import.c (import): Likewise. 346 347 * sanity.sh (crerepos): New tests, to test alternate ways of 348 creating a repository and related matters. 349 * sanity.sh: Remove tests 1 through 3 and related cruft; replace 350 them with a new test 1 which merely tests "cvs init". By doing 351 the obscure stuff in crerepos we avoid having to do all this stuff 352 any time we run any single test. 353 354Sat Oct 26 16:19:48 1996 Jim Blandy <jimb@totoro.cyclic.com> 355 356 * main.c (main): If HAVE_TZSET is #defined, call tzset. This is 357 harmless on all systems I know of, and required on some. 358 359Fri Oct 25 13:20:44 1996 Ian Lance Taylor <ian@cygnus.com> 360 361 * diff.c (diff_file_nodiff): When setting use_rev1, only return 362 DIFF_SAME if empty_file is DIFF_DIFFERENT and ts_user is not 363 NULL. Don't get confused by a vn_user field of "0" or one 364 starting with '-'. 365 * sanity.sh (death2): Add new death2-diff-{1,2,7,8} tests for 366 above patch. Renumber existing death2-diff tests to make room. 367 368Fri Oct 25 12:38:29 1996 Jim Wilson <wilson@cygnus.com> 369 370 * sanity.sh (death2): In tests death2-diff-{2,4,6,8,10}, allow "_" 371 in temp file names. The system (tmpnam or whatever) generates 372 these names so they vary from system to system. 373 374Fri Oct 25 07:52:44 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 375 376 * logmsg.c (logfile_write): Give an error for several cases which 377 should not be legal. Adjust comments accordingly. 378 * mkmodules.c (loginfo_contents): Make description of loginfo much 379 more concise. This should be a reminder, not full documentation. 380 381Tue Oct 22 10:37:37 1996 Noel Cragg <noel@gargle.rain.org> 382 383 * commit.c (update_delproc): free structure members rev_old and 384 rev_new if they have been allocated. 385 386 * mkmodules.c: change loginfo_contents to include a description of 387 the new format string. 388 389 * logmsg.c (logfile_write): change syntax of format string. 390 391Sat Oct 19 16:09:55 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 392 393 For reference, this takes CVS's text segment from 348348 bytes to 394 347420 bytes. 395 * server.c (requests): Change Directory to rq_essential 396 per change in doc/cvsclient.texi. 397 * client.c: Remove use_directory and all code which executed if 398 it wasn't set. This includes the get_short_pathname function. 399 * server.c: Likewise, for use_dir_and_repos. 400 (serve_repository): Give a fatal error. 401 * server.c (requests): Remove Lost. Change Unchanged to rq_essential. 402 (serve_lost): Removed. 403 * server.c, server.h, client.c, vers_ts.c: Remove use_unchanged, 404 code to set it, and all code which executed if it wasn't set. 405 406Sat Oct 19 12:44:08 1996 J. Richard Sladkey <jrs@world.std.com> 407 and Jim Kingdon <kingdon@harvey.cyclic.com> 408 409 * hash.c (sortlist, new function qsort_comp): Rewrite to use qsort 410 instead of insert sort. Changes algorithm from n^2 to n log n 411 (assuming qsort is implemented with quicksort or similar). 412 413Sat Oct 19 12:44:08 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 414 415 * sanity.sh (basic2): In test basic2-64, use -x and specify types 416 which exclude E; the test is not built to deal with E (or any 417 other new types). 418 419Sat Oct 19 12:00:00 1996 Mark Mitchell <mmitchell@usa.net> 420 and Jim Kingdon <kingdon@harvey.cyclic.com> 421 422 * update.c (isemptydir, new function isremoved): Avoid pruning 423 directories that contain files marked for removal but not 424 comitted. 425 * update.c, update.h (isemptydir): Now extern, not static. 426 * update.c (isemptydir): New parameter might_not_exist handles 427 difference in functionality from old client_isemptydir. Bring 428 over the improved error checking from client_isemptydir. 429 * client.c (client_isemptydir): Removed; isemptydir now suffices. 430 * update.c (update_dirleave_proc), client.c 431 (process_prune_candidates): Update callers. 432 * sanity.sh (deep): Add tests deep-rm* for above fix. 433 434Fri Oct 18 15:53:41 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 435 436 * sanity.sh (devcom): Add tests devcom-some* to test watching just 437 a single file. 438 439 * root.c (Name_Root): Use isabsolute to test whether a pathname is 440 absolute instead of checking for the first character being '/'. 441 (Reported by Antoine P. Brusseau <brusseau@jprc.com>). 442 443 * commit.c (checkaddfile): Free rev only if it is non-NULL (thanks 444 to cwong@world.std.com (Christopher Wong) for diagnosing this; the 445 death2-15 test in sanity.sh hits it). 446 447Thu Oct 17 15:21:56 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 448 449 * sanity.sh: Reenable rdiff tests. Delete rdiff-9 test to reflect 450 the fact that the change to add a -K option has not been 451 incorporated. Adjust rdiff-8 test to reflect the fact that the 452 change to change the default keyword expansion for the first 453 revision has not been incorporated. 454 * patch.c (patch_fileproc): Pass the symbolic revision to 455 RCS_checkout so that Name can be expanded correctly. Reinstates 456 one of the 30 Sep 96 changes and fixes a bug which the sanity.sh 457 rdiff test tests for. 458 459 Reinstate change from 30 Sep 96: 460 * patch.c (patch): CLIENT_SUPPORT: send '-f' if NOT force_tag_match 461 462 * client.c (process_prune_candidates): Do not ignore errors from 463 unlink_file_dir. 464 465 * filesubr.c (deep_remove_dir): If rmdir returns an error other 466 than ENOTEMPTY or EEXIST, return -1 not 0. Add workaround for AIX 467 header bug. 468 469Tue Apr 30 08:21:27 1996 Mike Sutton <mike_sutton@dayton.saic.com> 470 471 * checkout.c, history.c: added logging/reporting of cvs export 472 command 473 474Wed Oct 16 10:16:57 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 475 476 * sanity.sh: Remove tests 4, 4.5, and 4.75; this functionality is 477 already tested by 45, 45.5 and other tests. 478 (ignore): New tests ignore-192, ignore-193, ignore-194, and 479 ignore-195 test output from "cvs release". 480 (modules2): New tests modules2-6, modules2-7, and modules2-8 test 481 ability of cvs release to handle multiple arguments. Since it 482 currently doesn't, the tests are kludged. 483 484 * server.c, cvs.h (cvs_flushout): New function. 485 * recurse.c (do_file_proc): Call it. 486 * server.c (cvs_outerr): Call fflush (stdout) in non-server case. 487 * main.c (main): Don't call setvbuf. The code was incorrectly 488 checking for "patch" (it really is "rdiff"); the concern about 489 slowing down large amounts of output is not specific to rdiff 490 (it applies to "log" for example); and the above changes should 491 meet the need. 492 493Tue Oct 15 10:22:10 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 494 495 This is intended to facilitate some future cleanups to the 496 locking, but by itself it is a simple, conversative rearrangement: 497 * tag.c (locked_dir, locked_list): Move from here... 498 * lock.c: ...to here. 499 * lock.c (Lock_Cleanup): If locked_dir is set clean it up too. 500 * tag.c (tag_unlockdir): Removed; with the above change 501 Lock_Cleanup suffices. 502 * tag.c (tag_lockdir): Move from here... 503 * lock.c (lock_dir_for_write): ...to here. 504 * tag.c (tag_fileproc), rtag.c (rtag_fileproc): Update callers. 505 Move comments concerning why we are locking what we are from 506 tag_lockdir to here. 507 * tag.c (tag_filesdoneproc), rtag.c (rtag_filesdoneproc): 508 Update callers. 509 * lock.c (Writer_Lock): Made static. 510 * cvs.h: Update declarations. 511 * server.c (server_notify): Call lock_dir_for_write rather than 512 calling Writer_Lock ourselves. 513 514 This is intended to facilitate some future cleanups to the 515 locking, but by itself it is a simple, conversative rearrangement: 516 * lock.c (Lock_Cleanup): Also dellist (lock_tree_list). 517 * lock.c, cvs.h (lock_tree_cleanup): Removed; with the above change 518 Lock_Cleanup suffices. 519 * commit.c, edit.c, watch.c: Change callers. 520 521Sat Oct 12 21:41:46 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 522 523 * sanity.sh (deep): Add comment about whether the deep-4b behavior 524 is considered desirable. 525 526Sat Oct 12 20:36:36 1996 Ian Lance Taylor <ian@cygnus.com> 527 528 * client.c (client_send_expansions): Add build_dirs parameter. 529 Change all callers. 530 (send_dirent_proc): Get build_dirs from callerdat; if it is 531 zero, don't send a nonexistent directory to the server. 532 (send_files): Add build_dirs parameter. Change all callers. 533 * client.h (send_files): Update prototype. 534 (send_files_contents): Remove prototype for nonexistent function. 535 (client_send_expansions): Update prototype. 536 * sanity.sh (deep): Add deep-4b test for above patch. 537 538Fri Oct 11 14:07:12 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 539 540 gcc -Wall lint: 541 * logmsg.c (title_proc): Remove unused variables title and comma. 542 543 * sanity.sh (modules2): Don't be picky about whether we are 544 checking in 1.3 or 1.2 of modules; it depends on whether we are 545 running all the tests or just some. 546 547Thu Oct 10 14:52:06 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 548 549 * server.c, server.h (server_dir): New variable. 550 (output_dir): If it is set, send it before the directory name. 551 * modules.c (do_module): Set it, in the case of & modules, and 552 restore it when done. 553 * sanity.sh (modules): Don't clean up first-dir before starting; 554 tests now clean up for themselves at the end. 555 (modules2): New tests, for above fix. 556 557Wed Oct 9 15:52:34 1996 Jim Blandy <jimb@totoro.cyclic.com> 558 559 * sanity.sh: Barf immediately if run as root. 560 561 * rcs.c (RCS_getrevtime): When giving a date to get_date, use the full 562 year, not the year - 1900, so that dates after 1999 are parsed 563 correctly. (Change thanks to Paul Eggert.) 564 565Wed Oct 9 10:59:11 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 566 567 Clean up gcc -Wmissing-prototypes lint: 568 * cvs.h (admin, add, checkout, commit, diff, history, import, 569 cvslog, login, patch, release, cvsremove, rtag, status, tag): 570 Declare. 571 * server.c, main.c: Don't declare them here. Don't declare update 572 either (which is already declared in cvs.h). 573 * tag.c, cvs.h, main.c, server.c: Rename tag to cvstag to avoid 574 name conflicts. 575 * client.c (init_sockaddr, auth_server_port_number), entries.c 576 (Entnode_Create, Entnode_Destroy), hash.c (nodetypestring), 577 login.c (construct_cvspass_filename), server.c 578 (supported_response), wrapper.c (wrap_matching_entry): Make static; 579 prototype. 580 * hash.c (printlist): Prototype. 581 * myndbm.c (mydbm_load_file): Change declaration to prototype. 582 583Tue Oct 8 22:35:34 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 584 585 * sanity.sh (log2): Re-add these tests; they were deleted for 1.9 586 (because they were thought to be destabilizing and/or due to 587 confusion/accident), but they can be put back now. 588 589 * sanity.sh (death2): In tests death2-diff-{2,4,6,8,10}, allow "-" 590 or "%" in temp file names. The system (tmpnam or whatever) 591 generates these names so they vary from system to system. 592 593Tue Oct 8 12:37:09 1996 Ian Lance Taylor <ian@cygnus.com> 594 595 * options.h.in (HAD_RCS4): Remove; no longer used. 596 597Sun Oct 6 15:58:11 1996 Noel Cragg <noel@gargle.rain.org> 598 599 * The following changes address problem #56 in the GNATS database 600 on harvey.cyclic.com: 601 602 * logmsg.c (str_list_format): new global -- contains the format 603 for items to be placed in str_list. 604 (Update_Logfile): move code that creates the "title" string... 605 (logfile_write): ...to here. Pull apart the filter program and 606 look for a format string, extracting it if there is one. 607 (title_proc): write a given filename/value based on the format 608 string. 609 610 * commit.c (classify_file_internal): new routine, old code (needed 611 to use the code in more than one place). Determines the status 612 and version information about a file. 613 (check_fileproc): use classify_file_internal. Fill in the rev_old 614 field for the struct logfile_info. 615 (commit_fileproc): Fill in the rev_new field. 616 617 * cvs.h (struct logfile_info): add two new fields -- rev_old and 618 rev_new -- that keep track of revision numbers across commits. 619 620Fri Sep 27 15:21:47 1996 Peter Wemm <peter@spinner.dialix.com> 621 622 * logmsg.c (do_editor): Do not use editinfo if running on the client. 623 624Fri Oct 4 15:11:46 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 625 626 * server.c (server_cleanup): Temporarily clear noexec when calling 627 unlink_file_dir. This is so we clean up the temp directory even 628 when the -n global option is specified. 629 630Wed Oct 2 10:47:33 1996 Norbert Kiesel <nk@col.sw-ley.de> 631 632 * client.c (send_repository): initialize some variables before 633 first usage 634 635Tue Oct 1 13:01:24 1996 Jim Blandy <jimb@floss.cyclic.com> 636 637 Revert some of Greg's changes; they're welcome later, but we're 638 trying to keep CVS stable for pre-release testing at the moment. 639 * checkin.c, commit.c, cvs.h, diff.c, import.c, main.c, no_diff.c, 640 options.h.in, patch.c, rcs.c, rcs.h, rcscmds.c, sanity.sh, update.c: 641 Revert changes of Sep 29 and 30. 642 643Tue Oct 1 13:17:31 1996 Ian Lance Taylor <ian@cygnus.com> 644 645 Make sure the server temporary directory is removed even if 646 Max-dotdot is used. 647 * server.c (orig_server_temp_dir): New static variable. 648 (serve_max_dotdot): Don't free server_temp_dir if it is the same 649 as orig_server_temp_dir. 650 (do_cvs_command): Use orig_server_temp_dir in error message. 651 (server_cleanup): Remove orig_server_temp_dir. 652 (server): Set orig_server_temp_dir. Remove incorrect indentation 653 of error message. 654 655 * import.c (update_rcs_file): Restore new argument to 656 RCS_checkout, removed in last patch. 657 658Tue Oct 1 00:32:55 1996 Jim Blandy <jimb@floss.cyclic.com> 659 660 * import.c: Revert Greg Woods' changes of Sep 30. We may want 661 them later, but not before 1.9. 662 663Mon Sep 30 23:31:01 1996 Jim Blandy <jimb@floss.cyclic.com> 664 665 * log.c (log_fileproc): Now that we might actually find a "desc" 666 node in rcsfile->other, thanks to Ian's change below, we had 667 better deal correctly if we find a null pointer in it. 668 669Mon Sep 30 13:55:03 1996 Greg A. Woods <woods@most.weird.com> 670 671 * main.c (main): don't set need_to_create_root for "cvs init" 672 either, just in case it's run from within a valid working 673 directory. 674 675 * sanity.sh (testcvs): oops, forgot to comment out test version I 676 was using... 677 678 * diff.c (diff_fileproc): use Diffbin instead of DIFF (3). 679 * patch.c (patch_fileproc): use Diffbin instead of DIFF. 680 * commit.c (check_fileproc): use Grepbin instead of GREP. 681 * rcscmds.c (RCS_merge): use Grepbin instead of GREP. 682 * update.c (patch_file): use Diffbin instead of DIFF. 683 (update_fileproc): use Grepbin instead of GREP. 684 * cvs.h (Diffbin): new declaration. 685 (Grepbin): new declaration. 686 (DIFFBIN_ENV): new manifest to name DIFFBIN environ var. 687 (GREPBIN_ENV): new manifest to name GREPBIN environ var. 688 * option.h.in (DIFFBIN_DFLT): renamed from DIFF. 689 (GREPBIN_DFLT): renamed from GREP. 690 * main.c (main): new variables diffbin_update_env and 691 grepbin_update_inv, ala rcsbin_update_env. 692 (main): new options -D diffbin and -g grepbin 693 (usg): describe new options -D diffbin and -g grepbin. 694 (Diffbin): new global variable for DIFF path. 695 (Grepfbin): new global variable for GREP path. 696 697 * options.h.in (RCSBIN_DFLT): mention this needs to be set if 698 your PATH isn't set properly by rshd. 699 700 * sanity.sh (rdiff): re-do Jim's change, but with the original 701 keywords I had intended (should be a bit more like real life), and 702 Jim's better RCS date and user matching form. 703 [I guess that's what I get for checking things in at 3am! ;-)] 704 705Mon Sep 30 17:00:20 1996 Ian Lance Taylor <ian@cygnus.com> 706 707 * rcs.c (RCS_reparsercsfile): Store desc field value in main RCS 708 node data, not in version specific data. 709 * sanity.sh: Enable log2 test (for local CVS only). 710 711Mon Sep 30 13:01:45 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 712 713 * sanity.sh (log2): New test, tests cvs add -m. Not yet enabled 714 in "tests" because CVS currently flunks this test. 715 716 * sanity.sh (rdiff, basic2): Allow "cvs server" as well as "cvs 717 checkout" and friends in messages. In testing output of cvs 718 status, don't require a tab which isn't there for remote. Skip 719 test rdiff-9 for remote. In test basic2-64, add missing slash in 720 the pattern which gets used for remote. 721 722 * sanity.sh (rdiff): Fix strings we were matching against which 723 got keyword-expanded in checking in sanity.sh. 724 725Mon Sep 30 03:21:37 1996 Greg A. Woods <woods@most.weird.com> 726 727 * sanity.sh: change all regexpr literal '.' to '\.' 728 (basic2): why are tests 34 & 42 commented out (because 729 of 'diff -u'?)? 730 add tests 56[abc], 57a, and 58a to test import to the main 731 branch (i.e. branch '1'). 732 (rdiff): new test section for rdiff -K, etc. 733 (dotest): remove dotest.ex? before running a new test. 734 (dotest_fail): remove dotest.ex? before running a new test. 735 (dotest_internal): write expected output to dotest.exp, or if $4 736 also used, to dotest.ex1 and dotest.ex2. 737 (patch): renamed this test to 'serverpatch'. 738 (dotest_lit): rename dotest.res to dotest.exp ala dotest(). 739 remove dotest.ex? before running a new test. 740 (DOTSTAR): mention the bug exists up to 1.12 741 (ENDANCHOR): mention the bug exists up to 1.12 742 (dotest_all_in_one): new function for debugging. 743 (dotest_line_by_line): new function for debugging. 744 (dotest_internal_debug): new function for debugging. 745 (dotest_internal): stop emulating the ancient tests and don't spew 746 the dotest.tmp contents onto $LOGFILE -- it's just too much 747 meaningless noise. Only do this if the test fails. Many tests 748 don't use dotest() yet, so this isn't quite so helpful as it might 749 otherwise be. 750 (TODO): mention CVS/* files, especially CVS/Root. 751 752 * main.c (main): add a commented out piece of code to suggest that 753 there should be a function lookup_command_attribute() that could 754 tell us various things about internal commands, such as whether 755 they use CVS/Root, or if they're repository-only, or if they need 756 a working directory, etc.... 757 (main): don't set need_to_create_root if command doesn't use a 758 local working directory. 759 760 * patch.c (patch): CLIENT_SUPPORT: send '-f' if NOT force_tag_match 761 762 * error.c (fperror): protect declaration for un-defined __STDC__ 763 764 * import.c (import): permit imports to a branch with zero dots, 765 i.e. the trunk. 766 (update_rcs_file): don't detect conflicts if importing to the 767 trunk. 768 (import): add hint that we should allow a module name, instead of 769 just a pathname relative to $CVSROOT. 770 (add_rcs_file): if importing to trunk, do it with ci(1). 771 772 * import.c: XXX the following are all #if 0'ed out until a full 773 implementation can be designed.... 774 (cbranch): new variable to support conflict detection on another 775 branch set by -c. 776 (import): truncate -b and -c optarg if to fit in static storage. 777 (import_usage): describe -c 778 779 * rcscmds.c (RCS_checkout): add new argument 'rcsver'. If rcsver 780 is set, turn on 'keywords' to force call to RCS_exec_checkout. 781 * rcs.c (RCS_exec_checkout): add new argument 'rcsver'. Pass 782 'rcsver' to "co" with run_arg(). 783 * cvs.h: (RCS_checkout): add new argument 'rcsver' to prototype. 784 (RCS_exec_checkout): add new argument 'rcsver' to prototype. 785 * commit.c (remove_file): supply new argument to RCS_checkout. 786 * checkin.c (Checkin): supply new argument to RCS_checkout. 787 * diff.c (diff_fileproc): supply new argument to RCS_checkout. 788 (diff_file_nodiff): supply new argument to RCS_checkout. 789 * no_diff.c (No_Difference): supply new argument to RCS_checkout. 790 * update.c (checkout_file): supply new argument to RCS_checkout. 791 (patch_file): supply new argument to RCS_checkout. 792 (join_file): supply new argument to RCS_checkout. 793 794 * patch.c: (o_options): new variable for -K 795 (rcsver): new variable for -V. 796 (patch): add -K flag which sets o_options, change -V to set 797 rcsver, send o_options and rcsver if in client mode. 798 (patch_fileproc): use RCS_checkout instead of RCS_fast_checkout in 799 order to ensure $Name is expanded, use o_options if set, or 800 options if set, or by default "-ko" when getting "old" file. 801 802Sun Sep 29 16:43:28 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 803 804 * rcscmds.c: Replace comment at top of file concerning RCS library 805 with a reworded version based on discussion between me, Ian, Paul 806 Eggert, and JimB. 807 808Sun Sep 29 13:09:45 1996 Noel Cragg <noel@kiva.rain.org> 809 810 * main.c (main): don't create/update CVS/Root when doing the "cvs 811 login" command. Consider: if the user executes "cvs login" with 812 the working directory inside an already checked out module, we'd 813 incorrectly change the CVS/Root file to reflect the CVSROOT of the 814 "cvs login" command. 815 816 * login.c (login): if we're re-logging into a server for which a 817 .cvspass entry already exists, copy the temporary file to its home 818 location rather than renaming. Renaming doesn't work between 819 filesystems. After copying, unlink the temporary file. 820 821Fri Sep 27 05:24:56 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 822 823 * diff.c: Add comment about --brief option. 824 825 * README-rm-add: Removed; the information which was here is now in 826 cvs.texinfo. 827 * Makefile.in (DISTFILES): Remove README-rm-add. 828 829Wed Sep 25 10:00:00 1996 Larry Jones <larry.jones@sdrc.com> 830 831 * Makefile.in (cvsbug): Add dependency on version.c. 832 833Wed Sep 25 09:01:48 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 834 835 * filesubr.c (get_homedir), update.c (update): Reindent. 836 837Wed Sep 25 04:44:54 1996 Jim Blandy <jimb@totoro.cyclic.com> 838 839 * version.c (version_string): Bump to 1.8.86. 840 841Wed Sep 25 05:17:50 1996 Jim Blandy <jimb@floss.cyclic.com> 842 843 * update.c (update): Don't neglect to pass the -kmumble options 844 to the server. 845 * sanity.sh (binfiles-sticky): New tests for above. 846 847 * cvsrc.c (read_cvsrc): Deal correctly with lines that specify a 848 command, but no options; don't corrupt argv. 849 850 * sanity.sh: When testing rsh, use the program specified by 851 the CVS_RSH environment variable, if it's set. Move test to top 852 of file, so it runs before all other tests (it's really a 853 meta-test). 854 855 * filesubr.c (get_homedir): Use getpwuid to find the home 856 directory, if the HOME environment variable isn't set. 857 * ignore.c (ign_add_file): Call get_homedir to find the user's 858 home directory; this is more portable than calling getpwuid. 859 860Tue Sep 24 09:08:17 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 861 862 * log.c (log_tree): When walking through branches, follow the 863 ->prev field rather than following ->next which insures that the 864 loop only executes once and we only see the last branch. 865 * sanity.sh (multibranch): Test "cvs log" too; tests for above fix. 866 867Mon Sep 23 09:55:22 1996 Norbert Kiesel <nk@col.sw-ley.de> 868 869 * options.h.in: Fixed some typos in the comments and reindented 870 them. 871 872Sat Sep 21 02:33:26 1996 Jim Blandy <jimb@totoro.cyclic.com> 873 874 * sanity.sh: If we're testing remote CVS, make sure rsh itself is 875 working before running any tests. It's confusing when basica-1 876 fails just because you don't have the local host in your .rhosts 877 file. 878 879 * version.c (version_string): Bump to 1.8.85. 880 881Thu Sep 19 09:15:41 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 882 883 * options.h.in: Define SERVER_FLOWCONTROL, SERVER_HI_WATER, 884 SERVER_LO_WATER. Several large sites (FreeBSD, Cygnus) have been 885 pounding on this code without problems, and it doesn't seem to 886 have any significant downsides. 887 888Tue Sep 17 01:13:41 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 889 890 * status.c (status_fileproc): Instead of a default case, set sstat 891 before the switch. This way gcc -Wall can detect a missed case. 892 Add explicit T_TITLE case. 893 894Tue Sep 17 00:09:44 1996 Assar Westerlund <assar@pdc.kth.se> 895 896 * login.c (login): Print usage if argc < 0. 897 898Tue Sep 17 00:09:44 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 899 900 * lock.c: In comment, mention one more function of readlocks 901 (fileattr not updated atomically). Note similarity between 902 solutions #2 and #5. 903 904 * checkout.c (safe_location): Do not reject a location merely 905 because it textually starts with hardpath; insist that it be 906 hardpath or a subdirectory thereof. 907 908Mon Sep 16 11:46:36 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 909 910 * server.c (server_cleanup): Add comment about ignoring errors 911 from unlink_file_dir. 912 913Mon Sep 16 10:31:48 1996 Norbert Kiesel <nk@col.sw-ley.de> 914 915 * main.c: Add support for -T <tmpdir> command line option. This 916 is needed for servers started via inetd. 917 (usg): Added line for -T. Improved -z documentation. 918 (main): Read default for tmpdir from the environment. Test for 'T' 919 in getopt loop. Use '/tmp' as ultimative fallback. Update 920 environment if possible. 921 922 * cvs.h (TMPDIR_ENV): Added for -T <tmpdir> command line option. 923 924 * options.h.in: Add TMPDIR_DFLT 925 926 * import.c (update_rcs_file): Use global variable Tmpdir instead 927 of reading the environment. 928 929 * server.c (server_cleanup): Use global variable Tmpdir instead of 930 reading the environment. Also, replace system("rm -rf") with 931 unlink_file_dir. 932 (server): Use global variable Tmpdir instead of reading the 933 environment. 934 935Thu Sep 12 1996 Jim Kingdon <kingdon@cyclic.com> 936 937 * main.c (main): If ARGV0_NOT_PROGRAM_NAME, then just set 938 program_name to "cvs" rather than argv[0]. 939 940Thu Sep 12 12:06:56 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 941 942 * client.c (update_entries): If we can't write the file, don't 943 make it a fatal error. 944 945Wed Sep 11 12:46:23 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 946 947 * client.c (start_server): Move START_SERVER_RETURNS_SOCKET code 948 so that it is only run for server_method. It is wrong for 949 pserver_method (in which connect_to_pserver sets server_sock). 950 951 * login.c (construct_cvspass_filename): If NO_SLASH_AFTER_HOME, 952 don't put a '/' between $HOME and .cvspass. Reindent function. 953 * build_src.com: Add zlib.c, login.c, and scramble.c. 954 955 * rcs.c (RCS_deltas): When looking for our branch in ->branches, 956 check the branch number. 957 * sanity.sh (multibranch): New tests test for above fix. 958 959 * commit.c (precommit_list_proc): Fix typo in last change 960 (->status to ->type). 961 962Tue Sep 10 23:05:41 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 963 964 * Makefile.in (DISTFILES): Add build_src.com. 965 * build_src.com: Add buffer.c, buffer.obj, and zlib.olb. 966 967Tue Sep 10 20:35:23 1996 Juergen Renz <renz@conware.de> 968 and Jim Kingdon <kingdon@harvey.cyclic.com> 969 970 * commit.c (precommit_list_proc): Update to reflect Jul 22 change 971 in which p->data was changed from a Ctype to a struct 972 logfile_info *. This means that commitinfo scripts again get 973 passed the file list like they should. 974 975Tue Sep 10 20:35:23 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 976 977 * client.c (auth_server_port_number): Change name of service from 978 "cvs" to "cvspserver". The latter is what the manual has always 979 recommended, and it is also officially registered with IANA. 980 981Tue Sep 10 11:12:42 1996 Mark A. Solinski <markso@mcs.com> 982 and Jim Kingdon <kingdon@harvey.cyclic.com> 983 984 * client.c (socket_buffer_output): Change ifdef VMS to ifdef 985 SEND_NEVER_PARTIAL. 986 (start_server): Change ifdef VMS to ifdef START_SERVER_RETURNS_SOCKET. 987 988Tue Sep 10 17:15:21 1996 Jim Blandy <jimb@totoro.cyclic.com> 989 990 * client.c (auth_server_port_number): Look up "cvs" in the 991 services database, and use the value it returns; fall back to 992 CVS_AUTH_PORT if no entry is present. 993 (connect_to_pserver): Use the correct port number in any error 994 messages. 995 996Tue Sep 10 11:12:42 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 997 998 * sanity.sh (newb): New test newb-123j0 tests for another "cvs 999 status" case. 1000 1001Sun Sep 8 15:20:37 1996 Ian Lance Taylor <ian@cygnus.com> 1002 1003 * rcs.c (RCS_checkout): Clarify handling of options parameter. 1004 1005 * rcs.c (RCS_checkout): Free buffer allocated by RCS_deltas. 1006 1007Sat Sep 7 21:28:27 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 1008 1009 * main.c (struct cmd): Add comment concerning recognizing unique 1010 abbreviations. 1011 1012Fri Sep 6 22:31:52 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 1013 1014 * rcs.c (RCS_checkout): Fix indentation. 1015 1016Fri Sep 6 11:48:08 1996 Ian Lance Taylor <ian@cygnus.com> 1017 1018 * rcs.c (RCS_checkout): Replace tag parameter with rev and nametag 1019 parameters. Change all callers. 1020 * rcs.h (RCS_checkout): Update declaration. 1021 1022 * rcs.c (RCS_getversion): Replace return_both parameter with 1023 simple_tag. Change all callers. 1024 (RCS_gettag): Likewise. 1025 * rcs.h (RCS_getversion, RCS_gettag): Update declarations. 1026 * vers_ts.c (Version_TS): Simplify vn_tag initialization using new 1027 simple_tag rather than old return_both. 1028 * cvs.h (struct vers_ts): Clarify vn_tag comment a bit. 1029 1030 * main.c (usg): Only mention -x if ENCRYPTION is defined. 1031 (main): Mention ENCRYPTION define in comment for -x. 1032 * client.h (krb_encrypt_buffer_initialize): Only declare if 1033 ENCRYPTION is defined. 1034 * client.c (start_server): Only encrypt if ENCRYPTION is defined. 1035 * server.c (serve_kerberos_encrypt): Only define if ENCRYPTION is 1036 defined. 1037 (requests): Only include Kerberos-encrypt is ENCRYPTION is 1038 defined. 1039 (krb_encrypt_*): Only define if ENCRYPTION is defined. 1040 1041Thu Sep 5 17:32:39 1996 Ian Lance Taylor <ian@cygnus.com> 1042 1043 * sanity.sh: When testing remote, use :ext: instead of :server: to 1044 match change made earlier today. 1045 1046Thu Sep 5 13:57:47 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 1047 1048 * client.c (start_tcp_server): Don't allow :kserver: to mean 1049 "direct tcp" (root.c already takes care of this, but I want to 1050 make it clear what is intended, and not intended, here). 1051 (start_server): Handle ext_method (external rsh program) and 1052 server_method (internal rsh client) separately. 1053 * client.c: Take rsh_pid and start_rsh_server out of 1054 RSH_NOT_TRANSPARENT ifdefs. It is useful for things like SSH on NT. 1055 * cvs.h (CVSmethod), root.c (method_names): Add ext_method. 1056 * root.c (parse_cvsroot): Recognize "ext" access method. 1057 If access method is not specified and CVSROOT contains a colon, 1058 use either ext_method or server_method depending on 1059 RSH_NOT_TRANSPARENT. 1060 1061Thu Sep 5 00:09:49 1996 Ian Lance Taylor <ian@cygnus.com> 1062 1063 * rcs.c (RCS_checkout): Remove flags parameter, which was not 1064 serving any useful purpose. Change all callers. 1065 * rcscmds.c (RCS_exec_checkout): Likewise. 1066 1067 * rcscmds.c (RCS_exec_checkout): Rename from RCS_checkout. Change 1068 all callers. 1069 * rcs.c (RCS_checkout): Rename from RCS_fast_checkout. Change all 1070 callers. 1071 1072Wed Sep 4 14:42:28 1996 Ian Lance Taylor <ian@cygnus.com> 1073 1074 * rcs.c (RCS_fast_checkout): If tracing, output a message. If 1075 noexec, and workfile is not NULL, just return immediately. Assert 1076 that sout is RUN_TTY or workfile is NULL, rather than using it as 1077 a conditional. Replace found variable with two variables--gothead 1078 and keywords--reflecting what it actually means. 1079 1080 * rcs.c (RCS_fast_checkout): Don't handle the case of workfile set 1081 to "". 1082 * rcscmds.c (RCS_checkout): Likewise. 1083 * checkin.c (Checkin): Pass explicit file name, not "", to 1084 RCS_fast_checkout. 1085 * update.c (join_file): Likewise. 1086 * commit.c (remove_file): Pass explicit file name to 1087 RCS_fast_checkout and RCS_checkin. 1088 1089 * rcs.c (RCS_reparsercsfile): Always continue after seeing 1090 RCSSYMBOLS, even if the value is NULL. Clear the NODELTA flag 1091 after setting delta_pos. 1092 (free_rcsnode_contents): New static function. 1093 (freercsnode): Call free_rcsnode_contents. 1094 (RCS_fast_checkout): If NODELTA is set, reparse the RCS file. 1095 (RCS_settag): New function. Change all callers to old function. 1096 (RCS_deltag, RCS_setbranch): Likewise. 1097 (RCS_lock, RCS_unlock): Likewise. 1098 (RCS_deltas): If NODELTA is set, reparse the RCS file. 1099 * rcs.h (NODELTA): Define. 1100 (RCS_settag, RCS_deltag, RCS_setbranch): Declare. 1101 (RCS_lock, RCS_unlock): Declare. 1102 * rcscmds.c (RCS_exec_settag): Rename from RCS_settag. Don't 1103 check tag against BASE or HEAD (now done in new RCS_settag). 1104 (RCS_exec_deltag): Rename from RCS_deltag. 1105 (RCS_exec_setbranch): Rename from RCS_setbranch. 1106 (RCS_exec_lock): Rename from RCS_lock. 1107 (RCS_exec_unlock): Rename from RCS_unlock. 1108 * cvs.h: Update declarations of renamed functions. 1109 * checkin.c (Checkin): Remove rcscopy variable (no longer needed 1110 because of change in RCS_unlock call). 1111 * commit.c: Include <assert.h>. 1112 (remove_file): Update RCSNode path if the file is renamed. 1113 (unblockrcs): Change rcs parameter to RCSNode. Change all 1114 callers. 1115 (fixbranch): Likewise. 1116 (lock_RCS): Likewise. Don't call RCS_parsercsfile. 1117 (checkaddfile): Update RCSNode path if the file is renamed. After 1118 creating a new file, call RCS_parse. When stubbing a branch, use 1119 the passed in RCSNode if there is one, rather than calling 1120 RCS_Parse. Don't call RCS_Parse again after calling RCS_settag. 1121 Free head and magicrev even if RCS_settag fails. 1122 * import.c (add_rev): Change rcs parameter to RCSNode. Change all 1123 callers. 1124 (add_tag): Likewise. 1125 1126 * rcs.c (RCS_fast_checkout): Amend last patch: if workfile is 1127 NULL, but sout is not NULL, use sout in error message. 1128 1129Wed Sep 4 13:35:09 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 1130 1131 * version.c: Increment version number to 1.8.8. 1132 1133 * Version 1.8.7. 1134 1135Wed Sep 4 1996 Jim Kingdon <kingdon@cyclic.com> 1136 1137 * client.c (send_file_names): Look for the name to send in 1138 Entries even if the file doesn't exist; we should send the 1139 name as it appears in Entries in the "rm foo; cvs update FOO" 1140 case. 1141 1142Tue Sep 3 20:50:11 1996 William A. Hoffman <hoffman@albirio.crd.ge.com> 1143 1144 * rcs.c (RCS_fast_checkout): If workfile is NULL, don't try to 1145 include it in error message. 1146 1147Mon Aug 26 12:27:38 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 1148 1149 * mkmodules.c (mkdir_if_needed): Move from here ... 1150 * filesubr.c, cvs.h (mkdir_if_needed): ... to here. Have it 1151 return a value saying whether the directory was created. 1152 * client.c (call_in_directory), edit.c (edit_fileproc): Call it. 1153 1154Fri Aug 23 19:19:44 1996 Ian Lance Taylor <ian@cygnus.com> 1155 1156 * checkin.c (Checkin): Copy rcs parameter in case it is freed when 1157 finfo->rcs is freed. 1158 1159Fri Aug 23 14:55:41 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 1160 1161 * remove.c (remove_fileproc): Revert change of 23 Aug to print 1162 getwd and finfo->file in message. The latter is redundant with 1163 fullname and the former is redundant with fullname and the working 1164 directory when CVS was invoked. The implementation was also 1165 lacking as the getwd call could overflow the buffer. 1166 1167Fri Aug 23 18:40:35 1996 Norbert Kiesel <nk@col.sw-ley.de> 1168 1169 * remove.c (cvsremove): fix remove -f for client/server 1170 1171Fri Aug 23 11:28:27 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 1172 1173 * wrapper.c, cvs.h: Remove conflictHook field of WrapperEntry, 1174 WRAP_CONFLICT in WrapMergeHas, and 'c' option in wrap_add; they 1175 are never used. 1176 1177Fri Aug 23 11:41:46 1996 Norbert Kiesel <nk@col.sw-ley.de> 1178 1179 * server.c (switch_to_user): use #ifdef SETXID_SUPPORT instead of 1180 #if SETXID_SUPPORT 1181 1182Thu Aug 22 14:18:43 1996 Ian Lance Taylor <ian@cygnus.com> 1183 1184 * checkin.c (Checkin): Remove local variable xfinfo. Reparse the 1185 RCS file after the checkin. Call RCS_fast_checkout rather than 1186 RCS_checkout. 1187 1188 * cvs.h (RCS_FLAGS_LOCK): Don't define. 1189 (RCS_FLAGS_*): Adjust values to fill in hole left by removal of 1190 RCS_FLAGS_LOCK. 1191 * rcs.c (RCS_fast_checkout): Don't check for RCS_FLAGS_LOCK. 1192 * rcscmds.c (RCS_checkout): Likewise. 1193 * commit.c (commit_fileproc): Remove rcs local variable. If 1194 status is T_MODIFIED, require that finfo->rcs be set, call 1195 Lock_RCS directly, and don't call locate_rcs. If adding to a tag, 1196 require that finfo->rcs be set, and don't call locate_rcs. 1197 (remove_file): Remove rcs local variable. Require that finfo->rcs 1198 be set. Don't call locate_rcs. Don't pass RCS_FLAGS_LOCK to 1199 RCS_checkout; use RCS_lock instead. Call RCS_fast_checkout rather 1200 than RCS_checkout. 1201 (unlockrcs): Use a single rcs parameter rather than two parameters 1202 for file and repository. Change all callers. Don't call 1203 locate_rcs. 1204 (fixbranch): Likewise. 1205 (lockrcsfile): Remove; no more callers. 1206 1207Tue Aug 20 10:13:59 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 1208 1209 * buffer.c, rcs.c: Don't use inline. It wasn't being used in a 1210 loop or any such place where it would matter for performance, and 1211 it was a (minor) portability hassle. 1212 1213 * server.c (server): Change "Dummy argument 0" to "cvs server" and 1214 add comment explaining why. 1215 1216 * rcs.c (linevector_add): Add comment regarding changing \n to \0. 1217 1218Tue Aug 20 09:19:19 1996 Norbert Kiesel <nk@col.sw-ley.de> 1219 1220 * checkout.c (checkout_proc): Call RCS_parse to get the default 1221 options from the RCS file. 1222 1223 * sanity.sh (binfiles): Add tests 5.5b0 and 5.5b1 for the above fix 1224 1225Mon Aug 19 18:13:32 1996 Ian Lance Taylor <ian@cygnus.com> 1226 1227 * rcs.c (linevector_init): Make inline. Set lines_alloced to 0, 1228 not 10. Set vector to NULL. 1229 (linevector_add): Remove assertion that lines_alloced is greater 1230 than zero. Initialize lines_alloced if necessary. 1231 (linevector_copy): Initialize lines_alloced if necessary. 1232 (linevector_free): Only free vector if it is not NULL. 1233 (RCS_deltas): Always call linevector_init and linevector_free on 1234 curlines, headlines, and trunklines. 1235 (RCS_fast_checkout): Remove #if 0 around code that calls 1236 RCS_deltas. 1237 1238Fri Aug 16 17:52:54 1996 Ian Lance Taylor <ian@cygnus.com> 1239 1240 * rcs.c (linevector_add): Handle zero length correctly. 1241 (RCS_deltas): In RCS_FETCH case, the data is in headlines, not 1242 curlines. 1243 (RCS_fast_checkout): Update comment about RCS_deltas: the 1244 testsuite now passes. 1245 1246 * rcs.c (RCS_fully_parse): Use the length of the value, rather 1247 than assuming that there are no embedded zero bytes. 1248 (struct line): Add len field. 1249 (linevector_add): Add len parameter. Change all callers. Use 1250 len, rather than assuming that there are no embedded zero bytes. 1251 Set the len field in new lines. 1252 (RCS_deltas): Use the length of the value, rather than assuming 1253 that there are no embedded zero bytes. Use the line length when 1254 outputting it and when copying it. 1255 (RCS_fast_checkout): Update comment about RCS_deltas to remove 1256 note about supporting zero bytes correctly. 1257 1258Thu Aug 15 23:38:48 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 1259 1260 * commit.c, import.c: Revise comments regarding the fact that we 1261 call start_server before do_editor. 1262 1263Thu Aug 15 11:30:55 1996 Ian Lance Taylor <ian@cygnus.com> 1264 1265 * server.c: Include <sys/socket.h> if AUTH_SERVER_SUPPORT. 1266 (pserver_authenticate_connection): Set SO_KEEPALIVE on 1267 STDIN_FILENO. 1268 (kserver_authenticate_connection): Likewise. 1269 1270Thu Aug 15 10:26:41 1996 Norbert Kiesel <nk@col.sw-ley.de> 1271 1272 * server.c (switch_to_user): Fix previous patch to compile it for 1273 both HAVE_KERBEROS and AUTH_SERVER_SUPPORT 1274 1275Wed Aug 14 14:02:00 1996 Norbert Kiesel <nk@col.sw-ley.de> 1276 1277 * server.c (check_password): if available use getspnam instead of 1278 getpwnam when reading system passwords. This allows cvs pserver 1279 to run on systems with shadow passwords. 1280 (switch_to_user): new static function. Contains the extracted 1281 common tail of kserver_authenticate_connection and 1282 pserver_authenticate_connection. If compiled with SETXID_SUPPORT, 1283 honor the setgid bit if it is set. 1284 (check_repository_password): turn into a static function 1285 (check_password): ditto 1286 (pserver_authenticate_connection): little code cleanup 1287 1288Wed Aug 14 01:07:10 1996 Greg A. Woods <woods@most.weird.com> 1289 1290 * history.c (history): apply fix posted by Steven Meyer 1291 <steve@blacksmith.com> to info-cvs to correct handling of '-D' 1292 argument. Message-Id: <9608122335.AA01385@nijel.blacksmith.com> 1293 1294Tue Aug 13 13:42:36 1996 Ian Lance Taylor <ian@cygnus.com> 1295 1296 * log.c (cvslog): Remove comment about calling rlog. 1297 * rcs.c (translate_symtag): Correct typo in comment (l ist -> 1298 list). 1299 * server.c (server_write_entries): Add omitted word (lists) in 1300 comment. 1301 1302Tue Aug 13 14:01:49 1996 Norbert Kiesel <nk@col.sw-ley.de> 1303 1304 * wrapper.c (wrap_rcsoption): fix memory access error 1305 1306 * rcs.c (RCS_fast_checkout): fix memory access error (triggered 1307 by an empty option string) 1308 1309Mon Aug 12 17:45:15 1996 Jim Kingdon (unknown@beezley) 1310 1311 * buffer.c, zlib.c: If EIO is not defined, try to define it. 1312 1313Mon Aug 12 10:33:27 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 1314 1315 * import.c (comtable): Add comment concerning applicability with 1316 RCS 5.7. 1317 1318 * server.c (server): If TMPDIR is not an absolute pathname, give 1319 an error. 1320 1321Mon Aug 12 10:34:43 1996 Norbert Kiesel <nk@col.sw-ley.de> 1322 1323 * main.c: add synonym "ann" for "annotate" again 1324 1325Sun Aug 11 17:54:11 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 1326 1327 * rcs.h (RCS_RLOG): Removed; no longer used. 1328 1329Fri Aug 9 20:16:20 1996 Ian Lance Taylor <ian@cygnus.com> 1330 1331 * server.c (dirswitch): Open the Entries file with mode "a" rather 1332 than "w+". 1333 (server_write_entries): Open the Entries file with mode "a" rather 1334 than "w". 1335 * sanity.sh (modules): Add topfiles module and 155cN tests for 1336 above patch. 1337 1338Fri Aug 9 12:11:25 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 1339 1340 * main.c (cmd): Add comment regarding synonyms. 1341 1342Thu Aug 8 14:40:10 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 1343 1344 * main.c: Remove synonyms for "cvs annotate". Synonyms create 1345 user confusion. 1346 1347Thu Aug 8 10:24:04 1996 Norbert Kiesel <nk@col.sw-ley.de> 1348 1349 * main.c: Revert (undocumented) change to rename the cvs history 1350 alias "his" to "hist" 1351 1352Wed Aug 7 18:26:25 1996 Ian Lance Taylor <ian@cygnus.com> 1353 1354 * server.c (cvs_output): Change str parameter to const char *. 1355 Correct loop to print from p, not str. 1356 (cvs_outerr): Likewise. 1357 * cvs.h (cvs_output, cvs_outerr): Update declarations. 1358 1359 * server.c (receive_partial_file): Read and discard remaining file 1360 data on a write error. 1361 (serve_modified): Discard data while size > 0, not >=. 1362 1363Wed Aug 7 15:11:40 1996 Norbert Kiesel <nk@col.sw-ley.de> 1364 1365 * main.c (cmds): Add some aliases for "annotate". 1366 (usg): Improve usage message text 1367 (cmd_synonyms): New function to print the command synonym list 1368 (main): Add new option --help-synonyms 1369 1370Wed Aug 7 00:07:31 1996 Ian Lance Taylor <ian@cygnus.com> 1371 1372 Keep track of subdirectories in the Entries file. 1373 * cvs.h (enum ent_type): Define. 1374 (struct entnode): Add type field. 1375 (struct stickydirtag): Add subdirs field. 1376 (Subdirs_Known, Subdir_Register, Subdir_Deregister): Declare. 1377 (ignore_files): Update declaration for new parameter. 1378 (FILESDONEPROC): Add entries parameter. 1379 (DIRENTPROC, DIRLEAVEPROC): Likewise. 1380 * entries.c (Entnode_Create): Add type parameter. Change all 1381 callers. 1382 (write_ent_proc): If closure is not NULL, treat it as a pointer to 1383 an int, and set it to 1 if a node is seen which is not ENT_FILE. 1384 (write_entries): If subdirectory information is known, but no 1385 subdirectories were written, write an unadorned D to the file. 1386 (Scratch_Entry): Write an R command to Entries.Log. Don't rewrite 1387 the Entries file. 1388 (Register): Set entfilename. Write an A command rather than an 1389 unadorned entries line. 1390 (fgetentent): Add cmd and sawdir parameters. Change all callers. 1391 If CMD is not NULL, expect and return a single character command. 1392 Handle an initial D by setting the type to ENT_SUBDIR. 1393 (fputentent): Output an initial D for an ENT_SUBDIR entry. 1394 (Entries_Open): Handle removal commands in Entries.Log. Record 1395 whether subdirectory information is known in the list private 1396 data. 1397 (Subdirs_Known): New function. 1398 (subdir_record): New static function. 1399 (Subdir_Register, Subdir_Deregister): New functions. 1400 * find_names.c (add_entries_proc): Skip entries that are not 1401 ENT_FILE. 1402 (add_subdir_proc): New static function. 1403 (register_subdir_proc): New static function. 1404 (Find_Directories): If the Entries file has subdirectory 1405 information, get the directories out of it. Otherwise, call 1406 find_dirs, and add the information to the Entries file. 1407 * recurse.c (struct frame_and_entries): Define. 1408 (do_recursion): Don't call Entries_Close until after processing 1409 dirlist. Pass entries to filesdoneproc. Pass a frame_and_entries 1410 structure to do_dir_proc via walklist. 1411 (do_dir_proc): Expect a frame_and_entries structure in closure, 1412 not a recursion_frame. Pass entries to direntproc and 1413 dirleaveproc. 1414 * ignore.c (ignore_files): Add entries parameter. Change all 1415 callers. If we have subdirectory information, check for 1416 directories in entries. 1417 * add.c (add): If client_active, call Subdir_Register on each new 1418 directory. 1419 (add_directory): Add entries parameter. Change caller. Call 1420 Subdir_Register. 1421 * checkout.c (build_dirs_and_chdir): Call Subdir_Register. 1422 * client.c (call_in_directory): Call Subdir_Register for newly 1423 created directories. Call Subdirs_Known or Find_Directories after 1424 calling Entries_Open. 1425 (process_prune_candidates): Call Subdir_Deregister. 1426 * commit.c (findmaxrev): Skip entries that are not ENT_FILE. 1427 * server.c (dirswitch): Call Subdir_Register. 1428 * update.c (update_dirent_proc): Call Subdir_Register. 1429 (update_dirleave_proc): Call Subdir_Deregister. 1430 * Several files: Change direntproc, dirleaveproc, and 1431 filesdoneproc routines to expect an entries argument. 1432 1433 * rcs.c (translate_symtag): New static function. 1434 (RCS_gettag): Use translate_symtag rather than RCS_symbols. 1435 (RCS_nodeisbranch, RCS_whatbranch): Likewise. 1436 1437Tue Aug 6 15:36:09 1996 Ian Lance Taylor <ian@cygnus.com> 1438 1439 Finish the conversion of cvs log so that it never invokes rlog. 1440 * log.c (struct log_data): Remove dorlog field. Add nameonly, 1441 header, long_header, statelist, and authorlist fields. 1442 (log_usage): Remove rlog-options. Add -R, -h, -t, -b, -s, -w. 1443 (cvslog): Don't clear opterr. Handle -h, -R, -s, -t, -w. If an 1444 unrecognized option is seen, call usage. 1445 (log_parse_list): New static function. 1446 (log_fileproc): Remove code that called rlog. Check nameonly, 1447 header, and long_header fields in log_data. 1448 (log_version_requested): Check statelist and authorlist. 1449 1450 * log.c (struct datelist): Define. 1451 (struct log_data): Add datelist and singledatelist fields. 1452 (log_usage): Add -d. 1453 (cvslog): Handle -d. 1454 (log_parse_date): New static function. 1455 (log_fileproc): Do special single date handling. 1456 (log_version_requested): Check datelist and singledatelist. 1457 (log_fix_singledate): New static function. 1458 1459Mon Aug 5 23:48:16 1996 Ian Lance Taylor <ian@cygnus.com> 1460 1461 * log.c (struct option_revlist): Define. 1462 (struct revlist): Define. 1463 (struct log_data): Add default_branch and revlist fields. 1464 (struct log_data_and_rcs): Define. 1465 (log_usage): Add -N and -r. 1466 (cvslog): Handle -N and -r. 1467 (log_parse_revlist): New static function. 1468 (log_fileproc): Call log_expand_revlist and log_free_revlist. 1469 Pass log_data_and_rcs structure to log_count_print via walklist. 1470 (log_expand_revlist, log_free_revlist): New static functions. 1471 (log_version_requested): New static function. 1472 (log_count_print): New static function. 1473 (log_tree): Add log_data and revlist parameter. Change all 1474 callers. 1475 (log_abranch): Likewise. 1476 (log_version): Likewise. Call log_version_requested. 1477 (version_compare): New static function. 1478 * sanity.sh (log): New tests for -r, -b, and -N options to log. 1479 1480Sun Aug 4 11:19:30 1996 Ian Lance Taylor <ian@cygnus.com> 1481 1482 Handle simple cases of cvs log without invoking rlog. 1483 * log.c (struct log_data): Define. 1484 (cvslog): Use getopt to parse options. Set up a log_data 1485 structure, and pass it to start_recursion. 1486 (log_fileproc): Get arguments form callerdat rather than static 1487 variables. In simple cases, print the log information directly, 1488 rather than invoking rlog. 1489 (log_symbol, log_count, log_tree): New static functions. 1490 (log_abranch, log_version, log_branch): New static functions. 1491 * rcs.h (struct rcsnode): Add other field. 1492 (struct rcsversnode): Add other field. 1493 (RCS_fully_parse): Declare. 1494 * rcs.c (getrcsrev): Move declaration to start of file. 1495 (RCS_reparsercsfile): Add all parameter. Change all callers. 1496 (RCS_fully_parse): New function. 1497 (freercsnode): Free other list. 1498 (rcsvers_delproc): Free other list. 1499 * hash.h (enum ntype): Add RCSFIELD. 1500 * hash.c (nodetypestring): Handle RCSFIELD. 1501 1502Sat Aug 3 19:39:54 1996 Ian Lance Taylor <ian@cygnus.com> 1503 1504 * log.c (cvslog): Correct position of CLIENT_SUPPORT #endif. 1505 1506Thu Jul 25 12:06:45 1996 Ian Lance Taylor <ian@cygnus.com> 1507 1508 * update.c (join_file): If merging a branch, and the branch 1509 revision does not exist, just return without doing anything. 1510 * sanity.sh (join): Add cases file7 and file8 to test above 1511 patch. 1512 1513 * server.c (cvsencrypt): Rename from encrypt, to avoid conflict 1514 with NetBSD unistd.h. Rename all uses. 1515 1516 * server.c (krb_encrypt_buffer_output): Fix typo in comment (reply 1517 -> replay). 1518 1519Thu Jul 25 10:37:32 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 1520 1521 * server.c (krb_encrypt_buffer_output): Fix typo in comment 1522 (krb_recv_auth -> krb_recvauth). 1523 1524Wed Jul 24 09:28:33 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 1525 1526 * lock.c (set_lock): Adjust comment regarding why we call stat. 1527 1528Wed Jul 24 15:06:08 1996 Ian Lance Taylor <ian@cygnus.com> 1529 1530 Add encryption support over a Kerberos connection. 1531 * main.c (usg): Mention -x if CLIENT_SUPPORT. 1532 (main): Handle -x. 1533 * client.h (encrypt): Declare. 1534 (krb_encrypt_buffer_initialize): Declare. 1535 * client.c (kblock, sched): New static variables if 1536 HAVE_KERBEROS. 1537 (start_tcp_server): Remove sched local variable. Copy 1538 cred.session into kblock. 1539 (start_server): Turn on encryption if requested. 1540 * server.c (kblock, sched): New static variables if 1541 HAVE_KERBEROS. 1542 (serve_kerberos_encrypt): New static function. 1543 (requests): Add "Kerberos-encrypt" if HAVE_KERBEROS. 1544 (kserver_authenticate_connection): Remove sched local variable. 1545 Copy auth.session into kblock. 1546 (encrypt): New global variable. 1547 (struct krb_encrypt_buffer): Define. 1548 (krb_encrypt_buffer_initialize): New function. 1549 (krb_encrypt_buffer_input): New static function. 1550 (krb_encrypt_buffer_output): New static function. 1551 (krb_encrypt_buffer_flush): New static function. 1552 (krb_encrypt_buffer_block): New static function. 1553 (krb_encrypt_buffer_shutdown): New static function. 1554 1555Wed Jul 24 09:28:33 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 1556 1557 * recurse.c (do_recursion): Add comment about calling 1558 Name_Repository in !(which & W_LOCAL) case. 1559 1560 * expand_path.c (expand_variable): Fix typo (varaible -> variable). 1561 1562Tue Jul 23 15:05:01 1996 Ian Lance Taylor <ian@cygnus.com> 1563 1564 * update.c (update_fileproc): In T_REMOVE_ENTRY case, only call 1565 server_scratch_entry_only if ts_user is NULL. 1566 * sanity.sh (death2): Add death2-20 test for above patch. 1567 1568 * diff.c (diff_fileproc): If a file is not in the working 1569 directory, check that the tag is present before warning that no 1570 comparison is possible. 1571 * sanity.sh (death2): Add death2-diff-9 and death2-diff-10 tests 1572 for above patch. 1573 1574Tue Jul 23 12:05:42 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 1575 1576 * tag.c (tag_check_valid): Fix indentation. 1577 1578 * client.c (handle_e): Flush stdout before writing to stderr. 1579 (handle_m): Flush stderr before writing to stdout. 1580 1581Fri Jul 19 16:02:11 1996 Mike Ladwig <mike@twinpeaks.prc.com> 1582 1583 * client.c: Added NO_CLIENT_GZIP_PROCESS to deal with the MacOS 1584 client where Gzip-stream is supported, but "gzip-file-contents" is 1585 not. 1586 1587Fri Jul 19 16:02:11 1996 Mike Ladwig <mike@twinpeaks.prc.com> 1588 1589 * repos.c: Fixed recent patch which added plain fopen rather than 1590 CVS_FOPEN 1591 1592Mon Jul 22 22:25:53 1996 Ian Lance Taylor <ian@cygnus.com> 1593 1594 * logmsg.c (tag): New static variable. 1595 (setup_tmpfile): Don't print the prefix before calling fmt_proc. 1596 Free tag if it is set. 1597 (find_type): Get type from logfile_info struct. 1598 (fmt_proc): Likewise. Print tag information. Handle all prefix 1599 printing. 1600 (revision): Remove static variable. 1601 (Update_Logfile): Remove xrevision parameter. Change all 1602 callers. 1603 (title_proc): Get type from logfile_info struct. 1604 (logfile_write): Remove revision parameter. Change all callers. 1605 * cvs.h (struct logfile_info): Define. 1606 (Update_Logfile): Update prototype. 1607 * commit.c (find_fileproc): Set logfile_info information. 1608 (check_fileproc): Likewise. 1609 (commit_filesdoneproc): Don't call ParseTag. 1610 (update_delproc): Free logfile_info information. 1611 * add.c (add_directory): Set logfile_info information. 1612 * import.c (import): Likewise. 1613 1614 * tag.c (tag_check_valid): The special BASE and HEAD tags are 1615 always valid. 1616 * sanity.sh (basica): Add basica-6.3 test for above patch. 1617 1618Mon Jul 22 14:41:20 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 1619 1620 * update.c (merge_file): Pass 0 not NULL to checkout_file (20 Jul 1621 96 change changed other calls to checkout_file but missed this one). 1622 1623Sat Jul 20 00:21:54 1996 Ian Lance Taylor <ian@cygnus.com> 1624 1625 * update.c (join_file): Check whether the target of the merge is 1626 the same as the working file revision before checking whether the 1627 file was added during the merge. 1628 1629 * update.c (scratch_file): Remove existing parameters, and add a 1630 single parameter of type struct file_info. Change all callers. 1631 Warn if unlink_file fails. 1632 (checkout_file): Remove resurrecting_out parameter. Add adding 1633 parameter. Change all callers. Remove joining code. 1634 (join_file): Remove resurrecting parameter. Rewrite to handle 1635 joining dead or added revisions. 1636 * classify.c (Classify_File): If there is no user file, and the 1637 RCS file is dead, return T_UPTODATE rather than T_CHECKOUT. 1638 * checkout.c (checkout_proc): Set W_ATTIC if there is a join tag. 1639 * sanity.sh (join): New set of tests for above patches. 1640 (death): Adjust tests 86, 89, 89a, 92.1c, 95 for above patches. 1641 (import): Adjust test 113 for above patches. 1642 1643Thu Jul 18 19:24:08 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 1644 1645 * lock.c: Add comment explaining what locks are for. Also discuss 1646 various changes to locking which get proposed from time to time. 1647 1648 * sanity.sh (death2): Change a number of test names from death-* 1649 to death2-*. 1650 1651 * wrapper.c (wrap_setup): Don't look in repository if client_active. 1652 * wrapper.c, cvs.h (wrap_send): New function. 1653 * update.c (update), import.c (import): Call it. 1654 * sanity.sh (binwrap): Do binwrap tests for remote as well as 1655 local; tests for above fixes. 1656 1657 * wrapper.c: Add a few FIXME comments. 1658 1659Thu Jul 18 18:43:50 1996 Ian Lance Taylor <ian@cygnus.com> 1660 1661 * sanity.sh (patch): Fix names of a couple of tests to say patch 1662 rather than death2. 1663 1664Thu Jul 18 16:19:21 1996 Bill Bumgarner <bbum@friday.com> 1665 and Jim Kingdon <kingdon@harvey.cyclic.com> 1666 1667 * add.c (add), import.c (add_rcs_file): Check for options from 1668 wrappers and use them if specified. 1669 * cvs.h (WrapMergeHas): Add WRAP_RCSOPTION. 1670 * wrapper.c (WrapperEntry): Add rcsOption field. 1671 (wrap_add): Allow a single character argument to an option. 1672 (wrap_add): Handle -k option. 1673 (wrap_add_entry): Handle rcsOption field. 1674 (wrap_name_has): Handle WRAP_RCSOPTION. 1675 * wrapper.c, cvs.h (wrap_rcsoption): New function. 1676 * add.c, import.c, wrapper.c: Minor beautification (mostly 1677 removing trailing spaces). 1678 * sanity.sh (binwrap): New tests test for this feature. 1679 1680Wed Jul 17 10:14:20 1996 Ian Lance Taylor <ian@cygnus.com> 1681 1682 * checkout.c (checkout): Remove extraneous else accidentally 1683 inserted in last checkin. 1684 1685Tue Jul 16 11:37:41 1996 Ian Lance Taylor <ian@cygnus.com> 1686 1687 * sanity.sh (import): Use quoting to avoid expansion of RCS ID 1688 strings. 1689 1690 * sanity.sh (import): Use dotest to examine the output of test 1691 113, and the actual contents of the file in test 116. 1692 1693 * update.c (join_file): Always skip rcsmerge if the two revisions 1694 are the same (the old code always did the rcsmerge when two -j 1695 options were specified). 1696 1697 * checkout.c (history_name): New static variable. 1698 (checkout): Permit both tag and date to be specified. Set 1699 history_name. 1700 (checkout_proc): Use history_name when calling history_write. 1701 * rcs.c (RCS_getversion): If both tag and date are set, use 1702 RCS_whatbranch to get the branch revision number of a symbolic 1703 tag. 1704 (RCS_getdatebranch): If the branch revision itself is early 1705 enough, then use it if the first branch is not early enough. Add 1706 comment for invalid RCS file. Don't bother to check for NULL 1707 before calling xstrdup, since xstrdup checks anyhow. 1708 1709 * client.h (file_gzip_level): Declare. 1710 * client.c (file_gzip_level): Define. 1711 (start_server): Don't set gzip_level to zero after sending 1712 Gzip-stream command. Set file_gzip_level after sending 1713 gzip-file-contents command. 1714 (send_modified): Use file_gzip_level rather than gzip_level. 1715 * server.c (server_updated): Likewise. 1716 (serve_gzip_contents): Likewise. 1717 1718 * sanity.sh (patch): New tests. Test remote CVS handling of 1719 unpatchable files. 1720 1721 * sanity.sh (death2): Accept a '.' in the temporary file name 1722 printed by diff. 1723 1724 * rcscmds.c (RCS_checkin): Remove noerr parameter. Change all 1725 callers. 1726 * cvs.h (RCS_checkin): Update declaration. 1727 * commit.c (remove_file): Pass RCS_FLAGS_QUIET to RCS_checkin. 1728 1729 * history.c (history): Cast sizeof to int to use correct type in 1730 error printf string. 1731 (report_hrecs): Cast strlen result to int to use correct type in 1732 printf string. 1733 1734 * server.c (cvs_flusherr): Correct typo in comment. 1735 1736 * rcs.c (getrcskey): Hoist three constant strcmp calls out of the 1737 value reading loop. 1738 1739 * fileattr.c (fileattr_get): Change parameter types from char * to 1740 const char *. 1741 (fileattr_get0, fileattr_modify, fileattr_set): Likewise. 1742 (fileattr_newfile): Likewise. 1743 * fileattr.h (fileattr_get): Update declaration. 1744 (fileattr_get0, fileattr_modify, fileattr_set): Likewise. 1745 (fileattr_newfile): Likewise. 1746 1747Thu May 16 11:12:18 1996 Mark P. Immel <immel@radix.net> 1748 and Jim Kingdon <kingdon@harvey.cyclic.com> 1749 1750 * client.h, client.c, checkout.c (client_send_expansions): 1751 Pass an additional parameter indicating where the checkout is 1752 to occur, to avoid passing the wrong information to send_files(). 1753 * sanity.sh (basicb): New test basicb-cod-1 tests for above fix. 1754 1755Mon Jul 15 18:26:56 1996 Ian Lance Taylor <ian@cygnus.com> 1756 1757 * recurse.c (do_recursion): Require a repository before calling 1758 Find_Names. 1759 * repos.c (Name_Repository): Remove sanity checks which spend time 1760 examining the filesystem. 1761 1762Mon Jul 15 1996 Jim Kingdon <kingdon@cyclic.com> 1763 1764 * client.c (send_file_names): Send file names as they appear 1765 in CVS/Entries, rather than as specified (in cases where they 1766 might differ in case). 1767 (send_fileproc): Use file name from CVS/Entries (vers->entdata->user) 1768 rather than file name as specified (finfo->file) when available. 1769 1770Sun Jul 14 15:39:44 1996 Mark Eichin <eichin@cygnus.com> 1771 and Ian Lance Taylor <ian@cygnus.com> 1772 1773 Improve diff -N handling of nonexistent tags and removed files. 1774 * diff.c (enum diff_file): New definition for whole file, moving 1775 unnamed enum out of diff_fileproc, renaming DIFF_NEITHER to 1776 DIFF_DIFFERENT, and adding DIFF_SAME. 1777 (diff): Look through the repository even if only one revision is 1778 given. 1779 (diff_fileproc): Change empty_file to be enum diff_file. If there 1780 is no user revision, but there is a repository file, treat it as a 1781 removed file. Pass empty_file to diff_file_nodiff, and set it 1782 from the return value. 1783 (diff_file_nodiff): Change return type to enum diff_file. Replace 1784 just_set_rev parameter with enum diff_file empty_file parameter. 1785 Change handling of a missing tag to return an enum diff_file value 1786 if empty_files is set, rather than reporting an error. Free tmp 1787 if xcmp returns 0. 1788 * sanity.sh (death2): Add tests for above patches. 1789 1790Sat Jul 13 19:11:32 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 1791 1792 * rcs.c (annotate): In sending options to server, reverse sense of 1793 test so that we send -f iff -f was specified, rather than iff -f was 1794 not specified. 1795 1796Fri Jul 12 20:23:54 1996 Greg A. Woods <woods@most.weird.com> 1797 1798 * zlib.c (compress_buffer_input): add a couple of casts for 1799 uses of z_stream's next_in and next_out 1800 1801Fri Jul 12 18:55:26 1996 Ian Lance Taylor <ian@cygnus.com> 1802 1803 * zlib.c: New file. 1804 * client.c (log_buffer_block): Call set_block and set_nonblock, 1805 rather than lb->buf->block. 1806 (log_buffer_shutdown): New static function. 1807 (get_responses_and_close): Call buf_shutdown on to_server and 1808 from_server. 1809 (start_server): If "Gzip-stream" is supported, use it rather than 1810 "gzip-file-contents". 1811 * server.c (print_error): Call buf_flush rather than 1812 buf_send_output. 1813 (print_pending_error, serve_valid_responses): Likewise. 1814 (serve_expand_modules, serve_valid_requests): Likewise. 1815 (do_cvs_command): Call buf_flush rather than buf_send_output 1816 before the fork, and in the parent after the child has completed. 1817 In the child, set buf_to_net and buf_from_net to NULL. 1818 (serve_gzip_stream): New static function. 1819 (requests): Add "Gzip-stream". 1820 (server_cleanup): Don't do anything with buf_to_net if it is 1821 NULL. Call buf_flush rather than buf_send_output. Call 1822 buf_shutdown on buf_to_net and buf_from_net. Call error for an 1823 malloc failure rather than buf_output to buf_to_net. 1824 * buffer.h (struct buffer): Add shutdown field. 1825 (buf_initialize): Update declaration for new shutdown parameter. 1826 (compress_buffer_initialize): Declare. 1827 (buf_shutdown): Declare. 1828 * buffer.c (buf_initialize): Add shutdown parameter. Change all 1829 callers. 1830 (buf_shutdown): New function. 1831 * Makefile.in (SOURCES): Add zlib.c 1832 (OBJECTS): Add zlib.o. 1833 ($(PROGS)): Depend upon ../zlib/libz.a. 1834 (cvs): Link against ../zlib/libz.a. 1835 (zlib.o): New target. 1836 1837Fri Jul 12 1996 Jim Kingdon <kingdon@cyclic.com> 1838 1839 * client.c (log_buffer_input, log_buffer_output): Use size_t 1840 to avoid Visual C++ signed/unsigned warnings. 1841 1842Thu Jul 11 22:01:37 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 1843 1844 * client.c (handle_f): Reindent. 1845 1846 * client.c (mode_to_string, handle_m, handle_e, 1847 auth_server_port_number, get_responses_and_close), server.c 1848 (pserver_authenticate_connection, serve_modified, 1849 serve_enable_unchanged, wait_sig, server_cleanup): Reindent. 1850 * server.c: Remove #if 0'd block of code above 1851 check_repository_password; it was yanked out of some unknown 1852 context and didn't seem to be very useful. 1853 1854Thu Jul 11 20:10:21 1996 Ian Lance Taylor <ian@cygnus.com> 1855 1856 * server.c (do_cvs_command): Pass new special parameter to 1857 buf_copy_counted. If it gets set to -1, send an 'F' response if 1858 the client supports it, and call cvs_flusherr. 1859 (cvs_flusherr): New function. 1860 * cvs.h (cvs_flusherr): Declare. 1861 * client.c (handle_f): New static function. 1862 (responses): Add "F". 1863 * buffer.c (buf_send_special_count): New function. 1864 (buf_copy_counted): Add special parameter. Handle negative counts 1865 specially. 1866 * buffer.h (buf_send_sepcial_count): Declare. 1867 (buf_copy_counted): Update declaration. 1868 * lock.c (lock_wait, lock_obtained): Call cvs_flusherr. 1869 1870 Change the client to use the buffer data structure. 1871 * client.c: Include "buffer.h". 1872 (to_server): Change to be struct buffer *. 1873 (to_server_fp): New static variable. 1874 (from_server): Change to be struct buffer *. 1875 (from_server_fp): New static variable. 1876 (from_server_logfile, to_server_logfile): Remove. 1877 (buf_memory_error): New static function. 1878 (struct log_buffer): Define. 1879 (log_buffer_initialize, log_buffer_input): New static functions. 1880 (log_buffer_output, log_buffer_flush): New static functions. 1881 (log_buffer_block): New static function. 1882 (struct socket_buffer): Define if NO_SOCKET_TO_FD. 1883 (socket_buffer_initialize): New static function if 1884 NO_SOCKET_TO_FD. 1885 (socket_buffer_input, socket_buffer_output): Likewise. 1886 (socket_buffer_flush): Likewise. 1887 (read_line): Rewrite to use buf_read_line. Remove eof_ok 1888 parameter (it was always passed as 0); change all callers. 1889 (send_to_server): Rewrite to use buf_output. 1890 (try_read_from_server): Rewrite to use buf_read_data. 1891 (get_responses_and_close): Use from_server_fp and to_server_fp for 1892 the streams. Check buf_empty_p when checking for dying gasps. 1893 (start_server): Don't set from_server_logfile and 1894 to_server_logfile; instead, call log_buffer_initialize. If 1895 NO_SOCKET_TO_FD and use_socket_style, call 1896 socket_buffer_initialize; otherwise, call 1897 stdio_buffer_initialize. 1898 * buffer.c: Compile if CLIENT_SUPPORT is defined. 1899 (buf_flush): Fix comment to describe return value. 1900 (buf_read_line): Add lenp parameter. Change all callers. Look 1901 for a line terminated by \012 rather than \n. 1902 * buffer.h: Compile if CLIENT_SUPPORT is defined. 1903 (buf_read_line): Update declaration. 1904 1905 * server.c (server): Initialize buf_to_net, buf_from_net, 1906 saved_output, and saved_outerr before setting error_use_protocol. 1907 (pserver_authenticate_connection): Don't set error_use_protocol. 1908 Errors before the authentication is complete aren't handled 1909 cleanly anyhow. Change error call after authentication to use 1910 printf. 1911 1912Thu Jul 11 1996 Jim Kingdon <kingdon@cyclic.com> 1913 1914 * client.c (start_server): Open logfiles in binary, not text, mode. 1915 1916Wed Jul 10 19:24:22 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 1917 1918 * server.c (print_pending_error, print_error): Remove comments 1919 about deadlocks; they don't apply here. Add comments saying 1920 that these functions must only be called when it is OK to 1921 send output (which is why the deadlock concern doesn't apply). The 1922 comments remain for server_cleanup and serve_valid_responses, 1923 where they are an example of the "print a message and exit" 1924 behavior which is noted in cvsclient.texi and which also exists 1925 places like kserver_authenticate_connection. 1926 1927Wed Jul 10 18:24:46 1996 Ian Lance Taylor <ian@cygnus.com> 1928 1929 * server.c (print_error): Add comment warning about potential 1930 deadlock. 1931 (print_pending_error, serve_valid_responses): Likewise. 1932 (server_cleanup): Likewise. 1933 (serve_directory): Don't call buf_send_output. 1934 (serve_modified, serve_notify, server, cvs_outerr): Likewise. 1935 (serve_expand_modules): Call buf_send_output. 1936 (serve_valid_requests): Likewise. 1937 1938Wed Jul 10 15:51:29 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 1939 1940 * main.c (main): Print a warning for rlog command. 1941 1942Wed Jul 10 15:00:55 1996 Ian Lance Taylor <ian@cygnus.com> 1943 1944 Abstract the buffer data structure away from the underlying 1945 communication medium. 1946 * buffer.h (struct buffer): Remove fd and output fields. Add 1947 input, output, flush, block, and closure fields. 1948 (buf_initialize, buf_nonio_initialize): Declare. 1949 (stdio_buffer_initialize, buf_flush): Declare. 1950 (buf_read_line, buf_read_data): Declare. 1951 * buffer.c: Include <assert.h>. Don't include <fcntl.h>. 1952 (O_NONBLOCK, blocking_error): Don't define. 1953 (buf_initialize, buf_nonio_initialize): New functions. 1954 (buf_send_output): Use output function, rather than write. 1955 (buf_flush): New function. 1956 (set_nonblock, set_block): Use block function, rather than calling 1957 fcntl. 1958 (buf_send_counted): Don't check output. 1959 (buf_input_data): Call input function, rather than read. 1960 (buf_read_line, buf_read_data): New functions. 1961 (buf_copy_lines, buf_copy_counted): Don't check output. 1962 (stdio_buffer_initialize): New function. 1963 (stdio_buffer_input, stdio_buffer_output): New static functions. 1964 (stdio_bufer_flush): New static function. 1965 * server.c: Include "getline.h". 1966 (buf_to_net): Change to be a pointer. Change all uses. 1967 (protocol, saved_output, saved_outerr): Likewise. 1968 (buf_from_net): New static variable. 1969 (no_mem_error, NO_MEM_ERROR, read_line): Remove. 1970 (struct fd_buffer): Define. 1971 (fd_buffer_initialize, fd_buffer_input): New static functions. 1972 (fd_buffer_output, fd_buffer_flush): New static functions. 1973 (fd_buffer_block): New static function. 1974 (serve_directory): Call buf_read_line rather than read_line. 1975 (serve_notify, server): Likewise. 1976 (receive_partial_file): Call buf_read_data rather than fread. 1977 (serve_modified): Call buf_read_line rather than read_line. Call 1978 buf_read_data rather than fread. 1979 (do_cvs_command): Initialize buffers with fd_buffer_initialize. 1980 Change stdoutbuf, stderrbuf, and protocol_inbuf to be pointers. 1981 (server): Initialize buffers using fd_buffer_initialize, 1982 stdio_buffer_initialize, and buf_nonio_initialize. 1983 (check_repository_password): Call getline rather than read_line. 1984 1985Wed Jul 10 15:51:29 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 1986 1987 * commit.c (find_fileproc): Add comments describing a few cases 1988 that we aren't handling. 1989 1990Tue Jul 9 04:33:03 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 1991 1992 * rcs.c (RCS_deltas): New function, created from guts of old 1993 annotate_fileproc. 1994 (annotate_fileproc): Call RCS_deltas. 1995 (RCS_fast_checkout): Call it (commented out for now; see comment 1996 for reasons). 1997 1998 * cvs.h, recurse.c (start_recursion): Add callerdat argument. 1999 * cvs.h: Add callerdat argument to recursion processor callbacks. 2000 * recurse.c: add it to struct recursion_frame and pass it to all 2001 the callbacks. 2002 * admin.c, client.c, commit.c, diff.c, edit.c, lock.c, log.c, 2003 patch.c, rcs.c, remove.c, rtag.c, status.c, tag.c, update.c, 2004 watch.c: Update all the functions used as callbacks. Update calls 2005 to start_recursion. 2006 * commit.c (find_filesdoneproc, find_fileproc, find_dirent_proc, 2007 commit), tag.c (val_fileproc, tag_check_valid): Use callerdat 2008 instead of a static variable. 2009 2010 * recurse.c (do_recursion): Make static and move declaration to here... 2011 * cvs.h: ...from here. 2012 * recurse.c (do_recursion): Replace plethora of arguments with 2013 single struct recursion_frame *. Change callers. 2014 * recurse.c: New structure frame_and_file. Use it and existing 2015 struct recursion_frame structures to pass info to do_file_proc and 2016 do_dir_proc. Remove globals fileproc, filesdoneproc, direntproc, 2017 dirleaveproc, which, flags, aflag, readlock, and dosrcs. 2018 2019Tue Jul 9 11:13:29 1996 Ian Lance Taylor <ian@cygnus.com> 2020 2021 * modules.c (do_module): Call cvs_outerr rather than fprintf. 2022 2023Mon Jul 8 1996 Jim Kingdon <kingdon@cyclic.com> 2024 2025 * rcs.c (RCS_fast_checkout): If -kb is not in use, open the 2026 working file in text, not binary, mode. 2027 2028Sun Jul 7 10:36:16 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2029 2030 * rcscmds.c (RCS_settag): Add comment regarding moving check for 2031 reserved tag names to RCS_check_tag. 2032 2033 * rcscmds.c: Add comment regarding librarifying RCS and related 2034 issues. This is a lightly edited version of a message I sent to 2035 the CVS developers and didn't get flamed for, so it would appear 2036 to be relatively uncontroversial. 2037 2038 * rcs.c (annotate): Remove comment suggesting -r option and 2039 related functionality; it is done. 2040 2041Fri Jul 5 17:19:57 1996 Ian Lance Taylor <ian@cygnus.com> 2042 2043 * client.c (last_entries): Make file static, rather than function 2044 static within call_in_directory. 2045 (get_responses_and_close): If last_entries is not NULL, pass it to 2046 Entries_Close. 2047 2048 * server.c (server_pause_check): Check for errors when reading 2049 from flowcontrol_pipe. 2050 2051 * client.c (call_in_directory): If dir_name is ".", call 2052 Create_Admin if there is no CVS directory. 2053 (send_dirent_proc): If there is no CVS subdirectory, pretend that 2054 the directory does not exist (i.e., don't try to send any files in 2055 the directory). 2056 * server.c (dirswitch): If dir is "." in the top level repository, 2057 add "/." after the Repository entry. 2058 * sanity.sh (modules): Add test 155b for above patches. 2059 2060Thu Jul 4 15:57:34 1996 Ian Lance Taylor <ian@cygnus.com> 2061 2062 * server.c (buf_to_net): Move definition near top of file. 2063 (read_line): Call buf_send_output rather than fflush. 2064 (print_error): Output information to buf_to_net buffer rather than 2065 stdout. 2066 (print_pending_error, serve_valid_responses): Likewise. 2067 (server_notify, do_cvs_command, server_co): Likewise. 2068 (expand_proc, serve_expand_modules, server_prog): Likewise. 2069 (serve_valid_requests, server_cleanup, server): Likewise. 2070 (server_notify): Don't call fflush on stdout. 2071 (do_cvs_command): Flush saved_output and saved_outerr to 2072 buf_to_net before fork. Flush buf_to_net before fork. In child, 2073 just initialize memory_error field of saved_output and 2074 saved_outerr. 2075 (server_cleanup): Flush buf_to_net. 2076 (server): Initialize saved_output and saved_outerr. 2077 (cvs_output): Add support for error_use_protocol case. 2078 (cvs_outerr): Likewise. 2079 * error.c (error): In HAVE_VPRINTF case, just call cvs_outerr. 2080 2081 * buffer.c: New file; buffer support functions taken from 2082 server.c. 2083 * buffer.h: New file; declarations for buffer.c. 2084 * server.c: Move buffer support functions into buffer.c and 2085 buffer.h. Include "buffer.h". 2086 * Makefile.in (SOURCES): Add buffer.c. 2087 (OBJECTS): Add buffer.o. 2088 (HEADERS): Add buffer.h. 2089 2090Thu Jul 4 00:12:45 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2091 2092 * version.c: Increment version number to 1.8.6. 2093 2094Wed Jul 3 22:31:16 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2095 2096 * version.c: Version 1.8.5. 2097 2098Wed Jul 3 21:51:23 1996 Ian Lance Taylor <ian@cygnus.com> 2099 2100 * server.c (blocking_error): Define macro. 2101 (buf_send_output, buf_input_data): Use blocking_error rather than 2102 #ifdef EWOULDBLOCK. 2103 2104Tue Jul 2 20:38:41 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2105 2106 * add.c (add): Change message which said "version 1.2 of foo.c 2107 will be resurrected"; the message was confusing because it made 2108 people think that the old contents of the file would come back 2109 instead of the contents in the working directory. 2110 2111Mon Jul 1 01:38:57 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2112 2113 * find_names.c (find_dirs): Add comment explaining why we bother 2114 with the entries stuff. 2115 2116Sat Jun 29 20:23:50 1996 Ian Lance Taylor <ian@cygnus.com> 2117 2118 * find_names.c (Find_Directories): Add entries parameter, and pass 2119 it to find_dirs. 2120 (find_dirs): Add entries parameter, and skip all files it names. 2121 * cvs.h (Find_Directories): Update declaration. 2122 * recurse.c (start_recursion): Pass NULL to Find_Directories. 2123 (do_recursion): Pass entries to Find_Directories. 2124 2125 * client.c (send_modified): Add trace output. 2126 2127 * diff.c (diff_fileproc): Always call diff_file_nodiff. Handle 2128 dead versions correctly. Handle diffs between a specified 2129 revision to a dead file correctly. 2130 (diff_file_nodiff): Add just_set_rev parameter. Change caller. 2131 * patch.c (patch_fileproc): Check for dead versions. 2132 * sanity.sh (death2): Add tests for above patches. 2133 2134Fri Jun 28 20:30:48 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2135 2136 For reference, this takes CVS's text segment from 271136 bytes to 2137 270352 bytes, a saving of 784. Not as good as I had hoped (oh well, 2138 the source *seems* simpler at least). 2139 * checkin.c (Checkin), commit.c (finaladd, remove_file), update.c 2140 (join_file, checkout_file, patch_file), no_diff.c 2141 (No_Differences), server.c (server_updated), classify.c 2142 (Classify_File), vers_ts.c (Version_TS), diff.c (diff_file_nodiff): 2143 Use a single struct file_info * argument instead of a bunch of 2144 separate arguments for each of its fields. Remove local fullname 2145 emulations. Use fullname in error messages where file had 2146 erroneously been used. 2147 * cvs.h: Update declarations of above functions and move them to 2148 after the struct file_info declaration. 2149 * server.h: Update declarations. 2150 * add.c, admin.c, checkin.c, checkout.c, classify.c, client.c, 2151 commit.c, diff.c, history.c, import.c, update.c, status.c, 2152 remove.c, rtag.c, tag.c: Change callers. 2153 2154 * diff.c (diff): Remove -q and -Q command options. This somehow 2155 slipped through the cracks of the general removal of -q and -Q 2156 command options on Jul 21 1995. Note that there is no need to 2157 accept and ignore these options in server mode, like there is for 2158 some of the commands, because the client has never sent -q and -Q 2159 command options for "cvs diff". 2160 2161Fri Jun 28 16:50:18 1996 Ian Lance Taylor <ian@cygnus.com> 2162 2163 * add.c (add): Pass force_tag_match as 1 when calling Version_TS. 2164 * sanity.sh (death2): Add test for above patch. Also add 2165 commented out test for adding a file on a nonbranch tag, which CVS 2166 currently, mistakenly, permits. 2167 2168Thu Jun 27 23:20:49 1996 Ian Lance Taylor <ian@cygnus.com> 2169 and Jim Kingdon <kingdon@harvey.cyclic.com> 2170 2171 * diff.c (longopts): New static array. 2172 (diff): Handle long options and new short options in diff 2.7. 2173 Fix arbitrary limit associated with the tmp variable. 2174 * client.c (send_option_string): Parse options as space separated, 2175 rather than requiring all options to be single characters. 2176 * diff.c, options.h.in: Remove CVS_DIFFDATE; the need for it is gone 2177 now that we have --ifdef (the new behavior is the behavior which 2178 was the default, which is that -D specifies a date). 2179 2180Wed Jun 26 22:36:29 1996 Ian Lance Taylor <ian@cygnus.com> 2181 2182 * commit.c (check_fileproc): If there is a tag, permit adding a 2183 file even if the RCS file already exists. 2184 (checkaddfile): If there is a tag, use the file in the regular 2185 repository, rather than the Attic, if it exists. 2186 * sanity.sh (death2): New set of tests for above patch. 2187 2188Tue Jun 25 23:34:13 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2189 2190 * update.c (checkout_file): Add comments about two cases which 2191 seem fishy. 2192 2193 * sanity.sh (basic2, death): Add comments encouraging people to 2194 stop making these sections bigger and more complex. I'm not (yet 2195 at least) trying to figure out the ideal size for a section (my 2196 current best estimate is 10-20 tests), but surely these 2197 two sections are pushing the limit, whatever it is. 2198 2199Tue Jun 25 19:52:02 1996 Ian Lance Taylor <ian@cygnus.com> 2200 2201 * update.c (checkout_file): Rewrite handling of dead files when 2202 joining. Avoid space leaks. Avoid unnecessary file 2203 resurrections. 2204 (join_file): Add checks to skip merging a dead revision onto a 2205 dead revision, and to skip merging a common ancestor onto a dead 2206 revision. Move check for non-existent working file after new 2207 checks. 2208 * sanity.sh (death): Use dotest for tests 86 and 95, and add test 2209 death-file2-1, to test above changes. 2210 2211Mon Jun 24 11:27:37 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2212 2213 * update.c (merge_file): Replace file, repository, entries, and 2214 update_dir arguments with finfo argument. Use fullname field 2215 instead of locally emulating it. 2216 (update_fileproc): Update caller. 2217 (merge_file): If -kb is in effect, call it a conflict, leave 2218 the two versions in the file and the backup file, and tell the 2219 user to deal with it. The previous behavior was that the merge 2220 would fail and then there was no way to do a checkin even once you 2221 resolved the conflict (short of kludges like moving the file 2222 aside, updating, and then moving it back). 2223 * sanity.sh (binfiles): New tests binfiles-con* test for above 2224 behavior. Adjust remaining tests to reflect changes in revision 2225 numbers. 2226 2227Mon Jun 17 15:11:09 1996 Ian Lance Taylor <ian@cygnus.com> 2228 2229 * sanity.sh (import): Remove sleep. Requiring it was a bug, and 2230 it is fixed in the current sources. 2231 2232Mon Jun 17 1996 Ian Lance Taylor <ian@cygnus.com> 2233 and Jim Kingdon <kingdon@harvey.cyclic.com> 2234 2235 * sanity.sh (TMPPWD): Set to real name of /tmp directory. 2236 (basic2-64, conflicts-126.5): Use ${TMPPWD}. 2237 2238Mon Jun 17 1996 Ian Lance Taylor <ian@cygnus.com> 2239 2240 * rcscmds.c (RCS_checkout): Remove noerr parameter. Change all 2241 callers. 2242 * rcs.c (RCS_fast_checkout): Likewise. 2243 2244Mon Jun 17 1996 Ian Lance Taylor <ian@cygnus.com> 2245 2246 Cleaner implementation of tag locking code added Jun 13 1996: 2247 * cvs.h (tag_lockdir, tag_unlockdir): Declare. 2248 * rtag.c (locked_dir, locked_list): Remove. 2249 (rtag_fileproc): Don't lock here; just call tag_lockdir. 2250 (rtag_filesdoneproc): Don't unlock here; just call tag_unlockdir. 2251 * tag.c (locked_dir, locked_list): Move farther down in file. 2252 (tag_fileproc): Don't lock here; just call tag_lockdir. 2253 (tag_filesdoneproc): Don't unlock here; just call tag_unlockdir. 2254 (tag_lockdir, tag_unlockdir): New functions. 2255 2256Wed Jun 15 07:52:22 1996 Mike Ladwig <mike@twinpeaks.prc.com> 2257 2258 * client.c (send_modified, update_entries): Fixed bug which didn't 2259 handle binary file transfers in BROKEN_READWRITE_CONVERSION. 2260 2261Thu Jun 13 1996 Ian Lance Taylor <ian@cygnus.com> 2262 and Jim Kingdon <kingdon@harvey.cyclic.com> 2263 2264 * update.c (checkout_file): Call server_scratch_entry_only when a 2265 non-pertinent file is found that does not exist. 2266 * sanity.sh (newb): Add test case for above patch. 2267 2268Thu Jun 13 1996 Ian Lance Taylor <ian@cygnus.com> 2269 2270 * update.c (update_fileproc): Call server_scratch_entry_only when 2271 handling T_REMOVE_ENTRY on the server. 2272 * sanity.sh (conflicts2): Remove special case for remote server 2273 bug fixed by above patch. 2274 2275Thu Jun 13 21:16:26 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2276 2277 * sanity.sh (basica-9): Update to reflect change to "sufficient 2278 access" message. 2279 2280Thu Jun 13 20:13:55 1996 Ian Lance Taylor <ian@cygnus.com> 2281 and Jim Kingdon <kingdon@harvey.cyclic.com> 2282 2283 * recurse.c, cvs.h (start_recursion): Remove wd_is_repos argument; 2284 add comment about meaning of which argument. Use !(which & 2285 W_LOCAL) instead of wd_is_repos. 2286 * admin.c, client.c, commit.c, diff.c, edit.c, lock.c, log.c, 2287 patch.c, rcs.c, remove.c, rtag.c, status.c, tag.c, update.c, 2288 watch.c: Change callers. This is a semantic change in only two 2289 cases: (1) tag_check_valid, where repository was not "", and (2) 2290 the pipeout case in checkout_proc. In both of those cases the 2291 previous setting of wd_is_repos did not reflect whether we 2292 actually were cd'd into the repository. 2293 * recurse.c (start_recursion): Only check for the CVS subdirectory 2294 if which & W_LOCAL. 2295 * sanity.sh (devcom): Add test case fixed by above patch. 2296 2297Thu Jun 13 1996 Ian Lance Taylor <ian@cygnus.com> 2298 2299 * ignore.c (ignore_files): Skip based on the file name before 2300 calling lstat. 2301 2302 * client.c (last_register_time): New static variable. 2303 (update_entries): Set last_register_time when calling Register. 2304 (get_responses_and_close): If the current time is the same as 2305 last_register_time, sleep for a section to avoid timestamp races. 2306 2307Thu Jun 13 17:24:38 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2308 2309 * client.c (supported_request): Reindent. 2310 2311Thu Jun 13 1996 Mark H. Wilkinson <mhw@minster.york.ac.uk> 2312 2313 * options.h.in, mkmodules.c: Corrections to allow compilation of 2314 non-client-server version. 2315 2316Thu Jun 13 1996 Ian Lance Taylor <ian@cygnus.com> 2317 2318 * tag.c (tag_check_valid_join): New function. 2319 * cvs.h (tag_check_valid_join): Declare. 2320 * checkout.c (join_tags_validated): New static variable. 2321 (checkout_proc): Check validity of join tags. 2322 * update.c (update): Likewise. 2323 2324 * tag.c (tag_check_valid): Correct sizeof CVSROOTADM_HISTORY to 2325 use CVSROOTADM_VALTAGS. 2326 2327 * lock.c (Writer_Lock): If we called lock_wait to wait for a lock, 2328 then call lock_obtained when we get it. 2329 (set_lock): Likewise. 2330 (lock_obtained): New static function. 2331 2332Thu Jun 13 13:55:38 1996 Ian Lance Taylor <ian@cygnus.com> 2333 and Jim Kingdon <kingdon@harvey.cyclic.com> 2334 2335 * main.c (main): If we can't read cvs root, don't say "you don't 2336 have sufficient access"; just print the message from errno. It 2337 might be "No such file or directory" or something else for which 2338 "you don't have sufficient access" doesn't make any sense. 2339 2340Thu Jun 13 1996 Ian Lance Taylor <ian@cygnus.com> 2341 2342 * commit.c (remove_file): Pass noerr as 0 to RCS_checkout. 2343 2344Thu Jun 13 12:55:56 1996 Ian Lance Taylor <ian@cygnus.com> 2345 2346 * patch.c: Initialize rev1_validated and rev2_validated to 0, not 1. 2347 2348Thu Jun 13 12:55:56 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2349 2350 * rtag.c (locked_dir): Revise comments regarding locking; the rtag 2351 and tag situations are different (changing from readlocking one 2352 directory at a time to writelocking one directory at a time does 2353 not do everything we might want, but it does fix simultaneous tags 2354 and it doesn't make anything worse). 2355 2356Thu Jun 13 1996 Ian Lance Taylor <ian@cygnus.com> 2357 2358 Prevent simultaneous tag operations from interfering with each 2359 other. 2360 * rtag.c (rtag_proc): Pass rtag_filesdoneproc to start_recursion, 2361 and pass readlock as 0. 2362 (locked_dir, locked_list): New static variables. 2363 (rtag_fileproc): Write lock the repository if it is not already 2364 locked. 2365 (rtag_filesdoneproc): New static function to unlock the 2366 repository. 2367 * tag.c (tag): Pass tag_filesdoneproc to start_recursion, and pass 2368 readlock as 0. 2369 (locked_dir, locked_list): New static variables. 2370 (tag_fileproc): Write lock the repository if it is not already 2371 locked. 2372 (tag_filesdoneproc): New static function. 2373 2374Thu Jun 13 11:42:25 1996 Mike Sutton <mws115@llcoolj.dayton.saic.com> 2375 2376 * sanity.sh: Allow digits in usernames. 2377 2378Wed Jun 12 16:23:03 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2379 2380 * client.c (send_modified, update_entries): Reindent and add 2381 comments to BROKEN_READWRITE_CONVERSION code. 2382 2383Wed Jun 12 16:23:03 1996 Mike Ladwig <mike@twinpeaks.prc.com> 2384 2385 * client.c (send_modified, update_entries): Add 2386 BROKEN_READWRITE_CONVERSION code. 2387 2388Mon Jun 10 20:03:16 1996 J.T. Conklin <jtc@cygnus.com> 2389 2390 * rcs.c (RCS_gettag): No longer set p to NULL if rcs is also NULL. 2391 rcs will never be null, thanks to the assertion at top of function. 2392 2393Mon Jun 10 16:28:14 1996 Ian Lance Taylor <ian@cygnus.com> 2394 and Jim Kingdon <kingdon@harvey.cyclic.com> 2395 2396 * main.c (main): Ignore CVS/Root file when doing an import. 2397 2398Fri Jun 7 18:20:01 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2399 2400 * status.c (status_fileproc, tag_list_proc): Use cvs_output rather 2401 than writing to stdout directly. 2402 2403Wed Jun 5 13:54:57 1996 Ian Lance Taylor <ian@cygnus.com> 2404 2405 * rcs.c (force_tag_match, tag, date): New static variables. 2406 (annotate_fileproc): Redo the loop to look for the version 2407 specified by tag/date/force_tag_match, and handle branches 2408 correctly. 2409 (annotate_usage): Mention -f, -r, and -D. 2410 (annotate): Handle -f, -r, and -D. 2411 2412Tue Jun 4 13:38:17 1996 Ian Lance Taylor <ian@cygnus.com> 2413 2414 * rcs.c (annotate_fileproc): Skip unrelated branch deltas. 2415 2416Fri Jun 7 13:04:01 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2417 2418 * main.c (main): Change INITIALIZE_SOCKET_SUBSYSTEM to 2419 SYSTEM_INITIALIZE and pass it pointers to argc and argv. Rename 2420 CLEANUP_SOCKET_SUBSYSTEM to SYSTEM_CLEANUP. 2421 2422Wed Jun 05 10:07:29 1996 Mike Ladwig <mike@twinpeaks.prc.com> 2423 2424 * import.c (add_rcs_file): make buf char[] not unsigned char[] 2425 2426Wed Jun 05 10:07:29 1996 Mike Ladwig <mike@twinpeaks.prc.com> 2427 and Jim Kingdon <kingdon@cyclic.com> 2428 2429 * main.c (main): Add CLEANUP_SOCKET_SUBSYSTEM hook at end. Revise 2430 comments regarding INITIALIZE_SOCKET_SUBSYSTEM. 2431 2432Wed Jun 05 10:07:29 1996 Mike Ladwig <mike@twinpeaks.prc.com> 2433 and Jim Kingdon <kingdon@cyclic.com> 2434 2435 * main.c (main): Don't mess with signals if DONT_USE_SIGNALS is 2436 defined. 2437 2438Thu Jun 6 15:32:41 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2439 2440 * modules.c (cat_module): Always format for 80 columns rather than 2441 trying to determine how wide the screen is. The code we had for 2442 the latter didn't cover all cases, was a portability headache, and 2443 didn't work client/server. 2444 2445Wed Jun 05 10:07:29 1996 Mike Ladwig <mike@twinpeaks.prc.com> 2446 2447 * error.c: Don't declare strerror if it is #defined. 2448 2449Wed Jun 05 10:07:29 1996 Mike Ladwig <mike@twinpeaks.prc.com> 2450 and Jim Kingdon <kingdon@cyclic.com> 2451 2452 * cvs.h: If ENUMS_CAN_BE_TROUBLE, typedef Dtype to int not an enum. 2453 2454Wed Jun 05 10:07:29 1996 Mike Ladwig <mike@twinpeaks.prc.com> 2455 and Jim Kingdon <kingdon@cyclic.com> 2456 2457 * update.c (update): If DONT_USE_PATCH, don't request patches. 2458 Also call supported_request rather than reimplementing it. 2459 2460Wed Jun 05 10:07:29 1996 Mike Ladwig <mike@twinpeaks.prc.com> 2461 2462 * client.c (read_line): Changed an occurence of '\n' to '\012'. 2463 2464Wed Jun 5 17:18:46 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2465 2466 * add.c (add_directory): Don't create the directory if noexec. 2467 * sanity.sh (basica): New tests basica-1a10, basica-1a11 test for 2468 above fix. 2469 * sanity.sh (basicb): New tests basicb-2a10, basicb-2a11, 2470 basicb-3a1 test for analogous situation with files rather than 2471 directories. 2472 2473Tue Jun 4 13:38:17 1996 Ian Lance Taylor <ian@cygnus.com> 2474 2475 * sanity.sh: When doing a remote check, use :server: in CVSROOT. 2476 2477Wed Jun 5 13:32:40 1996 Larry Jones <larry.jones@sdrc.com> 2478 and Jim Kingdon <kingdon@cyclic.com> 2479 2480 * ignore.c: Set ign_hold to -1 when not holding instead of 0 so 2481 that holding an empty list works correctly. 2482 * sanity.sh (ignore): New tests 190 & 191 for above fix. 2483 2484Wed Jun 5 1996 Jim Kingdon <kingdon@cyclic.com> 2485 2486 Visual C++ lint: 2487 * client.c (update_entries): Copy the size to an unsigned variable 2488 before comparing it with unsigned variables. 2489 (handle_created, handle_update_existing): Prototype. 2490 2491Tue Jun 4 10:02:44 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2492 2493 * client.c (responses): Add Created and Update-existing responses. 2494 * server.c (server_updated): If they are supported, use them 2495 instead of Updated. 2496 * client.c (struct update_entries_data): Add existp field. 2497 (handle_checked_in, handle_updated, handle_new_entry, 2498 handle_merged, handle_patched): Set it. 2499 (handle_update_existing, handle_created): New functions, 2500 for new responses. 2501 (update_entries): Based on existp, check for 2502 existence/nonexistence of file. 2503 (try_read_from_server): Expand comment. 2504 * server.c, server.h (server_updated): New argument vers. 2505 * checkin.c (Checkin), commit.c (commit_fileproc), update.c 2506 (update_fileproc, merge_file, join_file): Pass it. 2507 * cvs.h: Move include of server.h after Vers_TS declaration. 2508 * sanity.sh (conflicts2): New tests conflicts2-142d* test for 2509 above fix. 2510 2511 * sanity.sh (ignore): Fix typo in comment. 2512 2513 * tag.c (tag_check_valid): Add comment clarifying when val-tags 2514 entries are created. 2515 2516Mon Jun 3 07:26:35 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2517 2518 * version.c: Increment version number to 1.8.4. 2519 2520Mon Jun 3 02:20:30 1996 Noel Cragg <noel@gargle.rain.org> 2521 2522 * version.c: version 1.8.3. 2523 2524Thu May 30 10:07:24 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2525 2526 * main.c (cmds): Fix typo ("bdif" -> "dif") which was accidentally 2527 introduced 24 May 96. 2528 2529 * main.c (main_cleanup): Add comment stating default case will 2530 never be reached. 2531 2532Wed May 29 21:43:43 1996 noel <noel@BOAT_ANCHOR> 2533 2534 * main.c (main_cleanup): check to see if SIGHUP, SIGINT, SIGQUIT, 2535 SIGPIPE, and SIGTERM are defined before using them. Also add a 2536 default case to print out those errors numerically which are not 2537 found. 2538 2539Wed May 29 18:43:45 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2540 2541 * expand_path.c (expand_path): Document LINE == 0 and allocation 2542 of return value. 2543 * modules.c (do_module): Pass 0, not -1, to indicate line number 2544 not known. Free value returned from expand_path. Deal with NULL 2545 return from expand_path. 2546 2547Wed May 29 15:56:47 1996 Greg A. Woods <woods@most.weird.com> 2548 2549 * modules.c (do_module): call expand_path() on the program name 2550 specfied by one of '-o', '-t', or '-e' in the modules file before 2551 passing it to run_setup(). This makes it possible to use $CVSROOT 2552 (or indeed ~user or any other user-specified variable) to specify 2553 pathnames for programs not installed in the normal execution path. 2554 2555Sun May 26 21:57:09 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2556 2557 * client.c (start_server): Don't include %s in error message; 2558 there is no argument to go with it. Do include "internal error" 2559 in error message since that might not be clear to the user otherwise. 2560 2561Sun May 26 11:58:13 1996 Greg A. Woods <woods@most.weird.com> 2562 2563 * root.c (set_local_cvsroot): enforce a wee bit of portability 2564 (parse_cvsroot): same.... 2565 (DEBUG main): same, plus style guidelines 2566 (DEBUG error): deleted -- not necessary here (use fprintf instead) 2567 2568 * mkmodules.c (modules_contents): updated notes about what must be 2569 done if you change any of the options for a module. 2570 (loginfo_contents): fixed grammar, re-pargraphed, and added 'echo 2571 %s;' to the example. 2572 (editinfo_contents): minor grammar fix. 2573 2574Sun May 26 17:51:18 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2575 2576 * vers_ts.c (Version_TS): Remove case where we get options from 2577 sdtp->options. Whatever case that was intended to handle is 2578 probably lost in the mists of time, but sdtp->options isn't set 2579 anywhere, and I think that has been true for a long time. 2580 * cvs.h (struct stickydirtag): remove options field. 2581 * entries.c (freesdt): Don't free ->options. 2582 * sanity.sh (binfiles): New tests binfiles-13a* test for above fix. 2583 2584 * tag.c (check_fileproc): Use fullname not file in error message. 2585 Say "locally modified" not "up-to-date"; the file need not match 2586 the head revision it only need match some revision. 2587 2588Sun May 26 16:57:02 1996 Norbert Kiesel <nk@col.sw-ley.de> 2589 2590 * tag.c: added support for new option -c to make sure all tagged 2591 files are up-to-date 2592 (tag): check for option and set check_uptodate 2593 (check_fileproc): check status of file if check_uptodate is set 2594 2595Sat May 25 15:22:26 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2596 2597 * main.c (main): Revert change to look for a -H command option; 2598 command option parsing should be up to each subcommand and the -H 2599 global option works fine. 2600 2601Mon May 23 1996 Ian Lance Taylor <ian@cygnus.com> 2602 2603 * client.c (process_prune_candidates): Set prune_candidates to 2604 NULL at the end of the function. 2605 2606Mon May 23 1996 Ian Lance Taylor <ian@cygnus.com> 2607 2608 * checkout.c (checkout): In code to handle multiple arguments, 2609 pass preload_update_dir, not where, to Create_Admin. 2610 (checkout_proc): Pass preload_update_dir, not where, to 2611 Create_Admin. 2612 2613Thu May 23 19:14:35 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2614 2615 * server.c (server_set_sticky): Assert that update_dir != NULL. 2616 * sanity.sh (basicb): New test; tests for Ian's fix to checkout.c 2617 above. 2618 2619Thu May 23 1996 Ian Lance Taylor <ian@cygnus.com> 2620 2621 * patch.c (patch_fileproc): Don't ignore a file just because it is 2622 in the Attic directory. 2623 2624Thu May 23 10:40:24 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2625 2626 * sanity.sh (death): New tests death-{72a,76a0,76a1} test for bug 2627 fixed by Ian's patch_fileproc change above. 2628 2629 * sanity.sh (death): Remove "temporary hack" in test 89. 2630 2631 * rcs.c (RCS_fast_checkout): If error closing file, and workfile 2632 is NULL, use sout in error message instead of workfile. 2633 2634Thu May 23 1996 Ian Lance Taylor <ian@cygnus.com> 2635 2636 * rcs.c (RCS_fast_checkout): Do a fast checkout in the case where 2637 workfile is NULL and sout is a file name. 2638 2639Wed May 22 19:06:23 1996 Mark Immel <immel@centerline.com> 2640 2641 * update.c (checkout_file): New arg resurrecting_out, to provide 2642 resurrecting flag to caller. 2643 (join_file): New arg resurrecting. Register with "0" if we are 2644 the server and are resurrecting. 2645 (update_fileproc): Pass the flag from checkout_file to join_file. 2646 2647Wed May 22 19:06:23 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2648 2649 * sanity.sh (death): Test for above fix, in test 89 and new test 89a. 2650 2651Tue May 21 09:49:04 1996 Greg A. Woods <woods@most.weird.com> 2652 2653 * update.c (update_usage): oops -- fix my spelling typo. 2654 2655Mon May 20 10:53:14 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2656 2657 * commit.c (find_fileproc): Call freevers_ts. 2658 2659 * commit.c (find_*): Keep an ignlist, like update.c and client.c do. 2660 * commit.c (commit): Process the files from the ignlists, once we 2661 are connected to the server. 2662 * sanity.sh (ignore): New tests 189e and 189f test for new 2663 commit.c behavior (and client.c behavior, which is unchanged). 2664 * sanity.sh (conflicts): Remove dir1 and sdir in parts of the test 2665 where we aren't prepared for "? dir1" and similar output. 2666 2667Mon May 20 13:23:36 1996 Greg A. Woods <woods@most.weird.com> 2668 2669 * main.c (cmd_usage): minor corrections to descriptions of status, 2670 rtag, tag, and rdiff. Sort alphabetically by command name. 2671 2672Mon May 20 10:36:07 1996 Ian Lance Taylor <ian@cygnus.com> 2673 2674 * client.c (call_in_directory): Move the call to Entries_Close 2675 before the call to chdir, since Entries_Close examines files in 2676 the current directory. 2677 2678Fri May 17 12:13:09 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2679 2680 * client.c (start_tcp_server, start_server, start_rsh_server, 2681 read_line, filter_through_gzip, filter_through_gunzip, 2682 call_in_directory): Reindent as needed. 2683 2684 * main.c (main): Add missing #endif. Use indentation to indicate 2685 nesting. 2686 2687Thu May 16 17:15:01 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2688 2689 * main.c (cmd_usage): Add "init" command. 2690 2691Thu May 16 16:45:51 1996 Noel Cragg <noel@gargle.rain.org> 2692 2693 * client.c (start_tcp_server): Error message modified to tell the 2694 user to use ":server:" instead of setting CVS_CLIENT_PORT to a 2695 negative number. 2696 2697 * main.c (main): Add #ifdefs for turning off buffering of 2698 stdio/stderr, so we don't get it by default. 2699 2700Thu May 16 01:29:47 1996 noel <noel@BOAT_ANCHOR> 2701 2702 * commit.c (commit_filesdoneproc): Print the repository and root 2703 directories as part of the error message. 2704 2705 * main.c (main): Don't buffer stdout or stderr. It's inefficient, 2706 but it then produces the right output for sanity.sh. 2707 2708Thu May 16 09:44:47 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2709 2710 * fileattr.c (fileattr_set): In the case where we are about to 2711 call delproc, don't free ->data; delproc does that. 2712 * sanity.sh (devcom): New tests devcom-b* test for this fix. 2713 2714 * sanity.sh (conflicts): Remove redundant clean up from previous 2715 tests at the beginning of the test. Use dotest a few more places. 2716 (conflicts2): New test, tests for Ian's fix to Classify_File. 2717 2718 * client.c (remove_entry_and_file): Add comment about 2719 existence_error's. 2720 2721Sat May 16 1996 Ian Lance Taylor <ian@cygnus.com> 2722 2723 * update.c (update_dirleave_proc): Don't try to chdir .. and check 2724 for an empty directory if there is a slash in the directory name. 2725 2726Thu May 16 09:02:59 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2727 2728 * sanity.sh (deep): New tests deep-4a* test for Ian's fix to 2729 update_dirleave_proc. 2730 2731Sat May 16 1996 Ian Lance Taylor <ian@cygnus.com> 2732 2733 * main.c (main_cleanup): Report signal name before dying. 2734 2735Wed May 15 23:47:59 1996 Noel Cragg <noel@gargle.rain.org> 2736 2737 * main.c (usg): revert usage strings for `-H' flag change. 2738 2739Sat May 15 1996 Ian Lance Taylor <ian@cygnus.com> 2740 2741 * server.c (serve_static_directory): Return immediately if there 2742 is a pending error. 2743 (serve_sticky): Likewise. 2744 (serve_modified): Read the file data even if there is a pending 2745 error. 2746 2747Wed May 15 14:26:32 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2748 2749 * main.c (main): If -d and CVS/Root both specified, after writing 2750 the value from -d into CVS/Root, use the value from -d, not the 2751 old value from CVS/Root. Don't write CVS/Root with value from -d 2752 until we have verified that it works. 2753 * sanity.sh: Reenable test basica-9 and adjust for new behavior. 2754 2755Tue May 14 1996 Jim Kingdon <kingdon@cyclic.com> 2756 2757 * logmsg.c (do_editor): If user aborts the commit, still remove the 2758 temporary file. 2759 2760Tue May 14 11:45:41 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2761 2762 * filesubr.c, cvs.h (cvs_temp_name): New function. Move L_tmpnam 2763 define from cvs.h to filesubr.c. 2764 * client.c, diff.c, import.c, login.c, logmsg.c, no_diff.c, 2765 patch.c, wrapper.c: Call cvs_temp_name not tmpnam. 2766 * login.c (login): Reindent function. 2767 2768Tue May 14 10:56:56 1996 Ian Lance Taylor <ian@cygnus.com> 2769 2770 * rcs.c (RCS_fast_checkout): If workfile is NULL, don't call chmod. 2771 2772Mon May 13 10:52:10 1996 Greg A. Woods <woods@most.weird.com> 2773 2774 * checkout.c (export_usage): note which options cause a sticky 2775 version to be set, and which option avoids this. 2776 * update.c (update_usage): likewise 2777 2778Sat May 11 18:57:07 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2779 2780 * sanity.sh: Comment out test basica-9 until I get around to 2781 actually fixing it (the -d vs. CVS/Root change broke it). 2782 2783Fri May 10 09:39:49 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2784 2785 * main.c (main): -d now overrides CVS/Root. 2786 2787Thu May 9 19:45:24 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2788 2789 * main.c: Remove comment listing commands at beginning. It was 2790 out of date and redundant with the help. 2791 2792Thu May 9 09:33:55 1996 Greg A. Woods <woods@most.weird.com> 2793 2794 * main.c: add 'init' to opening comment listing commands 2795 2796 * mkmodules.c (init): fix to recognize argc==-1 as hint to call 2797 usage() [should make "cvs init -H" work as expected] 2798 2799Wed May 8 15:02:49 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2800 2801 * sanity.sh: Set EXPR in the case that the expr in the path is the 2802 one that we want. 2803 2804Wed May 8 14:06:24 1996 Greg A. Woods <woods@most.weird.com> 2805 2806 * sanity.sh (test): - convert all '[' to test ala GCD 2807 2808Wed May 8 13:46:56 1996 Greg A. Woods <woods@most.weird.com> 2809 2810 * sanity.sh (expr): - make a valiant attempt to find GNU expr 2811 - Patch from Larry Jones: 2812 sanity test deep-4 failed with "expr: arg list too long" 2813 sanity test 56 failed because the stderr and stdout output was not 2814 interleaved as expected. 2815 sanity test modules-155a4 failed with "ls: illegal option -- 1" 2816 2817 * main.c (main): - Patch from Larry Jones for SysV setvbuf 2818 2819Tue May 7 16:41:16 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2820 2821 * version.c: Increment version number to 1.8.2 to work around fact 2822 that CVS 1.8 (confusingly) calls itself 1.8.1 not 1.8. 2823 2824Tue May 7 10:44:20 MET DST 1996 Norbert Kiesel <nk@col.sw-ley.de> 2825 2826 * rcs.c (rcsvers_delproc): fix memory leak by freeing author 2827 field. 2828 2829Mon May 6 10:40:05 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2830 2831 * sanity.sh (conflicts): New test conflicts-126.5 tests for bug 2832 which Ian fixed May 5 in update.c 2833 2834Mon May 6 06:00:10 1996 Benjamin J. Lee <benjamin@cyclic.com> 2835 2836 * Version 1.8.1 2837 2838Sun May 5 21:39:02 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2839 2840 * vers_ts.c (Version_TS): If sdtp is NULL, go ahead and check 2841 RCS_getexpand for options. Fixes binaries and non-unix clients. 2842 * sanity.sh: Fix binfiles-5.5 to test for the correct behavior 2843 rather than the buggy behavior which existed when the binfiles-5.5 2844 test was written. 2845 (binfiles-14c,binfiles-14f): Likewise. 2846 2847Sun May 5 17:38:21 1996 Benjamin J. Lee <benjamin@cyclic.com> 2848 2849 Integrated changes submitted by Ian Taylor <ian@cygnus.com> 2850 2851 * update.c (update_dirent_proc): cvs co -p doesn't print 2852 anything when run from an empty directory. 2853 2854 * import.c (import_descend_dir): Check for a file in the 2855 repository which will be checked out to the same name as the 2856 directory. 2857 2858Sat May 4 12:33:02 1996 Ian Lance Taylor <ian@cygnus.com> 2859 2860 Extract the head revision directly from the RCS file when 2861 possible, rather than execing co. 2862 * rcs.c (RCS_reparsercsfile): Set delta_pos field. 2863 (getrcskey): Add lenp parameter. Change all callers. 2864 (RCS_fast_checkout): New function. 2865 (annotate_fileproc): If PARTIAL is not set, just fseek to 2866 delta_pos. 2867 * rcs.h (struct rcsnode): Add delta_pos field. 2868 (RCS_fast_checkout): Declare. 2869 * diff.c (diff_file_nodiff): Call RCS_fast_checkout rather than 2870 RCS_checkout. 2871 * import.c (update_rcs_file): Likewise. 2872 * no_diff.c (No_Difference): Likewise. 2873 * patch.c (patch_fileproc): Likewise. 2874 * update.c (checkout_file): Likewise. 2875 (patch_file): Likewise. 2876 (join_file): Likewise. 2877 2878Sat May 4 12:33:02 1996 Ian Lance Taylor <ian@cygnus.com> 2879 2880 * classify.c (Classify_File): Don't report a conflict for a 2881 pending remove if somebody else has already removed the file. 2882 2883Thu May 2 13:34:37 1996 Benjamin J. Lee <benjamin@cyclic.com> 2884 2885 * Version 1.7.88 2886 2887Thu May 2 01:40:55 1996 Benjamin J. Lee <benjamin@cyclic.com> 2888 2889 * server.c (HAVE_INITGROUPS): Use initgroups() only if 2890 located by configure, in the event a system has crypt(), but 2891 no initgroups() 2892 2893Wed May 01 21:08:21 1996 noel <noel@BOAT_ANCHOR> 2894 2895 * client.c (filter_through_gunzip): use "gzip -d" instead of 2896 "gunzip," since there's no good reason (on NT at least) to have an 2897 extra copy of gzip.exe copied to gunzip.exe (Arrrrgh! No symbolic 2898 links!). 2899 2900 * mkmodules.c (init): check to see that we have the correct number 2901 of arguments or print out the usage message (used to be argc > 1, 2902 should be argc != 1, because help forces argc == -1 as a special 2903 case). 2904 2905Wed May 1 18:05:02 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2906 2907 * sanity.sh (basica): When testing rejection of reserved tag name, 2908 use BASE instead of RESERVED. 2909 2910Wed May 1 15:15:11 1996 Tom Jarmolowski <tjj@booklink.com> 2911 2912 * rcs.c (linevector_delete): Only copy up to vec->nlines - nlines, 2913 not to vec->nlines. 2914 2915Wed May 1 15:43:21 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2916 2917 * rcscmds.c (RCS_settag): Instead of reserving all tag names 2918 containing only uppercase letters, reserve only BASE and HEAD. 2919 * sanity.sh (mflag): Revert 26 Mar change; use all-uppercase tag 2920 name again. 2921 2922Wed May 1 15:15:11 1996 Tom Jarmolowski <tjj@booklink.com> 2923 2924 * rcs.c (linevector_add): Move increment of i out of larger 2925 statement, to avoid assumptions about evaluation order. 2926 2927Tue Apr 30 15:46:03 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 2928 2929 * Version 1.7.87. 2930 2931 * server.c (check_password): Don't use ANSI string concatenation. 2932 Reindent function. 2933 2934Mon Apr 29 10:48:38 1996 Noel Cragg <noel@gargle> 2935 2936 * root.c (parse_cvsroot): removed "rsh" as an alias to "server" in 2937 the method section. 2938 2939 * main.c (main): new variable help so we can support the `cvs -H 2940 cmd' convention. Reverts change of 26 Apr 96 which removed this 2941 feature. 2942 2943Sun Apr 28 14:57:38 1996 Noel Cragg <noel@gargle> 2944 2945 * main.c (main): update error message if parse_cvsroot fails. 2946 * server.c (serve_root): same. 2947 (serve_init): same. 2948 2949 * client.c (start_tcp_server): get rid of the "fall through" 2950 stuff, now that we have access methods. 2951 (start_server): switch off the access method to choose routine 2952 that starts the server. 2953 (start_tcp_server): tofd wasn't getting set to -1 early enough, 2954 because a call to error for bind or gethostbyname might fail and 2955 the subsequent error check to see if the connection had been made 2956 would fail. 2957 2958 * root.c: new variable method_names for error reporting purposes. 2959 2960Sun Apr 28 17:22:15 1996 Noel Cragg <noel@occs.cs.oberlin.edu> 2961 2962 * server.c: moved kerberos #includes from main.c for the 2963 kserver_authenticate_connection routine. 2964 2965Fri Apr 26 07:59:44 1996 Noel Cragg <noel@gargle> 2966 2967 * server.c (serve_init): use the new return value from 2968 parse_cvsroot. 2969 (serve_root): same. 2970 * main.c (main): same. 2971 2972 * root.c (parse_cvsroot): fix indentation, add a return value 2973 which tells whether the command succeeded or failed. 2974 2975 * main.c (main): move the setting of the UMASK environment 2976 variable inside the stuff that gets done if the user is NOT asking 2977 for help, so we don't signal any errors prematurely (don't want to 2978 give an error because we can't parse an environment variable 2979 correctly if the user asks for help). Similar mods for the code 2980 that tries to get the working directory. 2981 2982 Also make CVSADM_Root a local variable instead of a global, since 2983 its scope is only about 20 lines here! 2984 2985 * server.c (kserver_authenticate_connection): moved code from 2986 main.c to clean up MAIN. Makes sense, since we already have a 2987 pserver_authenticate_connection. 2988 (pserver_authenticate_connection): rename from 2989 authenticate_connection. 2990 2991 * main.c (main): reorganized the routine to eliminate variables 2992 help, help_commands, and version_flag. Now the routine is much 2993 clearer, since we don't have to be checking to see if these 2994 variables are set. One behavior that was a bug/feature which is 2995 now gone is an invocation like "cvs -H rtag" -- previously this 2996 would give usage for rtag, but now gives usage for cvs itself. 2997 The first behavior didn't make sense, especially since we say in 2998 the docs that command-line flags are position-specific. *Reverted 2999 Above* 3000 3001Thu Apr 25 20:05:10 1996 Noel Cragg <noel@gargle> 3002 3003 * main.c (main): make sure we have a valid command name before we 3004 do anything else (moved the thing that looks for a command in CMDS 3005 to right after the GETOPT loop). Added `kserver' and `pserver' to 3006 the table so they will be recognized; set their functions to 3007 SERVER so that help will be given when asked for. 3008 3009 * expand_path.c (expand_variable): return CVSroot_original rather 3010 than CVSroot_directory. 3011 3012 * main.c (main): save CVSroot in the env rather than 3013 CVSroot_original, since we might not have called PARSE_CVSROOT 3014 (this can happen if we use the -H option to a command). 3015 3016 * root.c (parse_cvsroot): the parsing method was bogus for 3017 guessing when we had hostnames vs. directories specified. Any 3018 ambiguity should be removed by having the user specify the access 3019 method. If the access method isn't specified, choose 3020 server_method if the string contains a colon or local_method 3021 otherwise. 3022 3023 * Changed CVSroot_remote back to client_active since the code 3024 reads better. 3025 3026Wed Apr 24 17:27:53 1996 Norbert Kiesel <nk@col.sw-ley.de> 3027 3028 * vers_ts.c (Version_TS): xmalloc enough space (1 more 3029 byte). Thanks to purify! 3030 3031Mon Apr 22 00:38:08 1996 Noel Cragg <noel@gargle> 3032 3033 * create_adm.c (Create_Admin): pass CVSroot_original instead of 3034 CVSroot_directory (oops!). 3035 * update.c (update_filesdone_proc): same. 3036 3037 * server.c (serve_root): modify to use parse_cvsroot rather than 3038 goofing around with other variables. Will need to fix 3039 parse_cvsroot to have a return value so we can return an error and 3040 quit gracefully if in server mode. 3041 (serve_init): same. 3042 3043 * main.c: modify command table to remove client_* routines, since 3044 they no longer exist. 3045 (main): don't try to switch off non-existent field in command 3046 table! ;-) 3047 3048 * client.h (client_*): removed prototypes for now non-existent 3049 functions. 3050 3051 * client.c: remove proto for get_cvs_password, since it is now in 3052 cvs.h. Modify routines to use new globals that describe CVSROOT 3053 rather than client_active, server_host, server_user, and 3054 server_cvsroot. 3055 (parse_cvsroot): removed function, since a more generic version 3056 now lives in root.c. 3057 (connect_to_pserver): remove call to parse_cvsroot, since main.c 3058 has already done it for us. 3059 (client_*): removed all of these routines, since they only call 3060 parse_cvsroot and then their respective operation functions. 3061 Since main.c has already called parse_cvsroot, we shouldn't bother 3062 with the extra function call, since client-server diffs are 3063 already handled in the core routines themselves. 3064 3065 * main.c: remove CVSroot as a global variable. Remove 3066 use_authenticating_server variable since we have a new 3067 `CVSroot_method' variable instead. 3068 (main): add `CVSroot' as a local variable. Call parse_cvsroot 3069 after we're sure we have the right setting for `CVSroot.' 3070 3071 * login.c (login): update to use new global variables. Instead of 3072 old behavior which let the user type in user@host when prompted, 3073 it makes them do it in CVSROOT proper. The routine still lets the 3074 user type the password, however. 3075 (get_cvs_password): make sure that CVSROOT is fully qualified 3076 before trying to find the entry in the .cvspass file. 3077 * cvs.h: add prototype for get_cvs_password. 3078 3079 * add.c: use new globals that describe CVSROOT. 3080 * admin.c: same. 3081 * checkout.c: same. 3082 * commit.c: same. 3083 * create_adm.c: same. 3084 * diff.c: same. 3085 * edit.c: same. 3086 * expand_path.c: same. 3087 * history.c: same. 3088 * ignore.c: same. 3089 * import.c: same. 3090 * log.c: same. 3091 * mkmodules.c: same. 3092 * modules.c: same. 3093 * parseinfo.c: same. 3094 * patch.c: same. 3095 * rcs.c: same. 3096 * recurse.c: same. 3097 * release.c: same. 3098 * remove.c: same. 3099 * repos.c: same. 3100 * rtag.c: same. 3101 * status.c: same. 3102 * tag.c: same. 3103 * update.c: same. 3104 * watch.c: same. 3105 * wrapper.c: same. 3106 3107 * root.c (Name_Root): remove error message that reports missing 3108 CVSROOT, since new code in main.c will catch it and also print out 3109 an error. 3110 (parse_cvsroot): new function -- takes a CVSROOT string and breaks 3111 it up into its component parts -- method, hostname, username, and 3112 repository directory. Sets new global variables that describe the 3113 repository location more precisely: CVSroot_original, 3114 CVSroot_remote, CVSroot_method, CVSroot_username, 3115 CVSroot_hostname, CVSroot_directory for use by all other 3116 functions. Checks for obvious errors in format of string. 3117 (main): a short routine to test parse_cvsroot from the command 3118 line. 3119 * cvs.h: add prototype for parse_cvsroot and extern definitions 3120 for new globals. 3121 3122 * cvs.h: removed CVSroot variable, since we don't want other 3123 routines using the raw CVSROOT (also helped to find all of the 3124 refs to the variable!). 3125 3126Fri Apr 19 11:22:35 1996 Benjamin J. Lee <benjamin@cyclic.com> 3127 3128 * Version 1.7.86 3129 3130Thu Apr 18 1996 Jim Kingdon <kingdon@cyclic.com> 3131 3132 * client.c (try_read_from_server): Compare return value from fwrite 3133 with a size_t not an int (Visual C++ lint). 3134 3135Wed Apr 17 11:56:32 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3136 3137 * client.c (try_read_from_server): New function. 3138 (read_from_server): Use it. 3139 (read_counted_file): New function. 3140 * client.c, server.c: Add Template response. 3141 * cvs.h (CVSADM_TEMPLATE): Added. 3142 * logmsg.c (do_editor): If repository is NULL, use CVSADM_TEMPLATE 3143 file in place of rcsinfo. 3144 * server.c, server.h (server_template): New function. 3145 * create_adm.c (Create_Admin): Call it. 3146 3147Tue Apr 16 13:56:06 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3148 3149 * repos.c (Name_Repository): Fix comments. 3150 * create_adm.c (Create_Admin): Fix indentation. 3151 3152Wed Apr 10 16:46:54 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3153 3154 * options.h.in: Include relevant information here rather than 3155 citing (former) FAQ. 3156 3157 * ChangeLog-9395: Fix typo in introductory paragraph. 3158 3159Wed Apr 10 14:55:10 1996 code by Mike Spengler mks@msc.edu 3160 comments by Jim Kingdon <kingdon@harvey.cyclic.com> 3161 3162 * filesubr.c (unlink_file_dir,deep_remove_dir): Don't call unlink 3163 on something which might be a directory; check using isdir instead. 3164 3165Wed Apr 10 14:55:10 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3166 3167 * checkout.c (build_dirs_and_chdir): Pass path, not cp, to 3168 Create_Admin. The former is the correct update dir. 3169 * sanity.sh (modules): New tests modules-155* test, for above fix. 3170 3171Mon Apr 8 13:53:27 1996 Samuel Tardieu <sam@inf.enst.fr> 3172 3173 * rcs.c (annotate_fileproc): If the file is not under CVS control, 3174 return instead of dumping a core. Don't bug on files with an empty 3175 first revision. 3176 3177Fri Mar 29 16:08:28 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3178 3179 * rcs.c (annotate_fileproc): If last line of add-chunk is not 3180 newline terminated, end the loop when we find that out. 3181 3182Fri Mar 29 16:59:34 1996 Norbert Kiesel <nk@col.sw-ley.de> 3183 3184 * rcs.c (annotate_fileproc): allow last line of add-chunk not to 3185 be newline terminated 3186 3187Thu Mar 28 10:56:36 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3188 3189 Add more diff tests: 3190 * sanity.sh (basic2): Use dotest for test 61. 3191 (basica): Add test basica-6.2. 3192 (branches): Add tests branches-14.4 and branches-14.5. 3193 (basic1): Remove tests 19, 20, 25, and 26. The only thing this 3194 might miss out on is diff's interaction with added and removed 3195 files, but those tests didn't test that very well anyway. 3196 3197 * rcs.c (RCS_getrevtime): Add comment regarding years after 1999. 3198 3199 * rcs.c: Add "cvs annotate" command and related code. 3200 (getrcskey): Move special handling of RCSDESC from here to 3201 callers. Handle those keys (desc, log, text) which do not 3202 end in a semicolon. 3203 * rcs.h (RCSVers): Add author field. 3204 * rcs.c (RCS_reparsercsfile): Set it. 3205 * cvs.h (annotate), main.c (cmd_usage, cmds), client.h client.c 3206 (client_annotate), server.c (serve_annotate, requests): Usual 3207 machinery to add a new command. 3208 * sanity.sh (basica): Test cvs annotate. 3209 3210 * sanity.sh (branches): More tests, of things like adding files on 3211 the trunk after a branch has been made. 3212 3213Tue Mar 26 09:48:49 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3214 3215 * expand_path.c: Don't declare free and xmalloc; cvs.h already 3216 takes care of that. 3217 3218 * sanity.sh (mflag): Don't use tag name reserved to CVS. 3219 3220 NT local changes plus miscellaneous things noticed in the process: 3221 * import.c (add_rcs_file): Use binary mode to write RCS file. Use 3222 \012 where linefeed is intended. Copy data a small block at a 3223 time, until we hit EOF, rather than trying to read the whole file 3224 into memory at once. 3225 * client.c (send_modified): Add comments regarding st_size. 3226 * commit.c (commit): Add comments regarding binary mode and read(). 3227 * logmsg.c (do_editor): Add comments regarding st_size. 3228 * server.c (server_updated): Use binary mode to read file we are 3229 sending. 3230 3231 * rcscmds.c (RCS_settag): Complain if user tries to add a tag name 3232 reserved to CVS. 3233 * sanity.sh (basica): Test for this behavior. 3234 3235 * sanity.sh (binfiles): New tests test ability to change keyword 3236 expansion. 3237 3238Mon Mar 25 1996 Jim Kingdon <kingdon@cyclic.com> 3239 3240 * cvs.h, filesubr.c (expand_wild): New function. 3241 * recurse.c (start_recursion): Call expand_wild at beginning and 3242 free its results at the end. 3243 * cvs.h, subr.c (xrealloc): Make argument and return value void *. 3244 * client.h, client.c (send_file_names): Add flags argument. If 3245 SEND_EXPAND_WILD flag is passed, call expand_wild at beginning and 3246 free its results at the end. 3247 * admin.c, add.c, log.c, tag.c, status.c, edit.c, watch.c, 3248 update.c, commit.c, remove.c, client.c, diff.c: Update callers. 3249 3250Fri Mar 22 10:09:55 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3251 3252 * error.c (error, fperror): Exit with status EXIT_FAILURE rather 3253 than STATUS. We had been neglecting to check for 256, and the 3254 value of providing a count of errors is probably minimal anyway. 3255 * add.c, modules.c, mkmodules.c, tag.c, server.c, main.c, 3256 import.c, client.c, scramble.c, recurse.c: Exit with status 3257 EXIT_FAILURE rather than 1. On VMS, 1 is success, not failure. 3258 * main.c (main): Return EXIT_FAILURE or 0. The value of providing 3259 a count of errors is minimal. 3260 3261 * client.c (init_sockaddr): Exit with status 1 rather than 3262 EXIT_FAILURE. The latter apparently doesn't exist on SunOS4. 3263 Reindent function. 3264 3265Mon Mar 18 14:28:00 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3266 3267 * cvs.h, ignore.c: New variable ign_case. 3268 * ignore.c (ign_name): If it is set, match in a case-insensitive 3269 fashion. 3270 * server.c (serve_case): New function. 3271 (requests): Add Case request. 3272 * client.c (start_server): If FILENAMES_CASE_INSENSITIVE is 3273 defined, send Case request. 3274 3275Sat Mar 16 08:20:01 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3276 3277 For reference, this change takes cvs's text segment from 315392 3278 bytes to 311296 bytes (one 4096 byte page). 3279 * cvs.h (struct file_info): Add fullname field. 3280 * recurse.c (do_file_proc): Set it. 3281 * commit.c (find_fileproc), client.c (send_fileproc), commit.c 3282 (check_fileproc), diff.c (diff_fileproc), edit.c 3283 (unedit_fileproc), patch.c (patch_fileproc), remove.c 3284 (remove_fileproc), rtag.c (rtag_fileproc), tag.c (tag_fileproc), 3285 update.c (update_fileproc), watch.c (watchers_fileproc): Use it 3286 instead of computing it each time. 3287 * diff.c (diff_fileproc), remove.c (remove_fileproc): Use fullname 3288 where we had been (bogusly) omitting the directory from user 3289 messages. 3290 * edit.c (unedit_fileproc, edit_fileproc): If we cannot close 3291 CVSADM_NOTIFY, mention CVSADM_NOTIFY rather than finfo->file in 3292 error message. 3293 * rtag.c (rtag_fileproc), tag.c (tag_fileproc): Reindent. 3294 3295Fri Mar 15 15:12:11 1996 Norbert Kiesel <nk@col.sw-ley.de> 3296 3297 * server.h: fix prototype of server_pause_check (was 3298 server_check_pause) 3299 3300Thu Mar 14 1996 Jim Kingdon <kingdon@cyclic.com> 3301 3302 * vers_ts.c (Version_TS), entries.c (Scratch_Entry, AddEntryNode): 3303 Change findnode to findnode_fn. 3304 3305 * main.c: Depending on HAVE_WINSOCK_H, include winsock.h or 3306 declare gethostname. 3307 * cvs.h: Don't declare it here. 3308 3309Thu Mar 14 07:06:59 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3310 3311 * commit.c (find_fileproc): If vn_user is NULL and ts_user is not, 3312 print an error rather than silently succeeding. 3313 * sanity.sh (basica-notadded): New test, for above fix. 3314 (dotest_internal): New function. 3315 (dotest,dotest_fail): Call it instead of duplicating code between 3316 these two functions. 3317 3318 * sanity.sh: Skip tests binfiles-9 through binfiles-13 for remote. 3319 3320 * options.h.in: Adjust comment to reflect kfogel change. 3321 3322Thu Mar 14 01:38:30 1996 Karl Fogel <kfogel@floss.red-bean.com> 3323 3324 * options.h.in (AUTH_CLIENT_SUPPORT): turn on by default. 3325 3326Wed Mar 13 09:25:56 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3327 3328 * vers_ts.c (Version_TS): Don't try to override options from rcs 3329 file if there isn't an rcs file (e.g. called from send_fileproc). 3330 This fixes a bug detected by test 59 in "make remotecheck". 3331 3332 * rcs.c (RCS_reparsercsfile, RCS_getexpand): Assert that argument 3333 is not NULL. 3334 3335 Fix a gcc -Wall warning: 3336 * rcs.c, rcs.h (RCS_getexpand): New function. 3337 * vers_ts.c (Version_TS): Call it. 3338 * rcs.c (RCS_reparsercsfile): Make static. 3339 3340 Add a "cvs init" command. This is needed because cvsinit.sh 3341 invoked mkmodules which doesn't exist any more. 3342 * mkmodules.c: Break filelist out of mkmodules function, rename 3343 struct _checkout_file to struct admin_file (for namespace 3344 correctness), and add contents field. 3345 (init,mkdir_if_needed): New functions. 3346 * cvs.h (init): Declare. 3347 * main.c (cmds): Add init. 3348 (main): If command is init, don't require cvsroot to exist. 3349 * client.c, client.h (client_init, send_init_command): New functions. 3350 * client.c (start_server): Don't send Root request if command is init. 3351 * server.c (serve_init): New function. 3352 (requests): Add "init". 3353 3354Wed Mar 13 09:51:03 MET 1996 Norbert Kiesel <nk@col.sw-ley.de> 3355 3356 * vers_ts.c (Version_TS): set options to default option if the 3357 file if no -k option but -A was given. This avoids the (wrong) 3358 update message for binary files which are up-to-date when 3359 running 'cvs -A'. 3360 3361 * update.c (checkout_file): remove test of -k option stored in the 3362 file itself because it was moved to vers_ts.c 3363 3364 * sanity.sh: added tests for the above fix. 3365 3366Tue Mar 12 13:47:09 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3367 3368 * hash.c (findnode): Adjust comment regarding errors. 3369 3370 * hash.c (findnode, findnode_fn): Assert that key != NULL. This 3371 way the check still happens even if the function is later 3372 rewritten to not start out by calling hashp. 3373 3374Mon Mar 11 10:21:05 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3375 3376 * sanity.sh: If expr accepts multi-line patterns but is too 3377 liberal in matching them, print a warning but keep going. 3378 3379 * sanity.sh: Add QUESTION variable, analogous to PLUS. Use it 3380 instead of \? to match a question mark. 3381 3382 * cvs.h (CVSMODULE_OPTS, CVSMODULE_SPEC): Move from here... 3383 * modules.c: ...to here. They are only used here and the code to 3384 handle the syntax of modules files should not be scattered all over. 3385 * modules.c (CVSMODULE_OPTS): Add "+" as first character. 3386 * sanity.sh (modules): New tests 148a0 and 148a1 test for 3387 above-fixed bug. 3388 3389Mon Mar 11 13:11:04 1996 Samuel Tardieu <sam@inf.enst.fr> 3390 3391 * modules.c (cat_module): set optind to 0 to force getopt() to 3392 reinitialize its internal nextchar 3393 3394Mon Mar 11 00:09:14 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3395 3396 * hash.c (findnode, findnode_fn): Revert changes of 7-8 Mar 1996. 3397 The correct style is to assert() that key != NULL (see HACKING), 3398 which is already done in the hashp function. 3399 * fileattr.c (fileattr_delproc): Likewise, assert() that 3400 node->data != NULL rather than trying to deal with it being NULL. 3401 3402Fri Mar 8 01:31:04 1996 Greg A. Woods <woods@most.weird.com> 3403 3404 * hash.c (findnode_fn): one more place to avoid calling hashp() 3405 with a NULL key 3406 3407Thu Mar 7 17:30:01 1996 Greg A. Woods <woods@most.weird.com> 3408 3409 * hash.c (findnode): also return NULL if key is not set 3410 [[ reported by Chris_Eich@optilink.optilink.dsccc.com, and 3411 supposedly in a PR that should be marked "fixed"..... ]] 3412 3413 * fileattr.c (fileattr_set): set node->data to NULL after freeing 3414 it to prevent subsequent accesses 3415 (fileattr_delproc): don't free node->data if it's NULL, and set it 3416 to NULL after freeing 3417 [[ reported by Chris_Eich@optilink.optilink.dsccc.com, and 3418 supposedly in a PR that should be marked "fixed"..... ]] 3419 3420Fri Mar 1 14:56:08 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3421 3422 * sanity.sh (basica): New test basica-4a tests for bug fixed by 3423 sam@inf.enst.fr on 1 Mar 96. 3424 3425Fri Mar 1 18:10:49 1996 Samuel Tardieu <sam@inf.enst.fr> 3426 3427 * tag.c (check_fileproc): Check for file existence before trying 3428 to tag it. 3429 3430Fri Mar 1 07:51:29 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3431 3432 * client.c (update_entries): If command is export, set options to 3433 NULL. 3434 3435Thu Feb 29 16:54:14 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3436 3437 * lock.c (write_lock, Reader_Lock): Remove 3438 BOGUS_UNLESS_PROVEN_OTHERWISE code. It was pretty bogus, and has 3439 been ifdeffed out for a long time. 3440 * cvs.h (CVSTFL): Removed; no longer used. 3441 3442 * cvsrc.c, cvs.h (read_cvsrc): Pass in command name rather than 3443 using global variable command_name. 3444 * main.c (command_name): Initialize to "", not "cvs" so that error 3445 messages don't say "cvs cvs". Update calls to read_cvsrc to pass 3446 in command_name or "cvs" as appropriate. 3447 * sanity.sh (basica): New test basica-9 tests for above-fixed bug. 3448 3449 * lock.c: Rename unlock to lock_simple_remove to avoid conflict 3450 with builtin function on QNX. 3451 3452Thu Feb 29 17:02:22 1996 Samuel Tardieu <sam@inf.enst.fr> 3453 3454 * fileattr.c (fileattr_get): Removed NULL pointer dereference 3455 which occurred in the absence of default attribute. 3456 3457Thu Feb 29 07:36:57 1996 J.T. Conklin <jtc@rtl.cygnus.com> 3458 3459 * rcs.c (RCS_isbranch, RCS_whatbranch): Remove no longer used file 3460 argument, swap order of remaining two arguments to be like other 3461 RCS_* functions. 3462 (RCS_nodeisbranch): swap order of arguments to be like other RCS_* 3463 functions. 3464 * rcs.h (RCS_isbranch, RCS_whatbranch, RCS_nodeisbranch): Update 3465 prototypes for above changes. 3466 * commit.c, rtag.c, status.c, tag.c: Update for above calling 3467 convention changes. 3468 3469Thu Feb 29 08:39:03 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3470 3471 * client.c (start_server): Revert changes which claimed to fall 3472 back to a different way of connecting. Add comments explaining 3473 why. (I don't think the changes did what they claimed, anyway). 3474 Use indentation rather than comments to line up #if, #else, and 3475 #endif. 3476 3477 * patch.c (patch, patch_fileproc): Revert change to add optional 3478 arguments to -c and -u. Optional arguments are evil and in 3479 violation of the POSIX argument syntax guidelines. The correct 3480 way to do this is -C and -U. Also change DIFF back to "diff" in 3481 output (see comments). 3482 3483 gcc -Wall lint: 3484 * client.c (copy_a_file): Declare p inside the #ifdef in which is 3485 it used. 3486 * commit.c (remove_file): Remove unused variable p. 3487 * commit.c (checkaddfile): Remove unused variables p. 3488 * rcs.c (RCS_isbranch): Remove unused variable p. 3489 * rcs.c: Remove unused declarations and definitions of 3490 parse_rcs_proc, rcsnode_delproc, rcslist, and repository. 3491 * rtag.c (rtag_fileproc): Remove unused variable p. 3492 * patch.c (patch_fileproc): Remove unused variable p. 3493 * tag.c (val_fileproc): Remove unused variable node. 3494 * client.c, import.c, lock.c, server.c: Cast pid_t to long before 3495 passing it to %ld. 3496 3497 * cvs.h: Don't prototype gethostname; merely declare it (on linux, 3498 second argument is size_t not int). 3499 3500Thu Feb 29 10:29:25 MET 1996 Norbert Kiesel (nk) <nk@col.sw-ley.de> 3501 3502 * sanity.sh: added "cat > /dev/null" to loginfo entry to avoid the 3503 SIGPIPE signal 3504 3505Thu Feb 29 10:28:25 MET 1996 Norbert Kiesel (nk) <nk@col.sw-ley.de> 3506 3507 * patch.c: added new variable diff_opt 3508 (patch): allow optional parameter to -c and -u option, send it to 3509 server 3510 (patch_fileproc): cleaned up the code which prints the current 3511 filename. For "-s" option, print the pathname relative to CVSROOT 3512 instead of just the filename. 3513 3514 * filesubr.c (xchmod): added cast to shut up gcc 3515 3516 * cvs.h: added prototype for gethostname 3517 3518Thu Feb 29 10:27:25 MET 1996 Norbert Kiesel (nk) <nk@col.sw-ley.de> 3519 3520 * lock.c (write_lock), (Reader_Lock), import.c (update_rcs_file), 3521 client.c (update_entries), (send_modified), server.c (server), 3522 (receive_file), (server_updated): use %ld for printing pid_t 3523 variables 3524 3525Thu Feb 29 02:22:12 1996 Benjamin J. Lee <benjamin@cyclic.com> 3526 3527 * run.c (run_exec): Added VMS return status support. 3528 3529Thu Feb 29 01:07:43 1996 Benjamin J. Lee <benjamin@cyclic.com> 3530 3531 * client.c (send_to_server): wrtn wasn't being declared under 3532 VMS for some reason. 3533 3534Wed Feb 28 23:27:04 1996 Benjamin J. Lee <benjamin@cyclic.com> 3535 3536 * client.c: Changed #ifdef VMS && NO_SOCKET_TO_FD to 3537 #if defined(VMS) && defined(NO_SOCKET_TO_FD) 3538 3539Wed Feb 28 22:28:43 1996 Benjamin J. Lee <benjamin@cyclic.com> 3540 3541 * build_src.com: Added DCL command procedure to build 3542 and link CVS client for VMS. 3543 3544Wed Feb 28 22:07:20 1996 Benjamin J. Lee <benjamin@cyclic.com> 3545 3546 * client.c: VMS CVS client specific changes. 3547 3548 Added USE_DIRECT_TCP to allow CVS_PORT to be used to specify 3549 a TCP connection port (no Kerberos). Changed 3550 start_kerberos_server() to start_tcp_server(). 3551 3552 In copy_a_file(): transform a backup file to have a 3553 VMS-friendly name. 3554 3555 Added HAVE_CONFIG_H to include "config.h". 3556 3557 start_server() will starts the first successful of any 3558 mutually exclusive methods of starting the CVS server 3559 which might be enabled. 3560 3561 Initialized use_socket_style and server_sock for VMS in 3562 start_server(). 3563 3564Wed Feb 28 21:49:48 1996 Benjamin J. Lee <benjamin@cyclic.com> 3565 3566 * find_names.c, recurse.c, cvs.h: Changed Find_Dirs() to 3567 Find_Directories(). 3568 * cvs.h: Added VMS filenames enabled through USE_VMS_FILENAMES 3569 VMS POSIX will require to use the regular CVS filenames 3570 while VMS is #define'd. 3571 3572Wed Feb 28 21:26:22 1996 Benjamin J. Lee <benjamin@cyclic.com> 3573 3574 * ignore.c: Added the patterns *.olb *.exe _$* *$ to default 3575 ignore list for VMS. 3576 3577Wed Feb 28 13:32:28 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3578 3579 * logmsg.c (do_editor): Fix indentation. 3580 3581Wed Feb 28 12:56:49 1996 Benjamin J. Lee <benjamin@cyclic.com> 3582 3583 * logmsg.c (do_editor): If no editor is defined, exit and print 3584 a message. 3585 3586Wed Feb 28 10:40:25 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3587 3588 * vers_ts.c (time_stamp, time_stamp_server): Reindent and revise 3589 comments. 3590 3591Tue Feb 27 23:57:55 1996 Benjamin J. Lee <benjamin@cyclic.com> 3592 3593 * vers_ts.c: gmtime() returns NULL on some systems (VMS) 3594 revert to local time via ctime() if GMT is not avaiable. 3595 3596Tue Feb 27 13:07:45 1996 J.T. Conklin <jtc@rtl.cygnus.com> 3597 3598 The changes listed below cause cvs to parse each rcs file (and 3599 free the associated rcsnode after the file has been processed) 3600 sequentially. cvs used to parse all files in a directory, an 3601 approach that does not scale to huge repositories with lots 3602 of revisions/branches/tags/etc. 3603 3604 * cvs.h (struct file_info): Removed srcfiles field. Added rcs 3605 (node) field. 3606 * recurse.c (do_recursion): Removed code that pre-parsed all 3607 rcs files in the directory. 3608 (do_file_proc): Parse current rcs file. 3609 * rcs.c (RCS_parsefiles, parse_rcs_proc, RCS_addnode): Removed. 3610 (RCS_isbranch, RCS_whatbranch): Changed srcfiles argument to 3611 rcs (node). 3612 * rcs.h (RCS_parsefiles, RCS_addnode): Removed prototypes. 3613 (RCS_isbranch, RCS_whatbranch): Updated prototypes. 3614 * add.c, admin.c, checkin.c, checkout.c, classify.c, client.c, 3615 commit.c, diff.c, history.c, import.c, log.c, patch.c, remove.c, 3616 rtag.c, status.c, tag.c, update.c, vers_ts: Updated for above 3617 calling convention / data structure changes. 3618 3619Mon Feb 26 16:07:56 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3620 3621 * Version 1.7.3. 3622 3623 * Version 1.7.2. 3624 3625Mon Feb 26 1996 Jim Kingdon <kingdon@cyclic.com> 3626 3627 * recurse.c (start_recursion): Use last_component rather than 3628 checking for '/' directly. 3629 (do_dir_proc): Likewise. 3630 3631 Visual C++ lint: 3632 * client.c (send_to_server): Change wrtn to size_t. 3633 (connect_to_pserver): Put tofd and fromfd declarations inside 3634 #ifndef NO_SOCKET_TO_FD. 3635 * scramble.c (shifts): Change from array of char to array of 3636 unsigned char. 3637 3638Mon Feb 26 13:31:25 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3639 3640 * server.c (check_repository_password): Remove unused variables 3641 linelen, ch. 3642 3643 * client.c (send_file_names): Translate ISDIRSEP characters to '/'. 3644 3645Sat Feb 24 21:25:46 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3646 3647 * checkout.c (safe_location): Re-indent one line. 3648 3649Sat Feb 24 10:50:42 1996 Karl Fogel <kfogel@floss.red-bean.com> 3650 3651 * checkout.c (safe_location): put assignment to hardpath[x] in an 3652 `else'-clause, so we don't do it when x == -1. 3653 3654Sat Feb 24 01:40:28 1996 Marcus Daniels <marcus@sayre.sysc.pdx.edu> 3655 via Karl Fogel <kfogel@floss.red-bean.com> 3656 3657 * server.c (check_repository_password): Return by reference an 3658 optional username, the `host_user', from the passwd file. The 3659 host_user will be the user-id under which the cvs repository is 3660 run. 3661 (check_repository_password): Use `read_line' instead of fgets to 3662 allow for passwords larger than 32 characters, as well as the 3663 optional host user argument. 3664 (check_password): Modify to use host_user. 3665 (authenticate_connection): Modify to use host_user. 3666 3667Sat Feb 24 01:05:21 1996 Karl Fogel <kfogel@floss.red-bean.com> 3668 3669 * scramble.c (descramble): just shift descrambled string to get 3670 rid of tag char, instead of allocating a whole new copy. 3671 (scramble): cast return value of xmalloc to avoid unsightly 3672 compiler warnings. 3673 3674 * options.h.in (RCSBIN_DFLT): don't refer to AUTH_SERVER_SUPPORT 3675 in comment anymore, now that it's not defined in this file. 3676 3677Fri Feb 23 1996 Jim Kingdon <kingdon@cyclic.com> 3678 3679 * client.c: Ifdef HAVE_WINSOCK_H, include winsock.h 3680 instead of sys/socket.h and friends. 3681 * login.c: Don't include sys/socket.h and friends. 3682 * login.c (login): Only fclose fp in the case where it was 3683 successfully fopen'd. 3684 * login.c: Declare getpass. 3685 * filesubr.c, cvs.h (get_homedir): New function. 3686 * cvsrc.c, expand_path.c, history.c, login.c: Call it instead 3687 of getenv ("HOME"). 3688 3689Fri Feb 23 09:23:20 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3690 3691 * client.c (connect_to_pserver): Remove unused variable host. 3692 * login.c: Include getline.h. 3693 (login): Remove unused variables i and username. 3694 (get_cvs_password): Move free of linebuf to where it actually will 3695 be called. Add a "return NULL" at the end of the function to shut 3696 up gcc -Wall. 3697 3698 * options.h.in: Remove AUTH_SERVER_SUPPORT. 3699 * client.h (authenticate_connection): Declare. 3700 * scramble.c (scramble): Cast char to unsigned char before using 3701 it to look up in table (char might be signed). 3702 * server.c [AUTH_SERVER_SUPPORT]: Include grp.h 3703 (authenticate_connection): Remove unused variables len and 3704 server_user. 3705 3706 * sanity.sh (basica): Add comments regarding creating a top-level 3707 directory. 3708 (basic1): Don't try to remove first-dir and 3709 ${CVSROOT_DIRNAME}/first-dir at start of test; tests are now 3710 responsible for cleaning up at the end. 3711 (PLUS,DOTSTAR,ENDANCHOR): Add comments regarding fixed GNU expr. 3712 3713Thu Feb 22 22:34:11 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3714 3715 * cvs.h: Remove alloca cruft. 3716 3717Wed Feb 21 07:30:16 1996 J.T. Conklin <jtc@rtl.cygnus.com> 3718 3719 * modules.c (do_module): call free_cwd before exiting. 3720 3721 * recurse.c: Removed entries global variable. 3722 (do_recursion): Declare entries. Moved call to Entries_Close so 3723 entries list is closed on all code paths. 3724 (start_recursion): Removed call to Entries_Close, entries list has 3725 been moved to do_recursion only. 3726 3727Tue Feb 20 22:10:05 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3728 3729 * update.c (update_dirent_proc): If dir lacks a CVS subdirectory, 3730 don't recurse into it. 3731 * sanity.sh (conflicts): Test for above-fixed bug. 3732 3733 * update.c (merge_file): Use write_letter not printf. 3734 3735Tue Feb 20 12:34:07 EST 1996: Gary Oberbrunner <garyo@avs.com> 3736 and Jim Kingdon <kingdon@cyclic.com> 3737 3738 * history.c (history_write): Change username to char * and call 3739 getcaller() to set it. Setting username accidentally got deleted 3740 8 Feb 96. 3741 * sanity.sh: Revise test 64 to test for above-fixed bug. 3742 * sanity.sh (PLUS): New variable, work around yet another GNU expr 3743 bug. 3744 3745Tue Feb 20 14:07:50 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3746 3747 * sanity.sh: Merge test rtags into test basic2. They never were 3748 capable of running separately of each other. 3749 3750 * sanity.sh (deep): New test, to test ability to operate in deeply 3751 nested directories (more quickly than basic2 test did). 3752 (basic2,rtags): Remove directories dir3 and dir4. Remove file8, 3753 file10, file12, file9, file11, file13, file15, file16, file17. 3754 These additional files slowed down the tests considerably without 3755 significantly increasing coverage. 3756 3757 * sanity.sh (PROG): New variable. Use it instead of "cvs" 3758 to match the name cvs prints out for itself. 3759 3760Mon Feb 19 09:00:29 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3761 3762 This fixes a bug whereby old default attributes would get 3763 clobbered instead of added to on "cvs watch add". 3764 * hash.c (findnode): Don't check for key == NULL; let the 3765 assertion in hashp take care of it. 3766 * fileattr.h, fileattr.c (fileattr_get): If filename is NULL, 3767 return default attributes. 3768 3769 * client.c (send_repository): Fix indentation. 3770 3771Mon Feb 19 01:10:01 1996 Karl Fogel <kfogel@floss.red-bean.com> 3772 3773 * login.c (login): print out full repos so user knows which server 3774 she's logging into. 3775 3776 * client.c (send_repository): die if `repos' is NULL. This is a 3777 lame solution; see comments in code. 3778 3779Thu Feb 15 15:04:01 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3780 3781 * error.c (error): Free entire and mess when done with them. 3782 3783 * sanity.sh (info): Correct syntax of .cvsrc file. 3784 3785 * cvs.h, expand_path.c, edit.c, parseinfo.c, wrapper.c: 3786 expand_path now takes arguments containing file and line for error 3787 message, and it prints the error message itself. 3788 * sanity.sh (info-6a): Test printing of error message. 3789 3790 * expand_path.c (expand_variable): Add USER internal variable. 3791 * sanity.sh (info): Test USER and CVSROOT internal variables too. 3792 3793Wed Feb 14 19:11:08 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3794 3795 * main.c (usg): Add -s option. 3796 3797Tue Feb 13 20:26:06 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3798 3799 gcc -Wall lint: 3800 * mkmodules.c (mkmodules_usage): Remove declaration of 3801 non-existent function. 3802 * cvs.h (mkmodules): Declare. 3803 3804Mon Feb 12 12:20:04 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3805 3806 * mkmodules.c: Rename main to mkmodules and remove various pieces 3807 of scaffolding which it used to emulate non-existent parts of CVS. 3808 Change calling convention to just take a char * not argc,argv. 3809 Save and restore working directory. 3810 * commit.c (commit_filesdoneproc): Call it if checking files into 3811 CVSROOT. 3812 * Makefile.in (SOURCES): Add mkmodules.c. 3813 (OBJECTS): Add mkmodules.o. 3814 (MSOURCES,MOBJECTS): Removed. 3815 (COMMON_OBJECTS): Removed; move former contents into OBJECTS. 3816 Update other rules accordingly. 3817 * sanity.sh: Adjust to reflect nonexistence of mkmodules. 3818 3819 These changes introduce functions cvs_output and cvs_outerr; 3820 eventually all server output will go through them rather than 3821 stdio directly. 3822 * server.c (saved_output, saved_outerr): New variables. 3823 (do_cvs_command): Initialize them. 3824 (buf_output): Don't require that buf->output be set; saved_* use 3825 this to shove some data in a buffer which buf_copy_lines will 3826 later want to get data from. 3827 * server.c, cvs.h (cvs_output, cvs_outerr): New functions. 3828 * mkmodules.c (cvs_outerr): New function, so error() works. 3829 * error.c: Reindent. Don't declare program_name and command_name; 3830 cvs.h declares them. 3831 (error): Use vasprintf and cvs_outerr (or fputs in the 3832 error_use_protocol case) rather than stdio directly. 3833 * import.c (import_descend_dir): Remove kludge which had prevented 3834 messages from error() from being out of order with respect to 3835 messages from printf; cvs_output and cvs_outerr are a cleaner 3836 solution to the problem. 3837 (add_log, import): Use cvs_output not printf. 3838 * update.c (write_letter): Use cvs_output not printf. 3839 (checkout_file): Use write_letter not printf. 3840 * sanity.sh: Use dotest for test 56 (test that output is actually 3841 correct). In theory should test that the import.c bug is fixed, 3842 but I was unable to reproduce the bug (it is timing dependent). 3843 3844Mon Feb 12 16:07:45 1996 Norbert Kiesel <nk@col.sw-ley.de> 3845 3846 * commit.c: define last_register_time 3847 (commit): make sure cvs doesn't exit in the same second it wrote 3848 the last timestamp 3849 (commit_fileproc): set last_register_time 3850 (finaladd): set last_register_time 3851 3852 * run.c, cvs.h: Changed more Popen() to run_popen() 3853 3854Mon Feb 12 03:06:50 1996 Benjamin J. Lee <benjamin@cyclic.com> 3855 3856 * release.c, rtag.c, tag.c: changed 'delete' to 'delete_flag' 3857 to avoid symbol collision with DEC C RTL function delete() 3858 3859Mon Feb 12 03:01:48 1996 Benjamin J. Lee <benjamin@cyclic.com> 3860 3861 * mkmodules.c: changed 'void Lock_Cleanup()' to 'void static 3862 Lock_Cleanup() to avoid conflict with more substantial 3863 Lock_Cleanup() in lock.c 3864 3865Mon Feb 12 02:50:19 1996 Benjamin J. Lee <benjamin@cyclic.com> 3866 3867 * edit.c, logmsg.c, release.c, run.c: Changed Popen() to 3868 run_popen(). VMS' linker is not case sensitive and considered 3869 popen() and Popen() to be identical symbols. 3870 3871Sun Feb 11 10:51:14 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3872 3873 * main.c (main) [!CLIENT_SUPPORT]: Silently ignore gzip level 3874 rather than printing usage message. 3875 3876 * cvs.h, expand_path.c (variable_list): New variable. 3877 (variable_set): New function. 3878 * hash.h (enum ntype), hash.c (nodetypestring): Add VARIABLE. 3879 * expand_path.c (expand_path, expand_variable): Reindent. 3880 (expand_variable): Use user variables not environment variables 3881 for ${=VAR} syntax. The environment variables didn't work 3882 client/server. 3883 * main.c (main): Process new -s global option. 3884 * client.c (send_variable_proc): New function. 3885 (start_server): Call it, to send user variables. 3886 * server.c (serve_set): New function. 3887 (requests): Add Set request. 3888 * sanity.sh: Revise info test to use user variables rather than 3889 environment variables. 3890 3891Sat Feb 10 16:55:37 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3892 3893 By itself this is only a small cleanup, but in the long run it 3894 will be way cool (for reference, it takes CVS's text segment from 3895 290816 bytes to 294912, which I expect will be made up by future 3896 changes which this enables): 3897 * cvs.h (struct file_info): Added. 3898 (FILEPROC): Replace 5 args with single struct file_info *. 3899 * recurse.c (do_file_proc): Adjust args to fileproc; passed in 3900 instead of from globals. 3901 (do_recursion): Call do_file_proc accordingly. Remove srcfiles 3902 global variable. 3903 * update.c (update_fileproc): Renamed from update_file_proc. 3904 * admin.c, client.c, commit.c, diff.c, edit.c, log.c, patch.c, 3905 remove.c, rtag.c, status.c, tag.c, update.c, watch.c: Update 3906 fileprocs to new calling convention. 3907 3908Fri Feb 9 15:30:32 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3909 3910 * expand_path.c (expand_variable): Accept a variable name starting 3911 with '=' as a way to specify an environment variable. 3912 * sanity.sh (info): New tests, for above behavior. 3913 3914 * Makefile.in (clean): Also remove check.log check.plog. 3915 3916 * import.c (comtable): Remove SYSTEM_COMMENT_TABLE; the table 3917 should *not* depend on what kind of machine the server happens to 3918 be. Add "mak", "rc", "dlg", "frm", and "bas" types which were 3919 formerly included via SYSTEM_COMMENT_TABLE. 3920 3921 * cvs.h, rcs.h, add.c, checkin.c, classify.c, commit.c, diff.c, 3922 import.c, patch.c, rcs.c, update.c, vers_ts.c: Remove 3923 DEATH_SUPPORT ifdefs. They were introduced to facilitate merging 3924 between Cygnus and Berliner variants of CVS, not because it was 3925 intended to subset CVS this way. And they clutter up the code 3926 quite a bit. 3927 * cvs.h, create_adm.c, main.c, update.c: Likewise, remove 3928 CVSADM_ROOT ifdefs (it is still a #define, of course). I believe 3929 they had a more-or-less similar motivation. 3930 3931 * sanity.sh: Move setting of HOME from ignore test to the start of 3932 the tests so it applies to all tests. 3933 (CVS): Remove -f; the above change takes care of it. 3934 3935 * rcs.h (RCS_MERGE): Removed; unused. 3936 3937 * commit.c (checkaddfile): Fix memory leak. 3938 3939 * admin.c, commit.c, diff.c, log.c, mkmodules.c: Pass -x,v/ to RCS 3940 commands. 3941 3942 * rcscmds.c, cvs.h (RCS_checkin): New function. 3943 * checkin.c, commit.c, import.c: Call it, rather than run_*. 3944 * cvs.h, commit.c: Remove DEATH_STATE define; the behavior 3945 which used to be the default (DEATH_STATE) is now the only one. 3946 Failing to define DEATH_STATE has been commented as obsolete at 3947 least since CVS 1.5. We still can read repositories created with 3948 such a CVS, however. 3949 * rcs.h, rcs.c: Adjust comments regarding DEATH_STATE. 3950 * subr.c (make_message_rcslegal): Add comment, describing 3951 allocation of returned value. 3952 3953Fri Feb 9 09:53:44 MET 1996 Norbert Kiesel <nk@col.sw-ley.de> 3954 3955 * sanity.sh: use "${testcvs}" instead of "cvs" in devcom tests 3956 3957 * hash.c: fix "dereferencing a NULL pointer" bug triggered with 3958 "cvs watch add" 3959 (findnode): return NULL if key == NULL 3960 (hashp): assert (key != NULL) 3961 3962Fri Feb 9 00:46:47 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 3963 3964 * rcs.c (RCS_reparsercsfile): Remove unused variable date. 3965 3966 * myndbm.c (mydbm_load_file): Fix typo ('015' -> '\015'). 3967 3968Thu Feb 8 13:00:00 1996 Jim Kingdon <kingdon@peary.cyclic.com> 3969 3970 * rcs.c (RCS_parse, RCS_parsercsfile, RCS_reparsercsfile), 3971 fileattr.c (fileattr_read), myndbm.c (myndbm_open): 3972 Use FOPEN_BINARY_READ. 3973 * fileattr.c (fileattr_write), myndbm.c (myndbm_close): 3974 Use FOPEN_BINARY_WRITE. 3975 * history.c (history_write, read_hrecs): Specify OPEN_BINARY. 3976 * rcs.c: Remove calls to abort. 3977 * myndbm.c (myndbm_load_file): Ignore CRs from ends of lines 3978 if present. 3979 * myndbm.c, fileattr.c: While I am at it, change \n to \012 3980 a few places where LF is intended. 3981 * history.c (history_write): Use getenv ("HOME"), not getpwnam, 3982 to find home directory. If it isn't set, just keep going; don't 3983 print a message. 3984 * rcscmds.c, cvs.h (RCS_checkout): New function. 3985 * update.c, checkin.c, commit.c, diff.c, import.c, no_diff.c, 3986 patch.c: Call it instead of run_*. 3987 * patch.c (patch_fileproc): Clean up inconsistent handling of 3988 noexec flag. 3989 * rcscmds.c (RCS_*): Pass -x,v/ to RCS commands; elsewhere in 3990 CVS it is assumed that ,v is a suffix. 3991 3992Fri Feb 2 14:07:32 1996 J.T. Conklin <jtc@rtl.cygnus.com> 3993 3994 * rcs.h (struct rcsnode): Remove dates field (list of rcsversnodes 3995 indexed by date). CVS maintained this list for each RCS file even 3996 though it was never used. This resulted in higher then necessary 3997 memory requirements (and run time too). Even if revision info was 3998 needed, CVS' List data structure is inappropriate because can't 3999 handle duplicate keys. The above was discovered by tracking down 4000 a memory leak. 4001 * rcs.c (RCS_reparsercsfile): Don't build dates list. 4002 (freercsnode): Don't delete dates list. 4003 (rcsvers_delproc): Free date field. 4004 (null_delproc): Removed. 4005 4006Thu Feb 1 12:28:33 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 4007 4008 * remove.c (cvsremove): Don't tell user the name of the program 4009 which they use to remove files; we don't have any way of knowing 4010 that, and besides which they might use a GUI or emacs 'dired' anyway. 4011 * update.c (update_filesdone_proc, update_dirleave_proc): Call 4012 unlink_file_dir instead of rm -rf. 4013 * options.h.in: Remove RM; no longer used. 4014 4015 * sanity.sh: New tests devcom-a* test "cvs watch add", 4016 "cvs watch remove", and "cvs watchers". 4017 4018 * sanity.sh: New test 171a0 tests for watch.c bug just fixed by kfogel. 4019 4020 * Most .c files: Remove rcsids. 4021 * cvs.h: Remove USE macro. 4022 4023Thu Feb 1 13:07:15 1996 J.T. Conklin <jtc@rtl.cygnus.com> 4024 4025 * tag.c, rtag.c: Update various comments to reflect function name 4026 changes. 4027 4028Thu Feb 1 14:14:31 1996 Karl Fogel <kfogel@floss.red-bean.com> 4029 4030 * recurse.c (do_recursion): comment #endif. 4031 4032 * edit.c (notify_check): surround with #ifdef CLIENT_SUPPORT; else 4033 CVS won't compile if CLIENT_SUPPORT is undefined. 4034 4035 * edit.h (notify_check): surround declaration with #ifdef 4036 CLIENT_SUPPORT. 4037 4038 * watch.c (watch): if argc <= 1, then just give usage (previously 4039 was "argc == -1"). 4040 4041Thu Feb 1 12:28:33 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 4042 4043 * README-rm-add: Remove information which is now in cvs.texinfo. 4044 4045 * sanity.sh: Remove basic0 tests. Move a few to new tests 4046 basica-1a* (but there is no need to test that *every* command 4047 gracefully does nothing on an empty directory; exhaustive testing 4048 is impractical and the generic recursion processor handles this 4049 anyway). 4050 4051 * sanity.sh: New tests 69a* test use of update -p to restore old 4052 version of dead file. 4053 4054Wed Jan 31 18:32:34 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 4055 4056 * ChangeLog-9395: Remove duplicate entries from 1996 which 4057 accidentally got into this file. 4058 4059 * client.c (read_line, read_from_server): Change "premature end of 4060 file from server" message to "end of file from server (consult 4061 above messages if any)" because 99% of the time it means rsh has 4062 printed an error message and exited. 4063 4064Wed Jan 31 15:09:51 1996 J.T. Conklin <jtc@rtl.cygnus.com> 4065 4066 * edit.c (ncheck_fileproc): Fix memory leak; free line before 4067 returning. 4068 4069Tue Jan 30 18:06:12 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 4070 4071 * recurse.c (do_recursion): Add comment about the fact that we 4072 don't have locks in place at certain points. 4073 4074Tue Jan 30 09:43:34 1996 Vince Demarco <vdemarco@bou.shl.com> 4075 4076 * edit.c (notify_proc): have notify_proc call expand_path with 4077 the name of the filter program. The user may have used a 4078 cvs environmental variable. (Popen will expand it, but it may not 4079 use the correct value) 4080 4081Tue Jan 30 09:43:34 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 4082 4083 * ChangeLog: take the pre-1996 changes and put them in a new file 4084 ChangeLog-9395. 4085 * ChangeLog-9194: Renamed from ChangeLog.fsf. 4086 * ChangeLog-9194, ChangeLog-9395, ChangeLog: Add additional text 4087 explaining the difference between all these logs and pointing to 4088 older logs. 4089 * Makefile.in (DISTFILES): Add ChangeLog-9194 and ChangeLog-9395; 4090 remove ChangeLog.fsf. 4091 4092 * modules.c (do_module): Don't fall through from 'l' to 'o' case 4093 of option processing switch statement. 4094 4095Tue Jan 30 06:50:19 1996 J.T. Conklin <jtc@rtl.cygnus.com> 4096 4097 * client.c (send_repository): Fix memory leak; free adm_name 4098 before returning. 4099 * diff.c (diff_file_nodiff): Fix memory leak; free xvers before 4100 returning. 4101 * rtag.c (rtag_fileproc): Fix memory leak; if branch_mode is set, 4102 free rev before returning. 4103 * status.c (status_fileproc, tag_list_proc): Fix memory leak; free 4104 return value of RCS_whatbranch. 4105 * tag.c (tag_fileproc): Fix memory leak; free vers before 4106 returning. 4107 (val_fileproc): Fix memory leak; free return value of RCS_gettag. 4108 * watch.c (watch_modify_watchers): Fix memory leak; free mynewattr 4109 before returning. 4110 4111Tue Jan 30 09:43:34 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 4112 4113 * lock.c (readers_exist): If stat gave an error, print an error 4114 message saying it was from stat, rather than from "reading 4115 directory". Skip the message completely if it was an 4116 existence_error. 4117 4118 * sanity.sh (branches): New tests (branches off of branches, etc.). 4119 4120Tue Jan 30 11:55:34 MET 1996 Norbert Kiesel <nk@col.sw-ley.de> 4121 4122 * main.c (main): Add change to run getopt_long twice again. 4123 4124Mon Jan 29 15:59:31 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 4125 4126 gcc -Wall lint: 4127 * client.c: Include edit.h 4128 4129Sun Jan 28 09:45:53 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 4130 4131 * edit.c, edit.h (mark_up_to_date): New function, to remove file 4132 in CVS/Base. 4133 * client.c (update_entries): Call it if file is up to date. 4134 * checkin.c (Checkin): Call it in non-server (local) case. 4135 * sanity.sh: New test 182.5, tests for above-fixed bug. 4136 4137Sun Jan 28 01:07:22 1996 Jim Kingdon (kingdon@beezley) 4138 4139 * client.c (change_mode): Separate out CHMOD_BROKEN code to parse 4140 mode_string, rather than going through a mode_t. Cleaner than 4141 the previous CHMOD_BROKEN code (which also had a typo of && not &). 4142 4143Sat Jan 27 23:29:46 1996 Jim Kingdon (kingdon@beezley) 4144 4145 * edit.c (edit_fileproc): Check for EACCESS as well as EEXIST. 4146 4147Sat Jan 27 16:26:30 1996 Karl Fogel (kfogel@floss.cyclic.com) 4148 4149 * client.c (notified_a_file): use rename_file() instead of 4150 rename() (but temporarily set `noexec' to 0 so it runs 4151 unconditionally). 4152 (change_mode): deal with CHMOD_BROKEN. 4153 4154Fri Jan 26 00:14:00 1996 Karl Fogel <kfogel@floss.red-bean.com> 4155 4156 * server.c: renamed `dirname' to `dir_name', to avoid conflicts 4157 with system headers. 4158 4159 * client.c: renamed `dirname' and `last_dirname' to `dir_name' and 4160 last_dir_name' (see above). Not strictly necessary, but 4161 consistency is nice -- as long as you do it all the time. 4162 4163Thu Jan 25 00:41:59 1996 Karl Fogel <kfogel@floss.red-bean.com> 4164 4165 * options.h.in (AUTH_SERVER_SUPPORT, AUTH_CLIENT_SUPPORT): change 4166 comment now that no longer under construction. 4167 4168Wed Jan 24 15:25:22 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 4169 4170 * Version 1.7.1. 4171 4172 * Version 1.7. 4173 4174Sat Jan 20 00:05:08 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 4175 4176 * Version 1.6.87. 4177 4178Mon Jan 15 18:14:55 1996 Gary Oberbrunner <garyo@avs.com> 4179 and Jim Kingdon <kingdon@harvey.cyclic.com> 4180 4181 * tag.c (val_direntproc): New function to ignore 4182 nonexistent dirs when recursing to check tag validity. 4183 (tag_check_valid): Pass it to start_recursion. 4184 * sanity.sh (death): New tests 65a0-65a6 cause test 74 to test for 4185 above-fixed bug. 4186 4187Mon Jan 15 12:55:37 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 4188 4189 * main.c: Revert change to run getopt_long twice. This can go in 4190 after 1.7. 4191 4192Mon Jan 15 13:03:28 1996 Norbert Kiesel <nk@col.sw-ley.de> 4193 4194 * filesubr.c (deep_remove_dir): added test of EEXIST for nonempty 4195 directory (Posix states that both ENOTEMPTY (BSD) and EEXIST 4196 (SYSV) are valid) 4197 4198 * main.c (main): run getopt_long twice to allow command-line 4199 suppression of reading the cvsrc file 4200 4201Fri Jan 12 10:02:43 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 4202 4203 * Version 1.6.86. 4204 4205Thu Jan 11 23:28:05 1996 J.T. Conklin <jtc@rtl.cygnus.com> 4206 and Jim Kingdon <kingdon@harvey.cyclic.com> 4207 4208 * fileattr.h (fileattr_startdir): Add comment about REPOS == NULL. 4209 * fileattr.c (fileattr_read, fileattr_write): Assert that 4210 fileattr_stored_repos != NULL. 4211 (fileattr_free): If fileattr_stored_repos is NULL, don't free it. 4212 4213Thu Jan 11 18:03:21 1996 Karl Fogel <kfogel@floss.red-bean.com> 4214 4215 * scramble.c (descramble): deal with DIAGNOSTIC better. 4216 4217Thu Jan 11 12:04:42 1996 Norbert Kiesel <nk@col.sw-ley.de> 4218 4219 * main.c: remove CVS_NOADMIN. 4220 4221 * options.h.in: remove CVS_NOADMIN 4222 4223Thu Jan 11 10:28:44 1996 Karl Fogel <kfogel@floss.red-bean.com> 4224 4225 * scramble.c (descramble): make sure the string returned is safe 4226 to free(). 4227 4228Wed Jan 10 01:11:23 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 4229 4230 * server.c (serve_notify): Cast return value from malloc. 4231 4232 * edit.c (notify_do): Use struct assignment, not struct 4233 initialization (which SunOS4 /bin/cc doesn't have). 4234 4235Tue Jan 9 09:41:29 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 4236 4237 * Version 1.6.85. 4238 4239 We use version numbers instead of patchlevels. But there was some 4240 confusing patchlevel stuff lying around. Nuke it: 4241 * Makefile.in (HEADERS): Remove patchlevel.h 4242 * patchlevel.h: Removed. 4243 * main.c: Don't include patchlevel.h. 4244 (main): Don't print patch level. 4245 4246 * server.c (check_repository_password): Check for errors from 4247 system calls; reindent function. 4248 4249Tue Jan 9 23:15:30 1996 Karl Fogel <kfogel@floss.red-bean.com> 4250 4251 * expand_path.c: fix comments (explain expand_path()'s behavior 4252 correctly). 4253 4254Tue Jan 9 09:41:29 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 4255 4256 * edit.c (notify_proc): After copying in string following %s, 4257 don't clobber it. Instead set up q to end of string. 4258 4259 * watch.c (watch_modify_watchers), edit.c (editor_set): Fix sense 4260 of test in trying to decide whether attributes are changed. 4261 4262 * cvs.h (CVSROOTADM_USERS): New macro. 4263 * edit.c (notify_do): Look up notifyee in CVSROOTADM_USERS if it 4264 exists. 4265 4266Tue Jan 9 21:39:45 1996 Karl Fogel <kfogel@floss.red-bean.com> 4267 4268 * expand_path.c: don't redundantly #include things that cvs.h 4269 already #includes (i.e., stdio.h, ctype.h, string[s].h). 4270 4271Tue Jan 9 09:41:29 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 4272 4273 * ignore.c (ign_default): Add *.obj. 4274 4275 * server.c: Put /* */ around #endif comment. 4276 4277Mon Jan 8 20:37:17 1996 Karl Fogel <kfogel@floss.red-bean.com> 4278 4279 * client.c (connect_to_pserver): check return value of recv(). 4280 4281Mon Jan 8 11:37:57 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 4282 4283 * client.c (connect_to_pserver): Check for error from connect; 4284 reindent function. 4285 4286 * sanity.sh (4.75): Use dotest, so we get a PASS if test passes. 4287 4288 * sanity.sh (dotest): New argument OUTPUT2. 4289 (188a): Use it instead of \|. 4290 4291 * sanity.sh (import): Avoid using string $ followed by Id followed 4292 by $ in sanity.sh source, in case sanity.sh itself is under CVS. 4293 I hate keyword expansion. 4294 4295 * sanity.sh: If expr cannot handle multiline expressions, fail and 4296 tell the user to get one which can. 4297 4298 * release.c (release_delete): Remove unused variable retcode. 4299 4300Fri Jan 5 13:30:00 1996 Jim Kingdon <kingdon@peary.cyclic.com> 4301 4302 * release.c (release_delete): Call unlink_file_dir rather 4303 than "rm -rf". 4304 4305Thu Jan 4 09:58:30 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 4306 4307 * commit.c (find_fileproc): Print "nothing known about foo" and 4308 return 1 if the file doesn't exist and isn't in CVS/Entries. 4309 (commit): If the recursion over find_fileproc returns an error, 4310 print "correct above errors first!" just like local CVS. 4311 * sanity.sh (basica): Test for above-fixed bug. 4312 4313 * release.c (release): If we are the client, only unedit if the 4314 server supports it. 4315 4316 * sanity.sh: Remove STARTANCHOR stuff; expr patterns are 4317 automatically anchored to the start. ENDANCHOR remains. 4318 4319 * commit.c (commit): Don't start the server until we have 4320 determined that there is something to commit. 4321 4322Thu Jan 4 09:48:33 1996 Ben Laurie <ben@gonzo.ben.algroup.co.uk> 4323 and Jim Kingdon <kingdon@harvey.cyclic.com> 4324 4325 * client.c (start_server): dup the file descriptor before 4326 fdopening it. 4327 4328Wed Jan 3 18:25:25 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 4329 4330 * sanity.sh: Remove tests 5, 5.5, and 5.75. All that stuff is 4331 tested elsewhere. 4332 4333 * ignore.c (ign_default): Change CVS* to CVS CVS.adm. CVS* is too 4334 broad, especially in a case-insensitive filesystem. 4335 4336 * Makefile.in (cvsbug): version.c is in srcdir. 4337 4338Wed Jan 3 17:30:45 1996 Phi-Long Tran <ptran@autodesk.com> 4339 4340 * modules.c (do_module): Honor error_use_protocol in printing trace. 4341 * server.c (server_register): Move check for options NULL to above 4342 printing of the trace. 4343 4344Wed Jan 3 01:19:53 1996 Mark Immel <immel@centerline.com> 4345 and Jim Kingdon <kingdon@harvey.cyclic.com> 4346 4347 * update.c (checkout_file): Do not resurrect file on join if it 4348 doesn't contain the revisions we are joining. Probably not a 4349 perfect test, but should be an improvement. 4350 * sanity.sh (death): New death-file4-* tests, for bug fixed above. 4351 4352Wed Jan 3 01:19:53 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 4353 4354 * add.c, admin.c, checkout.c, client.c, commit.c, diff.c, edit.c, 4355 history.c, import.c, log.c, patch.c, release.c, remove.c, rtag.c, 4356 status.c, tag.c, update.c, watch.c: In calling send_to_server, 4357 pass \012 not \n. On the Mac \n is CR, not LF, and we want to 4358 send LF. I didn't try to deal with whether files in CVSADM should 4359 contain CR or LF--in fact there is some code in client.c which 4360 reads \n from CVSADM files and passes it to send_to_server; it 4361 needs to be cleaned up one way or the other. 4362 4363 * entries.c (Entries_Open): Don't try to close fpin twice. 4364 4365 * client.c (update_entries): Fix typo ("strlen (filename + 10)" 4366 -> "strlen (filename) + 10"). 4367 4368 * commit.c (checkaddfile): Remove arbitrary limit. 4369 4370Tue Jan 2 11:25:22 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 4371 4372 * commit.c (commit): Only pass files which were modified, added, 4373 or removed to send_file_names. This has as a side effect a 4374 semantic change--the up-to-date check is now skipped for other 4375 files--but probably a good one, or at least not a bad one. 4376 * sanity.sh (basica): New test; tests for bug fixed above. 4377 * sanity.sh (187a3): Adjust for new 'cvs commit' output. Set up 4378 DOTSTAR to match arbitrary text (another GNU expr bug/misfeature, 4379 sigh). 4380 4381 * sanity.sh: Test that the commit in test 43 actually worked. 4382 Merge tests basic2 and basic3 and make them independent of basic1. 4383 (pass,fail): Don't insert spurious space. 4384 (45.5): Fix typo in directory name. 4385 4386Tue Jan 2 13:00:00 1996 Jim Kingdon <kingdon@peary.cyclic.com> 4387 4388 Visual C++ lint: 4389 * myndbm.c: Prototype write_item. 4390 4391Tue Jan 2 11:25:22 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 4392 4393 gcc -Wall lint: 4394 * client.c (client_expand_modules): Pass error message not "" to error. 4395 * client.c (supported_request), server.c (supported_response): 4396 Return a value (gcc -Wall can't know that error doesn't return). 4397 * commit.c (copy_ulist): Return a value. 4398 * history.c (fill_hrec): Don't make assumptions about whether 4399 time_t is "int" or "long" or what. 4400 * cvs.h: Declare link_file. 4401 * server.c: Include fileattr.h. 4402 * server.c (server_notify): Remove unused variable val. 4403 * tag.c (val_fileproc): Remove unused variable foundtag. 4404 4405Mon Jan 1 09:49:16 1996 Jim Kingdon <kingdon@harvey.cyclic.com> 4406 4407 * Version 1.6.5. 4408 4409 * Version 1.6.4. 4410 4411 * filesubr.c (link_file): Add comment about link vs. copy semantics. 4412 4413 * cvs.h (struct vers_ts): Fix comments. 4414 * commit.c (commit): Before we ask for a log message, figure out 4415 what is modified and what is not and pass the information to 4416 do_editor. 4417 (copy_ulist,find_fileproc): New helper functions for above code. 4418 4419 * client.c (read_line): When writing to from_server_logfile, write 4420 the \n too. 4421 4422 * client.c (send_files): No longer call send_file_names. 4423 * client.h: Update comment. 4424 * add.c, admin.c, commit.c, diff.c, edit.c, log.c, remove.c, 4425 status.c, tag.c, update.c, watch.c: Call send_file_names before 4426 send_files. 4427 * client.c: New variables module_argc, module_argv. 4428 (client_expand_modules): Set them, to arguments. 4429 (client_send_expansions): Use them instead of modules_vector to 4430 send arguments. 4431 * sanity.sh (modules): Add test of modules -d flag. 4432 4433 4434For older changes see ChangeLog-9395. 4435