1Note: this log overlaps in time with ChangeLog-9194. There was a time 2during which changes which had been merged into the official CVS 3(which produced releases such as 1.4A1 and 1.4A2) went into what has 4become ChangeLog-9194, and changes which existed only at Cygnus went 5into this file (ChangeLog-9395). Eventually the Cygnus release became 6Cyclic CVS (as it was then called), which became CVS 1.5, so probably 7all the changes in both (what are now) ChangeLog-9194 and 8ChangeLog-9395 made it into 1.5. 9 10Sun Dec 31 17:33:47 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 11 12 * import.c (add_rev): Revert portion of 31 Aug 95 change which 13 passes -u to ci instead of using a hard link. 14 * sanity.sh (import): Add test for above-fixed bug. 15 16Sun Dec 31 16:40:41 1995 Peter Chubb <peterc@bookworm.sw.oz.au> 17 and Jim Kingdon <kingdon@cyclic.com> 18 19 * admin.c (admin_fileproc): Call freevers_ts before returning. 20 21Mon Dec 25 12:20:06 1995 Peter Wemm <peter@haywire.DIALix.COM> 22 23 * logmsg.c (rcsinfo_proc): initialise line and 24 line_chars_allocated so they dont cause malloc problems within 25 getline(). This was causing rcsinfo templates to not work. 26 27Sun Dec 24 01:38:36 1995 Karl Fogel <kfogel@floss.cyclic.com> 28 29 * server.c (authenticate_connection): clarify protocol. 30 31 * login.c (login): deprolixify the password prompt. 32 33Sat Dec 23 10:46:41 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 34 35 * myndbm.h, myndbm.c (dbm_store): New function. 36 * myndbm.h (DBM): Add modified and filename fields. 37 * myndbm.c (dbm_open, dbm_close): Manipulate new fields. dbm_open 38 no longer fails if the file doesn't exist and O_CREAT is set. 39 * cvs.h (CVSROOTADM_VALTAGS): Added. 40 * tag.c, cvs.h (tag_check_valid): New function. 41 * update.c (update), checkout.c (checkout_proc), commit.c (commit), 42 diff.c (diff), patch.c (patch_proc), rtag.c (rtag_proc), tag.c (tag): 43 Call it. 44 * sanity.sh: Test for rejection of invalid tagname. 45 46Fri Dec 22 18:21:39 1995 Karl Fogel <kfogel@csxt.cs.oberlin.edu> 47 48 * client.c (start_server): don't use kerberos if authenticating 49 server was specified. 50 51Fri Dec 22 16:35:57 1995 Karl Fogel <kfogel@csxt.cs.oberlin.edu> 52 53 * login.c (login): deal with new scramble methods. 54 (get_cvs_password): same. 55 56 * server.c (check_repository_password): remove arbitrary limit on 57 line length. 58 (authenticate_connection): use a separate variable for the 59 descrambled password, now that we no longer scramble in place. 60 Set `error_use_protocol' to 1 and just use error() where used to 61 do its job inline. 62 63 * cvs.h (scramble, descramble): adjust prototype. 64 65 * scramble.c (scramble, descramble): return char *. 66 67Fri Dec 22 13:00:00 1995 Jim Kingdon <kingdon@peary.cyclic.com> 68 69 * release.c (release): If SERVER_SUPPORT is not defined, still 70 set up arg_start_idx. 71 72 * release.c (release): When calling unedit, set argv[1] to 73 NULL (since argc is only 1). 74 75 * edit.c: Pass dosrcs 0 to all calls to start_recursion. 76 None of the fileprocs were using it, so it just slowed things 77 down and caused potentially harmful checks for rcs files. 78 79 * edit.c (send_notifications): In client case, do not readlock. 80 81Thu Dec 21 16:00:00 1995 Jim Kingdon <kingdon@peary.cyclic.com> 82 83 Clean up Visual C++ lint: 84 * client.c (read_line): Change input_index and result_size to size_t. 85 (update_entries): Remove unused variables buf2, size_left, size_read. 86 (handle_mode): Prototype. 87 * client.c, client.h (send_to_server, read_from_server): Change 88 len to size_t. 89 * client.c (send_to_server): Change wrtn to size_t. 90 (read_from_server): Change red to size_t. 91 * client.c, myndbm.c, edit.c, fileattr.c: Include getline.h. 92 * checkin.c, commit.c, update.c: Include fileattr.h. 93 * commit.c, update.c: Include edit.h. 94 * edit.c (onoff_filesdoneproc): Prototype. 95 (ncheck_fileproc,edit_fileproc): Change "return" to "return 0". 96 (notify_do): Cast a signed value to unsigned before comparing 97 with unsigned value. 98 99Thu Dec 21 15:24:37 1995 Karl Fogel <kfogel@occs.cs.oberlin.edu> 100 101 * client.c: don't include socket headers twice just because 102 both HAVE_KERBEROS and AUTH_CLIENT_SUPPORT are set. 103 (start_kerberos_server): if fail to connect to kerberos, print out 104 a more specific error message, mainly so pcl-cvs can know what 105 happened and not panic. 106 (start_server): don't assume sprintf() returns len 107 written (only some systems provide this); instead, have 108 send_to_server() calculate the length itself. 109 (send_modified): same. 110 (send_fileproc): same. 111 (send_file_names): same. 112 113Wed Dec 20 14:00:28 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 114 115 * update.c (ignore_files): Move from here... 116 * ignore.c (ignore_files): ...to here. No longer static. Take 117 new argument PROC. 118 * cvs.h (ignore_files): Declare. 119 * client.c (send_filesdoneproc): Split off from 120 update_filesdone_proc. Pass new function send_ignproc to 121 ignore_files (to ask server about ignored file before printing 122 "?"). 123 * server.c: Rename outbuf from but_to_net and take it from 124 do_cvs_command to a global. Move initialization accordingly. 125 (serve_questionable): New function. 126 (requests): Add it. 127 * update.c (update_filesdone_proc): Remove client stuff. Pass new 128 function update_ignproc to ignore_files. 129 * cvs.h (joining, do_update): Move declarations from here... 130 * update.h: ...to here. 131 * cvs.h: Include update.h. 132 * update.c, client.c: Don't include update.h 133 * ignore.c, cvs.h: New variable ign_inhibit_server, set on -I !. 134 * import.c (import): Pass -I ! to server if specified. 135 (import_descend): If server, ignore CVS directories even if -I !. 136 * update.c (update), import.c (import): Only call ign_setup before 137 argument processing; don't call it again afterwards in client case. 138 * sanity.sh (ignore): Test above-fixed bugs and other ignore behaviors. 139 (dotest): New function. 140 Move modules checkin from modules test to start, so that other 141 tests can use mkmodules without a warning message. 142 143Wed Dec 20 13:06:17 1995 Karl Fogel <kfogel@floss.cyclic.com> 144 145 * client.c (send_to_server): don't check string's length twice. 146 147Wed Dec 20 02:05:19 1995 Karl Fogel <kfogel@floss.cyclic.com> 148 149 * login.c (login): took out debugging printf's. 150 (login): Removed unused variable `p'. 151 152Wed Dec 20 00:27:36 1995 Karl Fogel <kfogel@floss.cyclic.com> 153 154 * login.c (login): prefix scrambled password with 'A', so we know 155 which version of scrambling was used. This may be useful in the 156 future. 157 (get_cvs_password): skip past the leading 'A'. 158 Scramble $CVS_PASSWORD before returning it. 159 160 * scramble.c: made this work. 161 162Tue Dec 19 17:45:11 1995 Karl Fogel <kfogel@floss.cyclic.com> 163 164 * login.c (cvs_password): new static var, init to NULL. 165 (login): scramble() the password before using it. 166 Verify the password with the server. 167 Check CVSroot more carefully to insure that it is 168 "fully-qualified". 169 (get_cvs_password): if cvs_password is not NULL, just return it. 170 Never prompt -- just tell user why failed, then exit. 171 Try CVS_PASSWORD environment variable first. 172 (construct_cvspass_filename): try CVS_PASSFILE environment 173 variable first. 174 175 * client.h (connect_to_pserver): update prototype. 176 177 * client.c (cvsroot_parsed): new static var. 178 (parse_cvsroot): set `cvsroot_parsed' to 1 when done. 179 (connect_to_pserver): return int. 180 Take `verify_only' arg. If it is non-zero, perform password 181 verification with the server and then shut down the connection and 182 return. 183 Call parse_cvsroot() before doing anything. 184 185 * server.c (authenticate_connection): deal with verification 186 requests as well as authorization requests. 187 descramble() the password before hashing it. 188 189 * cvs.h: prototype scramble() and descramble(). 190 191 * Makefile.in: build scramble.o. 192 193 * scramble.c: new file, provides trivial encoding but NOT real 194 encryption. 195 196Mon Dec 18 20:57:58 1995 Karl Fogel <kfogel@floss.cyclic.com> 197 198 * login.c (login): don't insert extra newlines. They were 199 harmless, but confusing. 200 201Mon Dec 18 15:32:32 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 202 203 * hash.c, hash.h (findnode_fn): New function. 204 * hash.c (hashp): Tweak hash function so that findnode_fn works. 205 * update.c (ignore_files): Call findnode_fn, not findnode. 206 207Mon Dec 18 09:34:56 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 208 209 * myndbm.c: Remove arbitrary limit. 210 211 * client.c: Fix comment--Windows 95 requires NO_SOCKET_TO_FD, not 212 Windows NT. 213 214Mon Dec 18 01:06:20 1995 Karl Fogel <kfogel@floss.cyclic.com> 215 216 * client.c (server_sock): replaces `server_socket'. 217 (start_kerberos_server): added FIXME comment about how 218 NO_SOCKET_TO_FD is not dealt with in the kerberos case. 219 (connect_to_pserver): deal with NO_SOCKET_TO_FD case. 220 (read_line): deal with NO_SOCKET_TO_FD case. 221 (read_from_server): deal with NO_SOCKET_TO_FD case. 222 (send_to_server): deal with NO_SOCKET_TO_FD case. 223 (get_responses_and_close): deal with NO_SOCKET_TO_FD case. 224 225 * client.c (send_to_server): error check logging. 226 (start_server): error check opening of logfiles. 227 (read_from_server): error check logging. 228 (read_line): use fwrite() to log, & error_check it. 229 Don't log if using socket style, because read_from_server() 230 already logged for us. 231 232Mon Dec 18 00:52:26 1995 Karl Fogel <kfogel@floss.cyclic.com> 233 234 * client.c (use_socket_style): new static var, init to 0. 235 (server_socket): new static var. 236 (connect_to_pserver): don't deal with logging here. 237 Caller changed. 238 (start_kerberos_server): don't deal with logging here either. 239 Caller changed. 240 241Mon Dec 18 00:40:46 1995 Karl Fogel <kfogel@floss.cyclic.com> 242 243 * client.c (send_modified): don't error-check `to_server'; 244 send_to_server() does that now. 245 246Mon Dec 18 00:19:16 1995 Karl Fogel <kfogel@floss.cyclic.com> 247 248 * login.c (get_cvs_password): Init `linebuf' to NULL. 249 free() `linebuf' and reset it for each new line. 250 (login): same as above. 251 252 * client.c: Removed all the varargs prototyping gunk. 253 (to_server, from_server): make these static. 254 (from_server_logfile, to_server_logfile): new vars. 255 (start_server): init above two new vars to NULL. 256 (send_to_server): return void. 257 Correct bug in which amount to be written would be too high if the 258 loop ever ran more than once. 259 Log to `to_server_logfile' if it's non-NULL. 260 (read_from_server): new func, does raw reading from server. 261 Logs to `from_server_logfile' if it's non-NULL. 262 (update_entries): just use read_from_server() instead of looping 263 to fread() directly from `from_server'. 264 (read_line): Log to `from_server_logfile' if it's non-NULL. 265 266 * client.h: send_to_server() returns void now. 267 (read_from_server): prototype. 268 269Sun Dec 17 19:38:03 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 270 271 * checkout.c (checkout_proc), client.c, lock.c (readers_exist), 272 login.c, modules.c (cat_module, do_module): Remove arbitrary limits. 273 274 * client.c (send_to_server): Fix typo (NULL -> '\0'). 275 (get_responses_and_close): Set server_started to 0 instead of 276 setting to_server and from_server to NULL. 277 * client.c: Make to_server and from_server static. 278 279Sun Dec 17 17:59:04 1995 Karl Fogel <kfogel@floss.cyclic.com> 280 281 * client.h (to_server, from_server): don't declare these anymore. 282 They are now entirely private to client.c (and in fact will go 283 away soon there too). 284 285Sun Dec 17 15:40:58 1995 Karl Fogel <kfogel@floss.cyclic.com> 286 287 * client.h: update prototype of send_to_server(). 288 289 * client.c, watch.c, update.c, tag.c, status.c, rtag.c, remove.c, 290 release.c, patch.c, log.c, import.c, history.c, edit.c, diff.c, 291 commit.c, client.c, checkout.c, admin.c, add.c: 292 Convert all send_to_server() calls that used formatting to send 293 pre-formatted strings instead. And don't error check 294 send_to_server(), because it does its own error checking now. 295 296 * client.c (send_to_server): don't use vasprintf(), just fwrite a 297 certain number of bytes to the server. And do error checking 298 here, so our callers don't have to. 299 (send_arg): use send_to_server() instead of putc()'ing 300 directly to `to_server'. 301 302Sun Dec 17 14:37:52 1995 Karl Fogel <kfogel@floss.cyclic.com> 303 304 * options.h.in (AUTH_CLIENT_SUPPORT, AUTH_SERVER_SUPPORT): 305 Define to 1 but leave commented out, instead of #undef'ing them. 306 This treats them like everything else in this file. 307 308 * client.c: define server_started, init to 0. 309 (start_server): set server_started to 1. 310 311 * client.h: declare `server_started', extern. 312 AUTH_CLIENT_SUPPORT moved here from cvs.h. 313 314 * cvs.h: moved AUTH_CLIENT_SUPPORT stuff to client.h. 315 316 * edit.c (notify_check): use new var server_started. 317 318Sun Dec 17 00:44:17 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 319 320 * client.c (get_responses_and_close): Really stop ignoring ECHILD 321 errors. The Nov 30 1995 change claimed to do this, but the code 322 was not actually changed. 323 324 * update.c (ignore_files): Revert H.J. Lu change; it was wrong for 325 directories and sometimes looked at sb.st_mode when it wasn't set. 326 * import.c (import_descend): Revert H.J. Lu change; it was wrong 327 for directories and the extra lstat call was an unnecessary 328 performance hit. 329 * sanity.sh (import): Add test for the second of these two bugs. 330 331Sat Dec 16 17:26:08 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 332 333 * client.c (send_to_server): Remove arbitrary limit. Also remove 334 !HAVE_VPRINTF code; all relevant systems have vprintf these days. 335 336Sat Dec 16 21:35:31 1995 Karl Fogel <kfogel@floss.cyclic.com> 337 338 * checkout.c (checkout): use send_to_server() now. 339 340Sat Dec 16 21:18:16 1995 H.J. Lu (hjl@gnu.ai.mit.edu) 341 (applied by kfogel@cyclic.com) 342 343 * import.c (import_descend): We ignore an entry if it is 344 1. not a file, nor a link, nor a directory, or 345 2. a file and on the ignore list. 346 347 * update.c (ignore_files): We ignore any thing which is 348 1. not a file, or 349 2. it is a file on the ignore list. 350 351Sat Dec 16 00:14:19 1995 Karl Fogel <kfogel@floss.cyclic.com> 352 353 * client.c (send_to_server): corrected comment. 354 355 * client.h: prototype new func send_to_server(). 356 357 * add.c, admin.c, client.c, commit.c, diff.c, edit.c, history.c, 358 import.c, log.c, patch.c, release.c, remove.c, rtag.c, status.c, 359 tag.c, update.c, watch.c: 360 Use send_to_server() instead of writing directly to to_server. 361 362 * client.c: conditionally include the right stuff for variable arg 363 lists. 364 (send_to_server): new func. 365 366Fri Dec 15 23:10:22 1995 Karl Fogel <kfogel@floss.cyclic.com> 367 368 * error.c: expanded comments. 369 370 * client.c (connect_to_pserver): verbosify errors. 371 (connect_to_pserver): use send() and recv(), not write() and 372 read(). Sockets are not file descriptors on all systems. 373 374Fri Dec 15 22:36:05 1995 Karl Fogel <kfogel@floss.cyclic.com> 375 376 * client.c (connect_to_pserver): oops, removed old debugging 377 printf. 378 379Fri Dec 15 18:21:16 1995 Karl Fogel (kfogel@floss.cyclic.com) 380 381 * client.c (auth_server_port_number): don't call htons(); 382 init_sockaddr() does that for us. 383 (init_sockaddr): zero the sockadder_in struct before doing 384 anything with it. IBM TCP/IP docs recommend this, and it can't 385 hurt. 386 387Fri Dec 15 15:21:53 1995 Karl Fogel <kfogel@floss.cyclic.com> 388 389 * client.c (connect_to_pserver): new var `port_number', initialize 390 with new func auth_server_port_number() and pass to 391 init_sockaddr(). 392 (auth_server_port_number): new func. Right now it just returns 393 `htons (CVS_AUTH_PORT)'. We'll probably add the ability to 394 specify the port at run time soon, anyway, so having this function 395 will make that easier. 396 397Wed Dec 6 18:08:40 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 398 399 * cvs.h: Add CVSREP. 400 * find_names.c (find_dirs): Skip CVSREP too. 401 * fileattr.h, fileattr.c: New files, to manipulate file attributes. 402 * hash.c (nodetypestring), hash.h (enum ntype): Add FILEATTR. 403 * hash.c, hash.h (list_isempty): New function. 404 * recurse.c (do_recursion): Call fileattr_startdir before 405 processing files in a directory and fileattr_write and 406 fileattr_free (after files, before recursing). 407 * watch.c, watch.h: New files, to handle notification features. 408 * edit.c, edit.h: New file, to handle new read-only checkout features. 409 * client.c, server.c: Add "Mode" request, to change the mode of a file 410 when it is checked in. 411 * main.c (cmds): Add "watch", "edit", "unedit", "watchers", "editors". 412 * main.c: Split command help from usg into new variable cmd_usage, 413 which. 414 (main): Add --help-commands option to print out cmd_usage. 415 * cvs.h: Declare watch, edit, unedit, watchers, editors. 416 * client.c, client.h: Add client_watch, client_edit, client_unedit, 417 client_watchers, client_editors. 418 * client.c, server.c: Add notification stuff. 419 * update.c (checkout_file, patch_file), checkin.c (Checkin): Check 420 _watched attribute when deciding read-only or read-write. 421 * commit.c (checkaddfile): Call fileattr_newfile to set attributes 422 on newly created files. 423 * release.c (release): 424 * cvs.h: Add CVSADM_NOTIFY and CVSADM_NOTIFYBAK. 425 * recurse.c (do_recursion): Call notify_check. 426 * commit.c (commit_fileproc): Call notify_do after committing file. 427 * client.c (get_responses_and_close): Set to_server and from_server 428 to NULL so that it is possible to tell whether we are speaking to 429 the server. 430 * cvs.h: Add CVSROOTADM_NOTIFY. 431 * mkmodules.c (main): Add CVSROOTADM_NOTIFY to filelist. 432 * Makefile.in (SOURCES,OBJECTS,HEADERS): Add new files mentioned above. 433 * lock.c, cvs.h (lock_tree_for_write, lock_tree_cleanup): New 434 functions, taken from old commit.c writelock code. As part of 435 this, fsortcmp and lock_filesdoneproc go from commit.c to lock.c. 436 So does locklist but it gets renamed to lock_tree_list. 437 * commit.c: Use lock_tree_*. 438 439Fri Dec 15 10:37:00 1995 J.T. Conklin <jtc@slave.cygnus.com> 440 441 * tag.c (tag_usage): Added -r and -D flags to usage string. 442 (tag): Detect when user specifies both -r and -D arguments. 443 Pass -r and -D arguments to server. 444 445Thu Dec 14 11:56:13 1995 Karl Fogel <kfogel@floss.cyclic.com> 446 447 * client.c (start_rsh_server): use RSH_NEEDS_BINARY_FLAG to 448 conditionalize "-b" option to "rsh". 449 450 * run.c (filter_stream_through_program): document return value and 451 error behavior. 452 453 * client.c (filter_through_gunzip): pass the supposedly 454 superfluous "-d" option to gunzip, to avoid stimulating what seems 455 to be an argument-passing bug in spawn() under OS/2 with IBM 456 C/C++. Yucko. 457 458Wed Dec 13 20:08:37 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 459 460 * options.h.in (RCSBIN_DFLT): Recommend specifying -b in 461 inetd.conf for pserver. That is a pretty good solution. 462 463Wed Dec 13 18:29:59 1995 Preston L. Bannister <pbannister@ca.mdis.com> 464 and Karl Fogel <kfogel@floss.cyclic.com> 465 466 * client.c (send_modified): make sure that vers and vers->options 467 are non-NULL before strcmp()'ing them with "-kb". 468 Initialize `bin' near where it is used, not at beginning of 469 function. 470 (update_entries): make sure `options' is non-NULL before 471 strcmp()'ing with "-kb". 472 Initialize `bin' near where it is used, not at beginning of 473 function. 474 475Tue Dec 12 18:56:38 1995 Karl Fogel <kfogel@totoro.cyclic.com> 476 477 * options.h.in (RCSBIN_DFLT): document the probable need for this 478 to be set in the authenticating server. 479 480Tue Dec 12 11:56:43 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 481 482 * server.c (expand_proc): If mfile is non-NULL, return it too as 483 part of the expansion. 484 * sanity.sh (modules): Add tests for above-fixed bug. 485 486Mon Dec 11 21:39:07 1995 Karl Fogel <kfogel@floss.cyclic.com> 487 488 * dog.c (flea_bath): Take `suds' arg. 489 All collars changed. 490 491Mon Dec 11 15:58:47 1995 Karl Fogel <kfogel@floss.cyclic.com> 492 493 * login.c (login): if client password file doesn't exist, create 494 it, duh. 495 496 * main.c (main): die if CVSroot has access-method but no 497 username. 498 499 * root.c: added some comments. 500 501 * main.c: removed all code pertaining to the "-a" option. We 502 specify access-method in CVSroot now. 503 504 * client.c (parse_cvsroot): new var, `access_method'. If CVSroot 505 is prepended with an access method (i.e., 506 ":pserver:user@host:/path"), then handle it. 507 508 * login.c (login): use || when checking if CVSroot is "fully 509 qualified". 510 Prepend ":pserver:" before writing to ~/.cvspass. 511 (get_cvs_password): Take no parameters; we'll just use CVSroot to 512 get the password. 513 514Mon Dec 11 12:43:35 1995 adamg <adamg@microsoft.com> 515 516 * error.c, client.c, remove.c, main.c: Add explicit casts for some 517 function pointers to remove warnings under MS VC. 518 * main.c (main): remove use of NEED_CALL_SOCKINIT in favor of the 519 more generic INITIALIZE_SOCKET_SUBSYSTEM. Note that the code assumes 520 that if INITIALIZE_SOCKET_SUBSYSTEM() returns, socket subsystem 521 initialization has been successful. 522 523Sat Dec 9 22:01:41 1995 Dan O'Connor <doconnor@tii.com> 524 525 * commit.c (check_fileproc): pass RUN_REALLY flag to run_exec, 526 because it's okay to examine the file with noexec set. 527 528Sat Dec 9 20:28:01 1995 Karl Fogel <kfogel@floss.cyclic.com> 529 530 * client.c (update_entries): new var, `bin, init to 0. 531 Use it in determining whether to convert the file. 532 (send_modified): same as above. 533 534Fri Dec 8 17:47:39 1995 Karl Fogel <kfogel@floss.cyclic.com> 535 536 * server.c (downcase_string): removed. 537 (check_repository_password): don't deal with case-insensitivity 538 anymore. 539 540 * options.h.in (CVS_PASSWORDS_CASE_SENSITIVE): deleted this. No 541 need for it anymore. 542 543Thu Dec 7 21:08:39 1995 Karl Fogel <kfogel@floss.cyclic.com> 544 545 * server.c (check_repository_password): when checking for false 546 prefix-matches, look for ':', not '@'. Duh. 547 548Thu Dec 7 18:44:51 1995 Karl Fogel <kfogel@floss.cyclic.com> 549 550 * options.h.in (CVS_PASSWORDS_CASE_SENSITIVE): replaces 551 CVS_PASSWORDS_CASE_INSENSITIVE; passwords are now insensitive by 552 default. Expanded explanatory comment. 553 554 * login.c (get_cvs_password): Use memset(), not bzero(). I 555 botched this change earlier. 556 557 * server.c (check_repository_password): no need to check 558 xmalloc()'s return value. 559 (check_repository_password): check for false prefix-matches (for 560 example, username is "theo" and linebuf contains user 561 "theocracy"). 562 563Thu Dec 7 14:49:16 1995 Jim Meyering (meyering@comco.com) 564 565 * filesubr.c (isaccessible): Rename from isaccessable. 566 Update callers. 567 * cvs.h: Update prototype. 568 * main.c (main): Update callers. 569 * server.c (main): Update callers. 570 571Thu Dec 7 12:50:20 1995 Adam Glass <glass@NetBSD.ORG> 572 573 * cvs.h: "isaccessible" is the correct spelling. 574 Also add "const" to second arg to make prototype match 575 declaration. 576 577Thu Dec 7 11:06:51 1995 Karl Fogel <kfogel@floss.cyclic.com> 578 579 * client.c, login.c: memset() instead of bzero(). 580 581Thu Dec 7 00:08:53 1995 Karl Fogel <kfogel@floss.cyclic.com> 582 583 * server.c (authenticate_connection): document server's side of 584 the Authentication Protocol too. 585 586 * client.c (connect_to_pserver): when printing out "unrecognized 587 response", also print out the offending response. 588 589 * server.c (check_password): take `repository' arg too now. 590 Call check_repository_password() before checking /etc/passwd. 591 (check_repository_password): new func. 592 593 * options.h.in (CVS_PASSWORDS_CASE_INSENSITIVE): new define, unset 594 by default. 595 596Wed Dec 6 18:51:16 1995 Karl Fogel <kfogel@floss.cyclic.com> 597 598 * server.c (check_password): If user has a null password, then 599 return 1 if arg is also null. 600 Reverse sense of return value. Caller changed. 601 602Wed Dec 6 14:42:57 1995 Karl Fogel <kfogel@floss.cyclic.com> 603 604 * server.c (check_password): new func. 605 (authenticate_connection): call above new func. 606 607 * login.c (login): use construct_cvspass_filename(). 608 If CVSroot is not "fully-qualified", then insist the user qualify 609 it before going on. 610 (get_cvs_password): fleshed out. Now reads from ~/.cvspass, or 611 prompts if no appropriate password found. 612 (construct_cvspass_filename): new func. 613 614 * server.c (authenticate_connection): send ACK or NACK to client. 615 616 * client.c (connect_to_pserver): check for ACK vs NACK response 617 from server after sending authorization request. 618 619 * login.c (get_cvs_password): new func. 620 621 * client.c (connect_to_pserver): use new func get_cvs_password(). 622 Prototype it at top of file. Hmmm. 623 624Wed Dec 6 13:29:22 1995 Karl Fogel <kfogel@floss.cyclic.com> 625 626 * server.c: same as below (AUTH_SERVER_SUPPORT). 627 628 * main.c: same as below (AUTH_SERVER_SUPPORT where appropriate). 629 630 * login.c: same same as below. 631 632 * cvs.h: same as below. 633 634 * client.c: use AUTH_CLIENT_SUPPORT, not CVS_LOGIN. 635 636 * options.h.in (AUTH_CLIENT_SUPPORT, AUTH_SERVER_SUPPORT): these 637 replace CVS_LOGIN. 638 639Wed Dec 6 00:04:58 1995 Karl Fogel <kfogel@floss.cyclic.com> 640 641 * server.c (authenticate_connection): expanded comment. 642 643Tue Dec 5 23:37:39 1995 Karl Fogel <kfogel@floss.cyclic.com> 644 645 * client.c (connect_to_pserver): read password from prompt for 646 now. 647 648 * server.c (authenticate_connection): if the password passes 649 muster, then don't abort. 650 651Tue Dec 5 22:46:37 1995 Karl Fogel <kfogel@floss.cyclic.com> 652 653 * subr.c (strip_trailing_newlines): new func. 654 655 * client.c (connect_to_pserver): took out print statements. 656 657 * server.c (authenticate_connection): removed print statments. 658 Use new func strip_trailing_newlines() to purify `repository', 659 `username', and `password'. 660 Run a primitive password check, just for testing. 661 662 * client.c (connect_to_pserver): use CVS_AUTH_PORT. 663 Take tofdp, fromfdp, and log args. Caller changed. 664 (get_responses_and_close): either kerberos and CVS_LOGIN might 665 have one fd for both directions, so adjust #ifdef accordingly. 666 667 * cvs.h (CVS_AUTH_PORT): new define, default to 2401. 668 Prototype strip_trailing_newlines(). 669 670Tue Dec 5 16:53:35 1995 Karl Fogel <kfogel@floss.cyclic.com> 671 672 * server.c (authenticate_connection): new func. 673 674 * client.c (init_sockaddr): func moved here from login.c. 675 (connect_to_pserver): same as above. Take no args, now. 676 Include <sys/socket.h>, <netinet/in.h>, <netdb.h>, if CVS_LOGIN. 677 678 * cvs.h: Declare use_authenticating_server, as extern int. 679 Declare connect_to_pserver(). 680 681 * main.c (main): call authenticate_connection(). Removed testing 682 code. 683 Add 'a' to the short-option string in the getopt() call. 684 685 * login.c (connect_to_pserver): moved to client.c. 686 687Tue Dec 5 16:01:42 1995 Peter Chubb <peterc@bookworm.sw.oz.au> 688 (patch applied by Karl Fogel <kfogel@cyclic.com>) 689 690 * update.c (join_file): if vers->vn_user is "0", file has been 691 removed on the current branch, so print an error and return. 692 693Mon Dec 4 14:27:42 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 694 695 * Version 1.6.3. 696 697Mon Dec 4 16:28:25 1995 Norbert Kiesel <nk@col.sw-ley.de> 698 699 * release.c (release): add return (0) as last line 700 701 * cvs.h: declare program_path 702 703 * main.c define program_path 704 (main): set program_path 705 706 * release.c (release): use program_path for update_cmd 707 708Mon Dec 4 11:22:42 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 709 710 * Version 1.6.2. 711 712Sun Dec 3 20:02:29 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 713 714 * rcs.h (struct rcsnode), rcs.c (freercsnode): Add expand field. 715 * rcs.h (RCSEXPAND): New #define. 716 * rcs.c (RCS_reparsercsfile): Record keyword expansion in expand 717 field of struct rcsnode. 718 * update.c (checkout_file): Set keyword expansion in Entries file 719 from rcs file if there is nowhere else to set it from. 720 * client.c (send_modified, update_entries) [LINES_CRLF_TERMINATED]: 721 If -kb is in effect, don't convert. 722 723 * update.c (update_file_proc), commit.c (check_fileproc), 724 rcscmds.c (RCS_merge): Direct stdout to DEVNULL rather than 725 passing -s option to grep. This avoids trouble with respect to 726 finding a grep which support -s and whether we should use the (GNU 727 grep) -q option if it exists. 728 * options.h.in: Change "@ggrep_path@" to "grep". 729 730Fri Dec 1 11:53:19 1995 Norbert Kiesel <nk@col.sw-ley.de> 731 732 * rcs.c (RCS_gettag): new parameter return_both force return both 733 tags: the symbolic and the numeric one. 734 (RCS_getversion): new parameter return_both is forwarded to 735 RCS_gettag. 736 737 * rtag.c, tag.c, commit.c, patch.c, update.c: pass 0 as additional 738 last parameter to RCS_getversion and RCS_gettag 739 740 * rcs.h (RCS_gettag): new parameter return_both. 741 (RCS_getversion): new parameter return_both. 742 743 * cvs.h (struct vers_ts): add vn_tag slot for symbolic tag name 744 745 * vers_ts.c (Version_TS): call RCS_getversion with 1 for 746 return_both and split output into vn_rcs and vn_tag 747 (freevers_ts): free vn_tag 748 749 * update.c (checkout_file): use vn_tag instead of vn_rcs when 750 calling 'rcs co' to allow rcs expansion of :$Name : 751 752Thu Nov 30 20:44:30 1995 Karl Fogel <kfogel@floss.cyclic.com> 753 754 * client.c (get_responses_and_close): undo previous change 755 regarding waitpid(). The problem has been solved by modifying 756 os2/waitpid.c instead of its callers. 757 758Thu Nov 30 16:37:10 1995 Karl Fogel <kfogel@floss.cyclic.com> 759 760 * client.c: All these changes are for OS/2, which will no longer have 761 a separate client.c: 762 (start_kerberos_server): new func, contains code that 763 used to be in start_server(). 764 (start_server): moved kerberos code to above function, reorganized 765 the rest. Added authentication clause. 766 (call_in_directory): test errno against EACCESS, if EACCESS is 767 defined (this is for OS/2's oddball mkdir). 768 (change_mode): don't set execute permission on anything if 769 EXECUTE_PERMISSION_LOSES is defined. 770 (get_responses_and_close): if START_RSH_WITH_POPEN_RW, then use 771 pclose() instead of fclose(). 772 If waitpid errors with ECHILD, don't die. This is okay. 773 (start_rsh_server): alternate definition if 774 START_RSH_WITH_POPEN_RW. 775 776 * main.c: [all these changes conditional on CVS_LOGIN: ] 777 Don't prototype connect_to_pserver, don't enter it in cmds[] 778 (actually, it was never in there, I don't know why my previous 779 change said it was). 780 (use_authenticating_server): new global var. 781 (main): if "-a", then set above new var to TRUE. 782 (usg): document "-a" option. 783 784Wed Nov 29 12:55:10 1995 Karl Fogel <kfogel@floss.cyclic.com> 785 786 * main.c: Prototype connect_to_pserver(), and enter it in cmds[]. 787 (main): test some extremely primitive authentication. 788 789 * login.c: Include <sys/socket.h> 790 (connect_to_pserver): new func. 791 (init_sockaddr): new func. 792 793Mon Nov 20 14:07:41 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 794 795 * Makefile.in (TAGFILES): Separate out from DISTFILES, for C code. 796 (TAGS,tags): Use TAGFILES not DISTFILES. 797 798Sun Nov 19 11:22:43 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 799 800 * recurse.c (do_recursion): Don't call server_pause_check if there 801 are writelocks around. Revise comment to reflect fact we are no 802 longer relying on a writelock'd operations being "unable" to 803 generate enough data to pause. 804 805Sun Nov 19 10:04:50 1995 Peter Wemm <peter@haywire.DIALix.COM> 806 807 * server.c, server.h, options.h.in: Implement hooks for doing 808 simple flow control on the server to prevent VM exhaustion on a 809 slow network with a fast server. 810 * recurse.c: Call the flow control check at a convenient location 811 while no locks are active. This is a convenience tradeoff against 812 accurate flow control - if you have a large directory it will all 813 be queued up, bypassing the flow control check until the next 814 directory is processed. 815 816Sat Nov 18 16:22:06 1995 Karl Fogel <kfogel@floss.cyclic.com> 817 818 * client.c, update.c, vers_ts.c, server.c, rcs.c, lock.c, 819 ignore.c, entries.c, diff.c, commit.c, checkin.c: 820 Use new macro `existence_error', instead of comparing errno to 821 ENOENT directly. 822 823Fri Nov 17 14:56:12 1995 Karl Fogel <kfogel@floss.cyclic.com> 824 825 * client.c (start_server): removed alternate version of this func, 826 since os2/client.c will now be used under OS/2. 827 828Thu Nov 16 22:57:12 1995 Karl Fogel <kfogel@floss.cyclic.com> 829 830 * client.c (start_server): ifdef HAVE_POPEN_RW, use a different 831 version of start_server(). This is maybe not the cleanest cut to 832 make, but it's better than mucking around with yet more #ifdefs in 833 the middle of the old start_server() function. Once things are 834 up, I may reposition this code. 835 836Wed Nov 15 15:33:37 1995 Karl Fogel <kfogel@floss.cyclic.com> 837 838 * main.c (main): ifdef NEED_CALL_SOCKINIT, then call SockInit(). 839 Only OS/2 needs this initialization. 840 841Tue Nov 14 18:54:01 1995 Greg A. Woods <woods@most.weird.com> 842 843 * patch.c: 844 - fix orientation of test for result of getline() call 845 - use fputs() not printf() when just copying file out 846 847 * cvsbug.sh: 848 - add space after #! 849 - new rcs id 850 - allow version to be edited by Makefile. 851 852 * Makefile.in: 853 - make Makefile a dependent of all (this might not be perfect, but 854 it at least gives you a chance to catch up on the second 855 go-around). 856 - filter cvsbug.sh in a manner similar to cvsinit.sh to get the 857 version number set from version.c 858 859Tue Nov 14 13:28:17 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 860 861 * sanity.sh: Call old log file check.plog, not check.olog. 862 863 * sanity.sh: Convert remaining tests from old-style ('***' on fail 864 and nothing on pass), to new-style (FAIL on fail and PASS on pass). 865 866 * sanity.sh: Fix ability to run only some of the tests (always run 867 tests 1-4.75 to set up repository, document better how it works). 868 869 * sanity.sh: Change "completed successfully" to "completed" in 870 message--many tests, but not all, exit if they fail. 871 872Tue Nov 14 15:10:00 1995 Greg A. Woods <woods@most.weird.com> 873 874 * sanity.sh: test 63 doesn't work and probably can't 875 876Tue Nov 14 12:22:00 1995 Greg A. Woods <woods@most.weird.com> 877 878 * sanity.sh: many minor tweaks: 879 - make the optional arguments almost work 880 - use a function 'directory_cmp' instead of 'diff -r' 881 - fix up a few more tests that weren't working.... 882 883Mon Nov 13 07:33:55 1995 Karl Fogel <kfogel@floss.cyclic.com> 884 885 * cvs.h: ifdef USE_OWN_POPEN, #include "popen.h". Only OS/2 has 886 its own popen()/pclose() right now. 887 888Mon Nov 13 04:06:10 1995 Karl Fogel <kfogel@floss.cyclic.com> 889 890 * cvs.h: conform to 80 column standard (yes, I'm a pedant). 891 892Sat Nov 11 13:45:13 1995 Karl Fogel <kfogel@floss.cyclic.com> 893 894 * client.c (process_prune_candidates): use unlink_file_dir() to 895 remove the directory, instead of invoking "rm" via run_exec(). 896 897Fri Nov 10 14:38:56 1995 Karl Fogel <kfogel@floss.cyclic.com> 898 899 * main.c (main): removed "#define KF_GETOPT_LONG 1", since that 900 change is no longer in testing. 901 902Thu Nov 9 20:32:12 1995 Karl Fogel <kfogel@floss.cyclic.com> 903 904 * release.c (release): Use Popen(), not popen(). 905 906Wed Nov 8 10:20:20 1995 Jim Meyering (meyering@comco.com) 907 908 * entries.c (ParseTag): Remove dcl of unused local. 909 910 * patch.c: Include getline.h. 911 912Wed Nov 8 11:57:31 1995 Norbert Kiesel <nk@col.sw-ley.de> 913 914 * options.h.in: add configuration option STEXID_SUPPORT (default 915 is off i.e. old semantics) 916 917 * filesubr.c (isaccessable): new function. Checks access-rights 918 for files like access(), but is getxid-safe. Falls back to 919 access() if SETXID_SUPPORT is not enabled. 920 (isfile): replace stat() by isaccessable(file, F_OK) 921 (isreadable): replace access() by isaccessable() 922 (iswritable): ditto 923 (make_directory): rename local variable buf to sb 924 925 * cvs.h: add prototype for new function isaccessable. 926 927 * server.c (serve_root): replace access() by isaccessable() 928 929 * cvsrc.c (read_cvsrc): replace access() by isreadable() 930 931 * main.c (main): replace access() by isaccessable() 932 933Wed Nov 8 10:22:41 1995 Greg A. Woods <woods@most.weird.com> 934 935 * entries.c (fgetentent): change definition to static to match the 936 declaration at the top of the file 937 938Tue Nov 7 16:59:25 1995 J.T. Conklin <jtc@lestat.cygnus.com> 939 940 * rcs.c (RCS_getbranch, RCS_getdate, RCS_getrevtime, RCS_gettag, 941 RCS_getversion, RCS_head): Use assert() instead of attempting to 942 "do the right thing" with a bogus RCSNode argument. 943 944Mon Nov 6 14:24:34 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 945 946 * vers_ts.c: Remove ctime define. It is just asking for trouble. 947 948Mon Nov 6 11:58:26 1995 Karl Fogel <kfogel@floss.cyclic.com> 949 950 * vers_ts.c: ifdef ctime, undef it before redefining it. It is a 951 macro on some systems. 952 953 * lock.c: don't prototype ctime() here. (See note below about 954 fgetentent() in entries.c.) 955 956Sun Nov 5 16:06:01 1995 Karl Fogel <kfogel@floss.cyclic.com> 957 958 * entries.c (fgetentent): don't prototype ctime here; we include 959 cvs.h, which includes system.h, which includes <time.h> 960 unconditionally (either as <time.h> or <sys/time.h>). Anyway, IBM 961 C/C++ chokes on mid-function, or even mid-file, prototypes. Sigh. 962 963Thu Nov 2 21:51:04 1995 Dan Wilder <dan@gasboy.com> 964 965 * rtag.c (rtag): Fix typo ("-T" -> "-F"). 966 967Tue Oct 31 19:09:11 1995 Dan Wilder <dan@gasboy.com> 968 969 * diff.c (diff_dirproc): just return R_SKIP_ALL if dir not exist. 970 (diff_file_nodiff): don't complain if file doesn't exist, just 971 ignore. 972 973Tue Oct 31 09:25:10 1995 Norbert Kiesel <nk@col.sw-ley.de> 974 975 * sanity.sh: Use absolute pathname for mkmodules. 976 977Sat Oct 28 01:01:41 1995 Jim Meyering (meyering@comco.com) 978 979 * entries.c (ParseTag): Use getline instead of fgets. 980 981Fri Oct 27 13:44:20 1995 Karl Fogel <kfogel@floss.cyclic.com> 982 983 * cvs.h: do nothing about alloca ifdef ALLOCA_IN_STDLIB. I am 984 rather suspicious of this solution, and will not be surprised to 985 find out that there's a Right Way to handle this situation ("this 986 situation" being that OS/2 simply declares alloca in <stdlib.h>). 987 Suggestions are welcome; see src/cvs.h and lib/system.h to see why 988 I was getting a conflict in the first place. 989 990Wed Oct 25 16:03:20 1995 J.T. Conklin <jtc@slave.cygnus.com> 991 992 * cvs.h (struct entnode): Add user field. 993 * entries.c (fputentent): New function, write entries line. 994 (write_ent_proc): Call fputentent to write entries line. 995 (Entnode_Create): New function, construct new Entnode. 996 (Entnode_Destroy): New function, destruct old Entnode. 997 (AddEntryNode): Changed to take an Entnode argument instead of 998 separate user, version, timestamp, etc. arguments. 999 (fgetentent): Changed to return Entnode. 1000 (struct entent, free_entent): Removed. 1001 1002Wed Oct 25 12:44:32 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 1003 1004 * admin.c (admin): Don't rely on ANSI C string concatenation; 1005 SunOS 4.1.3 /bin/cc doesn't support it. 1006 1007Tue Oct 24 22:34:22 1995 Anthony J. Lill <ajlill@ajlc.waterloo.on.ca> 1008 1009 * import.c (expand_at_signs): Check errno as well as return value 1010 from putc. Some systems bogusly return EOF when successfully 1011 writing 0xff. 1012 1013Tue Oct 24 14:32:45 1995 Norbert Kiesel <nk@col.sw-ley.de> 1014 1015 * admin.c (admin): use getcaller() instead of getpwuid 1016 1017 * subr.c (getcaller): prefer getlogin() to $USER and $LOGNAME 1018 (especially useful for NT where getuid always returns 0) 1019 1020Tue Oct 24 06:22:08 1995 Jim Meyering (meyering@comco.com) 1021 1022 * cvsrc.c (read_cvsrc): Use getline instead of fgets. 1023 * patch.c (patch_fileproc): Use getline instead of fgets. 1024 1025 * entries.c (fgetentent): Use getline instead of fgets. 1026 Use xmalloc to allocate space for each returned entry. 1027 Since LINE is no longer static, save it in struct entent. 1028 (struct entent): New member, line. 1029 (free_entent): New function. 1030 (Entries_Open): Call it after each call to fgetentent. 1031 1032Tue Oct 24 11:13:15 1995 Norbert Kiesel <nk@col.sw-ley.de> 1033 1034 * cvs.h: Declare valloc again, but this time with the right 1035 signature (also changed in libs/valloc.c) 1036 1037Mon Oct 23 12:17:03 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 1038 1039 * logmsg.c (do_editor): Check for errors from stdio calls. 1040 1041Mon Oct 23 12:37:06 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 1042 1043 * cvs.h: Don't declare valloc. Some systems (e.g. linux) declare 1044 it in stdlib.h in a conflicting way. 1045 1046Mon Oct 23 08:41:25 1995 Jim Meyering (meyering@comco.com) 1047 1048 * commit.c (commit_filesdoneproc): Use getline instead of fgets. 1049 1050 * logmsg.c (do_editor): Use getline instead of fgets. 1051 (rcsinfo_proc): Likewise. 1052 1053 * logmsg.c (do_editor): Lose if fclose of temp file output 1054 stream fails. 1055 1056Mon Oct 23 11:59:41 1995 Norbert Kiesel <nk@col.sw-ley.de> 1057 1058 * cvs.h: add valloc declaration 1059 1060 * server.h: add server_cleanup prototype 1061 1062 * server.c: remove server_cleanup prototype 1063 1064 * mkmodules.c (server_cleanup): fix parameter type 1065 1066 * server.c: encapsulate wait_sig in #ifdef sun (it's only used in 1067 code which is also encapsulated in #ifdef sun) 1068 1069 * rcscmds.c (RCS_deltag, RCS_lock): add definition of noerr 1070 parameter 1071 1072 * error.c: include cvs.h instead of config.h, add USE(rcsid) 1073 1074 * error.c (error): fix parameter type 1075 1076 * update.c (join_file): encapsulate recent changes from garyo 1077 within #ifdef SERVER_SUPPORT 1078 1079Sun Oct 22 13:47:53 1995 J.T. Conklin <jtc@slave.cygnus.com> 1080 1081 * client.c (update_entries): Fix memory leak; free mode_string and 1082 file_timestamp. 1083 (send_fileproc): Fix memory leak; call freevers_ts before exiting. 1084 1085 * module.c (do_module): Partially fix memory leak; added 1086 variable so that the address of memory allocated by line2argv 1087 is retained, but comment out the call to free_names. Freeing 1088 the vector at that point loses because some of the elements 1089 may be used later in the function. 1090 (cat_module): fix memory leak. 1091 1092 * recurse.c (start_recursion): Fix memory leak; free return 1093 value of Name_Repository after it has been used. 1094 1095Sat Oct 21 23:24:26 1995 Jim Meyering (meyering@comco.com) 1096 1097 * client.c (send_modified) [LINES_CRLF_TERMINATED]: Comment text 1098 after #endif. 1099 1100Fri Oct 20 14:41:49 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 1101 1102 * sanity.sh: Add test 87a, to test for bug fixed by garyo in 1103 change below. 1104 1105Fri Oct 20 10:59:58 1995 Gary Oberbrunner <garyo@darkstar.avs.com> 1106 1107 * update.c (join_file): send file back to client even if no 1108 conflicts were detected, by calling Register(). 1109 1110Fri Oct 20 10:46:45 1995 Norbert Kiesel <nk@col.sw-ley.de> 1111 1112 * lock.c: Add prototype for Check_Owner 1113 1114Thu Oct 19 16:38:14 1995 Jim Meyering (meyering@comco.com) 1115 1116 * lock.c (Check_Owner): Declare function `static int'. 1117 1118Thu Oct 19 14:58:40 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 1119 1120 * expand_path.c (expand_variable): Fix typo ('*'->'('). 1121 1122Thu Oct 19 14:58:40 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 1123 1124 * commit.c (commit_filesdoneproc): Check for errors from fopen, 1125 fgets, and fclose. 1126 1127 * rcscmds.c (RCS_merge): Remove comment about rcsmerge -E. 1128 Hacking CVS was never a very good solution; the situation is fixed 1129 in RCS 5.7, and is documented in ../INSTALL. 1130 1131Thu Oct 19 15:06:15 1995 Jim Meyering (meyering@comco.com) 1132 1133 * filesubr.c (xchmod): Parenthesize arithmetic in operand of | 1134 to placate gcc -Wall. 1135 1136 * expand_path.c (expand_path): Parenthesize assignments used as 1137 truth values to placate gcc -Wall. 1138 1139 * commit.c (checkaddfile): Remove dcls of unused variables. 1140 * lock.c (unlock): Remove dcl of unused variable. 1141 1142Thu Oct 19 14:58:40 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 1143 1144 * root.c (Create_Root): If noexec, don't create CVS/Root. 1145 1146Wed Oct 18 11:19:40 1995 J.T. Conklin <jtc@slave.cygnus.com> 1147 1148 * lock.c (unlock): Change order of comparison so that Check_Owner 1149 is called only if other conditions are true. This performance 1150 enhancement was broken when the AFS support was added. 1151 1152Wed Oct 18 12:51:33 1995 Karl Fogel <kfogel@floss.cyclic.com> 1153 1154 * main.c (main): check if argv[0] is "pserver" with else-if, not 1155 if, since we've already asked if it's "kserver". 1156 1157Tue Oct 17 18:09:23 1995 Warren Jones <wjones@tc.fluke.com> 1158 and Jim Kingdon <kingdon@harvey.cyclic.com> 1159 1160 * sanity.sh: Deal with supplying a relative cvs filename, or 1161 with a cvs filename which doesn't have basename "cvs". 1162 1163Mon Oct 16 15:58:31 1995 Vince Demarco <vdemarco@bou.shl.com> 1164 1165 * parseinfo.c (Parse_Info): if the Keyword isn't ALL the current 1166 version doesn't use the expanded variable, It should. 1167 1168Mon Oct 16 15:58:31 1995 Gary Oberbrunner <garyo@avs.com> 1169 and Jim Kingdon <kingdon@harvey.cyclic.com> 1170 1171 * server.c (server_register): Don't pass NULL to printf if tag, 1172 date, or conflict is NULL. 1173 1174Thu Oct 12 12:13:42 1995 Karl Fogel <kfogel@floss.cyclic.com> 1175 1176 * main.c (main): begin to handle "pserver"; support not complete 1177 yet, however. 1178 1179Thu Oct 12 02:52:13 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> 1180 1181 * expand_path.c: Don't #include <pwd.h>, since cvs.h already does, 1182 and not all systems' <pwd.h>s are protected from multiple inclusion. 1183 * login.c: Likewise. 1184 1185Wed Oct 11 15:23:24 1995 Karl Fogel <kfogel@floss.cyclic.com> 1186 1187 * login.c (login): handle everything correctly now. 1188 1189Wed Oct 11 12:02:48 1995 Norbert Kiesel <nk@col.sw-ley.de> 1190 1191 * rcs.c (RCS_gettag): support RCS keyword Name 1192 1193Tue Oct 10 19:11:16 1995 Karl Fogel <kfogel@floss.cyclic.com> 1194 1195 * options.h.in (CVS_LOGIN): discuss, but leave commented out. 1196 The "cvs login" command is still under construction; however, the 1197 repository was changing so fast that instead of creating a branch 1198 and dealing with the attendant hair, I'm just developing on the 1199 trunk, making sure that everything is surrounded by "#ifdef 1200 CVS_LOGIN ... #endif" so I don't get in anyone's way. 1201 1202 * login.c: include cvs.h before checking CVS_LOGIN, so it has a 1203 chance to get defined before we ask if it's defined. 1204 (login): oops, use semi not comma in `for' loop init. 1205 1206 * Makefile.in (SOURCES, OBJECTS): include login.c, login.o. 1207 1208 * main.c: added protoype for login(). 1209 Added "login" entry to cmds[]. 1210 (usg): added line about "login". 1211 1212 * login.c: new file. 1213 1214Tue Oct 10 18:33:47 1995 Karl Fogel <kfogel@totoro.cyclic.com> 1215 1216 * Makefile.in (COMMON_OBJECTS): added error.o. 1217 (OBJECTS): took error.o out; it's in COMMON_OBJECTS now. 1218 1219Tue Oct 10 12:02:37 1995 Thorsten Lockert <tholo@sigmasoft.com> 1220 1221 * cvsbug.sh: Cater to lame versions of sh (4.4BSD ash) by using 1222 ${foo-bar} instead of `if....`. 1223 1224Tue Oct 10 12:02:37 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 1225 1226 * remove.c (remove_fileproc): If noexec, don't remove file. Check 1227 for error when removing file. 1228 1229Sun Oct 8 12:32:15 1995 Peter Wemm <peter@haywire.DIALix.COM> 1230 1231 * run.c: detect/use POSIX/BSD style reliable signals for critical 1232 section masking etc. Helps prevent stray locks on interruption. 1233 1234Sat Oct 7 23:26:54 1995 Norbert Kiesel <nk@col.sw-ley.de> 1235 1236 * admin.c (admin): If group CVS_ADMIN_GROUP exists, allow only 1237 users in that group to use "cvs admin". 1238 * options.h.in: Default CVS_ADMIN_GROUP to "cvsadmin". 1239 1240Sat Oct 7 23:05:24 1995 Norbert Kiesel <nk@col.sw-ley.de> 1241 1242 * add.c, checkout.c, commit.c, cvs.h, filesubr.c, import.c, 1243 lock.c, main.c, modules.c, options.h.in: New variable cvsumask 1244 which is used to set mode of files in repository (regardless of 1245 umask in effect when cvs is run). 1246 1247Sat Oct 7 22:40:17 1995 Stephen Bailey <sjbailey@sand.npl.washington.edu> 1248 1249 * lock.c: Include AFSCVS ifdefs to deal with AFS's lack of 1250 correspondance between userid's from stat and from geteuid. 1251 1252Sat Oct 7 22:28:49 1995 Scott Carson <sdc@TracerTech.COM> 1253 1254 * add.c (add): Pass -ko, not -k -ko, to set keyword expansion options. 1255 1256 * admin.c (admin): Don't skip first argument when sending to server. 1257 1258Fri Oct 6 21:45:03 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 1259 1260 * version.c: Version 1.6.1. 1261 1262Fri Oct 6 21:31:28 1995 Jeff Johnson <jbj@brewster.jbj.org> 1263 1264 * cvs.h, admin.c, client.c, commit.c, log.c, modules.c, 1265 parseinfo.c, patch.c, recurse.c, rtag.c, status.c, tag.c: 1266 Prototype when dealing in pointers to functions. 1267 1268Fri Oct 6 21:07:22 1995 Mark H. Wilkinson <mhw@minster.york.ac.uk> 1269 1270 * cvsrc.c (read_cvsrc): fix look up of command names in cvsrc file 1271 to use full name from command table rather than possible nickname 1272 in argv. Fixes errors with things like `cvs di' when cvsrc has 1273 `diff -u5' in it. 1274 1275Thu Aug 3 01:03:52 1995 Vince DeMarco <vdemarco@bou.shl.com> 1276 1277 * parseinfo.c (Parse_Info): Add code to call expand_path function 1278 instead of using built in code. 1279 1280 * wrapper.c (wrap_add): Add code to call expand_path function to 1281 expand all built in variables. 1282 1283 * expand_path.c (New file): expand things that look like 1284 environmental variables (only expand local CVS environmental 1285 variables) and user names like ~/. 1286 * cvs.h: Declare expand_path. 1287 1288 * Makefile.in (SOURCES, OBJECTS): Added expand_path.c, 1289 expand_path.o. 1290 1291Fri Oct 6 14:03:09 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 1292 1293 * ignore.c (ign_setup): Don't try to look for a file in CVSroot if 1294 client. (The recent tightening of the error checking detects this). 1295 1296 * commit.c (checkaddfile): Don't try to pass options if it is "". 1297 1298Thu Oct 5 18:04:46 1995 Karl Fogel <kfogel@totoro.cyclic.com> 1299 1300 * sanity.sh: unset CVSREAD, since it causes the script to bomb. 1301 1302Thu Oct 5 18:29:17 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 1303 1304 * remove.c, add.c, commit.c, cvs.h: Remove CVSEXT_OPT stuff; it 1305 has been broken for ages and the options are already stored in the 1306 Entries file. 1307 1308Thu Oct 5 18:20:13 1995 Norbert Kiesel <nk@col.sw-ley.de> 1309 1310 * commit.c (checkaddfile): New argument options; pass it to RCS. 1311 (commit_fileproc): Pass it. 1312 1313Tue Oct 3 09:26:00 1995 Karl Fogel <kfogel@totoro.cyclic.com> 1314 1315 * version.c: upped to 1.6. 1316 1317Mon Oct 2 18:10:35 1995 Larry Jones <larry.jones@sdrc.com> 1318 1319 * server.c: if HAVE_SYS_BSDTYPES_H, include <sys/bsdtypes.h>. 1320 1321Mon Oct 2 10:34:53 1995 Karl Fogel <kfogel@totoro.cyclic.com> 1322 1323 * version.c: Upped version to 1.5.95. 1324 1325Mon Oct 2 15:16:47 1995 Norbert Kiesel <nk@col.sw-ley.de> 1326 1327 * tag.c, rtag.c: pass "mov" instead of "add" if tag will be moved 1328 (i.e. invoked with -F) 1329 1330Sun Oct 1 18:36:34 1995 Karl Fogel <kfogel@totoro.cyclic.com> 1331 1332 * version.c: upped to 1.5.94. 1333 1334 * server.c: reverted earlier ISC change (of Sep. 28). 1335 1336 * version.c: upped to 1.5.93, for Peter Wemm's new SVR4 patch. 1337 1338Sun Oct 1 14:51:59 1995 Harlan Stenn <Harlan.Stenn@pfcs.com> 1339 1340 * main.c: don't #include <pwd.h>; cvs.h does that already. 1341 1342Fri Sep 29 15:21:35 1995 Karl Fogel <kfogel@floss.cyclic.com> 1343 1344 * version.c: upped to 1.5.91 for another pre-1.6 release. 1345 1346Fri Sep 29 14:41:14 1995 <bmeier@rzu.unizh.ch> 1347 1348 * root.c: start rcsid[] with "CVSid". 1349 1350Fri Sep 29 13:22:44 1995 Jim Blandy <jimb@totoro.cyclic.com> 1351 1352 * diff.c (diff): Doc fix. 1353 1354Fri Sep 29 14:32:36 1995 Norbert Kiesel <nk@col.sw-ley.de> 1355 1356 * repos.c (Short_Repository): chop superfluous "/". 1357 1358 * tag.c (pretag_proc): correct user-visible string. 1359 1360 * rtag.c (pretag_proc): correct user-visible string. 1361 1362Fri Sep 29 13:45:36 1995 Karl Fogel <kfogel@floss.cyclic.com> 1363 1364 * cvs.h (USE): if __GNUC__ != 2, expand to a dummy var instead of 1365 nothing. 1366 1367Thu Sep 28 13:37:05 1995 Larry Jones <larry.jones@sdrc.com> 1368 1369 * server.c: ifdef ISC, include <sys/bsdtypes.h>. 1370 1371Fri Sep 29 07:54:22 1995 Mike Sutton <mws115@llcoolj.dayton.saic.com> 1372 1373 * filesubr.c (last_component): Don't use ANSI style declaration. 1374 1375Wed Sep 27 15:24:00 1995 Del <del@matra.com.au> 1376 1377 * tag.c, rtag.c: Pass a few extra options to the script 1378 named in taginfo (del/add, and revision number). 1379 1380 * tag.c: Support a -r option (at long last). Also needs 1381 a -f option to tag the head if there is no matching -r tag. 1382 1383Tue Sep 26 11:41:08 1995 Karl Fogel <kfogel@totoro.cyclic.com> 1384 1385 * version.c: Upped version to 1.5.89 for test release preceding 1386 1.6. 1387 1388Wed Sep 20 15:32:49 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 1389 1390 * ignore.c (ign_add_file): Check for errors from fopen and fclose. 1391 1392Tue Sep 19 18:02:16 1995 Jim Blandy <jimb@totoro.cyclic.com> 1393 1394 * Makefile.in (DISTFILES): Remove sanity.el from this list; the 1395 file has been deleted. 1396 1397Thu Sep 14 14:17:52 1995 Peter Wemm <peter@haywire.dialix.com> 1398 1399 * import.c: Recover from being unable to open the user file. 1400 1401 * update.c (join_file): Print a message in the case where the file 1402 was added. 1403 1404 * mkmodules.c: Deal with .db as well as .pag/.dir (for use with 1405 BSD 4.4 and real dbm support). 1406 1407Mon Sep 11 15:44:13 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 1408 1409 * release.c (release): Revise comment regarding why and how we 1410 skip argv[0]. 1411 1412Mon Sep 11 10:03:59 1995 Karl Fogel <kfogel@floss.cyclic.com> 1413 1414 * release.c (release): use return value of pclose to determine 1415 success of update. 1416 1417Mon Sep 11 09:56:33 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 1418 1419 * release.c (release_delete): Fix comment. 1420 1421Sun Sep 10 18:48:35 1995 Karl Fogel <kfogel@floss.cyclic.com> 1422 1423 * release.c (release): made work with client/server. 1424 Don't ask if <arg> is mentioned in `modules'. 1425 1426Fri Sep 8 13:25:55 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 1427 1428 * sanity.sh: When committing a removal, send stdout to LOGFILE; 1429 this is no longer a silent operation. 1430 1431 * sanity.sh: Remove OUTPUT variable; it is unused. 1432 1433 * client.c: Add comment regarding deleting temp file. 1434 * main.c: Add comment regarding getopt REQUIRE_ORDER. 1435 1436Thu Sep 7 20:24:46 1995 Karl Fogel <kfogel@floss.cyclic.com> 1437 1438 * main.c (main): use getopt_long(), accept "--help" and 1439 "--version". 1440 Don't assume EOF is -1. 1441 1442Thu Sep 7 19:18:00 1995 Jim Blandy <jimb@cyclic.com> 1443 1444 * cvs.h (unlink_file_dir): Add prototype for this. 1445 1446Thu Sep 7 14:38:06 1995 Karl Fogel <kfogel@floss.cyclic.com> 1447 1448 * ALL FILES: add semicolon, as indicated below. 1449 1450 * cvs.h (USE): don't provide semicolon in the expansion of the USE 1451 macro; we'd rather the callers provided it themselves because that 1452 way etags doesn't get fooled. 1453 1454Mon Sep 4 23:30:41 1995 Magnus Hyllander <mhy@os.se> 1455 1456 * checkout.c: cvs export now takes -k option and does not default 1457 to -kv. 1458 * checkout.c, cvs.h, modules.c: Modules file now takes -e option 1459 for cvs export. 1460 1461Mon Sep 4 23:30:41 1995 Kirby Koster <koster@sctc.com> 1462 1463 * commit.c: When committing a removal, print a message saying what 1464 we are doing. 1465 1466Wed Aug 2 10:06:51 1995 Vince DeMarco <vdemarco@bou.shl.com> 1467 1468 * server.c: fix compiler warnings (on NeXT) (declare functions as 1469 static inline instead of just static) functions: get_buffer_date, 1470 buf_append_char, and buf_append_data 1471 1472Mon Sep 4 22:31:28 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 1473 1474 * client.c (update_entries), import.c (expand_at_signs): Check for 1475 errors from fread and putc. 1476 1477Fri Sep 1 00:03:17 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 1478 1479 * sanity.sh: Fix TODO item pathname. 1480 1481 * sanity.el: Removed. It was out of date, didn't do much, and I 1482 doubt anyone was using it. 1483 1484 * no_diff.c (No_Difference): Don't change the modes of the files. 1485 1486Thu Aug 31 13:14:34 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 1487 1488 * version.c: Change version to 1.5.1. 1489 1490 * client.c (start_rsh_server): Don't pass -d to "cvs server" 1491 invocation via rsh (restore change which was lost when NT stuff 1492 was merged in). 1493 * sanity.sh: Add TODO item suggesting test for bug which this fixes. 1494 1495Wed Aug 30 12:36:37 1995 Jim Blandy <jimb@totoro.cyclic.com> 1496 1497 * sanity.sh (basic1): Make sure first-dir is deleted before 1498 running this set of tests. 1499 1500 * subr.c: Extract file twiddling functions to a different file, 1501 because we want to use different versions of many of these 1502 routines under Windows NT. 1503 (copy_file, isdir, islink, isfile, isreadable, iswritable, 1504 open_file, make_directory, make_directories, xchmod, 1505 rename_file, link_file, unlink_file, xcmp, tmpnam, 1506 unlink_file_dir, deep_remove_dir): Moved to... 1507 * filesubr.c: ...this file, which is new. 1508 * Makefile.in (SOURCES): Mention filesubr.c. 1509 (COMMON_OBJECTS): Mention filesubr.o. 1510 1511 * subr.c: Extract process execution guts to a different file, 1512 because we want to replace these routines entirely under 1513 Windows NT. 1514 (VA_START, va_alist, va_dcl): Move this stuff... 1515 (run_add_arg, run_init_prog): and these declarations... 1516 (run_prog, run_argv, run_argc, run_argc_allocated): and these 1517 variables... 1518 (run_setup, run_arg, run_args, run_add_arg, run_init_prog, 1519 run_exec, run_print, Popen): and these functions... 1520 * run.c: To this file, which is new. 1521 * Makefile.in (SOURCES): Mention run.c. 1522 (COMMON_OBJECTS): Mention run.o. 1523 1524 * status.c (status): Call ign_setup, if client_active. Otherwise, 1525 we don't end up ignoring CVS directories and such. 1526 1527 * server.c (mkdir_p, dirswitch): Use CVS_MKDIR instead of mkdir. 1528 1529 * repos.c (Name_Repository): Use the isabsolute function instead of 1530 checking the first character of the path. 1531 * root.c (Name_Root): Same. 1532 1533 * release.c (release): Use fncmp instead of strcmp to compare 1534 filenames. 1535 1536 * rcs.c (RCS_parse, RCS_parsercsfile) [LINES_CRLF_TERMINATED]: 1537 Abort, because we have strong reason to believe this code is 1538 wrong. 1539 1540 * patch.c (patch): Register signal handlers iff the signal name is 1541 #defined. 1542 1543 * no_diff.c (No_Difference): Don't try to include server_active in 1544 trace message unless SERVER_SUPPORT is #defined. 1545 1546 * modules.c (do_module): Use CVS_MKDIR instead of mkdir. 1547 1548 * mkmodules.c (main): Call last_component instead of writing it out. 1549 1550 * main.c (main): Call last_component instead of writing it out. 1551 Break up the long copyright string into several strings; Microsoft 1552 Visual C++ can't handle a line that long. Feh. 1553 Use fncmp instead of strcmp to compare filenames. 1554 Register signal handlers iff the signal name is #defined. 1555 1556 * lock.c (readers_exist): Don't check return value of closedir. 1557 Most of the rest of the code doesn't, and some systems don't 1558 provide a return value anyway. 1559 (set_lock): Use CVS_MKDIR instead of mkdir. 1560 1561 * import.c (import): Use the isabsolute function instead of 1562 checking the first character of the path. 1563 Try to delete the temporary file again after we close it, so it'll 1564 get deleted on systems that don't let you delete files that are 1565 open. 1566 (add_rev): Instead of making a hard link to the working file and 1567 checking in the revision with ci -r, use ci -u and restore the 1568 permission bits. 1569 (comtable): Include lines from SYSTEM_COMMENT_TABLE, if it is 1570 #defined. 1571 (add_rcs_file) [LINES_CRLF_TERMINATED]: Abort, because we have 1572 strong reason to believe this code is wrong. 1573 (import_descend_dir): Use CVS_MKDIR instead of mkdir. 1574 1575 * history.c (read_hrecs): Open the file with OPEN_BINARY. 1576 1577 * find_names.c (add_entries_proc, fsortcmp): Add prototypes. 1578 * entries.c (write_ent_proc): Add prototype. 1579 * hash.c (walklist): Add prototype for PROC argument. 1580 (sortlist): Add prototype for COMP argument. 1581 (printnode): Add a prototype, and make it static. 1582 1583 * cvs.h (wrap_add_file, wrap_add): Add extern decls for these; 1584 they're used in import.c and update.c. 1585 * wrapper.c (wrap_add_file, wrap_add): Remove them from here. 1586 1587 * cvs.h (RUN_NORMAL, RUN_COMBINED, RUN_REALLY, RUN_STDOUT_APPEND, 1588 RUN_STDERR_APPEND, RUN_SIGNIGNORE, RUN_TTY, run_arg, run_print, 1589 run_setup, run_args, run_exec, Popen, piped_child, close_on_exec, 1590 filter_stream_through_program, waitpid): Move all these 1591 declarations and definitions to the same section. 1592 1593 * cvs.h (error_set_cleanup): Fix prototype. 1594 1595 * cvs.h (isabsolute, last_component): New extern decls. 1596 1597 * cvs.h (link_file): Function is deleted; remove extern decl. 1598 1599 * cvs.h (DEATH_STATE, DEATH_SUPPORT): Move #definitions of these 1600 above the point where we #include rcs.h, since rcs.h tests them 1601 (or DEATH_SUPPORT, at least). 1602 1603 * cvs.h (DEVNULL): #define this iff it isn't already #defined. 1604 config.h may want to override it. 1605 1606 * cvs.h (SERVER_SUPPORT, CLIENT_SUPPORT): Don't #define these 1607 here; let config.h do that. On some systems, we don't have any 1608 server support. 1609 1610 * cvs.h: Don't #include <io.h> or <direct.h>; we take care of 1611 those in lib/system.h. 1612 1613 * commit.c (commit): Open logfile with the OPEN_BINARY flag. 1614 (precommit_proc): Use the isabsolute function, instead of 1615 comparing the first character with /. 1616 (remove_file, checkaddfile): Use CVS_MKDIR instead of mkdir. 1617 1618 * client.c (send_repository): Use larger line buffers. 1619 1620 * client.c [LINES_CRLF_TERMINATED] (update_entries): If we've just 1621 received a gzipped file, copy it over, converting LF to CRLF, 1622 instead of just renaming it into place. 1623 [LINES_CRLF_TERMINATED] (send_modified): Convert file to LF format 1624 before sending with gzip. 1625 (send_modified): Don't be disturbed if we get fewer than 1626 sb.st_size characters when we read. The read function may be 1627 collapsing CRLF to LF for us. 1628 1629 * client.c: Add forward declarations for all the cvs command 1630 functions we call. 1631 1632 * client.c: Add forward static declarations for all the 1633 handle_mumble functions. 1634 1635 On some systems, RSH converts LF to CRLF; this screws us up. 1636 * client.c (rsh_pid): Declare this iff RSH_NOT_TRANSPARENT is not 1637 #defined. 1638 (get_responses_and_close): Use SHUTDOWN_SERVER if it is #defined. 1639 Only wait for rsh process to exit if RSH_NOT_TRANSPARENT is not 1640 #defined. 1641 (start_rsh_server): Declare and define only if 1642 RSH_NOT_TRANSPARENT is not #defined. Use piped_child, instead of 1643 writing all that out. 1644 (start_server): Only try to call start_rsh_server if 1645 RSH_NOT_TRANSPARENT is not #defined. Use START_SERVER if it is 1646 #defined. Convert file descriptors to stdio file pointers using 1647 the FOPEN_BINARY_WRITE and FOPEN_BINARY_READ strings. 1648 1649 * client.h (rsh_pid): Don't declare this; it's never used elsewhere. 1650 (supported_request): Add external declaration for this; 1651 it's used in checkout.c. 1652 1653 Move process-running functions to run.c; we need to totally 1654 replace these on other systems, like Windows NT. 1655 * client.c (close_on_exec, filter_stream_through_program): Moved 1656 to run.c. 1657 * run.c (close_on_exec, filter_stream_through_program): Here they 1658 are. 1659 1660 * add.c (add_directory): Use CVS_MKDIR instead of straight mkdir. 1661 * checkout.c (checkout, build_dirs_and_chdir): Same. 1662 (checkout_proc): Use fncmp instead of strcmp. 1663 * client.c (call_in_directory): Use CVS_MKDIR instead of straight 1664 mkdir. 1665 1666 * client.c (handle_checksum): Cast return value of strtol. 1667 1668Wed Aug 30 10:35:46 1995 Stefan Monnier <stefan.monnier@epfl.ch> 1669 1670 * main.c (main): Allow -d to override CVSROOT_ENV. 1671 1672Thu Aug 24 18:57:49 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 1673 1674 * cvs.h, rcscmds.c (RCS_unlock, RCS_deltag, RCS_lock): Add extra 1675 parameter for whether to direct stderr to DEVNULL. 1676 * checkin.c, tag.c, rtag.c, import.c, commit.c: Pass extra 1677 argument. 1 if stderr had been directed to DEVNULL before 1678 rcscmds.c was in use, 0 if it was RUN_TTY. 1679 1680 * cvs.h: Add comment regarding attic. 1681 1682Tue Aug 22 10:09:29 1995 Alexander Dupuy <dupuy@smarts.com> 1683 1684 * rcs.c (whitespace): Cast to unsigned char in case char is signed 1685 and value is negative. 1686 1687Tue Aug 22 10:09:29 1995 Kirby Koster <koster@sctc.com> 1688 and Jim Kingdon <kingdon@harvey.cyclic.com> 1689 1690 * update.c (join_file): If vers->vn_user is NULL, just return. 1691 1692Tue Aug 22 10:09:29 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 1693 1694 * server.c, client.c: Add comments about modes and umasks. 1695 1696Mon Aug 21 12:54:14 1995 Rick Sladkey <jrs@world.std.com> 1697 1698 * update.c (update_filesdone_proc): If pipeout, don't try to 1699 create CVS/Root. 1700 1701Mon Aug 21 12:54:14 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 1702 1703 * client.c (start_rsh_server): Don't pass -d to "cvs server" 1704 invocation via rsh. 1705 1706 * server.c (serve_root): Report errors via pending_error_text. 1707 (serve_valid_requests): Check for pending errors. 1708 1709Sun Aug 20 00:59:46 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 1710 1711 * options.h.in: Document usage of DIFF in update.c 1712 * update.c: Use DIFF -c, not DIFF -u. The small improvement in 1713 diff size is not worth the hassle in terms of everyone having to 1714 make sure that DIFF is GNU diff (IMHO). 1715 1716Sat Aug 19 22:05:46 1995 Jim Blandy <jimb@totoro.cyclic.com> 1717 1718 * recurse.c (start_recursion): Doc fix. 1719 1720 * server.c (do_cvs_command): Clear error_use_protocol in the 1721 child. 1722 (server): Set error_use_protocol. 1723 1724Sun Aug 13 15:33:37 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 1725 1726 * server.c (do_cvs_command): Don't select on exceptions. 1727 1728Fri Aug 4 00:13:47 1995 Jim Meyering (meyering@comco.com) 1729 1730 * Makefile.in (LDFLAGS): Set to @LDFLAGS@. 1731 (options.h): Depend on ../config.status and options.h.in. 1732 Add rule to build it from dependents. 1733 1734 * add.c: Include save-cwd.h. 1735 (add_directory): Use save_cwd and restore_cwd instead of 1736 explicit getwd then chdir. 1737 * import.c (import_descend_dir): Likewise. 1738 * modules.c (do_module): Likewise. 1739 1740 * recurse.c (save_cwd, restore_cwd, free_cwd): Remove functions. 1741 New versions have been broken out into save-cwd.c. 1742 (do_dir_proc): Adapt to handle status code returned by new versions 1743 of save_cwd and restore_cwd -- and one fewer argument to restore_cwd. 1744 (unroll_files_proc): Likewise. 1745 1746 * wrapper.c (wrap_name_has): Add default: abort () to switch 1747 statement to avoid warning from gcc -Wall. 1748 (wrap_matching_entry): Remove dcl of unused TEMP. 1749 (wrap_tocvs_process_file): Remove dcl of unused ERR. 1750 (wrap_fromcvs_process_file): Likewise. 1751 1752 * cvs.h: Remove prototype for error. Instead, include error.h. 1753 Also, remove trailing white space. 1754 1755Thu Aug 3 10:12:20 1995 Jim Meyering (meyering@comco.com) 1756 1757 * import.c (import_descend_dir): Don't print probably-bogus CWD 1758 in error messages saying `cannot get working directory'. 1759 1760Sun Jul 30 20:52:04 1995 James Kingdon <kingdon@harvey.cyclic.com> 1761 1762 * parseinfo.c (Parse_Info): Revise comments and indentation. 1763 1764Sun Jul 30 15:30:16 1995 Vince DeMarco <vdemarco@bou.shl.com> 1765 1766 * history.c: put ifdef SERVER_SUPPORT around tracing code incase 1767 the client/server code is not compiled into the program. 1768 1769Sat Jul 29 16:59:49 1995 James Kingdon <kingdon@harvey.cyclic.com> 1770 1771 * subr.c (deep_remove_dir): Use struct dirent, not struct direct. 1772 1773Sat Jul 29 18:32:06 1995 Vince DeMarco <vdemarco@bou.shl.com> 1774 1775 * add.c: Check wrap_name_has. 1776 1777 * diff.c, checkin.c, import.c: have code call unlink_file_dir in 1778 the appropriate places instead of just calling unlink_file. 1779 1780 * checkin.c: Remove one unlink call. 1781 1782 * import.c (comtable): Add .m .psw .pswm. 1783 1784 * import.c (add_rcs_file): Remove tocvsPath before returning. 1785 1786 * subr.c (unlink_file_dir): Add new function. unlinks the file if 1787 it is a file. or will do a recursive delete if the path is 1788 actually a directory. 1789 (deep_remove_dir): New function, helps unlink_file_dir. 1790 1791 * mkmodules.c: Added CVSROOTADM_WRAPPER (cvswrappers file) to the 1792 checkout file list. 1793 1794Fri Jul 28 16:27:56 1995 James Kingdon <kingdon@harvey.cyclic.com> 1795 1796 * checkout.c (safe_location): Use PATH_MAX not MAXPATHLEN. 1797 1798Fri Jul 28 19:37:03 1995 Paul Eggert <eggert@twinsun.com> 1799 1800 * log.c (cvslog, log_fileproc): Pass all options (except -l) 1801 to rlog as-is, so that users can put spaces in options, 1802 can specify multiple -d options, etc. 1803 (ac, av): New variables. 1804 (log_option_with_arg, options): Remove. 1805 1806 (log_fileproc): Don't prepend `/' to file name if update_dir is empty. 1807 1808Tue Jul 25 00:52:26 1995 James Kingdon <kingdon@harvey.cyclic.com> 1809 1810 * checkout.c (safe_location): Don't use PROTO in function definition. 1811 1812Mon Jul 24 18:32:06 1995 Vince DeMarco <vdemarco@bou.shl.com> 1813 1814 * checkout.c (safe_location): fix a compiler warning. (Declare 1815 safe_location). Changed code in safe_location to call getwd 1816 instead of getcwd. getwd is declared in the ../lib directory and 1817 used exclusively thoughout the code. (this helps portability on 1818 non POSIX systems). 1819 1820 * wrapper.c: updated Andrew Athan's email address. 1821 1822 * main.c: fix an ifdef so the code will compile. syntax error in 1823 the ifdef for CVS_NOADMIN. 1824 1825Mon Jul 24 13:25:00 1995 Del <del@babel.dialix.oz.au> 1826 1827 * checkout.c: New procedure safe_location. 1828 Ensures that you don't check out into the repository 1829 itself. 1830 1831 * tag.c, rtag.c, cvs.h, mkmodules.c: Added a "taginfo" file in 1832 CVSROOT to perform pre-tag checks. 1833 1834 * main.c, options.h.in: Added a compile time option to 1835 disable the admin command. 1836 1837Fri Jul 21 17:07:42 1995 James Kingdon <kingdon@harvey.cyclic.com> 1838 1839 * update.c, status.c, patch.c, checkout.c, import.c, release.c, 1840 rtag.c, tag.c: Now -q and -Q options just print an error message 1841 telling you to use global -q and -Q options. The non-global 1842 options were a mess because some commands accepted them and some 1843 did not, and they were redundant with -q and -Q global options. 1844 1845 * rcs.c, cvs.h, commit.c, log.c, find_names.c: Remove CVS.dea 1846 stuff. It is slower than the alternatives and I don't think 1847 anyone ever actually used it. 1848 1849Fri Jul 21 10:35:10 1995 Vince DeMarco <vdemarco@bou.shl.com> 1850 1851 * Makefile.in (SOURCES, OBJECTS): Add wrapper.c, wrapper.o. 1852 * add.c, admin.c, checkout.c, commit.c, diff.c, import.c, log.c, 1853 remove.c, status.c: Call wrap_setup at start of commands. 1854 * add.c (add): Check for wrapper, as well as directory, in repository. 1855 * checkin.c: Add tocvsPath variable and associated handling. 1856 * cvs.h: Add wrapper declarations. 1857 * diff.c: Add tocvsPath variable and associated handling. 1858 * import.c: Add -W option, CVSDOTWRAPPER handling. 1859 (import_descend): check wrap_name_has. 1860 (update_rcs_file, add_rev, add_rcs_file): add tocvsPath 1861 variable and associated handling. 1862 * no_diff.c: Add tocvsPath variable and associated handling. 1863 * recurse.c (start_recursion): Check wrap_name_has. 1864 * update.c: Copy, don't merge, copy-by-merge files. Attempt to 1865 use -j on a copy-by-merge file generates a warning and no further 1866 action. 1867 * update.c: Add CVSDOTWRAPPER handling. 1868 * wrapper.c: Added. 1869 1870Fri Jul 21 00:20:52 1995 James Kingdon <kingdon@harvey.cyclic.com> 1871 1872 * client.c: Revert David Lamkin patch, except for the bits about 1873 removing temp_filename and the .rej file. 1874 * sanity.sh (errmsg1): Test for the underlying bug which Lamkin 1875 kludged around. 1876 * client.c (call_in_directory): Set short_pathname to include the 1877 filename, not just the directory. Improve comments regarding what 1878 is passed to FUNC. 1879 1880Thu Jul 20 17:51:54 1995 David Lamkin <drl@net-tel.co.uk> 1881 1882 * client.c (short_pathname): Fixes the fetching of the whole file 1883 after a patch to bring it up to date has failed: 1884 - failed_patches[] now holds short path to file that failed 1885 - patch temp files are unlinked where the patch is done 1886 1887Thu Jul 20 12:37:10 1995 James Kingdon <kingdon@harvey.cyclic.com> 1888 1889 * cvs.h: Declare error_set_cleanup 1890 * main.c: Call it. 1891 (error_cleanup): New function. 1892 1893Thu Jul 20 12:17:16 1995 Mark H. Wilkinson <mhw@minster.york.ac.uk> 1894 1895 * add.c, admin.c, checkin.c, checkout.c, classify.c, client.c, 1896 client.h, commit.c, create_adm.c, cvs.h, diff.c, entries.c, 1897 history.c, import.c, log.c, main.c, modules.c, no_diff.c, patch.c, 1898 release.c, remove.c, repos.c, rtag.c, server.c, server.h, 1899 status.c, subr.c, tag.c, update.c, vers_ts.c, version.c: Put 1900 client code inside #ifdef CLIENT_SUPPORT, server code inside 1901 #ifdef SERVER_SUPPORT. When reporting version, report whether 1902 client and/or server are compiled in. 1903 1904Wed Jul 19 18:00:00 1995 Jim Blandy <jimb@cyclic.com> 1905 1906 * subr.c (copy_file): Declare local var n to be an int, 1907 not a size_t. size_t is unsigned, and the return values 1908 of read and write are definitely not unsigned. 1909 1910 * cvs.h [HAVE_IO_H]: #include <io.h>. 1911 [HAVE_DIRECT_H]: #include <direct.h>. 1912 1913Fri Jul 14 22:28:46 1995 Jim Blandy <jimb@totoro.cyclic.com> 1914 1915 * server.c (dirswitch, serve_static_directory, serve_sticky, 1916 serve_lost, server_write_entries, serve_checkin_prog, 1917 serve_update_prog): Include more information in error messages. 1918 (Thanks, DJM.) 1919 1920 * cvsbug.sh: Use /usr/sbin/sendmail, unless it doesn't 1921 exist, in which case use /usr/lib/sendmail. (Thanks, DJM.) 1922 1923 * server.c (server, server_cleanup): Use "/tmp" instead of 1924 "/usr/tmp" when the TMPDIR environment variable isn't set. This 1925 is what the rest of the code uses. 1926 1927Thu Jul 13 11:03:17 1995 Jim Meyering (meyering@comco.com) 1928 1929 * recurse.c (free_cwd): New function. 1930 (save_cwd, restore_cwd): Use it instead of simply freeing any 1931 string. The function also closes any open file descriptor. 1932 1933 * import.c (comtable): Now static. 1934 (comtable): Put braces around each element of initializer. 1935 1936 * cvs.h: Add prototype for xgetwd. 1937 * recurse.c (save_cwd, restore_cwd): New functions to encapsulate 1938 run-time solution to secure-SunOS vs. fchown problem. 1939 (do_dir_proc, unroll_files_proc): Use new functions instead of 1940 open-coded fchdir/chdir calls with cpp directives. 1941 1942 * sanity.sh: Change out of TESTDIR before removing it. 1943 Some versions of rm fail when asked to delete the current directory. 1944 1945Wed Jul 12 22:35:04 1995 Jim Meyering (meyering@comco.com) 1946 1947 * client.c (get_short_pathname): Add const qualifier to parameter dcl. 1948 (copy_a_file): Remove set-but-not-used variable, LEN. 1949 (handle_clear_static_directory): Likewise: SHORT_PATHNAME. 1950 (set_sticky): Likewise: LEN. 1951 (handle_set_sticky): Likewise: SHORT_PATHNAME. 1952 (handle_clear_sticky): Likewise: SHORT_PATHNAME. 1953 (start_rsh_server): Convert perl-style `cond || stmt' to more 1954 conventional C-style `if (cond) stmt.' Sheesh. 1955 Remove dcl of unused file-static, SEND_CONTENTS. 1956 1957 * history.c: Remove dcls of set-but-not-used file-statics, 1958 HISTSIZE, HISTDATA. 1959 (read_hrecs): Don't set them. 1960 1961 * import.c (add_rev): Remove dcl of set-but-not-used local, RETCODE. 1962 1963 * repos.c (Name_Repository): Remove dcl of set-but-not-used local, 1964 HAS_CVSADM. 1965 1966 * cvsrc.c (read_cvsrc): Parenthesize assignment used as truth value. 1967 1968Tue Jul 11 16:49:41 1995 J.T. Conklin <jtc@rtl.cygnus.com> 1969 1970 * hash.h (struct entnode, Entnode): moved from here... 1971 * cvs.h: to here. 1972 1973Wed Jul 12 19:45:24 1995 Dominik Westner (dominik@gowest.ppp.informatik.uni-muenchen.de) 1974 1975 * client.c (server_user): new var. 1976 (parse_cvsroot): set above if repo is "user@host:/dir". 1977 (start_rsh_server): if server_user set, then use it. 1978 1979Wed Jul 12 10:53:36 1995 Karl Fogel <kfogel@floss.cyclic.com> 1980 1981 * sanity.sh: remove the TESTDIR after done. 1982 1983 * cvsbug.sh (GNATS_ADDR): now bug-cvs@prep.ai.mit.edu again. 1984 1985Tue Jul 11 15:53:08 1995 Greg A. Woods <woods@most.weird.com> 1986 1987 * options.h.in: depend on configure for grep and diff, now that 1988 changes to configure.in are applied. 1989 1990Tue Jul 11 14:32:14 1995 Michael Shields <shields@tembel.org> 1991 1992 * Makefile.in (LDFLAGS): Pick up from configure. 1993 1994Tue Jul 11 14:20:00 1995 Loren James Rittle <rittle@supra.comm.mot.com> 1995 1996 * import.c (add_rev), commit.c (remove_file, ci_new_rev), 1997 checkin.c (Checkin), subr.c (make_message_rcslegal), cvs.h: 1998 Always perform sanity check and fix-up on messages to be passed 1999 directly to RCS via the '-m' switch. RCS 5.7 requires that a 2000 non-total-whitespace, non-null message be provided or it will 2001 abort with an error. CVS is not setup to handle any returned 2002 error from 'ci' gracefully and, thus, the repository entered a 2003 trashed state. 2004 2005 * sanity.sh: Add regression tests for new code and interactions 2006 with RCS 5.7. 2007 2008Sun Jul 9 19:03:00 1995 Greg A. Woods <woods@most.weird.com> 2009 2010 * .cvsignore: added new backup file 2011 2012 * options.h.in: our new configure.in finds the right diff and 2013 grep paths now.... 2014 2015 * subr.c: quote the string in run_print() for visibility 2016 - indent a comment 2017 - Jun Hamano's xchmod() patch to prevent writable files 2018 (from previous local changes) 2019 2020 * logmsg.c: fix a NULL pointer de-reference 2021 - clean up some string handling code... 2022 (from previous local changes) 2023 2024 * parseinfo.c: add hack to expand $CVSROOT in an *info file. 2025 - document "ALL" and "DEFAULT" in opening comment for Parse_Info() 2026 - fix the code to match the comments w.r.t. callbacks for "ALL" 2027 - add a line of trace output... 2028 (from previous local changes) 2029 2030 * mkmodules.c: add support for comments in CVSROOT/checkoutlist 2031 - add CVSroot used by something other .o, ala main.c 2032 (from previous local changes) 2033 2034 * main.c, cvs.h: add support for $VISUAL as log msg editor 2035 (from previous local changes) 2036 2037 * status.c: add support for -q and -Q (from previous local changes) 2038 2039 2040Sun Jul 9 18:44:32 1995 Karl Fogel <kfogel@floss.cyclic.com> 2041 2042 * log.c: trivial change to test ChangeLog stuff. 2043 2044Sat Jul 8 20:33:57 1995 Paul Eggert <eggert@twinsun.com> 2045 2046 * history.c: (history_write): Don't assume that fopen(..., "a") 2047 lets one interleave writes to the history file from different processes 2048 without interlocking. Use open's O_APPEND option instead. 2049 Throw in an lseek to lessen the race bugs on non-Posix hosts. 2050 * cvs.h, subr.c (Fopen): Remove. 2051 2052 * log.c (log_fileproc): Pass working file name to rlog, so that 2053 the name is reported correctly. 2054 2055Fri Jul 7 18:29:37 1995 Michael Hohmuth <hohmuth@inf.tu-dresden.de> 2056 2057 * client.c, client.h (client_import_setup): New function. 2058 (client_import_done, client_process_import_file): Add comments 2059 regarding now-redundant code. 2060 * import.c (import): Call client_import_setup. 2061 2062Tue Jul 4 09:21:26 1995 Bernd Leibing <bernd.leibing@rz.uni-ulm.de> 2063 2064 * rcs.c (RCS_parsercsfile_i): Rename error to l_error; SunOS4 /bin/cc 2065 doesn't like a label and function with the same name. 2066 2067Sun Jul 2 12:51:33 1995 Fred Appelman <Fred.Appelman@cv.ruu.nl> 2068 2069 * logmsg.c: Rename strlist to str_list to avoid conflict with 2070 Unixware 2.01. 2071 2072Thu Jun 29 17:37:22 1995 Paul Eggert <eggert@twinsun.com> 2073 2074 * rcs.c (RCS_check_kflag): Allow RCS 5.7's new -kb option. 2075 2076Wed Jun 28 09:53:14 1995 James Kingdon <kingdon@harvey.cyclic.com> 2077 2078 * Makefile.in (HEADERS): Remove options.h.in. 2079 (DISTFILES): Add options.h.in. 2080 Depend on options.h in addition to HEADERS. 2081 2082Tue Jun 27 22:37:28 1995 Vince Demarco <vdemarco@bou.shl.com> 2083 2084 * subr.c: Don't try to do fancy waitstatus stuff for NeXT, 2085 lib/wait.h is sufficient. 2086 2087Mon Jun 26 15:17:45 1995 James Kingdon <kingdon@harvey.cyclic.com> 2088 2089 * Makefile.in (DISTFILES): Remove RCS-patches and convert.sh. 2090 2091Fri Jun 23 13:38:28 1995 J.T. Conklin (jtc@rtl.cygnus.com) 2092 2093 * server.c (dirswitch, serve_co): Use CVSADM macro instead of 2094 literal "CVS". 2095 2096Fri Jun 23 00:00:51 1995 James Kingdon <kingdon@harvey.cyclic.com> 2097 2098 * README-rm-add: Do not talk about patching RCS, that only 2099 confuses people. 2100 * RCS-patches, convert.sh: Removed (likewise). 2101 2102Thu Jun 22 10:41:41 1995 James Kingdon <kingdon@harvey.cyclic.com> 2103 2104 * subr.c: Change -1 to (size_t)-1 when comparing against a size_t. 2105 2106Wed Jun 21 16:51:54 1995 nk@ipgate.col.sw-ley.de (Norbert Kiesel) 2107 2108 * create_adm.c, entries.c, modules.c: Avoid coredumps if 2109 timestamps, tags, etc., are NULL. 2110 2111Tue Jun 20 15:52:53 1995 Jim Meyering (meyering@comco.com) 2112 2113 * checkout.c (checkout): Remove dcl of unused variable. 2114 * client.c (call_in_directory, handle_clear_static_directory, 2115 handle_set_sticky, handle_clear_sticky, send_a_repository, 2116 send_modified, send_dirent_proc): Remove dcls of unused variables. 2117 * server.c (receive_file, serve_modified, server_cleanup): 2118 Remove dcls of unused variables. 2119 * subr.c (copy_file): Remove dcl of unused variable. 2120 * vers_ts.c (time_stamp_server): Remove dcl of unused variable. 2121 2122Mon Jun 19 13:49:35 1995 Jim Blandy <jimb@totoro.cyclic.com> 2123 2124 * sanity.sh: Fix commencement message --- the test suite says 2125 "Ok." when it's done. 2126 2127Fri Jun 16 11:23:44 1995 Jim Meyering (meyering@comco.com) 2128 2129 * entries.c (fgetentent): Parenthesize assignment in if-conditional. 2130 2131Thu Jun 15 17:33:28 1995 J.T. Conklin <jtc@rtl.cygnus.com> 2132 2133 * server.c (get_buffer_data, buf_append_char, buf_append_data): 2134 Don't conditionalize use of "inline". Autoconf takes care of 2135 defining it away on systems that don't grok it. 2136 2137Thu Jun 15 13:43:38 1995 Jim Kingdon (kingdon@cyclic.com) 2138 2139 * options.h.in (DIFF): Default to "diff" not "diff -a" since diff 2140 might not support the -a option. 2141 2142Wed Jun 14 11:29:42 1995 J.T. Conklin <jtc@rtl.cygnus.com> 2143 2144 * import.c (import_descend): Initialize dirlist to NULL. 2145 2146 * subr.c (copy_file): Fix infinite loop. 2147 2148 * server.c (serve_directory): fix a memory leak. 2149 2150 * checkout.c, commit.c, diff.c, history.c, import.c, log.c, 2151 patch.c, release.c, remove.c, rtag.c, status.c, tag.c, update.c: 2152 Use send_arg() to send command line arguments to server. 2153 2154 * commit.c (fsortcmp), find_names (fsortcmp), hash.c (hashp, 2155 findnode), hash.h (findnode), rcs.c (RCS_addnode, 2156 RCS_check_kflag, RCS_check_tag, RCS_isdead, RCS_parse, 2157 RCS_parsercsfile_i), rcs.h (RCS_addnode, RCS_check_kflag, 2158 RCS_check_tag, RCS_parse): Added const qualifiers as 2159 appropriate. 2160 * rcs.h (RCS_isdead): Added prototype. 2161 2162 * hash.h (walklist, sortlist): correct function prototypes. 2163 2164 * ignore.c (ign_setup): don't bother checking to see if file 2165 exists before calling ign_add_file. 2166 2167Fri Jun 9 11:24:06 1995 J.T. Conklin <jtc@rtl.cygnus.com> 2168 2169 * all source files (rcsid): Added const qualifer. 2170 * ignore.c (ign_default): Added const qualifier. 2171 * subr.c (numdots): Added const qualifier to function argument. 2172 * cvs.h (numdots): Added const qualifier to prototype argument. 2173 2174 * client.c (change_mode): Tied consecutive if statements testing 2175 the same variable together with else if. 2176 2177 * import.c (import_descend): Build list of subdirectories when 2178 reading directory, and then process the subdirectories in that 2179 list. This change avoids I/O overhead of rereading directory 2180 and reloading ignore list (.cvsignore) for each subdirectory. 2181 2182Thu Jun 8 11:54:24 1995 J.T. Conklin <jtc@rtl.cygnus.com> 2183 2184 * import.c (import_descend): Use 4.4BSD d_type field if it is 2185 present. 2186 2187 * lock.c (set_lockers_name): Use %lu in format and cast st_uid 2188 field to unsigned long. 2189 2190 * import.c (import): Use RCS_check_kflag() to check -k options. 2191 (keyword_usage, str2expmode, strn2expmode, expand_names): 2192 Removed. 2193 * rcs.c (RCS_check_kflag): Added keyword_usage array from import.c 2194 for more descriptive error messages. 2195 2196 * subr.c (run_setup, run_args): Changed variable argument 2197 processing to work on machines that use <varargs.h>. 2198 2199 * subr.c (copy_file, xcmp): Changed to read the file(s) by blocks 2200 rather than by reading the whole file into a huge buffer. The 2201 claim that this was reasonable because source files tend to be 2202 small does not hold up in real world situations. CVS is used 2203 to manage non-source files, and mallocs of 400K+ buffers (x2 2204 for xcmp) can easily fail due to lack of available memory or 2205 even memory pool fragmentation. 2206 (block_read): New function, taken from GNU cmp and slightly 2207 modified. 2208 2209 * subr.c (xcmp): Added const qualifier to function arguments. 2210 * cvs.h (xcmp): Added const qualifer to prototype arguments. 2211 2212Wed Jun 7 11:28:31 1995 J.T. Conklin <jtc@rtl.cygnus.com> 2213 2214 * cvs.h (Popen): Added prototype. 2215 (Fopen, open_file, isreadable, iswritable, isdir, isfile, 2216 islink, make_directory, make_directories, rename_file, 2217 link_file, unlink_file, copy_file): Added const qualifer to 2218 prototype arguments. 2219 * subr.c (Fopen, Popen, open_file, isreadable, iswritable, isdir, 2220 isfile, islink, make_directory, make_directories, rename_file, 2221 link_file, unlink_file, copy_file): Added const qualifier to 2222 function arguments. 2223 2224 * logmsg.c (logfile_write), recurse.c (do_recursion, addfile): 2225 Don't cast void functions to a void expression. There is at 2226 least one compiler (MPW) that balks at this. 2227 2228 * rcs.c (keysize, valsize): Change type to size_t. 2229 2230 * add.c (add_directory): Don't cast umask() argument to int. 2231 2232 * import.c (add_rcs_file): Changed type of mode to mode_t. 2233 2234 * rcscmds.c (RCS_merge): New function. 2235 * cvs.h (RCS_merge): Declare. 2236 * update.c (merge_file, join_file): Call RCS_merge instead of 2237 invoking rcsmerge directly. 2238 2239 * cvs.h: Include <stdlib.h> if HAVE_STDC_HEADERS, otherwise 2240 declared getenv(). 2241 * cvsrc.c, ignore.c, main.c: Removed getenv() declaration. 2242 2243 * client.c (mode_to_string): Changed to take mode_t instead of 2244 struct statb argument. Simplified implementation, no longer 2245 overallocates storage for returned mode string. 2246 * client.h (mode_to_string): Updated declaration. 2247 * server.c (server_updated): Updated for new calling conventions, 2248 pass st_mode instead of pointer to struct statb. 2249 2250 * cvs.h (CONST): Removed definition, use of const qualifier is 2251 determined by autoconf. 2252 * history.c, modules.c, parseinfo.c: Use const instead of CONST. 2253 2254 * add.c, admin.c, checkout.c, commit.c, diff.c, import.c, log.c, 2255 main.c, mkmodules.c, patch.c, recurse.c, remove.c, rtag.c, 2256 server.c, status.c, subr.c, tag.c, update.c: Changed function 2257 arguments "char *argv[]" to "char **argv" to silence lint 2258 warnings about performing arithmetic on arrays. 2259 2260Tue Jun 6 18:57:21 1995 Jim Blandy <jimb@totoro.cyclic.com> 2261 2262 * version.c: Fix up version string, to say that this is Cyclic 2263 CVS. 2264 2265Tue Jun 6 15:26:16 1995 J.T. Conklin <jtc@rtl.cygnus.com> 2266 2267 * subr.c (run_setup, run_args, run_add_arg, xstrdup): Add const 2268 qualifier to format argument. 2269 * cvs.h (run_setup, run_args, xstrdup): Likewise. 2270 2271 * Makefile.in (SOURCES): Added rcscmds.c. 2272 (OBJECTS): Added rcscmds.o. 2273 2274 * rcscmds.c: New file, with new functions RCS_settag, RCS_deltag, 2275 RCS_setbranch, RCS_lock, RCS_unlock. 2276 * checkin.c, commit.c, import.c, rtag.c, tag.c: Call above 2277 functions instead of exec'ing rcs commands. 2278 * cvs.h: Declare new functions. 2279 2280Mon May 29 21:40:54 1995 J.T. Conklin (jtc@rtl.cygnus.com) 2281 2282 * recurse.c (start_recursion, do_recursion): Set entries to NULL 2283 after calling Entries_Close(). 2284 2285Sat May 27 08:08:18 1995 Jim Meyering (meyering@comco.com) 2286 2287 * Makefile.in (check): Export RCSBIN only if there exists an 2288 `rcs' executable in ../../rcs/src. Before, tests would fail when 2289 the directory existed but contained no executables. 2290 (distclean): Remove options.h, now that it's generated. 2291 (Makefile): Regenerate only *this* file when Makefile.in is 2292 out of date. Depend on ../config.status. 2293 2294Fri May 26 14:34:28 1995 J.T. Conklin <jtc@rtl.cygnus.com> 2295 2296 * entries.c (Entries_Open): Added missing fclose(). 2297 (Entries_Close): Don't write Entries unless Entries.Log exists. 2298 2299 * entries.c (Entries_Open): Renamed from ParseEntries; changed to 2300 process Entries Log files left over from previous crashes or 2301 aborted runs. 2302 (Entries_Close): New function, write out Entries file if 2303 neccessary and erase Log file. 2304 (Register): Append changed records to Log file instead of 2305 re-writing file. 2306 (fgetentent): New function, parse one Entry record from a file. 2307 (AddEntryNode): It's no longer an error for two records with the 2308 same name to be added to the list. New records replace older 2309 ones. 2310 * cvs.h (Entries_Open, Entries_Close): Add prototypes. 2311 (CVSADM_ENTLOG): New constant, name of Entries Log file. 2312 * add.c, checkout.c, client.c, find_names.c, recurse.c: Use 2313 Entries_Open()/Entries_Close() instead of ParseEntries()/dellist(). 2314 2315 * add.c, admin.c, checkout.c, client.c, commit.c, diff.c, 2316 history.c, import.c, log.c, patch.c, release.c, remove.c, 2317 rtag.c, server.c, status.c, tag.c, update.c: Changed 2318 conditionals so that return value of *printf is tested less than 2319 0 instead of equal to EOF. 2320 2321Thu May 25 08:30:12 1995 Jim Kingdon (kingdon@lioth.cygnus.com) 2322 2323 * subr.c (xmalloc): Never try to malloc zero bytes; if the user 2324 asks for zero bytes, malloc one instead. 2325 2326Wed May 24 12:44:25 1995 Ken Raeburn <raeburn@cujo.cygnus.com> 2327 2328 * subr.c (xmalloc): Don't complain about NULL if zero bytes were 2329 requested. 2330 2331Tue May 16 21:49:05 1995 Jim Blandy <jimb@totoro.bio.indiana.edu> 2332 2333 * subr.c (xmalloc): Never try to malloc zero bytes; if the user 2334 asks for zero bytes, malloc one instead. 2335 2336Mon May 15 14:35:11 1995 J.T. Conklin <jtc@rtl.cygnus.com> 2337 2338 * lock.c (L_LOCK_OWNED): Removed. 2339 2340 * add.c, checkout.c, client.c, create_adm.c, cvs.h, entries.c, 2341 find_names.c modules.c, recurse.c, release.c, repos.c, update.c: 2342 removed CVS 1.2 compatibility/upgrade code. 2343 2344Mon May 8 11:25:07 1995 J.T. Conklin <jtc@rtl.cygnus.com> 2345 2346 * lock.c (write_lock): Missed one instance where rmdir(tmp) should 2347 have been changed to clear_lock(). 2348 2349Wed May 3 11:08:32 1995 J.T. Conklin <jtc@rtl.cygnus.com> 2350 2351 * create_adm.c, entries.c, import.c, root.c: Changed conditionals 2352 so that return value of *printf is tested less than 0 instead of 2353 equal to EOF --- That's all Standard C requires. 2354 2355Wed May 3 18:03:37 1995 Samuel Tardieu <tardieu@emma.enst.fr> 2356 2357 * rcs.h: removed #ifdef CVS_PRIVATE and #endif because cvs didn't 2358 compile anymore. 2359 2360Mon May 1 13:58:53 1995 J.T. Conklin <jtc@rtl.cygnus.com> 2361 2362 * rcs.c, rcs.h: Implemented lazy parsing of rcs files. 2363 RCS_parsercsfile_i modified to read only the first two records 2364 of rcs files, a new function RCS_reparsercsfile is called only 2365 when additional information (tags, revision numbers, dates, 2366 etc.) is required. 2367 2368Mon May 1 12:20:02 1995 Jim Kingdon (kingdon@lioth.cygnus.com) 2369 2370 * Makefile.in (INCLUDES): Include -I. for options.h. 2371 2372Fri Apr 28 16:16:33 1995 Jim Blandy <jimb@totoro.bio.indiana.edu> 2373 2374 * Makefile.in (SOURCES, HEADERS, DISTFILES): Updated. 2375 (dist-dir): Renamed from dist; changed to work with DISTDIR 2376 variable passed from parent. 2377 2378 We don't want to include a file the user has to edit in the 2379 distribution. 2380 * options.h: No longer distributed. 2381 * options.h.in: Distribute this instead. 2382 * ../INSTALL, ../README: Installation instructions updated. 2383 2384 * client.c (start_rsh_server): Send the remote command to rsh as a 2385 single string. 2386 2387Fri Apr 28 00:29:49 1995 Noel Cragg <noel@vo.com> 2388 2389 * commit.c: Added initializer for FORCE_CI 2390 2391 * sanity.sh: Fix tests added 25 Apr -- they were expecting the 2392 server to make noise, but the CVS_SERVER variable had been 2393 accidentally set with the `-Q' flag. Ran all tests -- both 2394 locally and remotely -- to verify that the change didn't break 2395 anything. 2396 2397Thu Apr 27 12:41:52 1995 Jim Kingdon (kingdon@lioth.cygnus.com) 2398 2399 * Makefile.in: Revise comment regarding check vs. remotecheck. 2400 2401Thu Apr 27 12:52:28 1995 Bryan O'Sullivan <bos@cyclic.com> 2402 2403 * client.c (start_rsh_server): If the CVS_RSH environment variable 2404 is set, use its contents as the name of the program to invoke 2405 instead of `rsh'. 2406 2407Thu Apr 27 12:18:38 1995 Noel Cragg <noel@vo.com> 2408 2409 * checkout.c (checkout): To fix new bug created by Apr 23 change, 2410 re-enabled "expand-module" functionality, because it has the side 2411 effect of setting the checkin/update programs for a directory. To 2412 solve the local/remote checkout problem that prompted this change 2413 in the first place, I performed the next change. 2414 * server.c (expand_proc): Now returns expansions for aliases only. 2415 2416Wed Apr 26 12:07:42 1995 J.T. Conklin <jtc@rtl.cygnus.com> 2417 2418 * rcs.c (getrcskey): Rewritten to process runs of whitespace chars 2419 and rcs @ strings instead of using state variables "white" and 2420 "funky". 2421 2422Fri Apr 7 15:49:25 1995 J.T. Conklin <jtc@rtl.cygnus.com> 2423 2424 * lock.c (unlock): Only call stat if we need to. 2425 2426Wed Apr 26 10:48:44 1995 Jim Kingdon (kingdon@lioth.cygnus.com) 2427 2428 * server.c (new_entries_line): Don't prototype. 2429 2430Tue Apr 25 22:19:16 1995 Jim Blandy <jimb@totoro.bio.indiana.edu> 2431 2432 * sanity.sh: Add new tests to catch bugs in Apr 23 change. 2433 2434Tue Apr 25 17:10:55 1995 Roland McGrath <roland@baalperazim.frob.com> 2435 2436 * create_adm.c (Create_Admin): Use getwd instead of getcwd. 2437 2438Sun Apr 23 20:58:32 1995 Noel Cragg <noel@vo.com> 2439 2440 * checkout.c (checkout): Disabled "expand-module" functionality on 2441 remote checkout, since it makes modules behave like aliases (see 2442 longer note there). This change necessitated the change below. 2443 Also merged the like parts of a conditional. 2444 2445 * client.c (call_in_directory): Changed the algorithm that created 2446 nested and directories and the "CVS" administration directories 2447 therein. The algoithm wrongly assumed that the name of the 2448 directory that that was to be created and the repository name were 2449 the same, which breaks modules. 2450 2451 * create_adm.c (Create_Admin), module.c (do_module), server.c 2452 (server_register), subr.c, entries.c: Added fprintfs for trace-mode 2453 debugging. 2454 2455 * client.c (client_send_expansions): Argument to function didn't 2456 have a type -- added one. 2457 2458 * server.c (new_entries_line): Arguments to this function are 2459 never used -- reoved them and fixed callers. 2460 2461Sat Apr 22 11:17:20 1995 Jim Kingdon (kingdon@lioth.cygnus.com) 2462 2463 * rcs.c (RCS_parse): If we can't open the file, give an error 2464 message (except for ENOENT in case callers rely on that). 2465 2466Wed Apr 19 08:52:37 1995 Jim Kingdon (kingdon@lioth.cygnus.com) 2467 2468 * client.c (send_repository): Check for CVSADM_ENTSTAT in `dir', not 2469 in `.'. 2470 2471 * sanity.sh: Add TODO list. Revise some comments. Add tests of 2472 one working directory adding a file and other updating it. 2473 2474Sat Apr 8 14:52:55 1995 Jim Blandy <jimb@totoro.bio.indiana.edu> 2475 2476 * Makefile.in (CFLAGS): Let configure set the default for CFLAGS. 2477 Under GCC, we want -g -O. 2478 2479Fri Apr 7 15:49:25 1995 J.T. Conklin <jtc@rtl.cygnus.com> 2480 2481 * root.c (Name_Root): merge identical adjacent conditionals. 2482 2483 * create_admin.c (Create_Admin): Rearranged check for CVSADM and 2484 OCVSADM directories so that CVSADM pathname is only built once. 2485 2486 * update.c (update_dirleave_proc): Removed code to remove CVS 2487 administration directory if command_name == "export" and to 2488 create CVS/Root file if it is not present. Identical code 2489 in update_filesdone_proc() will perform these same actions. 2490 Also removed code that read and verfied CVS/Root. This is 2491 expensive, and if it is necessary should happen in the 2492 general recursion processor rather than in the update 2493 callbacks. 2494 2495 * lock.c (masterlock): New variable, pathname of master lockdir. 2496 (set_lock): removed lockdir argument, now constructs it itself 2497 and stores it in masterlock. 2498 (clear_lock): new function, removes master lockdir. 2499 (Reader_Lock, write_lock): call clear_lock instead of removing 2500 master lockdir. 2501 (Reader_Lock, write_lock): #ifdef'd out CVSTFL code. 2502 2503 * main.c (main): register Lock_Cleanup signal handler. 2504 * lock.c (Reader_Lock, write_lock): no longer register 2505 Lock_Cleanup. 2506 2507 * main.c (main): initialize new array hostname. 2508 * lock.c (Reader_Lock, write_lock): Use global hostname array. 2509 * logmsg.c (logfile_write): Likewise. 2510 2511 * recurse.c (do_dir_proc, unroll_files_proc): Use open()/fchdir() 2512 instead of getwd()/chdir() on systems that support the fchdir() 2513 system call. 2514 2515Fri Apr 7 06:57:20 1995 Jim Kingdon (kingdon@lioth.cygnus.com) 2516 2517 * server.c: Include the word "server" in error message for memory 2518 exhausted, so the user knows which machine ran out of memory. 2519 2520 * sanity.sh: For remote, set CVS_SERVER to test the right server, 2521 rather than a random one from the PATH. 2522 2523 * commit.c [DEATH_STATE]: Pass -f to `ci'. 2524 2525Thu Apr 6 13:05:15 1995 Jim Blandy <jimb@totoro.bio.indiana.edu> 2526 2527 * commit.c (checkaddfile): If we didn't manage to fopen the file, 2528 don't try to fclose it. 2529 2530 * client.c (handle_m, handle_e): Use fwrite, rather than a loop of 2531 putc's. Sometimes these streams are unbuffered. 2532 2533Tue Apr 4 11:33:56 1995 Jim Blandy <jimb@totoro.bio.indiana.edu> 2534 2535 * (DISTFILES): Include cvsbug.sh, ChangeLog, NOTES, RCS-patches, 2536 README-rm-add, ChangeLog.fsf, sanity.sh, sanity.el, and 2537 .cvsignore. 2538 2539Mon Mar 27 08:58:42 1995 Jim Kingdon (kingdon@lioth.cygnus.com) 2540 2541 * rcs.c (RCS_parsercsfile_i): Accept `dead' state regardless of 2542 DEATH_STATE define. Revise comments regarding DEATH_STATE versus 2543 CVSDEA versus the scheme which uses a patched RCS. 2544 * README-rm-add, RCS-patches: Explain what versions of CVS need 2545 RCS patches. 2546 2547Sat Mar 25 18:51:39 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> 2548 2549 * server.c (server_cleanup): Only do the abysmal kludge of waiting 2550 for command and draining the pipe #ifdef sun. The code makes 2551 assumptions not valid on all systems, and is only there to 2552 workaround a SunOS bug. 2553 2554Wed Mar 22 21:55:56 1995 Jim Kingdon (kingdon@lioth.cygnus.com) 2555 2556 * server.c (mkdir_p): Call stat only if we get the EACCES. Faster 2557 and more elegant. 2558 2559Tue Jan 31 20:59:19 1995 Ken Raeburn <raeburn@cujo.cygnus.com> 2560 2561 * server.c: Try to avoid starting the "rm -rf" at cleanup time 2562 until after subprocesses have finished. 2563 (command_fds_to_drain, max_command_fd): New variables. 2564 (do_cvs_command): Set them. 2565 (command_pid_is_dead): New variable. 2566 (wait_sig): New function. 2567 (server_cleanup): If command_pid is nonzero, wait for it to die, 2568 draining output from it in the meantime. If nonzero SIG was 2569 passed, send a signal to the subprocess, to encourage it to die 2570 soon. 2571 2572 * main.c (usage): Argument is now `const char *const *'. 2573 * cvs.h (usage): Changed prototype. 2574 (USE): Make new variable `const'. 2575 * add.c (add_usage), admin.c (admin_usage), checkout.c 2576 (checkout_usage, export_usage, checkout), commit.c (commit_usage), 2577 diff.c (diff_usage), history.c (history_usg), import.c 2578 (import_usage, keyword_usage), log.c (log_usage), main.c (usg), 2579 patch.c (patch_usage), release.c (release_usage), remove.c 2580 (remove_usage), rtag.c (rtag_usage), server.c (server), status.c 2581 (status_usage), tag.c (tag_usage), update.c (update_usage): Usage 2582 messages are now const arrays of pointers to const char. 2583 2584 * import.c (comtable): Now const. 2585 * main.c (rcsid): Now static. 2586 (cmd): Now const. 2587 (main): Local variable CM now points to const. 2588 * server.c (outbuf_memory_error): Local var MSG now const. 2589 2590 * client.c (client_commit_usage): Deleted. 2591 2592Sat Dec 31 15:51:55 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 2593 2594 * logmsg.c (do_editor): Allocate enough space for trailing '\0'. 2595 2596Fri Mar 3 11:59:49 1995 Jim Blandy <jimb@totoro.bio.indiana.edu> 2597 2598 * cvsbug.sh: Call it "Cyclic CVS" now, not "Remote CVS". Call it 2599 version C1.4A, not 1.4A2-remote. Send bugs to cyclic-cvs, not 2600 remote-cvs. 2601 2602 * classify.c (Classify_File): Put check for dead file inside 2603 "#ifdef DEATH_SUPPORT". 2604 2605Thu Feb 23 23:03:43 1995 Jim Blandy <jimb@totoro.bio.indiana.edu> 2606 2607 * update.c (join_file): Don't pass the -E option to rcsmerge here, 2608 either (see Jan 22 change). 2609 2610Mon Feb 13 13:28:46 1995 Jim Blandy <jimb@totoro.bio.indiana.edu> 2611 2612 * cvsbug.sh: Send bug reports to remote-cvs@cyclic.com, rather 2613 than to the ordinary CVS bug address. This does mean we'll have 2614 to wade through GNATS-style bug reports, sigh. 2615 2616Wed Feb 8 06:42:27 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> 2617 2618 * server.c: Don't include <sys/stat.h>; system.h already does, and 2619 4.3BSD can't take it twice. 2620 2621 * subr.c [! HAVE_VPRINTF] (run_setup, run_args): Don't use va_dcl 2622 in declaration. Declare the a1..a8 args which are used in the 2623 sprintf call. 2624 * cvs.h [! HAVE_VPRINTF] (run_setup, run_args): Don't prototype 2625 args, to avoid conflicting with the function definitions 2626 themselves. 2627 2628Tue Feb 7 20:10:00 1995 Jim Blandy <jimb@totoro.bio.indiana.edu> 2629 2630 * client.c (update_entries): Pass the patch subprocess the switch 2631 "-b ~", not "-b~"; the latter form seems not to work with patch 2632 version 2.0 and earlier --- it takes the next argv element as the 2633 backup suffix, and thus doesn't notice that the patch file's name 2634 has been specified, thus doesn't find the patch, thus... *aargh* 2635 2636Fri Feb 3 20:28:21 1995 Jim Blandy <jimb@totoro.bio.indiana.edu> 2637 2638 * log.c (log_option_with_arg): New function. 2639 (cvslog): Use it and send_arg to handle the rlog options that take 2640 arguments. The code used to use send_option_string for 2641 everything, which assumes that "-d1995/01/02" is equivalent to 2642 "-d -1 -9 -9 -5 ...". 2643 2644Tue Jan 31 15:02:01 1995 Jim Blandy <jimb@floss.life.uiuc.edu> 2645 2646 * server.c: #include <sys/stat.h> for the new stat call in mkdir_p. 2647 (mkdir_p): Don't try to create the intermediate directory if it 2648 exists already. Some systems return EEXIST, but others return 2649 EACCES, which we can't otherwise distinguish from a real access 2650 problem. 2651 2652Sun Jan 22 15:25:45 1995 Jim Blandy <jimb@totoro.bio.indiana.edu> 2653 2654 * update.c (merge_file): My rcsmerge doesn't accept a -E option, 2655 and it doesn't look too important, so don't pass it. 2656 2657Fri Jan 20 14:24:58 1995 Ian Lance Taylor <ian@sanguine.cygnus.com> 2658 2659 * client.c (do_deferred_progs): Don't try to chdir to toplevel_wd 2660 if it has not been set. 2661 (process_prune_candidates): Likewise. 2662 2663Mon Nov 28 09:59:14 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 2664 2665 * client.c (client_commit): Move guts of function from here... 2666 * commit.c (commit): ...to here. 2667 2668Mon Nov 28 15:14:36 1994 Ken Raeburn <raeburn@cujo.cygnus.com> 2669 2670 * server.c (buf_input_data, buf_send_output): Start cpp directives 2671 in column 1, otherwise Sun 4 pcc complains. 2672 2673Mon Nov 28 09:59:14 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 2674 2675 * client.c (add_prune_candidate): Don't try to prune ".". 2676 2677Tue Nov 22 05:27:10 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 2678 2679 * server.c, client.c: More formatting cleanups. 2680 2681 * client.h, client.c: New variable client_prune_dirs. 2682 * update.c (update), checkout.c (checkout): Set it. 2683 * client.c (add_prune_candidate, process_prune_candidates): New 2684 functions. 2685 (send_repository, call_in_directory, get_responses_and_close): 2686 Call them. 2687 2688Wed Nov 23 01:17:32 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) 2689 2690 * server.c (do_cvs_command): Don't select on STDOUT_FILENO unless 2691 we have something to write. 2692 2693Tue Nov 22 05:27:10 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 2694 2695 * remove.c (remove_fileproc): Only call server_checked_in if we 2696 actually are changing the entries file. 2697 2698 * server.c (server_write_entries): New function. 2699 (dirswitch, do_cvs_command): Call it. 2700 (serve_entry, serve_updated): Just update in-memory data 2701 structures, don't mess with CVS/Entries file. 2702 2703Mon Nov 21 10:15:11 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 2704 2705 * server.c (server_checked_in): Set scratched_file to NULL after 2706 using it. 2707 2708 * checkin.c (Checkin): If the file was changed by the checkin, 2709 call server_updated not server_checked_in. 2710 2711Sun Nov 20 08:01:51 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 2712 2713 * client.c (send_repository): Move check for update_dir NULL to 2714 before where we check last_update_dir. Check for "" here too. 2715 2716 * client.c (send_repository): Use new argument dir. 2717 2718 * client.c: Pass new argument dir to send_repository and 2719 send_a_repository. 2720 2721 * server.c, server.h (server_prog): New function. 2722 * modules.c (do_modules): Call it if server_expanding. 2723 * client.c: Support Set-checkin-prog and Set-update-prog responses. 2724 * server.c, client.c: Add Checkin-prog and Update-prog requests. 2725 2726Fri Nov 18 14:04:38 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 2727 2728 * client.c (get_short_pathname, is_cvsroot_level, 2729 call_in_directory): Base whether this is new-style or 2730 old-style based on whether we actually used the Directory request, 2731 not based on whether the pathname is absolute. Rename 2732 directory_supported to use_directory. 2733 * server.c: Rename use_relative_pathnames to use_dir_and_repos. 2734 * client.c (send_a_repository): If update_dir is absolute, don't 2735 use it to try to reconstruct how far we have recursed. 2736 2737 * server.c, server.h, client.c, client.h, vers_ts.c, update.h: 2738 More cosmetic changes (identation, PARAMS vs. PROTO, eliminate 2739 alloca, etc.) to remote CVS to make it more like the rest of CVS. 2740 2741 * server.c: Make server_temp_dir just the dir name, not the name 2742 with "%s" at the end. 2743 * server.c, client.c: Add "Max-dotdot" request, and use it to make 2744 extra directories in server_temp_dir if needed. 2745 2746Thu Nov 17 09:03:28 1994 Jim Kingdon <kingdon@cygnus.com> 2747 2748 * client.c: Fix two cases where NULL was used and 0 was meant. 2749 2750Mon Nov 14 08:48:41 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 2751 2752 * server.c (serve_unchanged): Set noexec to 0 when calling Register. 2753 2754 * update.c (merge_file): Don't call xcmp if noexec. 2755 2756Fri Nov 11 13:58:22 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 2757 2758 * client.c (call_in_directory): Deal with it if reposdirname is 2759 not a subdirectory of toplevel_repos. 2760 2761Mon Nov 7 09:12:01 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 2762 2763 * patch.c: If file is removed and we don't have a tag or date, 2764 just print "current release". 2765 2766 * classify.c (Classify_File): Treat dead files appropriately. 2767 2768Fri Nov 4 07:33:03 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 2769 2770 * main.c (main) [SERVER_SUPPORT]: Move call to getwd past where we 2771 know whether we are the server or not. Set CurDir to "<remote>" 2772 if we are the server. 2773 2774 * client.c: Remove #if 0'd function option_with_arg. 2775 Remove #if 0'd code pertaining to the old way of logging the 2776 session. 2777 2778 * client.c (start_rsh_server): Don't invoke the server with the 2779 -d option. 2780 * server.c (serve_root): Test root for validity, just like main.c 2781 does for non-remote CVS. 2782 * main.c (main): If `cvs server' happens with a colon in the 2783 CVSroot, just handle it normally; don't make it an error. 2784 2785Wed Nov 2 11:09:38 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 2786 2787 * client.c (send_dirent_proc): If dir does not exist, just return 2788 R_SKIP_ALL. 2789 2790 * server.c, client.c: Add Directory request and support for 2791 local relative pathnames (along with the repository absolute 2792 pathnames). 2793 * update.c, add.c, checkout.c, checkin.c, cvs.h, create_adm.c, 2794 commit.c, modules.c, server.c, server.h, remove.c, client.h: 2795 Pass update_dir to server_* functions. Include update_dir in 2796 more error messages. 2797 2798Fri Oct 28 08:54:00 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 2799 2800 * client.c: Reformat to bring closer to cvs standards for brace 2801 position, comment formatting, etc. 2802 2803 * sanity.sh: Remove wrong "last mod" line. Convert more tests to 2804 put PASS or FAIL in log file. Change it so arguments to the 2805 script specify which tests to run. 2806 2807 * client.c, client.h, server.c, checkout.c: Expand modules in 2808 separate step from the checkout itself. 2809 2810Sat Oct 22 20:33:35 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com) 2811 2812 * update.c (join_file): When checking for null return from 2813 RCS_getversion, still do return even if quiet flag is set. 2814 2815Thu Oct 13 07:36:11 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 2816 2817 * client.c (send_files): Call send_repository even if 2818 toplevel_repos was NULL. 2819 2820 * server.c (server_updated): If joining, don't remove file. 2821 2822 * update.c (join_file): If server and file is unmodified, check it 2823 out before joining. After joining, call server_updated. New 2824 argument repository. 2825 2826 * server.c, server.h (server_copy_file): New function. 2827 * update.c (update_file_proc, join_file): Call it. 2828 * client.c (copy_file, handle_copy_file): New functions. 2829 * client.c (responses): Add "Copy-file". 2830 2831 * client.c, client.h: Make toplevel_wd, failed_patches and 2832 failed_patches_count extern. 2833 * client.c (client_update): Move guts of function from here... 2834 * update.c (update): ...to here. 2835 2836 * client.c, checkout.c: Likewise for checkout. 2837 2838 * client.c (is_cvsroot_level): New function. 2839 (handle_set_sticky, handle_clear_sticky, 2840 handle_clear_static_directory): Call it, instead of checking 2841 short_pathname for a slash. 2842 2843 * client.c, client.h (client_process_import_file, 2844 client_import_done): New functions. 2845 * import.c (import, import_descend): Use them. 2846 * import.c (import_descend): If server, don't mention ignored CVS 2847 directories. 2848 * import.c (import_descend_dir): If client, don't print warm 2849 fuzzies, or make directories in repository. If server, print warm 2850 fuzzies to stdout not stderr. 2851 * client.c (send_modified): New function, broken out from 2852 send_fileproc. 2853 (send_fileproc): Call it. 2854 2855 * client.c (handle_clear_sticky, handle_set_sticky, 2856 handle_clear_static_directory, handle_set_static_directory): If 2857 command is export, just return. 2858 (call_in_directory, update_entries): If command is export, don't 2859 create CVS directories, CVS/Entries files, etc. 2860 * update.c (update_filesdone_proc): Don't remove CVS directories if 2861 client_active. 2862 2863 * client.c (send_a_repository): Instead of insisting that 2864 repository end with update_dir, just strip as many pathname 2865 components from the end as there are in update_dir. 2866 2867 * Makefile.in (remotecheck): New target, pass -r to sanity.sh. 2868 * sanity.sh: Accept -r argument which means to test remote cvs. 2869 2870 * tag.c (tag), rtag.c (rtag), patch.c (patch), import.c (import), 2871 admin.c (admin), release.c (release): If client_active, connect to 2872 the server and send the right requests. 2873 * main.c (cmds): Add these commands. 2874 (main): Remove code which would strip hostname off cvsroot and try 2875 the command locally. There are no longer any commands which are 2876 not supported. 2877 * client.c, client.h (client_rdiff, client_tag, client_rtag, 2878 client_import, client_admin, client_export, client_history, 2879 client_release): New functions. 2880 * server.c (serve_rdiff, serve_tag, serve_rtag, serve_import, 2881 serve_admin, serve_export, serve_history, serve_release): New 2882 functions. 2883 (requests): List them. 2884 * server.c: Declare cvs commands (add, admin, etc.). 2885 * cvs.h, server.h: Don't declare any of them here. 2886 * main.c: Restore declarations of cvs commands which were 2887 previously removed. 2888 2889 * cvs.h: New define DEATH_STATE, commented out for now. 2890 * rcs.c (RCS_parsercsfile_i), commit.c (remove_file, checkaddfile) 2891 [DEATH_STATE]: Use RCS state to record a dead file. 2892 2893Mon Oct 3 09:44:54 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 2894 2895 * status.c (status_fileproc): Now that ts_rcs is just one time, 2896 don't try to print the second time from it. (Same as raeburn 20 2897 Aug change, it accidentally got lost in 1.4 Alpha-1 merge). 2898 2899 * cvs.h (CVSDEA): Added (but commented out for now). 2900 * rcs.c (RCS_parsercsfile_i) [CVSDEA]: Also look in CVSDEA to see if 2901 something is dead. 2902 * commit.c (ci_new_rev, mark_file) [CVSDEA]: New functions. 2903 (remove_file, checkaddfile) [CVSDEA]: Use them instead of ci -K. 2904 * find_names.c (find_dirs) [CVSDEA]: Don't match CVSDEA directories. 2905 * update.c (checkout_file): Check RCS_isdead rather than relying 2906 on co to not create the file. 2907 2908 * sanity.sh: Direct output to logfile, not /dev/null. 2909 2910 * subr.c (run_exec): Print error message if we are unable to exec. 2911 2912 * commit.c (remove_file): Call Scratch_Entry when removing tag 2913 from file. The DEATH_SUPPORT ifdef was erroneous. 2914 2915Sun Oct 2 20:33:27 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 2916 2917 * commit.c (checkaddfile): Instead of calling isdir before 2918 attempting to create the directory, just ignore EEXIST errors from 2919 mkdir. (This removes some DEATH_SUPPORT ifdefs which actually had 2920 nothing to do with death support). 2921 2922Thu Sep 29 09:23:57 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 2923 2924 * diff.c (diff): Search attic too if we have a second tag/date. 2925 (diff_fileproc): If we have a second tag/date, don't do all the 2926 checking regarding the user file. 2927 2928Mon Sep 26 12:02:15 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 2929 2930 * checkin.c (Checkin): Check for error from unlink_file. 2931 2932Mon Sep 26 08:51:10 1994 Anthony J. Lill (ajlill@ajlc.waterloo.on.ca) 2933 2934 * rcs.c (getrcskey): Allocate space for terminating '\0' if 2935 necessary. 2936 2937Sat Sep 24 09:07:37 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 2938 2939 * commit.c (commit_fileproc): Set got_message = 1 when calling 2940 do_editor (accidentally omitted from last change). 2941 2942Fri Sep 23 11:59:25 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 2943 2944 Revert buggy parts of Rich's change of 1 Nov 1993 (keeping the 2945 dynamic buffer allocation, which was the point of that change). 2946 * logmsg.c (do_editor): Reinstate message arg, but make it char 2947 **messagep instead of char *message. Change occurances of message 2948 to *messagep. Char return type from char * back to void. 2949 * cvs.h: Change do_editor declaration. 2950 * commit.c: Reinstate got_message variable 2951 (commit_filesdoneproc, commit_fileproc, commit_direntproc): Use it. 2952 * import.c (import), commit.c (commit_fileproc, 2953 commit_direntproc): Pass &message to do_editor; don't expect it to 2954 return a value. 2955 * client.c (client_commit): Likewise. 2956 * import.c (import): Deal with it if message is NULL. 2957 2958Wed Sep 21 09:43:25 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 2959 2960 * server.c (server_updated): If the file doesn't exist, skip it. 2961 2962 * diff.c, client.h, client.c: Rename diff_client_senddate to 2963 client_senddate and move from diff.c to client.c. 2964 * client.c (client_update, client_checkout): Use it. 2965 2966Sat Sep 17 08:36:58 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 2967 2968 * checkout.c (checkout_proc): Don't pass NULL to Register for 2969 version. (should fix "cvs co -r <nonexistent-tag> <file>" 2970 coredump on Solaris). 2971 2972Fri Sep 16 08:38:02 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 2973 2974 * diff.c (diff_fileproc): Set top_rev from vn_user, not vn_rcs. 2975 Rename it to user_file_rev because it need not be the head of any 2976 branch. 2977 (diff_file_nodiff): After checking user_file_rev, if we have both 2978 use_rev1 and use_rev2, compare them instead of going on to code 2979 which assumes use_rev2 == NULL. 2980 2981Thu Sep 15 08:20:23 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 2982 2983 * status.c (status): Return a value in client_active case. 2984 2985Thu Sep 15 15:02:12 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) 2986 2987 * server.c (serve_modified): Create the file even if the size is 2988 zero. 2989 2990Thu Sep 15 08:20:23 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 2991 2992 * lock.c (readers_exist): Clear errno each time around the loop, 2993 not just the first time. 2994 2995 * client.c (start_server): Don't send Global_option -q twice. 2996 2997 * no_diff.c (No_Difference): Check for error from unlink. 2998 2999 * no_diff.c, cvs.h (No_Difference): New args repository, 3000 update_dir. Call server_update_entries if needed. Use update_dir 3001 in error message. 3002 * classify.c (Classify_File): Pass new args to No_Difference. 3003 3004 * server.c (server_update_entries, server_checked_in, 3005 server_updated): Don't do anything if noexec. 3006 3007 * client.c (send_fileproc): Rather than guessing how big the gzip 3008 output may be, just realloc the buffer as needed. 3009 3010Tue Sep 13 13:22:03 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 3011 3012 * lock.c: Check for errors from unlink, readdir, and closedir. 3013 3014 * classify.c (Classify_File): Pass repository and update_dir to 3015 sticky_ck. 3016 (sticky_ck): New args repository and update_dir. 3017 * server.c, server.h (server_update_entries): New function. 3018 * classify.c (sticky_ck): Call it. 3019 * client.c: New response "New-entry". 3020 * client.c (send_fileproc): Send tag/date from vers->entdata, not 3021 from vers itself. 3022 3023Mon Sep 12 07:07:05 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 3024 3025 * server.c: Clean up formatting ("= (errno)" -> "= errno"). 3026 3027 * cvs.h: Declare strerror. 3028 3029 * client.c: Add code to deal with Set-sticky and Clear-sticky 3030 responses, and Sticky request. 3031 * server.c: Add code to deal with Sticky request. 3032 * server.c, server.h (server_set_sticky): New function. 3033 * create_adm.c (Create_Admin), update.c (update, update_dirent_proc), 3034 commit.c (commit_dirleaveproc): Call it. 3035 * client.c, client.h (send_files): Add parameter aflag. 3036 * add.c (add), diff.c (diff), log.c (cvslog), remove.c (cvsremove), 3037 status.c (status), 3038 client.c (client_commit, client_update, client_checkout): Pass it. 3039 * client.c (client_update): Add -A flag. 3040 3041Fri Sep 9 07:05:35 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 3042 3043 * entries.c (WriteTag): Check for error from unlink_file. 3044 3045 * server.c (server_updated): Initialize size to 0. Previously if 3046 the file was zero length, the variable size got used without being 3047 set. 3048 3049Thu Sep 8 14:23:05 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 3050 3051 * server.c (serve_repository): Check for error from fopen on 3052 CVSADM_ENT. 3053 3054 * update.c (update, update_dirent_proc): Check for errors when 3055 removing Entries.Static. 3056 3057 * client.c: Add code to deal with Set-static-directory and 3058 Clear-static-directory responses, and Static-directory request. 3059 * server.c, server.h (server_clear_entstat, server_set_entstat): 3060 New functions. 3061 * update.c, checkout.c, modules.c: Call them. 3062 * server.c: Add code to deal with Static-directory request. 3063 3064 * server.c, client.c: Use strchr and strrchr instead of index and 3065 rindex. 3066 3067 * server.c (serve_unchanged, serve_lost): Change comments which 3068 referred to changing timestamp; we don't always change the 3069 timestamp in those cases anymore. 3070 3071Wed Sep 7 10:58:12 1994 J.T. Conklin (jtc@rtl.cygnus.com) 3072 3073 * cvsrc.c (read_cvsrc): Don't call getenv() three times when one 3074 time will do. 3075 3076 * subr.c (xmalloc, xrealloc): Change type of bytes argument from 3077 int to size_t and remove the test that checks if it is less than 3078 zero. 3079 * cvs.h (xmalloc, xrealloc): Update prototype. 3080 3081Thu Sep 1 12:22:20 1994 Jim Kingdon (kingdon@cygnus.com) 3082 3083 * update.c (merge_file, join_file): Pass -E to rcsmerge. 3084 (merge_file): If rcsmerge doesn't change the file, say so. 3085 3086 * recurse.c, cvs.h (start_recursion): New argument wd_is_repos. 3087 * recurse.c (start_recursion): Use it instead of checking whether 3088 command_name is rtag to find out if we are cd'd to the repository. 3089 * client.c, update.c, commit.c, status.c, diff.c, log.c, admin.c, 3090 remove.c, tag.c: Pass 0 for wd_is_repos. 3091 * rtag.c, patch.c: Pass 1 for wd_is_repos. 3092 3093 * classify.c, cvs.h (Classify_File): New argument pipeout. 3094 * classify.c (Classify_File): If pipeout, don't complain if the 3095 file is already there. 3096 * update.c, commit.c, status.c: Change callers. 3097 3098 * mkmodules.c (main): Don't print "reminders" if commitinfo, 3099 loginfo, rcsinfo, or editinfo files are missing. 3100 3101Mon Aug 22 23:22:59 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com) 3102 3103 * server.c (strerror): Static definition replaced by extern 3104 declaration. 3105 3106Sun Aug 21 07:16:27 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com) 3107 3108 * client.c (update_entries): Run "patch" with input from 3109 /dev/null, so if it's the wrong version, it fails quickly rather 3110 than waiting for EOF from terminal before failing. 3111 3112Sat Aug 20 04:16:33 1994 Ken Raeburn (raeburn@cujo.cygnus.com) 3113 3114 * server.c (serve_unchanged): Instead of creating a file with a 3115 zero timestamp, rewrite the entries file to have "=" in the 3116 timestamp field. 3117 * vers_ts.c (mark_lost, mark_unchanged): New macros. 3118 (time_stamp_server): Use them, for clarity. Interpret "=" 3119 timestamp as an unchanged file. A zero-timestamp file should 3120 never be encountered now in use_unchanged mode. 3121 3122 * client.c (start_server): If CVS_CLIENT_PORT indicates a 3123 non-positive port number, skip straight to rsh connection. 3124 3125 * status.c (status_fileproc): Fix ts_rcs reference when printing 3126 version info, to correspond to new Entries file format. Don't 3127 print it at all if server_active, because it won't have any useful 3128 data. 3129 3130Thu Aug 18 14:38:21 1994 Ken Raeburn (raeburn@cujo.cygnus.com) 3131 3132 * cvs.h (status): Declare. 3133 * client.c (client_status): New function. 3134 3135 * client.h (client_status): Declare. 3136 * main.c (cmds): Include it. 3137 * server.c (serve_status): New function. 3138 (requests): Add it. 3139 * status.c (status): Do the remote thing if client_active. 3140 3141 * client.c (supported_request): New function. 3142 (start_server): Use it. 3143 3144 * server.c (receive_partial_file): New function, broken out from 3145 serve_modified. Operate with fixed-size local buffer, instead of 3146 growing stack frame by entire file size. 3147 (receive_file): New function, broken out from serve_modified. 3148 (serve_modified): Call it. 3149 (server): Print out name of unrecognized request. 3150 3151 More generic stream-filtering support: 3152 * client.c (close_on_exec, filter_stream_through_program): New 3153 functions. 3154 (server_fd): New variable. 3155 (get_responses_and_close): Direct non-rsh connection is now 3156 indicated by server_fd being non-negative. File descriptors for 3157 to_server and from_server may now be different in case "tee" 3158 filtering is being done. Wait for rsh_pid specifically. 3159 (start_server): Use filter_stream_through_program for "tee" 3160 filter, and enable it for direct Kerberos-authenticated 3161 connections. Use dup to create new file descriptors for server 3162 connection if logging is enabled. 3163 (start_rsh_server): Disable code that deals with logging. 3164 3165 Per-file compression support: 3166 * cvs.h (gzip_level): Declare. 3167 * main.c (usg): Describe new -z argument. 3168 (main): Recognize it and set gzip_level. 3169 * client.c (filter_through_gzip, filter_through_gunzip): New 3170 functions to handle compression. 3171 (update_entries): If size starts with "z", uncompress 3172 (start_server): If gzip_level is non-zero and server supports it, 3173 issue gzip-file-contents request. 3174 (send_fileproc): Optionally compress file contents. Use a 3175 slightly larger buffer, anticipating the worst case. 3176 * server.c (gzip_level): Define here. 3177 (receive_file): Uncompress file contents if needed. 3178 (serve_modified): Recognize "z" in file size and pass receive_file 3179 appropriate flag. 3180 (buf_read_file_to_eof, buf_chain_length): New functions. 3181 (server_updated): Call them when sending a compressed file. 3182 (serve_gzip_contents): New function; set gzip_level. 3183 (requests): Added gzip-file-contents request. 3184 3185Wed Aug 17 09:37:44 1994 J.T. Conklin (jtc@cygnus.com) 3186 3187 * find_names.c (find_dirs): Use 4.4BSD filesystem feature (it 3188 contains the file type in the dirent structure) to avoid 3189 stat'ing each file. 3190 3191 * commit.c (remove_file,checkaddfile): Change type of umask 3192 variables from int to mode_t. 3193 * subr.c (): Likewise. 3194 3195Tue Aug 16 19:56:34 1994 Mark Eichin (eichin@cygnus.com) 3196 3197 * diff.c (diff_fileproc): Don't use diff_rev* because they're 3198 invariant across calls -- add new variable top_rev. 3199 (diff_file_nodiff): After checking possible use_rev* values, if 3200 top_rev is set drop it in as well (if we don't already have two 3201 versions) and then clear it for next time around. 3202 3203Wed Aug 10 20:50:47 1994 Mark Eichin (eichin@cygnus.com) 3204 3205 * diff.c (diff_fileproc): if ts_user and ts_rcs match, then the 3206 file is at the top of the tree -- so we might not even have a 3207 copy. Put the revision into diff_rev1 or diff_rev2. 3208 3209Wed Aug 10 14:55:38 1994 Ken Raeburn (raeburn@cujo.cygnus.com) 3210 3211 * server.c (do_cvs_command): Use waitpid. 3212 3213 * subr.c (run_exec): Always use waitpid. 3214 3215 * Makefile.in (CC, LIBS): Define here, in case "make" is run in 3216 this directory instead of top level. 3217 3218Wed Aug 10 13:57:06 1994 Mark Eichin (eichin@cygnus.com) 3219 3220 * client.c (krb_get_err_text): use HAVE_KRB_GET_ERR_TEXT to 3221 determine if we need to use the array or the function. 3222 * main.c: ditto. 3223 3224Tue Aug 9 16:43:30 1994 Ken Raeburn (raeburn@cujo.cygnus.com) 3225 3226 * entries.c (ParseEntries): If timestamp is in old format, rebuild 3227 it in the new format. Fudge an unmatchable entry that won't 3228 trigger this code next time around, if the file is modified. 3229 3230 * vers_ts.c (time_stamp): Only put st_mtime field into timestamp, 3231 and use GMT time for it. With st_ctime or in local time, copying 3232 trees between machines in different time zones makes all the files 3233 look modified. 3234 (time_stamp_server): Likewise. 3235 3236Tue Aug 9 19:40:51 1994 Mark Eichin (eichin@cygnus.com) 3237 3238 * main.c (main): use krb_get_err_text function instead of 3239 krb_err_txt array. 3240 3241Thu Aug 4 15:37:50 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) 3242 3243 * main.c (main): When invoked as kserver, set LOGNAME and USER 3244 environment variables to the remote user name. 3245 3246Thu Aug 4 07:44:37 1994 Mark Eichin (eichin@cygnus.com) 3247 3248 * client.c: (handle_valid_requests): if we get an option that has 3249 rq_enableme set, then send that option. If it is UseUnchanged, set 3250 use_unchanged so that the rest of the client knows about 3251 it. (Could become a more general method for dealing with protocol 3252 upgrades.) 3253 (send_fileproc): if use_unchanged didn't get set, send an 3254 old-style "Lost" request, otherwise send an "Unchanged" request. 3255 * server.c (serve_unchanged): new function, same as serve_lost, 3256 but used in the opposite case. 3257 (requests): add new UseUnchanged and Unchanged requests, and make 3258 "Lost" optional (there isn't a good way to interlock these.) 3259 * server.h (request.status): rq_enableme, new value for detecting 3260 compatibility changes. 3261 * vers_ts.c (time_stamp_server): swap meaning of zero timestamp if 3262 use_unchanged is set. 3263 3264Tue Jul 26 10:19:30 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 3265 3266 * sanity.sh: Separate CVSROOT_FILENAME, which must be the filename 3267 of the root, from CVSROOT, which can include a hostname for 3268 testing remote CVS. (but the tests aren't yet prepared to deal 3269 with the bugs in remote CVS). 3270 3271 * import.c (update_rcs_file): Change temporary file name in TMPDIR 3272 from FILE_HOLDER to cvs-imp<process-id>. 3273 3274 * sanity.sh: Add ">/dev/null" and "2>/dev/null" many places to 3275 suppress spurious output. Comment out tests which don't work (cvs 3276 add on top-level directory, cvs diff when non-committed adds or 3277 removes have been made, cvs release, test 53 (already commented as 3278 broken), retagging without deleting old tag, test 63). Now 'make 3279 check' runs without any failures. 3280 3281Fri Jul 15 12:58:29 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) 3282 3283 * Makefile.in (install): Do not depend upon installdirs. 3284 3285Thu Jul 14 15:49:42 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) 3286 3287 * client.c, server.c: Don't try to handle alloca here; it's 3288 handled by cvs.h. 3289 3290Tue Jul 12 13:32:40 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) 3291 3292 * client.c (update_entries): Reset stored_checksum_valid if we 3293 quit early because of a patch failure. 3294 3295Fri Jul 8 11:13:05 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) 3296 3297 * client.c (responses): Mark "Remove-entry" as optional. 3298 3299Thu Jul 7 14:07:58 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) 3300 3301 * server.c (server_updated): Add new checksum argument. If it is 3302 not NULL, and the client supports the "Checksum" response, send 3303 it. 3304 * server.h (server_updated): Update prototype. 3305 * update.c: Include md5.h. 3306 (update_file_proc): Pass new arguments to patch_file and 3307 server_updated. 3308 (patch_file): Add new checksum argument. Set it to the MD5 3309 checksum of the version of the file being checked out. 3310 (merge_file): Pass new argument to server_updated. 3311 * client.c: Include md5.h. 3312 (stored_checksum_valid, stored_checksum): New static variables. 3313 (handle_checksum): New static function. 3314 (update_entries): If a checksum was received, check it against the 3315 MD5 checksum of the final file. 3316 (responses): Add "Checksum". 3317 (start_server): Clear stored_checksum_valid. 3318 * commit.c (commit_fileproc): Pass new argument to server_updated. 3319 3320 * client.h (struct response): Move definition in from client.c, 3321 add status field. 3322 (responses): Declare. 3323 * client.c (struct response): Remove definition; moved to 3324 client.h. 3325 (responses): Make non-static. Initialize status field. 3326 * server.c (serve_valid_responses): Check and record valid 3327 responses, just as in handle_valid_requests in client.c. 3328 3329 * diff.c (diff_client_senddate): New function. 3330 (diff): Use it to send -D arguments to server. 3331 3332Wed Jul 6 12:52:37 1994 J.T. Conklin (jtc@phishhead.cygnus.com) 3333 3334 * rcs.c (RCS_parsercsfile_i): New function, parse RCS file 3335 referenced by file ptr argument. 3336 (RCS_parsercsfile): Open file and pass its file ptr to above function. 3337 (RCS_parse): Likewise. 3338 3339Wed Jul 6 01:25:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) 3340 3341 * client.c (update_entries): Print message indicating that an 3342 unpatchable file will be refetched. 3343 (client_update): Print message when refetching unpatchable files. 3344 3345Fri Jul 1 07:16:29 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 3346 3347 * client.c (send_dirent_proc): Don't call send_a_repository if 3348 repository is "". 3349 3350Fri Jul 1 13:58:11 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) 3351 3352 * client.c (last_dirname, last_repos): Move out of function. 3353 (failed_patches, failed_patches_count): New static variables. 3354 (update_entries): If patch program fails, save short_pathname in 3355 failed_patches array, only exit program if retcode is -1, and 3356 return out of the function rather than update the Entries line. 3357 (start_server): Clear toplevel_repos, last_dirname, last_repos. 3358 (client_update): If failed_patches is not NULL after doing first 3359 update, do another update, but remove all the failed files first. 3360 3361Thu Jun 30 09:08:57 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 3362 3363 * server.c (requests): Add request "Global_option". 3364 (serve_global_option): New function, to handle it. 3365 * client.c (start_server): Deal with global options. Check for 3366 errors from fprintf. 3367 3368 * client.c (send_fileproc): Split out code which sends repository 3369 into new function send_a_repository. Also, deal with update_dir 3370 being ".". 3371 (send_dirent_proc): Call send_a_repository. 3372 * add.c (add): If client_active, do special processing for 3373 directories. 3374 (add_directory): If server_active, don't try to create CVSADM 3375 directory. 3376 3377Thu Jun 30 11:58:52 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) 3378 3379 * client.c (update_entries): If patch succeeds, remove the backup 3380 file. 3381 * server.c (server_updated): Add new argument file_info. If it is 3382 not NULL, use it rather than sb to get the file mode. 3383 * server.h (server_updated): Update prototype for new argument. 3384 * update.c (update_file_proc): Pass new arguments to patch_file 3385 and server_updated. 3386 (patch_file): Add new argument file_info. Don't use -p to check 3387 out new version, check it out into file and rename that to file2. 3388 If result is not readable, assume file is dead and set docheckout. 3389 Call xchmod on file2. Close the patch file after checking for a 3390 binary diff. Set file_info to the results of stat on file2. 3391 (merge_file): Pass new argument to server_updated. 3392 * commit.c (commit_fileproc): Pass new argument to server_updated. 3393 3394Wed Jun 29 13:00:41 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) 3395 3396 * client.c (krb_realmofhost): Declare, since it's not the current 3397 <krb.h>. 3398 (start_server): Save the name returned by gethostbyname. Call 3399 krb_realmofhost to get the realm. Pass the resulting realm to 3400 krb_sendauth. Pass the saved real name to krb_sendauth, rather 3401 than server_host. 3402 3403 * update.c (update_file_proc): Pass &docheckout to patch_file. If 3404 it is set to 1, fall through to T_CHECKOUT case. 3405 (patch_file): Add docheckout argument. Set it to 1 if we can't 3406 make a patch. Check out the files and run diff rather than 3407 rcsdiff. If either file does not end in a newline, we can't make 3408 a patch. If the patch starts with the string "Binary", assume 3409 one or the other is a binary file, and that we can't make a patch. 3410 3411Tue Jun 28 11:57:29 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) 3412 3413 * client.c (update_entries): If the patch file is empty, don't run 3414 patch program; avoids error message. 3415 3416 * classify.c (Classify_File): Return T_CHECKOUT, not T_PATCH, if 3417 the file is in the Attic. 3418 3419 * cvs.h (enum classify_type): Add T_PATCH. 3420 * config.h (PATCH_PROGRAM): Define. 3421 * classify.c (Classify_File): If user file exists and is not 3422 modified, and using the same -k options, return T_PATCH instead of 3423 T_CHECKOUT. 3424 * update.c (patches): New static variable. 3425 (update): Add u to gnu_getopt argument. Handle it. 3426 (update_file_proc): Handle T_PATCH. 3427 (patch_file): New static function. 3428 * server.h (enum server_updated_arg4): Add SERVER_PATCHED. 3429 * server.c (server_updated): Handle SERVER_PATCHED by sending 3430 "Patched" command. 3431 (serve_ignore): New static function. 3432 (requests): Add "update-patches". 3433 (client_update): If the server supports "update-patches", send -u. 3434 * client.c (struct update_entries_data): Change contents field 3435 from int to an unnamed enum. 3436 (update_entries): Correponding change. If contents is 3437 UPDATE_ENTRIES_PATCH, pass the input to the patch program. 3438 (handle_checked_in): Initialize contents to enum value, not int. 3439 (handle_updated, handle_merged): Likewise. 3440 (handle_patched): New static function. 3441 (responses): Add "Patched". 3442 * commit.c (check_fileproc): Handle T_PATCH. 3443 * status.c (status_fileproc): Likewise. 3444 3445 * client.c (start_server): If CVS_CLIENT_PORT is set in the 3446 environment, connect to that port, rather than looking up "cvs" in 3447 /etc/services. For debugging. 3448 3449Tue Jun 21 12:48:16 1994 Ken Raeburn (raeburn@cujo.cygnus.com) 3450 3451 * update.c (joining): Return result of comparing pointer with 3452 NULL, not result of casting (truncating, on Alpha) pointer to int. 3453 3454 * main.c (main) [HAVE_KERBEROS]: Impose a umask if starting as 3455 Kerberos server, so temp directories won't be world-writeable. 3456 3457 * update.c (update_filesdone_proc) [CVSADM_ROOT]: If environment 3458 variable CVS_IGNORE_REMOTE_ROOT is set and repository is remote, 3459 don't create CVS/Root file. 3460 * main.c (main): If env var CVS_IGNORE_REMOTE_ROOT is set, don't 3461 check CVS/Root. 3462 3463Fri Jun 10 18:48:32 1994 Mark Eichin (eichin@cygnus.com) 3464 3465 * server.c (O_NDELAY): use POSIX O_NONBLOCK by default, unless it 3466 isn't available (in which case substitute O_NDELAY.) 3467 3468Thu Jun 9 19:17:44 1994 Mark Eichin (eichin@cygnus.com) 3469 3470 * server.c (server_cleanup): chdir out of server_temp_dir before 3471 deleting it (so that it works on non-BSD systems.) Code for choice 3472 of directory cloned from server(). 3473 3474Fri May 27 18:16:01 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) 3475 3476 * client.c (update_entries): Add return type of void. 3477 (get_responses_and_close): If using Kerberos and from_server and 3478 to_server are using the same file descriptor, use shutdown, not 3479 fclose. Close from_server. 3480 (start_server): New function; most of old version renamed to 3481 start_rsh_server. 3482 (start_rsh_server): Mostly renamed from old start_server. 3483 (send_fileproc): Use %lu and cast sb.st_size in fprintf call. 3484 (send_files): Remove unused variables repos and i. 3485 (option_no_arg): Comment out; unused. 3486 * main.c (main): Initialize cvs_update_env to 0. If command is 3487 "kserver", authenticate and change command to "server". If 3488 command is "server", don't call Name_Root, don't check access to 3489 history file, and don't assume that CVSroot is not NULL. 3490 * server.c (my_memmove): Removed. 3491 (strerror): Change check from STRERROR_MISSING to HAVE_STRERROR. 3492 (serve_root): Likewise for putenv. 3493 (serve_modified): Initialize buf to NULL. 3494 (struct output_buffer, buf_try_send): Remove old buffering code. 3495 (struct buffer, struct buffer_data, BUFFER_DATA_SIZE, 3496 allocate_buffer_datas, get_buffer_data, buf_empty_p, 3497 buf_append_char, buf_append_data, buf_read_file, buf_input_data, 3498 buf_copy_lines): New buffering code. 3499 (buf_output, buf_output0, buf_send_output, set_nonblock, 3500 set_block, buf_send_counted, buf_copy_counted): Rewrite for new 3501 buffering code. 3502 (protocol, protocol_memory_error, outbuf_memory_error, 3503 do_cvs_command, server_updated): Rewrite for new buffering code. 3504 (input_memory_error): New function. 3505 (server): Put Rcsbin at start of PATH in environment. 3506 * Makefile.in: Add @includeopt@ to DEFS. 3507 3508Fri May 20 08:13:10 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 3509 3510 * cvs.h, classify.c (Classify_File): New argument update_dir. 3511 Include it in user messages. 3512 * commit.c (check_fileproc), status.c (status_fileproc), update.c 3513 (update_file_proc): Pass update_dir to Classify_File. 3514 * commit.c (check_fileproc), update.c (checkout_file): 3515 Include update_dir in user messages. 3516 * commit.c (check_fileproc) update.c (update_file_proc): Re-word 3517 "unknown status" message. 3518 3519 * server.c (server_checked_in): Deal with the case where 3520 scratched_file is set rather than entries_line. 3521 3522 * entries.c (Register): Write file even if server_active. 3523 * add.c (add): Add comment about how we depend on above behavior. 3524 3525Tue May 17 08:16:42 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 3526 3527 * mkmodules.c: Add dummy server_active and server_cleanup, to go 3528 with the dummy Lock_Cleanup already there. 3529 3530 * server.c (server_cleanup): No longer static. 3531 3532Sat May 7 10:17:17 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 3533 3534 Deal with add and remove: 3535 * commit.c (checkaddfile): If CVSEXT_OPT or CVSEXT_LOG file does 3536 not exist, just silently keep going. 3537 (remove_file): If server_active, remove file before creating 3538 temporary file with that name. 3539 * server.c (serve_remove, serve_add): New functions. 3540 (requests): Add them. 3541 * server.c (server_register): If options is NULL, it means there 3542 are no options. 3543 * server.c, server.h (server_scratch_entry_only): New function. 3544 New variable kill_scratched_file. 3545 (server_scratch, server_updated): Deal with kill_scratched_file. 3546 * commit.c (commit_fileproc): If server_active, call 3547 server_scratch_entry_only and server_updated. 3548 * add.c (add): Add client_active code. 3549 (add): If server_active, call server_checked_in for each file added. 3550 * remove.c (remove): Add client_active code. 3551 (remove_fileproc): If server_active, call server_checked_in. 3552 * main.c (cmds), client.c, client.h: New functions client_add and 3553 client_remove. 3554 * Move declarations of add, cvsremove, diff, and cvslog from 3555 main.c to cvs.h. 3556 * client.c (call_in_directory): Update comment regarding Root and 3557 Repository files. 3558 (send_fileproc): Only send Entries line if Version_TS really finds 3559 an entry. If it doesn't find one, send Modified. 3560 (update_entries): If version is empty or starts with 0 or -, 3561 create a dummy timestamp. 3562 3563Thu May 5 19:02:51 1994 Per Bothner (bothner@kalessin.cygnus.com) 3564 3565 * recurse/c (start_recursion): If we're doing rtag, and thus 3566 have cd'd to the reporsitory, add ,v to a file name before stat'ing. 3567 3568Wed Apr 20 15:01:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) 3569 3570 * client.c (client_commit): Call ign_setup. 3571 (client_update, client_checkout): Likewise. 3572 * diff.c (diff): If client, call ign_setup. 3573 * log.c (cvslog): Likewise. 3574 * update.h (ignlist): Change definition to declaration to avoid 3575 depending upon common semantics (not required by ANSI C, and not 3576 the default on Irix 5). 3577 * update.c (ignlist): Define. 3578 3579Tue Apr 19 00:02:54 1994 John Gilmore (gnu@cygnus.com) 3580 3581 Add support for remote `cvs log'; clean up `cvs diff' a bit. 3582 3583 * client.c (send_arg): Make external. 3584 (send_option_string): New function. 3585 (client_diff_usage): Remove, unused. 3586 (client_diff): Just call diff, not do_diff. 3587 (client_log): Add. 3588 * client.h (client_log, send_arg, send_option_string): Declare. 3589 * cvs.h (cvslog): Declare. 3590 * diff.c (do_diff): Fold back into diff(), distinguish by checking 3591 client_active. 3592 (diff): Remove `-*' arg parsing crud; use send_option_string. 3593 * log.c (cvslog): If a client, start the server, pass options 3594 and files, and handle server responses. 3595 * main.c (cmds): Add client_log. 3596 (main): Remove obnoxious message every time CVS/Root is used. 3597 Now CVS will be quiet about it -- unless there is a conflict 3598 between $CVSROOT or -d value versus CVS/Root. 3599 * server.c (serve_log): Add. 3600 (requests): Add "log". 3601 3602Mon Apr 18 22:07:53 1994 John Gilmore (gnu@cygnus.com) 3603 3604 Add support for remote `cvs diff'. 3605 3606 * diff.c (diff): Break guts out into new fn do_diff. 3607 Add code to handle starting server, writing args, 3608 sending files, and retrieving responses. 3609 (includes): Use PARAMS for static function declarations. 3610 * client.c (to_server, from_server, rsh_pid, 3611 get_responses_and_close, start_server, send_files, 3612 option_with_arg): Make external. 3613 (send_file_names): New function. 3614 (client_diff): New function. 3615 * client.h (client_diff, to_server, from_server, 3616 rsh_pid, option_with_arg, get_responses_and_close, start_server, 3617 send_file_names, send_files): Declare. 3618 * cvs.h (diff): Declare. 3619 * main.c (cmds): Add client_diff to command table. 3620 * server.c (serve_diff): New function. 3621 (requests): Add serve_diff. 3622 (server): Bug fix: avoid free()ing incremented cmd pointer. 3623 * update.h (update_filesdone_proc): Declare with PARAMS. 3624 3625Sat Apr 16 04:20:09 1994 John Gilmore (gnu@cygnus.com) 3626 3627 * root.c (Name_root): Fix tyop (CVSroot when root meant). 3628 3629Sat Apr 16 03:49:36 1994 John Gilmore (gnu@cygnus.com) 3630 3631 Clean up remote `cvs update' to properly handle ignored 3632 files (and files that CVS can't identify), and to create 3633 CVS/Root entries on the client side, not the server side. 3634 3635 * client.c (send_fileproc): Handle the ignore list. 3636 (send_dirent_proc): New function for handling ignores. 3637 (send_files): Use update_filesdone_proc and send_dirent_proc 3638 while recursing through the local filesystem. 3639 * update.h: New file. 3640 * update.c: Move a few things into update.h so that client.c 3641 can use them. 3642 3643Fri Mar 11 13:13:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) 3644 3645 * server.c: If O_NDELAY is not defined, but O_NONBLOCK is, define 3646 O_NDELAY to O_NONBLOCK. 3647 3648Wed Mar 9 21:08:30 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 3649 3650 Fix some spurious remote CVS errors caused by the CVS/Root patches: 3651 * update.c (update_filesdone_proc): If server_active, don't try to 3652 create CVS/Root. 3653 * root.c (Name_Root): Make error messages which happen if root is 3654 not an absolute pathname or if it doesn't exist a bit clearer. 3655 Skip them if root contains a colon. 3656 3657Mon Nov 1 15:54:51 1993 K. Richard Pixley (rich@sendai.cygnus.com) 3658 3659 * client.c (client_commit): dynamically allocate message. 3660 3661Tue Jun 1 17:03:05 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) 3662 3663 * server.h: remove alloca cruft 3664 3665 * server.c: replace with better alloca cruft 3666 3667Mon May 24 11:25:11 1993 Jim Kingdon (kingdon@lioth.cygnus.com) 3668 3669 * entries.c (Scratch_Entry): Update our local Entries file even if 3670 server_active. 3671 3672 * server.c (server_scratch, server_register): If both Register 3673 and Scratch_Entry happen, use whichever one happened later. 3674 If neither happen, silently continue. 3675 3676 * client.c (client_checkout): Initialize tag and date (eichin and 3677 I independently discovered this bug at the same time). 3678 3679Wed May 19 10:11:51 1993 Mark Eichin (eichin@cygnus.com) 3680 3681 * client.c (update_entries): handle short reads over the net 3682 (SVR4 fread is known to be broken, specifically for short 3683 reads off of streams.) 3684 3685Tue May 18 15:53:44 1993 Jim Kingdon (kingdon@lioth.cygnus.com) 3686 3687 * server.c (do_cvs_command): Fix fencepost error in setting 3688 num_to_check. 3689 3690 * server.c (do_cvs_command): If terminated with a core dump, print 3691 message and set dont_delete_temp. 3692 (server_cleanup): If dont_delete_temp, don't delete it. 3693 3694 * client.c (get_server_responses): Don't change cmd since we 3695 are going to "free (cmd)". 3696 3697 * server.c: Rename memmove to my_memmove pending a real fix. 3698 3699 * server.c (do_cvs_command): Set num_to_check to largest descriptor 3700 we try to use, rather than using (non-portable) getdtablesize. 3701 3702Wed May 12 15:31:40 1993 Jim Kingdon (kingdon@lioth.cygnus.com) 3703 3704 Add CVS client feature: 3705 * client.{c,h}: New files. 3706 * cvs.h: Include client.h. 3707 * main.c: If CVSROOT has a colon, use client commands instead. 3708 * vers_ts.c (Version_TS): If repository arg is NULL, don't worry 3709 about the repository. 3710 * logmsg.c (do_editor): If repository or changes is NULL, just don't 3711 use those features. 3712 * create_adm.c (Create_Admin), callers: Move the test for whether 3713 the repository exists from here to callers. 3714 * repos.c (Name_Repository): Don't test whether the repository exists 3715 if client_active set (might be better to move test to callers). 3716 3717 Add CVS server feature: 3718 * server.{c,h}: New files. 3719 * cvs.h: Include server.h. 3720 * checkin.c (Checkin): Call server_checked_in. 3721 * update.c (update_file_proc, merge_files): Call server_updated. 3722 * entries.c (Register): Call server_register. 3723 (Scratch_Entry): Call server_scratch. 3724 * main.c: Add server to cmds. 3725 * vers_ts.c (Version_TS): If server_active, call new function 3726 time_stamp_server to set ts_user. 3727 3728 3729For older changes, there might be some relevant stuff in the bottom of 3730the NEWS file, but I'm afraid probably a lot of them are lost in the 3731mists of time. 3732