ChangeLog-97 revision 32785
11997-12-30 enami tsugutomo <enami@but-b.or.jp> 2 3 * rcs.c (RCS_checkin): Use gmtime() instead of localtime() 4 (restores behavior from RCS 5.x which was broken with RCS library 5 -kingdon). 6 7Mon Dec 29 12:53:00 1997 Ian Lance Taylor <ian@cygnus.com> 8 9 * modules.c (do_module): Check for a request for a file within a 10 module which is not a directory. 11 * sanity.sh (modules): Add test 149b1 for above patch. 12 13 * client.c (start_tcp_server): Remove useless assignment, left 14 behind by Dec 15 patch. 15 16Sat Dec 27 17:41:11 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 17 18 * client.c, options.h.in, history.c, import.c, main.c, rcs.c, 19 update.c: Remove !HAVE_RCS5 code. It had bit-rotted a while ago, 20 and more to the point is obsolete with the RCS library. 21 2227 Dec 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 23 24 * zlib.c, server.h (gunzip_and_write): New function. 25 * client.c (update_entries): Call it instead of a gunzip subprocess. 26 * zlib.c, server.h (read_and_gzip): New function. 27 * client.c (send_modified): Call it instead of a gzip subprocess. 28 29Sat Dec 27 13:07:38 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 30 31 Decrease RCS_deltas memory usage to what we need (approximately 32 the size of the file we are patching plus the size of the largest 33 patch). Previously memory usage had been approximately the size 34 of the RCS file because we never freed lines until the end. 35 * rcs.c (linevector_free, linevector_copy, linevector_add, 36 linevector_delete): 37 Instead of having all the lines and struct line's in the alloc_* 38 space, have each line and its struct line in its own malloc'd 39 space. Use a refcount to deal with curlines vs. headlines 40 vs. trunklines in RCS_deltas. 41 (struct allocblock, blocks, block_alloc, block_free): Remove; no 42 longer used. 43 (apply_rcs_changes, RCS_deltas): Don't copy lines into allocated 44 space; linevector_add now does that for us. 45 (rcs_change_text, RCS_deltas): Don't call block_free. 46 47Tue Dec 23 08:28:44 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 48 49 * cvsbug.sh: Change bug-cvs address from prep.ai.mit.edu to gnu.org 50 per email from Martin Hamilton. 51 52Sun Dec 21 21:49:50 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 53 54 * rcs.c (RCS_checkin): Disable keyword expansion when generating 55 the change text. 56 * sanity.sh: Move tests keyword-24 through keyword-27 into 57 new section keywordlog and expand greatly. Note that CVS 1.9.18 58 passes the new tests both local and remote but the current 59 version failed them both local and remote before this fix. 60 61Sat Dec 20 19:56:00 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 62 63 * rcs.c (RCS_delete_revs): Clean up temporary files even if noexec. 64 Without this fix, basica-o5a in sanity.sh would leave files around. 65 66Thu Dec 18 13:05:00 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 67 68 * run.c: Fix typo in declaration (evecvp -> execvp) (credit to 69 Erik Walthinsen for reporting this). Only declare it if not 70 HAVE_UNISTD_H. Move declaration to before the first use. 71 72Tue Dec 16 12:59:00 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 73 74 * update.c: Collapse two identical declarations for join_file. 75 76Mon Dec 15 16:01:49 1997 Ian Lance Taylor <ian@cygnus.com> 77 78 * client.c (start_tcp_server): Remove calls to htons and add one 79 call to ntohs (init_sockaddr calls htons on the port argument). 80 81Mon Dec 15 00:07:02 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 82 83 * client.c (failure_exit): New variable. 84 (get_server_responses): If it is set, then return 85 failure. 86 (updated_seen, updated_fname): New variables. 87 (update_entries): Use updated_fname if set. In the "move away 88 foo.c; it is in the way" case print "C" not "U", and set 89 failure_exit. 90 (handle_mt): If we get +updated tagged text, stash it away in 91 updated_fname rather than printing it immediately. 92 (handle_mt, get_server_responses): If we stashed a filename and 93 didn't get around to printing it, go ahead and print it. 94 * sanity.sh (conflicts2-142d2): Adjust to test for fix. Remote is 95 now like local was in terms of exit status and "C aa.c" message. 96 97Sun Dec 14 00:27:26 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 98 99 Implement tagged text feature: 100 * update.c (write_letter): Take a single finfo argument rather 101 than file and update_dir. While we are at it change it to return 102 void (since the returned value always had been 0). 103 * update.c: Update callers. 104 * server.c, cvs.h (cvs_output_tagged): New function. 105 * client.c (responses): Add "MT" response. 106 (handle_mt): New function. 107 * update.c (write_letter): Output via cvs_output_tagged. 108 109Sun Dec 14 14:13:05 1997 Ian Lance Taylor <ian@cygnus.com> 110 111 * recurse.c (do_dir_proc): Only check for CVS/Repository if 112 W_LOCAL. 113 * sanity.sh (devcom-t2, devcom-t3): New tests for above patch. 114 115Sun Dec 14 00:27:26 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 116 117 * root.c (parse_cvsroot): Initialize check_hostname (fixes thinko 118 in GSSAPI changes). 119 120Sat Dec 13 13:15:35 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 121 122 * server.c: Use indentation to indicate nesting of #ifdef's. 123 124 * client.c (connect_to_gserver): Reindent (in one place). 125 126Fri Dec 12 17:38:15 1997 Chris Provenzano <proven@cygnus.com> 127 and Ian Lance Taylor <ian@cygnus.com> 128 129 * cvs.h (CVSmethod): Add gserver_method. 130 * root.c (method_names): Add gserver. 131 (parse_cvsroot): Handle :gserver:. 132 * client.h (cvsauthenticate): Declare. 133 (cvs_gssapi_encrypt): Declare if HAVE_GSSAPI and ENCRYPTION. 134 (cvs_gssapi_wrap_buffer_initialize): Declare if HAVE_GSSAPI. 135 (connect_to_pserver): Update declaration. 136 (pserver_authenticate_connection): Declare when HAVE_GSSAPI and 137 SERVER_SUPPORT is defined in addition to other case. 138 * client.c: If HAVE_GSSAPI, include GSSAPI header files. 139 (gcontext): New static variable if HAVE_GSSAPI. 140 (connect_to_pserver): Add do_gssapi parameter. Change all 141 callers. Move rejection handling to bottom of function. 142 (recv_bytes): New static function if HAVE_GSSAPI. 143 (connect_to_gserver): Likewise. 144 (start_server): Handle gserver_method. Handle GSSAPI encryption 145 and authentication. 146 * server.c: Include <sys/socket.h> if HAVE_GSSAPI, in addition to 147 existing cases. If HAVE_GSSAPI, include GSSAPI header files. 148 Include <grp.h> even if AUTH_SERVER_SUPPORT is not defined. 149 (gcontext, cvs_gssapi_wrapping): New static variables if 150 HAVE_GSSAPI. 151 (cvs_gssapi_encrypt): New global variable if HAVE_GSSAPI and 152 ENCRYPTION. 153 (serve_gssapi_encrypt): New static function if HAVE_GSSAPI and 154 ENCRYPTION. 155 (serve_gssapi_authenticate): New static function if HAVE_GSSAPI. 156 (requests): Add Gssapi-encrypt if HAVE_GSSAPI and ENCRYPTION. Add 157 Gssapi-authenticate if HAVE_GSSAPI. 158 (switch_to_user): Compile if HAVE_GSSAPI, in addition to existing 159 cases. 160 (pserver_authenticate_connection): Likewise. Ifdef out part of 161 the code for AUTH_SERVER_SUPPORT. Handle a GSSAPI request. 162 (gserver_authenticate_connection): New static function if 163 HAVE_GSSAPI. 164 (cvsauthenticate): New global variable. 165 (struct cvs_gssapi_wrap_data): Define if HAVE_GSSAPI. 166 (cvs_gssapi_wrap_buffer_initialize): New function if HAVE_GSSAPI. 167 (cvs_gssapi_wrap_input): New static function if HAVE_GSSAPI. 168 (cvs_gssapi_wrap_output): Likewise. 169 * main.c (opt_usage): Mention -a. 170 (main): Handle -a. Handle pserver if HAVE_GSSAPI, in addition to 171 existing cases. 172 * login.c (login): Pass new argument to connect_to_pserver. 173 174Fri Dec 12 15:33:19 1997 Ian Lance Taylor <ian@cygnus.com> 175 176 * buffer.c (PACKET_SLOP): Define. 177 (packetizing_buffer_initialize): Use PACKET_SLOP when allocating 178 holdbuf. 179 (packetizing_buffer_input): Allow up to PACKET_SLOP bytes in 180 stackoutbuf. 181 (packetizing_buffer_output): Use just BUFFER_DATA_SIZE + 2 for 182 inbuf. Allow PACKET_SLOP + 4 extra bytes in stack_outbuf. 183 Correct >= to > in test of incoming number of bytes. Use 184 PACKET_SLOP in other tests. 185 186Fri Dec 12 10:27:08 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 187 188 * client.c (start_tcp_server): Revise comment to reflect 189 SOCK_STRERROR and SOCK_ERRNO now being in use. 190 191Thu Dec 11 15:32:31 1997 Ian Lance Taylor <ian@cygnus.com> 192 193 * client.c (init_sockaddr): Compile if HAVE_KERBEROS, as well as 194 if AUTH_CLIENT_SUPPORT. Return a pointer to a struct hostent. 195 (start_tcp_server): Clean up. Use init_sockaddr. Use 196 SOCK_STRERROR and SOCK_ERRNO. Don't bind the socket. 197 198 Generalize buffering code used by Kerberos encryption routines 199 into a generic packetizing buffer. The new code in buffer.c is a 200 modified version of the code removed from server.c. 201 * buffer.c (struct packetizing_buffer): Define. 202 (packetizing_buffer_initialize): New function. 203 (packetizing_buffer_input): New static function. 204 (packetizing_buffer_output): New static function. 205 (packetizing_buffer_flush): New static function. 206 (packetizing_buffer_block): New static function. 207 (packetizing_buffer_shutdown): New static function. 208 * buffer.h (packetizing_buffer_initialize): Declare. 209 * server.c (struct krb_encrypt_data): Rename from 210 krb_encrypt_buffer, and remove all fields not related to 211 encryption. 212 (krb_encrypt_buffer_initialize): Just call 213 packetizing_buffer_initialize. 214 (krb_encrypt_input): New static function. 215 (krb_encrypt_output): New static function. 216 (krb_encrypt_buffer_input): Remove. 217 (krb_encrypt_buffer_output): Remove. 218 (krb_encrypt_buffer_flush): Remove. 219 (krb_encrypt_buffer_block): Remove. 220 (krb_encrypt_buffer_shutdown): Remove. 221 222Wed Dec 10 15:39:44 1997 Ian Lance Taylor <ian@cygnus.com> 223 224 * buffer.c (stdio_buffer_initialize): Correct formatting. 225 226Sun Dec 7 09:37:19 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 227 228 * sanity.sh (basicb-0d0): New test, for checkout on existing 229 directory. 230 231Sat Dec 6 00:25:11 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 232 233 * sanity.sh (binwrap3): Clean up repository too. Clean up working 234 directory with "rm -r" not "rm -rf". 235 236Thu Dec 4 17:11:18 1997 Larry Jones <larry.jones@sdrc.com> 237 238 * subr.c (check_numeric): Don't reference argv[1] when argc is 1 239 (should be argv[0]). 240 241 * sanity.sh: Fix lines that look like conflict markers but aren't 242 to prevent problems checking in. 243 (binwrap3): Remove local CVSROOT when done so that later 244 tests that expect to create it don't fail. 245 246Thu Dec 4 18:19:21 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 247 248 * cvs.h: Remove mempcpy definition. I think the polite way to 249 describe my feelings about mempcpy is something like "we don't 250 have agreement that it is a good idea". 251 * rcs.c (truncate_revnum): Don't call it. 252 * sanity.sh: Run multibranch2 test by default. 253 (multibranch2): Use ${TESTDIR} a few places. 254 (multibranch2-9): Accept "P file1" as well as "U file1". 255 256 * sanity.sh: Don't add 1997 to the copyright notice. Add GPL 257 terms. Add discussion of copyright issues. 258 * rcs.c (truncate_revnum, truncate_revnum_in_place, 259 compare_truncated_revnums): Reindent. 260 2611997-12-04 Jim Meyering <meyering@na-net.ornl.gov> 262 263 * subr.c (xstrdup): Use memcpy rather than strcpy. 264 (compare_revnums): Declare parameters to be `const'. 265 Remove unnecessary uses of xstrdup and corresponding frees. 266 (increment_revnum): Declare parameter to be `const'. 267 Use memcpy rather than strcpy. 268 (gca): Declare parameters to be `const'. 269 (check_numeric): Declare REV parameter to be `const'. 270 (file_has_markers): Declare parameter to be `const'. 271 (get_file): Declare `char*' parameters to be `const'. 272 * run.c (run_exec): Declare `char*' parameters to be `const'. 273 * cvs.h (mempcpy) [! HAVE_MEMPCPY]: Define it. 274 Add `const' to types in several prototypes. 275 276 * rcs.c (truncate_revnum): New function. 277 (truncate_revnum_in_place): New function. 278 (compare_truncated_revnums): New function. 279 (max_rev): New function. 280 (RCS_addbranch): Make BRANCH parameter `const'. 281 Use the above functions rather than open-coding them. 282 When BRANCH is a revision number, insert it *in order* 283 in the sorted list of branch numbers, not at the end. 284 Add assertion that insertion succeeds. 285 * sanity.sh (multibranch2): Test for this. 286 (Copyright): Add 1997. 287 288Dec 1997 Karl Fogel <kfogel@floss.red-bean.com> 289 290 * wrapper.c (wrap_name_has): loop as far as wrap_count + 291 wrap_temp_count, not wrap_count + wrap_saved_count, otherwise 292 some wrappers get skipped. 293 (wrap_matching_entry): same. 294 * sanity.sh (binwrap3): new test, for import with 295 CVSROOT/cvswrappers and .cvswrappers specifying -k 'b' options. 296 2971997-11-30 Jim Meyering <meyering@na-net.ornl.gov> 298 299 * client.c (send_a_repository): Strip trailing slashes from the name 300 of the update directory. Otherwise, running `cvs update dir/' provokes 301 this failure `protocol error: illegal directory syntax in dir/' when 302 running in client/server mode. 303 304 * hash.c (insert_before): New function derived from addnode. 305 (addnode): Simply return insert_before. 306 (addnode_at_front): Simply return insert_before. 307 * hash.h (insert_before): Add prototype. 308 309 * server.c (dirswitch): Compute `strlen(dir)' once and save it, 310 rather than computing it four times. Also do s/illegal/invalid/ to 311 this diagnostic: "E protocol error: illegal directory syntax in %s". 312 313Sun Nov 30 18:03:02 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 314 315 * admin.c: Fix comment (no longer a front-end to "rcs"). 316 317 * error.c, error.h (rcserror): Remove. 318 * admin.c, rcs.c: Call error instead of rcserror. This changes 319 the format of these messages from "rcs: <path>: error" to "cvs 320 <command>: <path>: error". The former format wasn't quite what 321 RCS printed anyway (because RCS would sometimes print "ci", "co", 322 &c, not "rcs"), and preserving RCS's exact output probably is not 323 a good idea anyway (because it will make people think that the 324 error was caused by an external program). In two cases, I tidied 325 up the message in a more drastic fashion ("cannot stat" in 326 RCS_checkin and "could not diff" in RCS_delete_revs). 327 328 * sanity.sh (basica-o2b, binfiles2-o1, admin-18, admin-22-o10, 329 admin-22-o17): Look for "cvs <command>" not "rcs". 330 331 * run.c, cvs.h (run_setup): Replace varargs nonsense with a single 332 argument which gets parsed as the result of the vasprintf 333 used to. 334 * client.c, commit.c, logmsg.c, modules.c, rtag.c, tag.c, update.c, 335 wrapper.c: Update callers, either to do the sprintf themself or to 336 just call run_arg if it will do the job. 337 * rcscmds.c: Likewise for call_diff_setup and callers. 338 339 * run.c, cvs.h (run_args): Remove; nowhere used. 340 341Sat Nov 29 22:15:06 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 342 343 * options.h.in: Remove declaration of getwd; see lib/ChangeLog for 344 rationale. 345 3461997-11-29 Jim Meyering <meyering@na-net.ornl.gov> 347 348 * update.c (checkout_file): Initialize `backup'. 349 350 * diff.c (diff_fileproc): Initialize `tmp' and `fname'. 351 352 * modules.c (do_module): Initialize `server_dir_to_restore'. 353 (do_module): Initialize `value' in an else clause. 354 355 * rcs.c (RCS_checkin): Initialize `commitpt'. 356 (RCS_delete_revs): Initialize `revp'. 357 (RCS_copydeltas): Always initialize `insertbefore'. 358 359 * run.c (run_print): Define `outfn' even in error case. 360 361Mon Nov 24 17:28:50 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 362 363 * rcs.c (RCS_findlock_or_tip): Prototype. 364 (RCS_checkin): Fix call to pass correct number of arguments. 365 366Sun Nov 23 10:34:03 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 367 368 * recurse.c (do_dir_proc): Move check for CVS/Repository and 369 CVS/Entries to before where we call the direntproc. 370 * client.c (send_dirent_proc): Remove code to check for 371 CVS/Repository, now that recurse.c does it. 372 * sanity.sh (conflicts3-18 through conflicts3-19): New tests, for this. 373 374Sat Nov 22 10:54:16 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 375 376 * recurse.c (do_dir_proc): Check that CVS/Repository and 377 CVS/Entries exist. 378 * sanity.sh (conflicts3-14 through conflicts3-17): New tests, for this. 379 380 * client.c (send_fileproc): Send options field from 381 vers->entdata->options not vers->options. 382 * cvs.h (struct entnode): Add comment (options and timestamp must 383 not be NULL). 384 * sanity.sh (binfiles-9 through binfiles-13, binfiles-sticky5, 385 keyword-17): Remove kludges for remote; tests for fix. 386 387 * update.c (update_fileproc): Fix comment; direct checkout is 388 still faster than patches for local but not for quite the 389 same reasons. 390 391 * add.c (add): Pass SEND_NO_CONTENTS to send_files. 392 393Wed Nov 19 18:25:03 1997 Mike Glendinning <mikeg@sequent.com> 394 395 * update.c (patch_file_write): Missing cast provided. 396 397Wed Nov 19 15:57:59 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 398 399 * rcs.c (RCS_deltas): Solve trigraph problem (once and for all, I 400 hope) with 3 calls to cvs_output. 401 402Wed Nov 19 01:52:57 1997 Andy Piper <andyp@parallax.co.uk> 403 and Jim Kingdon <kingdon@harvey.cyclic.com> 404 405 * classify.c (Classify_File), cvs.h (struct vers_ts), vers_ts.c 406 (Version_TS): Clarify NULL versus "" for options in comments. 407 * vers_ts.c (Version_TS): Treat "" the same way as NULL in options 408 and vers_ts->options. 409 * sanity.sh: New tests binfiles-sticky5 through binfiles-17 test 410 for this. 411 4121997-11-16 Karl Fogel <kfogel@floss.red-bean.com> 413 414 * client.c (update_entries): parse server-sent entries line even 415 in the case of "cvs export", because we need to know if -kb option 416 is set. 417 Init `options' to NULL like anything else. 418 419Tue Nov 18 09:20:29 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 420 421 * version.c: Change version number to 1.9.21. 422 423 * Version 1.9.20. 424 425Mon Nov 17 14:35:31 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 426 427 * server.c (server_updated): If scratched_file and noexec are set, 428 clean up so we don't get a "duplicate Scratch_Entry" warning 429 later. 430 * sanity.sh: New tests conflicts3-10 to conflicts3-13, for this. 431 432 * sanity.sh (conflicts3): Don't allow "file1 was lost" messages 433 here; I don't think CVS actually produced them, and they don't 434 belong. 435 436Sun Nov 16 23:19:41 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 437 438 * sanity.sh: Accept either "U file1" or "P file1". 439 440Fri Nov 14 12:32:05 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 441 442 * rcs.c: Add comment about cleaning up ,foo, file on ^C. 443 444Fri Nov 14 11:56:29 1997 Andy Piper <andyp@parallax.co.uk> 445 and Jim Kingdon <kingdon@harvey.cyclic.com> 446 447 * filesubr.c (unlink_file_dir): Don't print trace message in the 448 server. 449 450Fri Nov 14 11:28:55 1997 Jim Meyering and Jim Kingdon 451 452 * rcs.c (RCS_getdatebranch): If the branch we are looking for 453 doesn't exist, return a revision which matches the date, not 454 just NULL. 455 * sanity.sh (tagdate): New test, for this. 456 457Thu Nov 13 10:11:48 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 458 459 * sanity.sh (basicb-21): Fix comment which described a behavior 460 which no longer exists. 461 462Wed Nov 12 16:24:45 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 463 464 Clean up infrastructure made unnecessary by RCS library: 465 * rcscmds.c (diff_exec, diff_execv): Use literal "diff" not DIFF. 466 * options.h.in (DIFF), rcs.h (RCS, RCS_CI, RCS_DIFF, 467 RCS_RCSMERGE): Removed; no longer used. 468 * commit.c (commit), patch.c (patch_fileproc), 469 rcscmds.c (RCS_exec_rcsdiff), start of rcscmds.c: Update comments 470 to reflect librarification of RCS. 471 * options.h.in (RCSBIN_DFLT): Removed. 472 * main.c, cvs.h (Rcsbin, free_Rcsbin): Removed. 473 * main.c (main): Don't check RCSBIN environment variable. -b 474 global option is now a noop. 475 * cvs.h (RCSBIN_ENV): Removed. 476 * expand_path.c (expand_variable): $RCSBIN is now an error. 477 * mkmodules.c (config_contents): Remove RCSBIN. 478 * parseinfo.c (parse_config): RCSBIN now a noop. 479 * server.c (server): Don't put Rcsbin in PATH. 480 481Mon, 10 Nov 1997 Jim Kingdon 482 483 * rcs.c (RCS_checkin): Actually, when we get a change text 484 for a text file using get_file, we want text mode, although 485 the reasons are kind of subtle (see comment). 486 487 * rcs.c (RCS_checkin): Pass correct mode to get_file for 488 binary files. 489 490 * rcscmds.c: Declare vasprintf. 491 492Mon Nov 10 11:11:17 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 493 494 This fixes problems with windows-NT/run.c improperly quoting, and 495 is cleaner anyway. 496 * rcscmds.c (call_diff_setup, call_diff_arg, call_diff_add_arg, 497 call_diff_argv, call_diff_argc, call_diff_argc_allocated): New 498 functions/variables, lightly adapted from src/run.c. 499 * cvs.h, run.c (call_diff, call_diff3): Move from here... 500 * rcscmds.c: ...to here. 501 502Sun, 9 Nov 1997 Jim Kingdon 503 504 * rcs.c (rcs_internal_unlockfile): Call rename_file not rename. 505 This makes it work on NT again. 506 507Sun Nov 9 16:54:28 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 508 509 * sanity.sh (diffmerge2): Protect keywords against unwanted 510 expansion. They got clobbered and the testcase stopped working 511 when I checked it in. 512 513Fri Nov 7 13:23:38 1997 Karl Fogel <kfogel@floss.red-bean.com> 514 and Jim Kingdon <kingdon@harvey.cyclic.com> 515 516 * sanity.sh (diffmerge1, diffmerge2): new tests, for bugs, or 517 potential bugs, in ../diff/analyze.c which were fixed by Paul 518 Eggert's patch. 519 520Sun Nov 9 10:28:43 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 521 522 * rcs.c (RCS_settag): Reindent. 523 524 * rcs.c (rcs_internal_lockfile): Fix typo (thow -> throw). 525 526Sat Nov 8 15:58:53 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 527 528 * sanity.sh (cvsadm): Remove most of the tests which tested 529 CVS/Root. This takes the run time for the cvsadm tests from 530 about 5 minutes 15 seconds to about 4 minutes 10 seconds with no 531 significant loss in coverage. 532 533 * rcs.c (rcs_internal_lockfile): Check for errors from system 534 calls. If open() gives an error, don't muck with stat and errno 535 (I don't know what the RCS code that this comes from was trying to 536 do, but it clearly isn't accomplishing anything here). 537 (RCS_rewrite, RCS_delete_revs): Check for errors from system calls. 538 539Sat Nov 1 14:21:29 1997 Michael L.H. Brouwer <michael@thi.nl> 540 541 * rcs.c (RCS_checkin): Change type of bufsize from int to size_t. 542 (RCS_delete_revs): Change type of bufsize and len from int to size_t. 543 (RCS_getdeltatext): Change type of textlen from int to size_t. 544 * rcs.h (struct deltatext): Change len from int to size_t to keep 545 the compiler happy on systems where size_t is unsigned int. 546 [This goes well beyond keeping the compiler happy; if sizeof 547 (size_t) != sizeof (int), the old code was quite broken -kingdon] 548 549Sat Nov 1 14:21:29 1997 Michael L.H. Brouwer <michael@thi.nl> 550 and Jim Kingdon <kingdon@harvey.cyclic.com> 551 552 * rcs.c (RCS_checkin): When checking if we were holding the lock 553 use delta->author instead of user since the latter might have been 554 clobbered by a call to getcaller. This resulted in the failure of 555 test basica-7. 556 [I don't completely follow the scenario where it gets clobbered, 557 it but sounds vaguely plausible and the replacement seems 558 cleaner, precisely because it avoids allocation issues -kingdon] 559 560Wed Nov 5 20:16:12 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 561 562 * checkin.c, checkout.c, commit.c, cvs.h, import.c, login.c, 563 main.c, update.c: Change FALSE to 0 and TRUE to 1 and replace 564 monstrosities like "cvswrite == TRUE" with just "cvswrite". FALSE 565 and TRUE sometimes conflicted with system headers (NextStep3.3?), 566 but more to the point, good old 1 and 0 are fine and were used by 567 most of CVS already. 568 569Tue Nov 4 12:19:28 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 570 571 * rcs.c (RCS_checkin, RCS_lock, RCS_unlock): Rename local variable 572 quiet to checkin_quiet or some such, to avoid confusion with 573 global variable quiet. 574 575 * lock.c: Update comment to refer to add_rcs_file rather than "rcs 576 -i". 577 578 * rcs.h (struct rcsnode): Add comments for all fields. 579 * rcs.c (RCS_delete_revs): Refuse to delete revisions which have 580 symbolic names. Fix fencepost bug which caused us to sometimes 581 check one more revision than we should for locks, branches, and 582 this. 583 (findtag): New function, to help above code. 584 585 * admin.c (admin): Take out writelocks not readlocks. This has 586 been a bug "forever", but may become more noticeable with 587 rcs_internal_lockfile relying on the writelocks. 588 589Mon Nov 3 10:17:19 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 590 591 * rcs.c (RCS_rewrite): Don't write the file if noexec. 592 * sanity.sh (basica, branches): Test for this. 593 594Sat Nov 1 10:01:56 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 595 596 * rcs.h (struct deltatext): Comment text and log fields. 597 598 * admin.c (admin_fileproc): Call RCS_reparsercsfile not 599 RCS_fully_parse. Don't muck with ->other field in RCSVers (it 600 doesn't need to be set). 601 * rcs.h, rcs.c (RCS_reparsercsfile): No longer static. No point 602 in having this static when RCS_rewrite and RCS_fully_parse are not. 603 * rcs.c (getdelta): Remove obsolete comment about not storing the 604 newphrases from the deltas, since we now do. 605 606Sat Nov 1 10:01:56 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 607 and Paul Eggert 608 609 * rcs.c (rcs_internal_lockfile): Clarify the comments about O_EXCL 610 and such matters. 611 612Sat Nov 1 10:01:56 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 613 614 * rcs.c (RCS_delete_revs): Pass force_tag_match to RCS_settag. 615 * sanity.sh (basica-o2a, basica-o2b): Test for this. 616 6171997-11-01 Peter Brandstrom <d91-pbr@nada.kth.se> 618 619 * sanity.sh: Use ${username} more places. 620 621Sat Nov 1 00:14:00 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 622 623 * rcs.c (rcs_internal_lockfile): Add comments about what we are 624 trying to accomplish here (versus what RCS tries to accomplish). 625 626 * rcs.c (RCS_parsercsfile_i): Clarify/expand comment about 627 the purpose of having both this and RCS_reparsercsfile. 628 (RCS_rewrite): Add comment about how this works. 629 630 * admin.c (admin_fileproc): Add comment about call to 631 RCS_fully_parse not RCS_reparsercsfile. 632 * rcs.h: Comment on what delta_pos field of struct rcsnode is. 633 634Fri Oct 31 16:38:39 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 635 and Abe Feldman 636 637 * client.c (update_entries): If UTIME_EXPECTS_WRITABLE, if 638 necessary change the file to be writable temporarily to set its 639 modification time. 640 641Thu Oct 30 17:42:59 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 642 643 * admin.c (admin): Deal with new :: syntax for ranges. 644 * rcs.c, rcs.h (RCS_delete_revs): New arg inclusive (set for the old 645 behavior, clear to enable new code). 646 * admin.c (admin_fileproc): Set it if :, clear it if ::. 647 * sanity.sh (basica, head, branches, log): Add tests for this feature. 648 649 * admin.c (admin_fileproc): Clean up the error message which 650 happens if one of the RCS_* functions returns an error status; it 651 is confusing to say that "rcs" failed now that this is implemented 652 internally. 653 * sanity.sh (admin): Update accordingly. 654 655Wed Oct 29 07:07:36 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 656 657 * sanity.sh (admin-22-o24): New test, tests that admin -o 658 correctly munged the deltatexts on a branch too. 659 660 * rcs.c (RCS_delete_revs): If we are deleting an entire branch, 661 delete the node in ->branches rather than setting the ->key to the 662 bogus value NULL. 663 * rcs.c (RCS_delete_revs): If "rev1" equals "branchpoint", then set 664 "before" to the revision on the trunk that we branch from. 665 * rcs.c (RCS_delete_revs): Don't set rev2 to revp->version (the 666 code is missing an xstrdup, but it doesn't matter because rev2 667 isn't used after this point). 668 * sanity.sh (binfiles2-o2 to binfiles2-o4): New tests, for this. 669 670Tue Oct 28 19:30:05 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 671 672 * rcs.c (RCS_delete_revs): Restore code which passes rev2 to 673 RCS_getbranchpoint if rev1 is NULL; it still makes sense for the 674 non-trunk case. Fixes admin-22-o22 in testsuite. 675 676 * sanity.sh (admin-18): Adjust to reflect "rcs failed" no longer 677 being suppressed by global -q option. 678 679 * rcs.c (RCS_delete_revs): If rev1 == NULL and rev2 is on the 680 trunk, handle it the same way we do everything else--by swapping 681 the two. This replaces the code which tried to kludge what we 682 passed to RCS_getbranchpoint (which didn't work). 683 * sanity.sh (binfiles2-o1 to binfiles2-o4): New tests, for this fix. 684 * admin.c (admin_fileproc): Don't have -q global option suppress 685 "rcs failed" message. 686 6871997-10-28 Jim Kingdon 688 689 * log.c (printlock_proc), rcs.c (putlock_proc): Prototype. 690 * rcs.c (rcs_internal_lockfile): Only try to call fchmod if 691 HAVE_FCHMOD is defined. 692 693Tue Oct 28 10:27:03 1997 Ian Lance Taylor <ian@cygnus.com> 694 695 * rcs.c (RCS_deltas): Don't use \? in string if __STDC__ is not 696 defined. 697 698 * rcs.c (make_file_label): Remove extraneous `+'. 699 700Mon Oct 27 14:40:15 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 701 702 * status.c (status): Don't pass SEND_NO_CONTENTS to send_files. 703 704Sat Oct 25 00:33:57 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 705 706 * rcs.c (RCS_delete_revs): Use : not - for range in error message. 707 708 * rcs.h: Add comment about '\0' in RCS fields. 709 710 * rcs.c (getdelta): Add comment about branches and next field 711 being mandatory. 712 713 * rcs.c (RCS_reparsercsfile, RCS_deltas), sanity.sh (reserved): 714 Reindent sections which were misindented as a result of recent 715 changes. 716 717Fri Oct 24 10:22:15 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 718 719 * rcs.c (RCS_findlock_or_tip): Don't worry about file ownership 720 and nonstrict locking when returning the default branch or head. 721 The most conspicuous problem with the old code is that in the 722 error case it would examine rstat.st_uid when it had not been 723 set. For a discussion of more fundamental reasons, see comment. 724 725 * admin.c (admin_fileproc): In handling -A, don't handle relative 726 pathnames differently from absolute pathnames. See comment for 727 rationale. If problem opening the file, give a nice error not a 728 coredump. 729 * sanity.sh (admin-19a-admin, admin-19a-log, admin-19a-fix): 730 New tests, test for traditional "cvs admin -A" behavior with 731 relative pathnames. 732 * sanity.sh (admin-19a-nonexist): Test for the core dump fix. 733 * sanity.sh (admin-22-o1): Look for ${PROG} not cvs. 734 735 * sanity.sh (reserved-16): Remove commitinfo change with "cvs 736 commit" not "cvs admin -o". In addition to commit being The Right 737 Thing on general principles, cvs admin -o doesn't work because it 738 doesn't rebuild the administrative file database. 739 740 * update.c (patch_file): If the first revision does not exist in 741 the RCS file, fall back to sending entire file. Fixes 742 admin-22-o15 in make remotecheck. 743 7441997-10-23 enami tsugutomo <enami@but-b.or.jp> 745 746 * rcs.c (RCS_checkin): Unlink temporary files stored in variable 747 `tmpfile' and `changefile'. 748 749Wed Oct 22 12:16:10 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 750 751 * rcs.c (rcs_lockfilename): Allocate enough memory for terminating 752 '\0'. 753 754 * admin.c (admin_fileproc): Don't support '-' for ranges in "cvs 755 admin -o". 756 (admin): Adjust comment. 757 758 * rcs.h (RCSVers): New field other_delta. 759 * rcs.c (free_rcsvers_contents): Also free other_delta. 760 (getdelta): Read newphrases from deltas into other_delta field. 761 (putdelta): Write those newphrases. 762 * sanity.sh (rcs-8a): New test, for this fix. 763 * admin.c (admin_fileproc): If "-b" without argument, then set 764 branch to NULL, not "" (uncovered by rcs-8a test). 765 * rcs.c (putrcsfield_proc): Add comment about how we (mis)handle 766 values in newphrases. 767 768 * sanity.sh (reserved): Instead of looking for rcslock.pl in CVS 769 distribution, just use our own equivalent. 770 771 * rcs.c (RCS_rewrite): Call ferror before fclose to avoid "Invalid 772 argument" warnings. 773 774Mon Oct 20 00:30:16 1997 Tim Pierce <twp@twp.tezcat.com> 775 776 [I removed a ChangeLog entry for a change to sanity.sh (editor), 777 because the actual change was not made. With this change, CVS no 778 longer runs RCS. I'll be checking in my cleanups shortly. -kingdon] 779 780 Librarify `ci'. 781 * rcscmds.c, cvs.h (RCS_checkin): Removed. 782 * rcs.c, rcs.h (RCS_checkin, RCS_getbranchpoint, RCS_addbranch, 783 RCS_findlock_or_tip): New functions. RCS_checkin completely 784 rewritten to eliminate RCS 5.7; change `rcs' parameter from string 785 to RCSNode, so we can update RCSNode without re-reading from 786 disk. 787 * checkin.c (Checkin): Updated RCS_checkin caller, moved RCS_parse 788 call to before RCS_checkin. 789 * import.c (add_rev): Updated caller. 790 * commit.c (remove_file): Updated caller. 791 (checkaddfile): Updated caller. Parse `rcsfile' after 792 calling add_rcs_file. Free `rcsfile' instead of asserting it to 793 be NULL. 794 795 Librarify `rcs'. 796 * rcscmds.c, cvs.h (RCS_exec_settag, RCS_exec_deltag, 797 RCS_exec_setbranch, RCS_exec_lock, RCS_exec_unlock): Removed. 798 799 * rcs.c (RCS_settag): Rewritten to eliminate RCS 5.7. 800 * commit.c (checkaddfile): Call RCS_rewrite after calling RCS_settag. 801 * import.c (add_tags): Same. 802 * rtag.c (rtag_fileproc): Same. 803 * tag.c (tag_fileproc): Same. 804 805 * rcs.c (RCS_deltag): Rewritten to eliminate RCS 5.7. Remove 806 `quiet' parameter, since this function no longer prints any output. 807 * commit.c (remove_file): Update caller. Also call RCS_rewrite 808 after RCS_deltag. 809 * rtag.c (rtag_delete): Same. 810 * tag.c (tag_fileproc): Same. 811 812 * rcs.c (RCS_setbranch): Rewritten to eliminate RCS 5.7. 813 * commit.c (remove_file): Call RCS_rewrite after calling RCS_setbranch. 814 (fixbranch): Same. 815 (lock_RCS): Same. 816 817 * rcs.c (RCS_lock): Rewritten to eliminate RCS 5.7. Change third 818 arg to mean `quiet' and not `noerr', permitting admin_fileproc to 819 run RCS_lock verbosely. 820 * commit.c (lock_RCS): Update callers; call 821 RCS_rewrite after RCS_lock. 822 (remove_file): Same. Call RCS_lock quietly. 823 * import.c (add_rev): Same. Do not print `fork failed' error 824 message, since we're no longer forking. 825 826 * rcs.c (RCS_unlock): Rewritten to eliminate RCS 5.7. Change 827 `noerr' arg to mean `quiet', permitting admin_fileproc to run 828 RCS_unlock verbosely. Use notify_do when breaking another user's 829 lock. Include "edit.h" for notify_do prototype. 830 * checkin.c (Checkin): Update caller; use RCS_rewrite after RCS_unlock. 831 * commit.c (unlockrcs): Same. 832 * import.c (add_rev): Same. 833 834 * rcs.c, rcs.h (RCS_getlocks, RCS_addaccess, RCS_delaccess, 835 RCS_getaccess, RCS_delete_revs): New functions. 836 (expand_keywords, RCS_lock, RCS_unlock): Use RCS_getlocks. 837 * log.c (log_fileproc, log_version): Call RCS_getlocks. Don't add 838 bogus ";locker" nodes to RCSVers nodes -- walk lock list with 839 printlock_proc. 840 (printlock_proc): New function. 841 842 * admin.c (admin_fileproc): Largely rewritten: call internal RCS 843 library functions instead of forking RCS processes. 844 (admin, admin_fileproc): Obsolete -V option. 845 (struct admin_data): Remove `version' member. 846 * sanity.sh (admin-24): Remove -V test case. 847 848 New functions for reading and writing RCS files. 849 * rcs.h (struct deltatext, Deltatext): New types. 850 (struct rcsversnode): New members `text' and `outdated'. 851 (struct rcsnode): New members `access', `locks', `strict_locks', 852 `comment', and `desc'. 853 * rcs.c (RCS_reparsercsfile, expand_keywords): Use new RCSNode members. 854 (free_rcsnode_contents): Free them. 855 * log.c (log_fileproc): Use new RCSNode members instead of ->other. 856 857 * rcs.c (getdelta, RCS_getdeltatext, freedeltatext, do_locks, 858 RCS_putadmin, RCS_putdtree, RCS_putdesc, putdelta, 859 putrcsfield_proc, putsymbol_proc, RCS_copydeltas, putdeltatext, 860 RCS_rewrite, getrevnum, rcs_internal_lockfile, 861 rcs_internal_unlockfile, rcs_lockfilename): New functions. 862 863 (RCS_reparsercsfile): Use getdelta, making sure fp is positioned 864 correctly before calling it. Skip `head' and `branch' nodes: we 865 have already parsed them, and they were being added incorrectly to 866 rcs->other. Do not signal error if the RCS file has an empty 867 delta tree; this made it impossible for RCS_checkin to perform an 868 initial checkin. Remove `all' parameter; always store all RCS 869 fields. 870 (RCS_fully_parse, RCS_gettag, RCS_getbranch, RCS_getdate, 871 RCS_getdatebranch, RCS_getrevtime, RCS_symbols, translate_symtag, 872 RCS_isdead, RCS_getexpand, RCS_checkout, annotate_fileproc): 873 Update all callers to remove `all' parameter. 874 875 (getrcskey): Do not append trailing whitespace to a value. This 876 corrupted some log fields and wrecked some sanity.sh test cases. 877 878 (free_rcsvers_contents): New function. 879 (rcsvers_delproc): Call it. 880 881 * rcs.h (NODELTA): Removed symbol; now obsolete (since RCSNodes 882 do not go stale). 883 * import.c (add_rev): Removed NODELTA reference. 884 * rcs.c (RCS_reparsercsfile, RCS_checkout, RCS_settag, RCS_deltag, 885 RCS_setbranch, RCS_lock, RCS_unlock, RCS_deltas): Removed NODELTA 886 references. 887 888 Miscellaneous changes to support RCS librarification and fix some bugs. 889 * subr.c, cvs.h (line2argv): Add `sepchars' argument. 890 * modules.c (cat_module, admin_fileproc): Update all callers. 891 892 * subr.c, cvs.h (compare_revnums, increment_revnum): New functions. 893 (make_message_rcslegal): Strip whitespace from end of 894 lines and end of string, a la `cleanlogmsg' in RCS 5.7. 895 (get_file): Terminate buf with \0, extending it if 896 necessary. Read from stdin if `name' arg is NULL. 897 * admin.c (admin_fileproc): Call get_file to read -t arg from stdin. 898 899 * error.c, error.h (rcserror): New function, used everywhere. 900 901 * hash.c, hash.h (addnode_at_front): New function. 902 * rcs.c (RCS_settag, RCS_lock): Call it. 903 904 * import.c, cvs.h (expand_at_signs): Make extern. 905 * rcs.c (putrcsfield_proc, RCS_putadmin, RCS_putdesc, 906 putdeltatext): Call it. 907 908 * rcs.c (make_file_label): Use last_component to get file's basename. 909 910 * sanity.sh (srcdir): New variable. 911 (rcs-7): Remove newphrase warning, no longer produced by CVS. 912 (rcs-8): Permit random whitespace around newphrase fields. 913 (admin-22): New test cases for -o options: admin-22-o{1..23}. 914 (reserved): New test cases for rcslock.pl: reserved-{8..16}. 915 916Tue Oct 21 16:48:32 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 917 918 * tag.c (tag_check_valid): Add comment about locking or lack 919 thereof. 920 9211997-10-20 Jim Kingdon <kingdon@harvey.cyclic.com> 922 923 * version.c: Change version number to 1.9.19. 924 9251997-10-19 Jim Kingdon 926 927 * Version 1.9.18. 928 929Wed Oct 15 15:21:43 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 930 931 * sanity.sh (username): Add '-' to characters allowed in user name. 932 933 * rcscmds.c (diff_exec): Remove item about external diff 934 programs. It doesn't really belong here now that diff is 935 librarified and TODO #191 now mentions this. 936 937 * checkout.c (checkout_proc): Add comment about assuming '/' is 938 the only path separator. 939 * options.h.in: Fix thinko (CVS/Repository -> CVS/Root). 940 941Mon Oct 13 22:46:03 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 942 943 * commit.c (commit): Add comment about CVS_BADROOT and command 944 other than "commit". 945 9461997-10-11 Noel Cragg <noel@swish.red-bean.com> 947 948 * options.h.in: RELATIVE_REPOS has been checked for bitrot -- it 949 now works again. Change the comment before the #define to say 950 that we'll be switching to it soon. 951 952 * sanity.sh (basicb-1, basicb-1a): update dotest strings to match 953 no matter if we're running with RELATIVE_REPOS defined or not. 954 (basicb-9b, basicb-9c): same. 955 956 * sanity.sh (basicb-9b, basicb-9c): modified tests, since the 957 checkout.c fix changes the way this test module is checked out. 958 (basicb-9d, basicb-9e, basicb-9f): new tests, same. 959 (basicb-18): modify test, same. 960 (cvsadm): new set of exhaustive tests to check the contents of 961 CVS/Root and CVS/Repository files under various conditions. As a 962 side effect, it tests the behavior of the "-d" flags (command line 963 and modules file). 964 (modules3-7e through modules3-7h): removed, since these tests were 965 a small subset of what is tested in the new cvsadm section. 966 (modules-1b, modules-1c): same. 967 (modules-2b, modules-2c): same. 968 (modules-3b, modules-3c, modules-3e, modules-3f): same. 969 970 * create_adm.c (Create_Admin): be a bit more verbose when using 971 trace mode. 972 973 * checkout.c (checkout_proc): rewrote the code that sets the where 974 variable and the code that matches directory names with repository 975 directories. This fixes a long-standing bug in CVS. (It used to 976 be the case that "cvs co -d foo <mod1> <mod2>" would not properly, 977 where <mod1> and <mod2> where defined in the modules file. While 978 the first module would be checked out correctly, the second would 979 be checked out under the name of the directory to which the module 980 referred rather than the module name!). This fix also allows us 981 to check out things into directories that are more than one deep 982 (e.g. "cvs -d foo/bar/baz co blah" will now work). 983 (checkout): remove code that performed a CHDIR if the 984 number of arguments specified was greater than one, since it's no 985 longer necessary. Also remove the code that prevented us from 986 doing "cvs co -d <dir1>/<dir2>" without <dir1> existing, since 987 checkout_proc handles things correctly now. 988 989 * cvs.h: fix typo. 990 991 * rtag.c (rtag): reformat so that we don't run over 80 characters 992 per line. 993 (rtag_dirproc): same. 994 995 * sanity.sh: change all old test cases to use pass and fail 996 functions rather than doing some combination of echo and exit 997 themselves. 998 999 * commit.c (commit_direntproc): remove the "warm fuzzy" -- this 1000 code never gets called when running in client/server mode, and we 1001 should have CVS' output match as much as possible between the two 1002 modes. Moreover, there is no analogous place to put this same 1003 message when we're running in c/s mode. 1004 (find_direntproc): print the same "fuzzy" as in check_direntproc 1005 so that local and c/s mode have the same messages. 1006 * sanity.sh (187a3): update test case to reflect the above. 1007 1008Thu Oct 9 10:57:02 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1009 1010 * parseinfo.c (parse_config): Add comment about compatibility 1011 issues with adding keywords. 1012 1013Wed Oct 8 16:40:37 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1014 1015 * recurse.c (do_dir_proc), commit.c (check_direntproc, 1016 commit_direntproc, find_dirent_proc): If this 1017 directory doesn't exist, skip it. 1018 * diff.c (diff_dirproc): Reindent. 1019 * sanity.sh (deep-4b0a, deep-4b0b): Check for this fix. 1020 1021Thu Sep 26 16:30:00 1997 Larry Jones <larry.jones@sdrc.com> 1022 and Jim Kingdon <kingdon@harvey.cyclic.com> 1023 1024 * update.c (checkout_file): Don't set timestamp in noexec mode. 1025 * vers_ts.c (Version_TS): Add comment about ignoring errors from 1026 utime. 1027 * sanity.sh (conflicts3): New tests, for this fix. 1028 1029Fri Oct 3 09:47:04 1997 Noel Cragg <noel@swish.red-bean.com> 1030 1031 * sanity.sh (168): use PROG instead of CVSBASE, since they are 1032 equal. 1033 (importb-2): refer to PROG instead of "cvs" in error message. 1034 1035 * add.c (add): use PROGRAM_NAME in the error message rather than 1036 "cvs". 1037 * classify.c (Classify_File): same. 1038 * commit.c (find_fileproc): same. 1039 * sanity.sh: change all add notification messages to refer to PROG 1040 rather than "cvs". Fixed nasty quoting in several places at the 1041 same time, replacing older "'command'" forms with newer 1042 ".command." for simplicity. 1043 1044Sat Sep 27 01:37:10 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1045 1046 * sanity.sh (rcslib-merge-8): Accept "P file1" as well as "U file1". 1047 1048Fri Sep 26 22:24:10 1997 Noel Cragg <noel@swish.red-bean.com> 1049 1050 * create_adm.c (Create_Admin): assign our duplicate pointer `cp' 1051 after the xrealloc of `reposcopy' because the latter might have 1052 changed addresses. 1053 1054Fri Sep 26 14:25:59 1997 Tim Pierce <twp@twp.tezcat.com> 1055 1056 * run.c (call_diff): Don't reset optind; this is done by diff_run now. 1057 1058 Librarify rcsmerge/diff3. 1059 * rcscmds.c, cvs.h (RCS_merge): Rewritten from scratch: check out 1060 selected files and diff3 them. Take new `rcs' and `workfile' 1061 arguments, so we can resolve symbolic tags and manipulate the 1062 working file. 1063 * update.c (merge_file, join_file): Update RCS_merge calls. 1064 * run.c, cvs.h (call_diff3): New function. 1065 1066 * sanity.sh (rcslib): New tests, rcslib-merge-{1..13}. 1067 1068Fri Sep 26 22:59:56 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1069 1070 * create_adm.c (Create_Admin): Fix thinko in Noel's change: keep 1071 track of the originally allocated "cp" and free it, rather than 1072 calling free on a pointer which may point halfway into the allocation. 1073 * repos.c (Sanitize_Repository_Name): Per HACKING, assert that 1074 repository != NULL, rather than just silently returning if NULL. 1075 Reindent a line. 1076 1077Fri Sep 26 15:40:00 1997 Noel Cragg <noel@swish.red-bean.com> 1078 1079 * sanity.sh (modules): add tests modules-[123]* that make sure the 1080 administrative files get rebuilt in various cases. 1081 1082 * add.c (combine_dir): removed function, since we no longer need 1083 to worry about stripping the "." path element out. Changed the 1084 two callers to simply concatenate their two arguments. 1085 1086 * recurse.c (do_dir_proc): don't bother trying to strip off "." in 1087 the repository name since the below changes fix that behavior -- 1088 simply concatenate the repository and directory names together. 1089 1090 * checkout.c (checkout_proc): sanitize the repository name after 1091 constructing it (we may create "/path/to/repos/.", but we don't 1092 want that to be passed around). Remove the code that tacks on 1093 "/." when constructing top_repository, since the below changes fix 1094 that behavior. Added comments to the part of this function that 1095 builds administrative files. 1096 1097 * sanity.sh (basicb): now that the below weirdness is fixed, the 1098 extra "." path element in test basicb-0c doesn't appear when a 1099 top-level file is checked out. Remove it from the expect string. 1100 1101 * create_adm.c (Create_Admin): now that the repository name isn't 1102 floating around with "." as the last path element, make creation 1103 of the top-level administrative files a special case -- save the 1104 repository name as "/path/to/repos/." Why? I considered not 1105 including the "." but didn't know how it would affect the remote 1106 protocol when RELATIVE_REPOS was defined (do we have a way of 1107 sending "" via the protocol?). After I make sure that the 1108 RELATIVE_REPOS patches still work, I'll check the "" possibility 1109 so we don't have to have a this special case. 1110 1111 * repos.c (Sanitize_Repository_Name): new function that removes 1112 (if present) the trailing slash and "." component from the 1113 repository name. Many routines break if we don't guarantee this. 1114 See the comment before the function for complete information. 1115 (Name_Repository): call Sanitize_Repository_Name before returning 1116 the value. 1117 * cvs.h: add prototype for Sanitize_Repository_Name. 1118 1119Fri Sep 26 14:19:25 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1120 1121 * cvs.h (CVS_CMD_USES_WORK_DIR): Fix comment (the sense of the 1122 flag is not reversed from what it would seem; when I thought so it 1123 was because I was misreading the lookup_command_attribute code). 1124 1125Thu Sep 25 23:14:47 1997 Noel Cragg <noel@swish.red-bean.com> 1126 1127 * parseinfo.c (Parse_Info): fix typo in the trace message. 1128 1129Thu Sep 25 14:22:54 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1130 1131 * build_src.com: Also link with diff.olb. 1132 1133 * main.c (Make_Date): If gmtime returns NULL, try localtime. 1134 1135Wed Sep 24 19:18:40 1997 Noel Cragg <noel@swish.red-bean.com> 1136 1137 * checkout.c (checkout): fix typo in comment. 1138 1139Wed Sep 24 08:31:46 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1140 1141 * update.c (patch_file): Revise comments about diff -a now that 1142 diff is librarified. 1143 1144Sun Sep 21 21:28:26 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1145 1146 * run.c (call_diff): Sleep for a second, in hopes of helping with 1147 out of order bugs. 1148 1149Sat Sep 20 07:19:18 1997 Tim Pierce <twp@twp.tezcat.com> 1150 1151 Integrate diff library into CVS. 1152 * run.c, cvs.h (call_diff): New function. 1153 * rcscmds.c (diff_exec, diff_execv): Get diffs from call_diff 1154 instead of running diff as a subprocess. 1155 * Makefile.in (cvs): Add ../diff/libdiff.a. 1156 1157 * diff.c (longopts, diff): Use 131 for --ifdef, fixing Jim's thinko 1158 (using 147 for both --side-by-side and --ifdef). 1159 1160 * sanity.sh (rcslib): Added tests rcslib-diffrgx-*, to test 1161 handling of regex diff options. 1162 11631997-09-21 Jim Kingdon <kingdon@harvey.cyclic.com> 1164 1165 (Note that this requires that DIFF support -L. I'll be checking 1166 in a fix to that in a moment, but I wanted separate checkins in 1167 case that helps with clarity). 1168 Tweaks to rcsdiff librarification: 1169 * sanity.sh (rcslib): Change "cvs" to "${PROG}" and subcommand 1170 names (e.g. "add") to "[a-z]*". Former should deal with ${testcvs} 1171 being "cvs.old" or something; latter fixes make remotecheck. 1172 * rcs.c (make_file_label): Take into account strlen (rev) when 1173 allocating space. Removes a FIXME and probably fixes a buffer 1174 overrun security hole. 1175 * rcscmds.c (RCS_exec_rcsdiff): Remove #if 0'd code to call 1176 rcsdiff. Tim says he has compared the new code with rcsdiff code 1177 and is confident that the behavior is preserved, so we need to 1178 nuke the comment which says this has not been done. #if 0 isn't 1179 really a very good way to document the way it used to work anyway; 1180 the old code is still in CVS. 1181 * diff.c: Add comment about rcsdiff options that we don't support, 1182 which Tim had sent in email. Remove -T and -y, as the 1183 previous meaning had been very confused. 1184 11851997-09-21 Tim Pierce <twp@xochi.tezcat.com> 1186 1187 Librarify rcsdiff. 1188 1189 * diff.c (have_rev1_label, have_rev2_label): New variables. 1190 (diff): Generate file labels with make_file_label if necessary; 1191 pass labels, revisions and working file name to RCS_exec_rcsdiff. 1192 * rcscmds.c, cvs.h (RCS_exec_rcsdiff): Completely revised function 1193 to eliminate rcsdiff dependency, based on patch from JimK. 1194 (diff_execv): New function, to exec diff with explicit -L args. 1195 * rcs.c, rcs.h (make_file_label): New function. 1196 (RCS_output_diff_options): New function. 1197 * sanity.sh (rcslib): New test. 1198 1199Fri Sep 19 15:08:08 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1200 1201 * rcs.c (RCS_nodeisbranch): Assert that RCS is non-NULL. 1202 * commit.c (remove_file), rcs.c (RCS_getversion), rtag.c 1203 (rtag_fileproc), status.c (status_fileproc, tag_list_proc), tag.c 1204 (tag_fileproc): Call RCS_nodeisbranch not RCS_isbranch 1205 in contexts where we know the RCS argument is non-NULL. 1206 1207 * commit.c (find_fileproc): Pass tag not NULL to Version_TS for 1208 the tag. 1209 * vers_ts.c (Version_TS): Improve (somewhat) the introductory 1210 comment. 1211 * sanity.sh (editor): New test editor-9 tests for above fix. 1212 Renumber/tweak surrounding tests to fit. 1213 1214 * log.c (log_version): If p->data is NULL, it is an empty log 1215 message. 1216 * sanity.sh (rcs-14): New test, tests for above fix (previously 1217 this was a coredump). 1218 1219Thu Sep 18 08:45:05 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1220 1221 * sanity.sh (rcs-7): Fix stupid ${TESTDIR} omission. 1222 1223Wed Sep 17 16:27:41 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1224 1225 * sanity.sh (rcs): New tests rcs-5 through rcs-13 test for 1226 getdate.y fix (rcs-12 and rcs-13 both failed with the buggy 1227 getdate.y). 1228 1229Tue Sep 16 00:07:17 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1230 1231 * sanity.sh (editor): Clean up first-dir at end of test. 1232 1233 * sanity.sh (editor): New tests test do_editor. 1234 1235 * commit.c (commit): For the client, if we got the log message 1236 from do_editor and there was an error, don't toss the message. 1237 1238Mon Sep 15 14:27:54 1997 martin.sjoelin@ubs.com 1239 and Jim Kingdon <kingdon@harvey.cyclic.com> 1240 1241 * rcs.c (RCS_checkout): fwrite in bite-size pieces, not the whole 1242 file in one fwrite. 1243 1244Sun Sep 14 12:23:15 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1245 1246 * commit.c (check_fileproc): If the file has "conflict 1247 indicators", spit a warning and proceed with the checkin. 1248 * sanity.sh (conflicts): Adjust tests conflicts-132, 1249 conflicts-status-3, conflicts-133, and conflicts-status-4 1250 for new behavior. 1251 1252Fri Sep 12 11:12:34 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1253 1254 * add.c, admin.c, checkin.c, checkout.c, classify.c, commit.c, 1255 create_adm.c, cvsrc.c, diff.c, entries.c, find_names.c, hash.c, 1256 import.c, lock.c, log.c, logmsg.c, main.c, modules.c, myndbm.c, 1257 no_diff.c, parseinfo.c, patch.c, rcs.c, rcscmds.c, recurse.c, 1258 remove.c, repos.c, root.c, rtag.c, status.c, subr.c, tag.c, 1259 update.c, vers_ts.c, hash.h, rcs.h, options.h.in: Change "CVS 1.4 1260 kit" to "CVS source distribution". 1261 1262 * sanity.sh: Comment out call to "whoami". 1263 1264Thu Sep 11 10:09:04 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1265 1266 * commit.c (classify_file_internal): Add comment about saving 1267 quiet vs. saving really_quiet. 1268 1269 * sanity.sh (newb-123j0): Use two regexps instead of assuming that 1270 expr has "\(", "\|", and "\)". If we want to require the latter, 1271 we should check for it up front, rather than let people get 1272 halfway through and wonder why the test failed. 1273 1274Tue Sep 9 19:22:44 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1275 1276 * expand_path.c (expand_path): If GETPWNAM_MISSING is defined, 1277 just give an error instead of calling getpwnam. 1278 1279 * subr.c (getcaller): If SYSTEM_GETCALLER is defined, call it 1280 instead of all the getlogin/getpwuid/etc. 1281 * wrapper.c (wrap_setup): Call get_homedir not getpwuid. 1282 1283Mon Sep 8 17:54:14 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1284 1285 * sanity.sh (basicc): Change ls -1 to echo *; according to 1286 larry.jones@sdrc.com, ls -1 isn't portable. 1287 1288Sun Sep 7 07:45:35 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1289 1290 * sanity.sh (basic2): In test basic2-64, match usernames with 1291 ${username}. 1292 1293 * root.c: Reindent a few things. 1294 * root.c, cvs.h (same_directories): Remove. Never used, 1295 portability hassle. 1296 1297 * add.c (add_directory): When checking for CVSADM, call fncmp not 1298 strcmp. I actually suspect this code doesn't do much these days, 1299 but fncmp clearly will make more sense than strcmp. 1300 1301 * rtag.c (rtag_usage), tag.c (tag_usage): Reword to hopefully be 1302 clearer that -r takes either numeric or symbolic revision. 1303 1304 * ignore.c (ign_dir_add, ignore_directory): Reindent. Tweaks to 1305 comments. 1306 1307 * update.c (checkout_file): Only ignore existence_error from 1308 unlink_file_dir, not all errors. 1309 1310 * checkout.c (safe_location): Check for errors from xgetwd. 1311 * create_adm.c (Create_Admin): Remove call to xgetwd; it is just 1312 debugging code anyway and it wasn't checking for errors. 1313 1314 * sanity.sh: Add comment about default value for TESTDIR. 1315 1316 * server.c (serve_log): Change "cvslog" to "log". This 1317 (accidental, I presume) error had made it impossible for anonymous 1318 users to run "cvs log". 1319 1320 * classify.c (sticky_ck): Change to take an finfo argument rather 1321 than several arguments taken from there. Cleans up the way the 1322 calling convention had depended on SERVER_SUPPORT. 1323 (Classify_File): Change callers. 1324 1325 * version.c: Change version number to 1.9.17. 1326 1327 * Version 1.9.16. 1328 1329 * recurse.c (do_dir_proc): In combining repository and dir, omit 1330 trailing "/." from repository. 1331 * sanity.sh (modules3): Adjust test modules3-4 so we test for 1332 this fix (this is not just cosmetic; the bug prevented the 1333 "Rebuilding administrative file database" from happening). 1334 modules2 already tests the "co CVSROOT/modules" usage. 1335 1336 * checkout.c (checkout_proc): When building top-level CVSADM 1337 directory, continue the process of walking up the repository one 1338 more level, rather than putting in the same repository as for the 1339 first-level directory. 1340 * sanity.sh: Adjust tests basicb-1b, basicb-9b, modules3-7f, 1341 toplevel-9, and toplevel-11 to test for this fix. 1342 1343 (For reference, this takes CVS's text segment from 344460 to 1344 344140 bytes. I know, this may seem unimportant, but it is so 1345 unusual for programs to shrink and I think it is so cool when they 1346 do without losing functionality/clarity/etc). 1347 * checkout.c, cvs.h (emptydir_name): New function. 1348 * checkout.c (checkout, checkout_proc), modules.c (do_module): 1349 Call it instead of duplicating the code to do that. 1350 1351 * sanity.sh (basicc): Clean up first-dir at end of test. 1352 1353Sat Sep 6 09:48:39 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1354 1355 * sanity.sh (join): Fix cut and paste error in join-28 1356 (/home/kingdon/... -> ${TESTDIR}). 1357 1358 * recurse.c (start_recursion): If there is no CVSADM and no 1359 subdirectories, give an error. 1360 * sanity.sh (basicc): New tests, test for this fix. 1361 1362 * sanity.sh (join): New tests join-25 through join-29 test merging 1363 from one branch to a different branch. 1364 1365 * release.c: In comment about CVSROOTADM_IGNORE, also mention 1366 comment just added to entries.c. 1367 * entries.c: Expand this comment, especially the part about 1368 CVS/Template. 1369 1370 Keep track of what revisions CVS/Base correspond to: 1371 * cvs.h (CVSADM_BASEREV, CVSADM_BASEREVTMP): Added. 1372 * entries.c, cvs.h (base_register, base_deregister, base_get, 1373 base_walk): New functions. 1374 * edit.c (edit_fileproc): Call base_register when setting up CVS/Base. 1375 (unedit_fileproc): When taking a file out of CVS/Base, put its 1376 revision back into entries, and base_deregister it. 1377 * sanity.sh (watch4): New tests watch4-10 through watch4-18 test 1378 for above fix. 1379 1380Fri Sep 5 09:14:10 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1381 1382 * client.c: Only declare start_rsh_server if we are going to 1383 define it (!NO_EXT_METHOD). 1384 1385 * subr.c, cvs.h (check_numeric): New function. 1386 * admin.c (admin): Call it. 1387 * sanity.sh (admin): New tests admin-10a and admin-10b test for fix. 1388 1389Thu Sep 4 15:55:39 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1390 1391 * sanity.sh (binwrap2): New tests, test for the ability to specify 1392 all files are binary except certain patterns. 1393 1394 * sanity.sh (modules3): New tests modules3-16 and modules3-17 test 1395 for another behavior involving '/' in a module name. 1396 1397Sun Aug 31 12:03:15 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1398 1399 * add.c (add): Remove checks for '/' in pathnames. 1400 (add): Move code which handles entries and repository inside loop, 1401 since these now might be different for each argument. Add code to 1402 set finfo.update_dir, finfo.file, and finfo.fullname appropriately 1403 even if pathname contains '/'. Replace user variable with 1404 finfo.file or finfo.fullname, depending on which is meant. chdir 1405 into update_dir for each argument. Likewise for the client code 1406 which creates directories. 1407 (add_directory): Replace arguments with a single finfo argument. 1408 Replace dir with finfo->fullname as needed. 1409 (add): Update call to add_directory. 1410 * client.c, client.h (send_a_repository): No longer static. 1411 * sanity.sh (errmsg2): Adjust tests to test for '/' in pathname. 1412 1413 * sanity.sh (errmsg2): New tests errmsg2-13 through errmsg2-16 1414 test the status quo with respect to '/' in cvs add argument. 1415 1416Sat Aug 30 17:37:29 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1417 1418 * run.c (run_popen): Add comment on return value. 1419 * release.c (release): Check for NULL return from popen. 1420 1421Fri Aug 29 17:49:20 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1422 1423 * client.c (get_server_responses): Add comment about "ok^M". 1424 1425Thu Aug 28 13:35:12 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1426 1427 * edit.c (edit_fileproc): If file doesn't exist, give an error. 1428 * sanity.sh (devcom2): Tests devcom2-12 through devcom2-17 test 1429 for above fix. 1430 1431Tue Aug 26 16:42:28 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1432 1433 * subr.c (xmalloc): Reword error message to clarify that memory, 1434 not disk space or some other resource, is in question. 1435 1436Tue Aug 26 01:04:48 1997 Steve Ralston <sralston@ppdpost.ks.symbios.com> 1437 and Jim Kingdon <kingdon@harvey.cyclic.com> 1438 1439 * add.c (add_directory): In allocating message, also allocate 1440 enough for tag and date related text. 1441 1442Tue Aug 26 01:04:48 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1443 1444 * update.c (update_dirent_proc): Use update_dir not dir in "new 1445 directory" message. 1446 * find_names.c (find_dirs): Skip CVSNULLREPOS. 1447 (Find_Directories): Add comment about find_dirs skipping CVSATTIC 1448 and CVSLCK in working directories. 1449 * sanity.sh (basicb): New tests basicb-edir-* test for find_dirs 1450 fix. Change other tests to test that Emptydir is not special in 1451 non-CVSNULLREPOS contexts. 1452 1453Sun Aug 17 14:44:57 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1454 1455 * import.c (add_rcs_file): Add comment about -k overriding wrappers. 1456 1457Sat Aug 16 18:09:05 1997 Martin Sjoelin <martin.sjoelin@ubs.ch> 1458 and Jim Kingdon <kingdon@harvey.cyclic.com> 1459 1460 * import.c (add_rcs_file): Before opening the input file 1461 when importing, if options is binary, open the file in 1462 binary mode. 1463 14641997-08-16 enami tsugutomo <enami@ba2.so-net.or.jp> 1465 1466 * sanity.sh (mcopy): Unset CVSWRAPPERS last of all. 1467 1468Fri Aug 15 11:11:44 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1469 1470 * add.c (add_directory): Copy default file attributes from the 1471 parent directory to the directory we are creating. 1472 * fileattr.h, fileattr.c (fileattr_getall, fileattr_setall): 1473 New functions, in support of above. 1474 * fileattr.c (fileattr_free): Add comment about fileattr_write 1475 maybe not clearing attrs_modified. 1476 * sanity.sh (watch4): New test, tests for above fix. 1477 1478Thu Aug 14 11:08:40 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1479 1480 * update.c (merge_file, join_file): If wrap_merge_is_copy, treat 1481 files as nonmergeable (as we had been treating binary files). 1482 (join_file, update_fileproc): Remove previous wrap_merge_is_copy 1483 cruft. 1484 * sanity.sh (mcopy): New tests, test for above fix. 1485 (binfiles2): New tests binfiles2-9a-* correct an oversight. 1486 (binfiles, binfiles2): Adjust to reflect wording change from 1487 "binary file" to "nonmergeable file". 1488 (mwrap): Adjust tests mwrap-8 through mwrap-10 for new behavior. 1489 1490 * main.c (main): Reword copyright notices to include the latest 1491 year, to refer to "other authors" in addition to the ones listed, 1492 and to be more concisely formatted. 1493 1494Wed Aug 13 13:50:00 1997 Larry Jones <larry.jones@sdrc.com> 1495 1496 * sanity.sh: Replace hard-coded directory with ${TESTDIR}, add 1497 join3 to default tests 1498 1499Wed Aug 13 11:42:24 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1500 1501 * rcscmds.c: Adjust comment to reflect progress on removing RCS 1502 execs outside this file. 1503 1504Mon Aug 11 10:14:47 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1505 1506 * vers_ts.c (Version_TS): If vers_ts->vn_rcs == NULL, skip setting 1507 modification time in server case as well as local case. 1508 * server.c (server_modtime): Add assertion to clarify that caller 1509 must assure that vers_ts->vn_rcs != NULL. 1510 * sanity.sh (join3): Add file "file2" to test for above fix. 1511 1512 * modules.c (save_d): When parsing -s option, don't assume that 1513 we will hit a space before we hit the '\0'. 1514 (struct sortrec): Document allocation policies (status quo except 1515 status field is now malloc'd). 1516 (cat_module): No longer need to set the '\0' at the end of the 1517 status field back to ' ', as it no longer shares storage with the 1518 rest field. 1519 * sanity.sh (modules): Add "statusmod" to test for above fix. 1520 1521Sun Aug 10 12:18:31 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1522 1523 * sanity.sh: Remove TODO item about more keyword expansion tests. 1524 The keyword test and others cover it pretty well, and such an item 1525 isn't useful unless it is specific. 1526 1527 * sanity.sh (importb): New tests test "cvs import -b". 1528 1529 * mkmodules.c: Update comment with more reasons why having 1530 CVSROOT/passwd be a regular administrative file would be a Bad 1531 Idea. 1532 1533 * server.c (switch_to_user): Add comment about checking for errors 1534 from setuid and friends. 1535 1536Wed Aug 6 13:48:29 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1537 1538 * main.c (main): Add comment about errors writing CVS/Root in 1539 need_to_create_root code. 1540 1541Tue Aug 5 22:05:20 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1542 1543 * entries.c (write_entries): If trouble writing Entries.Backup, 1544 make it a warning not an error. 1545 1546Wed Jul 30 08:42:04 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1547 1548 * parseinfo.c (parse_config): If AUTH_SERVER_SUPPORT is not 1549 defined, don't set system_auth. 1550 1551 * version.c: Change version number to 1.9.15. 1552 1553 * Version 1.9.14. 1554 1555 * create_adm.c, cvs.h (Create_Admin): If new argument WARN is set, 1556 then make creating the CVS directory itself a warning not a fatal 1557 error. New return value indicates whether we did this. 1558 * checkout.c (build_one_dir), client.c (call_in_directory): 1559 Pass WARN as one. 1560 * add.c, client.c, checkout.c, modules.c, update.c: Pass WARN as 1561 zero for all other Create_Admin callers. 1562 * sanity.sh (toplevel): New test toplevel-12 tests for this fix. 1563 * filesubr.c (mkdir_if_needed): Also check EACCES/isdir. Needed 1564 to make toplevel-12 test work. 1565 1566 * sanity.sh (toplevel): New test toplevel-11 and friends test for 1567 another variation of the toplevel-9 bug. 1568 1569Tue Jul 29 12:11:16 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1570 1571 * login.c (construct_cvspass_filename): Revert this change. The 1572 main reason is procedural; Karl is not a current CVS developer. 1573 The other thing is that the new text doesn't say anything about 1574 HOMEDRIVE and HOMEPATH. 1575 1576Tue Jul 29 11:36:22 1997 Karl Fogel <kfogel@harvey.cyclic.com> 1577 1578 * login.c (construct_cvspass_filename): error message informs user 1579 she may need to set HOME environment variable by hand. 1580 1581Sun Jul 27 15:36:44 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1582 1583 * admin.c (admin): Remove comment "XXX send -ko too with i = 0". 1584 It turns out to be a description of a bugfix which was applied on 1585 8 Oct 1995, and never should have been in a comment in the first 1586 place. 1587 1588 * admin.c (admin, admin_fileproc): Parse options ourself rather 1589 than blindly passing them to RCS. 1590 Accordingly, add struct admin_data and function arg_add, and delete 1591 global variables ac and av. 1592 * sanity.sh (admin): Change admin-3 test to reflect cvs admin -i 1593 now being an error. 1594 (basicb): Change basicb-21 test to relect the improved error 1595 message here. 1596 1597Sat Jul 26 11:34:51 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1598 1599 * sanity.sh (join3): New tests, test a new branch topology and 1600 greatest common ancestor. 1601 1602Fri Jul 25 09:51:49 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1603 1604 * server.c (serve_directory): Repository must start with 1605 CVSroot_directory rather than some random pathname. 1606 1607 * remove.c (remove_fileproc): If there is a numeric sticky tag, 1608 don't allow the remove. 1609 * commit.c (check_fileproc): Add comment about this case. 1610 * sanity.sh (sticky): New tests sticky-15 through sticky-23 1611 test for this behavior and the analogous behavior with 1612 non-branch sticky tags (which is unchanged). 1613 1614 * client.c (update_entries): Clear the stored mode, modtime, and 1615 checksum even on an error. 1616 * sanity.sh (contents2-142d*): Also test cvs status. Also test 1617 the case in which the contents of the file are unchanged. Also 1618 test running diff to see the conflict, and resolving the conflict. 1619 Without the fix above, the new contents2-142d2 test would get a 1620 "duplicate Mod-time" warning. 1621 1622Thu Jul 24 13:29:15 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1623 1624 * server.c (pserver_authenticate_connection): Call parse_config 1625 here too. 1626 * parseinfo.c (parse_config): If we are called several times, the 1627 times beyond the first do nothing. 1628 * cvs.h, parseinfo.c (parse_config): New argument cvsroot. 1629 * server.c, main.c: Update callers. 1630 * server.c, server.h (system_auth): New variable. 1631 * parseinfo.c (parse_config): Parse new keyword SystemAuth. 1632 * mkmodules.c (config_contents): Add comments for SystemAuth. 1633 * server.c (check_password): If !system_auth, then skip the check 1634 for a system username/password. 1635 1636 * main.c (main): No fatal error if parse_config returned an error. 1637 * server.c (serve_root): Likewise. 1638 * error.c (error): Add comment about calling from the server. 1639 * parseinfo.c, cvs.h (parse_config): Remove NOERR crock. 1640 Closer reading of server.c makes it seem like calling error 1641 here is OK after all. 1642 * sanity.sh (config): New test, tests for above fix. 1643 1644 * server.c (serve_root): Fix typo ("doign" -> "doing"). 1645 1646Wed Jul 23 13:55:09 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1647 1648 * vers_ts.c (Version_TS): If entdata is for a directory, don't set 1649 vn_user and friends. 1650 * server.c (dirswitch): Add comment about why Subdir_Register is 1651 sometimes a noop here. 1652 * cvs.h (struct vers_ts): Fix comments about NULL vs. "" in vn_user. 1653 * sanity.sh (errmsg2): New tests errmsg2-10 through errmsg2-12 test 1654 for above fix. 1655 * add.c (add_directory): Call cvs_output not printf. This fixes 1656 an out-of-order bug which was showing up in the testcase. 1657 165821 Jul 1997 Jim Kingdon 1659 1660 * subr.c (get_file): Put st_size into an unsigned variable to 1661 avoid signed/unsigned warnings. 1662 1663Mon Jul 21 00:19:30 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1664 1665 * version.c: Change version number to 1.9.13. 1666 1667 * Version 1.9.12. 1668 1669 * sanity.sh (toplevel, head): Delete our files from the repository 1670 when done with them. 1671 1672Sun Jul 20 15:53:08 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1673 1674 * sanity.sh (admin, reserved): New tests, test most cvs admin 1675 behaviors. 1676 (log2): New tests log2-5 through log2-10 test setting the 1677 description via cvs admin. 1678 1679Thu Jul 17 12:39:27 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1680 1681 * client.c (socket_buffer_input, socket_buffer_output): Add 1682 comment regarding size of of buffer we pass to send and recv. 1683 1684Sat Jul 12 15:21:24 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1685 1686 * import.c, rcs.h (add_rcs_file): New argument key_opt replaces 1687 access to global variable keyword_opt. New arguments desctext and 1688 desclen allow one to set the description. If add_vhead is NULL, 1689 then omit a revision, like rcs -i. 1690 * import.c (process_import_file), mkmodules.c (init): Change 1691 callers. 1692 * subr.c, cvs.h (get_file): New function, adapted from code in 1693 update_entries. 1694 * client.c (update_entries): Call it. 1695 * commit.c (checkaddfile): Create new RCS files with add_rcs_file 1696 rather than rcs -i. 1697 1698Fri Jul 11 12:14:54 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1699 1700 * update.c (join_file): Handle binary files ourself rather than 1701 passing them to RCS_merge (which sort of tries to handle binary 1702 files, but does so badly). 1703 * sanity.sh (binfile2): New "brmod", "brmod-trmod", and 1704 "brmod-wdmod" tests test for this fix. 1705 1706 * add.c (add): Exit status is now nonzero if any of the arguments 1707 failed (already was mostly true, make it true for the new sanity 1708 check). Move check for '/' (now ISDIRSEP) up to sanity check, so 1709 the client does it too. 1710 * sanity.sh (errmsg2): Test for this fix. 1711 1712Thu Jul 10 00:02:54 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1713 1714 * add.c (add): Check for CVSADM, ".", and "..", and skip any 1715 attempt to add them. 1716 * sanity.sh (errmsg2): New tests, tests for above fix. 1717 1718 * main.c (main): In text printed upon --version, also refer 1719 people to --help. 1720 1721 * rcscmds.c (RCS_exec_rcsdiff): Add comment about timezones. 1722 1723 * server.c, cvs.h (cvs_output_binary): New function. 1724 * rcs.c (RCS_checkout): For a binary file, call cvs_output_binary 1725 rather than cvs_output. 1726 * client.c (handle_mbinary): New function. 1727 (responses): Add "Mbinary". 1728 1729Tue Jul 8 12:18:16 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1730 1731 * filesubr.c (get_homedir): Add comment about root vs. user 1732 directory in pserver server. 1733 1734Mon Jul 7 14:39:33 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1735 1736 * sanity.sh (big): Also test Rcs-diff case. 1737 1738 * client.c (update_entries): Reindent a line. 1739 1740 * sanity.sh (death2): Add comment about Sun diff. Thanks to 1741 Warren Jones <wjones@TC.FLUKE.COM> for reporting this. 1742 1743 * client.c (update_entries): If DONT_USE_PATCH, then just treat a 1744 Patched response as an indication to try again with complete files. 1745 * update.c (update): Remove DONT_USE_PATCH ifdefs, since a CVS 1746 with DONT_USE_PATCH defined can still handle Rcs-diff. 1747 * sanity.sh (serverpatch): Add comment about this coming up in 1748 real life if the user modifies the file while CVS is running. 1749 1750 * client.c (start_server): Add comment about logfiles if there are 1751 several connections to the server. 1752 (log_buffer_shutdown): Close the logfile after shutting down the 1753 underlying buffer. This way at least we get the last set of 1754 logfiles rather than a bizarre mishmash. 1755 17561997-07-06 enami tsugutomo <enami@but-b.or.jp> 1757 1758 * logmsg.c (do_verify): Unlink temporary file before call error(). 1759 Remove unneeded `return' statement. Fix comment. 1760 1761Sun Jul 6 13:36:32 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1762 1763 * diff.c (diff_fileproc): Change message from "during rcsdiff of" 1764 to "while diffing". For a while now, that message might be 1765 printed after a call to DIFF instead of rcsdiff. 1766 1767 * diff.c (diff_fileproc): Call cvs_output not printf. Remove 1768 calls to fflush (should be handled now by call to cvs_outflush in 1769 recurse.c). 1770 * patch.c (patch_fileproc): Likewise. 1771 1772 * rcscmds.c, cvs.h (diff_exec): New function. 1773 * diff.c (diff_fileproc), patch.c (patch_fileproc), 1774 update.c (patch_file): Call it. 1775 1776 * rcscmds.c: Adjust comments concerning diff library to point to 1777 new, expanded comments at diff_exec. Remove comments concerning 1778 patch library; Rcs-diff should be adequate. 1779 1780 * client.c (update_entries): Add comment about GNU patch usage (-b 1781 option and so on). 1782 1783Sat Jul 5 04:13:28 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1784 1785 * rcscmds.c, cvs.h (RCS_exec_rcsdiff): New function. 1786 * diff.c (diff_fileproc): Call it. 1787 1788Thu Jul 3 09:50:07 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1789 1790 * main.c (main): Add comment about how long we should keep the 1791 deprecated "cvs rlog" alias. 1792 1793 * server.c (cvs_output): Add comment about whether to fflush. 1794 1795Wed Jul 2 18:57:29 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1796 1797 * sanity.sh (join2): New tests join2-19 and friends test for a 1798 case that we can't readily get right (see comments). 1799 1800Tue Jul 1 09:52:09 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1801 1802 * main.c (cmd_usage): Say "specify" --help rather than the vague 1803 "use". 1804 (opt_usage, cmd_synonyms): Mention --help here too. 1805 * add.c, admin.c, checkout.c, commit.c, diff.c, edit.c, import.c, 1806 log.c, login.c, mkmodules.c, patch.c, rcs.c, release.c, remove.c, 1807 rtag.c, status.c, tag.c, update.c, watch.c: Likewise, for all the 1808 other help messages. 1809 1810 * sanity.sh (join2): New tests. 1811 1812 * repos.c (Name_Repository): Check for errors from fclose. 1813 1814Fri Jun 27 10:27:48 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1815 1816 * scramble.c, login.c: Reindent. 1817 1818 * client.c (connect_to_pserver): Check for errors from send(). 1819 If socket() fails, include SOCK_STRERROR (SOCK_ERRNO) in message. 1820 1821Wed Jun 25 11:21:52 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1822 1823 * main.c: New option --help-options, with much of the text 1824 from --help. Fix a few capitalization and punctuation problems. 1825 Rewrite text for --help to be an intro to all the --help-* 1826 options. 1827 1828 * sanity.sh (head): New tests, concerning meaning of HEAD. 1829 1830Tue Jun 24 10:14:18 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1831 1832 * client.c (recv_line): New function. 1833 (connect_to_pserver): Call it, and rewrite accordingly. Also 1834 accept new "E" and "error" responses. Change \n to \012. 1835 * server.c (pserver_authenticate_connection): Adjust comment 1836 accordingly, concerning sending I HATE YOU not "error". 1837 1838Sun, 22 Jun 1997 Jim Kingdon 1839 1840 * main.c (main): Move setting of server_active inside #ifdef 1841 SERVER_SUPPORT; otherwise the variable doesn't exist. 1842 * main.c (main): Call return after exit to shut up warning. 1843 1844Fri Jun 20 22:56:34 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1845 1846 * client.c (connect_to_pserver): On "I HATE YOU", give 1847 "authorization failed" fatal error regardless of verify_only. 1848 * login.c (login): Don't print that "incorrect password" message; 1849 it now is possible with an --allow-root failure as well as an 1850 incorrect password. cvsclient.texi doesn't really specify what I 1851 HATE YOU means in any detail, and it seems a little silly for 1852 login to give different messages than the other commands. 1853 * client.c, client.h (connect_to_pserver): Return type now void. 1854 1855Thu Jun 19 12:16:10 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1856 1857 * server.c (serve_root): Give error on duplicate Root request. 1858 Call parse_config. 1859 * parseinfo.c, cvs.h (parse_config): New function. 1860 * cvs.h (CVSROOTADM_CONFIG): Added. 1861 * main.c (main): Set server_active here... 1862 * server.c (server): ...not here. That seems cleaner than 1863 strcmp's between command_name and "server" in main.c. 1864 * main.c (main): Call parse_config. 1865 * main.c, cvs.h (free_Rcsbin): Make global. 1866 * mkmodules.c (filelist): Add CVSROOTADM_CONFIG. 1867 1868Wed Jun 18 11:24:31 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1869 1870 * version.c: Change version number to 1.9.11. 1871 1872 * Version 1.9.10. 1873 1874Tue Jun 17 22:48:00 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1875 1876 * main.c (main): Add --allow-root=ROOT argument; call 1877 root_allow_add for each time it is specified. Call 1878 root_allow_free before exiting. 1879 * root.c, cvs.h (root_allow_add, root_allow_free, root_allow_ok): 1880 New function. 1881 * server.c (pserver_authenticate_connection): If root_allow_ok 1882 doesn't like the CVSROOT directory, don't allow access. 1883 1884Tue Jun 17 14:30:14 1997 Jim Kingdon (unknown@beezley) 1885 1886 * client.c: Add "copyright" notice. If NO_EXT_METHOD, omit 1887 start_rsh_method. 1888 * client.c (update_entries): Cast argument to MD5Update from 1889 char * to unsigned char *. 1890 1891Mon Jun 16 16:46:28 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1892 1893 * run.c (piped_child, filter_stream_through_program): 1894 If USE_SETMODE_BINARY, then put the pipes into binary mode. 1895 * find_names.c, ignore.c, lock.c, wrapper.c: Change fnmatch to 1896 CVS_FNMATCH. 1897 * client.c (start_server): If NO_EXT_METHOD, then give a fatal 1898 error on any use of :ext:. 1899 1900Sun Jun 15 22:30:27 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1901 1902 * sanity.sh (toplevel): Match U CVSROOT/* lines with DOTSTAR in 1903 test toplevel-9. 1904 1905Thu Jun 12 10:27:51 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1906 1907 * sanity.sh (toplevel): Remove Emptydir before starting. 1908 1909 * sanity.sh: Change "rm -rf" to "rm -r" when deleting working 1910 directories (except a few watches cases). Helps detect cases 1911 where the testsuite has cd'd to somewhere other than where we 1912 think it has. 1913 (basic2): Remove "rm -r first-dir" between tests 49 and 50. The 1914 directory was already deleted in test 45.5. 1915 (rcs): Add "cd .." at end of tests. 1916 (stamps): No longer cd to TESTDIR; shouldn't be necessary with 1917 fix to "rcs" test. 1918 1919Wed Jun 11 22:28:38 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1920 1921 * sanity.sh (basicb): Also remove CVSROOT/Emptydir at end of 1922 test. Otherwise it affects the toplevel-9 test for remote. 1923 1924Tue Jun 10 14:03:32 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1925 1926 * sanity.sh (toplevel): Change "update" and "checkout" to "[a-z]*" 1927 as these read "server" instead for "make remotecheck". Change 1928 expect strings for toplevel-9 to accept the behavior of remote CVS 1929 (see comments for more discussion). 1930 1931 * sanity.sh: New tests stamps-9 through stamps-11 test timestamp 1932 behavior on cvs update. 1933 1934Mon Jun 9 22:42:50 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1935 1936 * sanity.sh: Remove "#! /bin/zsh" line at end. I assume it was 1937 added accidentally. 1938 1939Tue Jun 10 03:08:46 1997 Norbert Kiesel <nk@psycho.de> 1940 1941 * sanity.sh: new tests "toplevel" for the new toplevel CVS 1942 directory creation (including one test which shows an error in 1943 this area). 1944 1945Sun Jun 8 20:52:00 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1946 1947 * rcs.c (getrcsrev): Before printing error, check whether it was 1948 feof or ferror. 1949 1950 * rcs.h, import.c (add_rcs_file): No longer static. New arguments 1951 add_vbranch, add_vhead, and add_logfp replace access to static 1952 variables vbranch, vhead, and logfp. 1953 * mkmodules.c: Call it instead of RCS_CI. 1954 * import.c (process_import_file): Adjust call to add_rcs_file. 1955 1956Tue Jun 3 10:18:33 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1957 1958 * sanity.sh (basicb): Match "." with "\." not ".". 1959 1960Tue Jun 3 13:02:37 1997 Norbert Kiesel <nk@cosa.de> 1961 1962 * checkout.c (checkout): Removed restriction of not sending -k in 1963 remote export (I think this was introduced while the -k handling 1964 was still broken in remote mode). Give better error texts 1965 regarding -c and -s options. Use error() instead of usage() for 1966 reporting errors in all places. Reindented some lines. Free 1967 xmalloc'd space of options. 1968 1969Thu May 29 16:32:47 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1970 1971 * rcscmds.c (RCS_checkin), mkmodules.c (init): Pass -w option to 1972 "ci", specifying getcaller (). 1973 * server.h, server.c (CVS_Username): Now extern. 1974 * subr.c (getcaller): Return CVS_Username if it is set. 1975 1976Wed May 28 22:31:38 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1977 1978 * update.c (update_fileproc): If wrap_merge_is_copy and we would 1979 like to do a merge, give a fatal error. See comment for why. 1980 * sanity.sh (mwrap): New tests, tests for above fix. 1981 1982Tue May 27 21:59:32 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1983 1984 * sanity.sh (stamps): cd to ${TESTDIR} before starting. 1985 1986Mon May 26 15:31:30 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1987 1988 * client.c (handle_mod_time): New function. 1989 (responses): Add "Mod-time". 1990 (stored_modtime_valid, stored_modtime): New variables. 1991 (update_entries): If it is set, change the file's modtime. 1992 * server.c, server.h (server_modtime): New function. 1993 * vers_ts.c (Version_TS): Call it. 1994 * patch.c (patch_fileproc): Add comment about why we don't. 1995 * sanity.sh (stamps): Added, tests for above fix. 1996 1997Fri May 16 13:14:30 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 1998 1999 * subr.c (free_names): Update documentation to reflect fact that 2000 free_names is now called to free vectors allocated by expand_wild 2001 as well as by line2argv. 2002 2003 * main.c (main): Use "xstrdup (foo)" not "xstrdup(foo)" as 2004 specified in HACKING. 2005 2006Fri May 16 15:10:37 1997 Norbert Kiesel <nk@cosa.de> 2007 2008 * modules.c (do_module): initialize optind to 0. use local copies 2009 of optarg's (because they might me freed within free_names). 2010 2011Thu May 15 11:50:15 1997 Norbert Kiesel <nk@cosa.de> 2012 2013 * main.c (main): initialize optind to 0. use local copies of 2014 optarg's (because they might me freed within read_cvsrc). 2015 2016 * cvsrc.c (read_cvsrc): free old argv after constructing a new 2017 one. This fixes a memory leak. 2018 2019 * recurse.c (start_recursion): use free_names() instead of 2020 reimplementing it 2021 2022 * rcs.c (RCS_deltas): free branchversion (memory leak). 2023 2024 * parseinfo.c (Parse_Info): free some vars (3 memory leaks). 2025 2026 * logmsg.c (logfile_write): free str_list_format (memory leak). 2027 2028 * watch.c (watch_addremove), (watchers), update.c (update), tag.c 2029 (cvstag), status.c (status), rtag.c (rtag), remove.c (cvsremove), 2030 release.c (release), patch.c (patch), log.c (cvslog), import.c 2031 (import), history.c (history), edit.c (watch_onoff), (edit), 2032 (unedit), (editors), diff.c (diff), commit.c (commit), checkout.c 2033 (checkout), add.c (add): initialize optind to 0 2034 2035 * diff.c (diff_fileproc): cosmetic change (whitespace added). 2036 2037 * checkout.c (checkout): move local variable definition into the 2038 block where the variable is used. 2039 2040 * client.c (update_entries): initialize some local variables to shut up 2041 gcc -O -Wall. 2042 2043 * buffer.c (buf_read_line): initialize a local variable to shut up 2044 gcc -O -Wall. 2045 2046 2047Wed May 14 16:29:50 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2048 2049 * admin.c (admin): When sending options to server, don't try to 2050 send av[ac]. It may contain one of the names that we'll send in 2051 send_file_names (which caused tests like keyword-6 to work, 2052 sort of accidentally), or it may contain NULL (which would tend to 2053 cause a coredump). 2054 * sanity.sh (basicb): New test basicb-21 tests for above fix. 2055 2056Mon May 12 16:22:00 1997 Larry Jones <larry.jones@sdrc.com> 2057 2058 * add.c (add): Free message and repository in client code. 2059 * checkout.c (checkout): Don't free repository unless allocated. 2060 * client.c (start_rsh_server): Free command. 2061 2062Sun May 11 11:43:54 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2063 2064 * client.c: Remove all references to USE_DIRECT_TCP; see 2065 ../ChangeLog for rationale. 2066 2067Fri May 9 22:19:36 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2068 2069 * main.c (main): Add comment explaining why we call exit. Pass 0 2070 not EXIT_SUCCESS, because lib/system.h has portability cruft for 2071 EXIT_FAILURE but not EXIT_SUCCESS. 2072 2073Fri May 9 17:25:00 1997 Larry Jones <larry.jones@sdrc.com> 2074 2075 Fix miscellaneous memory allocation problems: 2076 * add.c (add): Free repository. 2077 * client.c (notified_a_file): Free getline buffer. 2078 * edit.c (notify_check): Free getline buffer. 2079 * hash.c (dellist): Free header node when not caching. 2080 * login.c (login): Don't continually free & allocate getline 2081 buffer, use xstrdup instead of xmalloc/strcpy, free getline 2082 buffer before returning. 2083 * main.c (main): Call exit instead of returning so tools like 2084 Purify won't consider permanently allocated memory as leaks. 2085 * mkmodules.c (mkmodules): Free getline buffer. 2086 * modules.c (cat_module): Call close_module. 2087 * rcs.c (rcsvers_delproc): Free state. 2088 * recurse.c (start_recursion): Free files_by_dir. 2089 (unroll_files_proc): NULL out p->data after using it to set 2090 filelist to avoid multiple frees. 2091 * server.c (check_command_legal_p): Don't continually free & 2092 allocate getline buffer, free getline buffer before returning. 2093 (check_repository_password): Ditto, use xstrdup instead of 2094 xmalloc/strcpy. 2095 * wrapper.c (wrap_add_file): Free getline buffer. 2096 2097Thu May 8 14:21:00 1997 Larry Jones <larry.jones@sdrc.com> 2098 and Jim Kingdon <kingdon@harvey.cyclic.com> 2099 2100 * checkout.c (checkout_proc): Free finfo.rcs (memory leak). 2101 21028 May 1997 Larry Jones <larry.jones@sdrc.com> 2103 and Jim Kingdon <kingdon@harvey.cyclic.com> 2104 2105 * hash.c: Add #ifdef's to disable caching. This makes it easier 2106 to track down memory allocation problems. 2107 2108Thu May 8 11:40:39 1997 Larry Jones <larry.jones@sdrc.com> 2109 2110 * sanity.sh: In setting "tests" use a number of statements rather 2111 than one very long line. 2112 2113Thu May 8 11:40:39 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2114 2115 * cvsbug.sh: Remove $Id; we decided to get rid of these some time 2116 ago. 2117 2118Thu May 8 11:34:02 1997 Larry Jones <larry.jones@sdrc.com> 2119 2120 * cvsbug.sh: Put separate statements on separate lines, so it 2121 works if awk is AT&T nawk. 2122 2123Tue May 6 16:56:00 1997 Larry Jones <larry.jones@sdrc.com> 2124 and Jim Kingdon <kingdon@harvey.cyclic.com> 2125 2126 * cvsrc.c (read_cvsrc): Fix various memory allocation problems: 2127 rearrange code to avoid leaks, use xrealloc instead of xmalloc/ 2128 copy/free, make sure there's room for the remaining args before 2129 appending them. 2130 2131Tue May 6 14:20:00 1997 Larry Jones <larry.jones@sdrc.com> 2132 2133 * edit.c (watch_onoff, edit, unedit, editors): Add -R like 2134 other things with -l. 2135 * watch.c (watch_addremove, watchers): Ditto. 2136 2137Mon May 5 18:10:37 1997 larry.jones@sdrc.com 2138 and Jim Kingdon <kingdon@harvey.cyclic.com> 2139 2140 * sanity.sh: Change all /tmp/cvs-sanity to TESTDIR. If TESTDIR 2141 environment variable is set, use it instead of /tmp/cvs-sanity. 2142 * sanity.sh: Make TMPPWD the pwd equivalent of TESTDIR, not of /tmp. 2143 21444 May 1997 Larry jones <larry.jones@sdrc.com> 2145 and Jim Kingdon 2146 2147 * checkout.c, diff.c, patch.c, rcs.c: Update usage messages. 2148 * rcs.c (annotate): Add -R like other things with -l. 2149 2150Sat May 3 14:57:40 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2151 2152 * sanity.sh (basic1): Rewrite test (use dotest, unroll the loops 2153 which IMHO makes the test a zillion times more understandable, and 2154 only do the variant which tests for 4 files at a time--we test one 2155 file at a time lots of places). 2156 21572 May 1997 Ziv Gigus <ziv@rest.home.net> 2158 and Jim Kingdon 2159 2160 * client.c, client.h (client_process_import_file): New argument 2161 all_files_binary means treat all files as binary. 2162 * import.c (import_descend): Pass it if -kb is specified. 2163 * client.c (client_process_import_file): In the 2164 non-all_files_binary case, call wrap_rcsoption to determine 2165 whether the file is binary. 2166 2167Thu May 1 13:44:51 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2168 2169 * sanity.sh (binfiles2): New tests, for update -j and binary files. 2170 2171Wed Apr 30 11:18:36 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2172 2173 * recurse.c (start_recursion): Also free reposfile. 2174 Don't look in repository if client_active (latter bug reported by Paul 2175 Sanders <p.sanders@dial.pipex.com>). 2176 2177Mon Apr 28 22:36:39 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2178 2179 * diff.c (diff_file_nodiff): Remove SERVER_SUPPORT ifdefs. They 2180 were not based on server_active, which doesn't really make any 2181 sense (it meant that compiling --disable-server could affect the 2182 behavior of the non-client/server CVS). This affected the output 2183 in tests death2-diff-11 and death2-diff-12 in the testsuite. 2184 * sanity.sh (newb-123j0): Also accept "Needs Checkout", for a 2185 --disable-server CVS. 2186 2187 * main.c (cmd_usage): Change "run diffs" to "show differences"; 2188 the former is jargon. 2189 * edit.c (edit_usage): Fix typo ("." -> ","). 2190 * edit.c (editors_usage), watch.c (watchers_usage): Mention -l. 2191 * checkout.c (export_usage): Say what -P does. 2192 * history.c (history_usg): Add comment about message wording. 2193 2194Mon Apr 28 14:47:45 1997 Norbert Kiesel <nk@cosa.de> 2195 2196 * checkin.c (Checkin): use filename without path when calling 2197 wrapper (bug found by Michal Schmitz <ms@cosa.de>). 2198 2199Fri Apr 25 13:28:55 1997 Ian Lance Taylor <ian@cygnus.com> 2200 2201 * client.c (update_entries): In UPDATE_ENTRIES_RCS_DIFF case, 2202 write to a temporary file and then rename it. 2203 2204Thu Apr 24 11:35:40 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2205 2206 * subr.c, cvs.h (pathname_levels): New function, from a piece of 2207 send_file_names. 2208 * client.c (send_file_names): Call pathname_levels in place of the 2209 code which was moved there. 2210 * server.c, server.h (server_pathname_check): New function. 2211 * recurse.c (start_recursion): Call it. 2212 * sanity.sh (modules3): New test modules3-11b tests for above fix. 2213 2214 * filesubr.c: Do not define L_tmpnam. It is in ANSI and SunOS4, 2215 so I don't think there will be a problem with it being missing. 2216 Defining it too small can cause memory corruption. 2217 (cvs_temp_name): Do not use L_tmpnam in the mktemp code; this 2218 could cause a buffer overflow if the -T global option was in use. 2219 2220Thu Apr 24 13:21:15 1997 Norbert Kiesel <nk@cosa.de> 2221 2222 * filesubr.c (cvs_temp_name): Use tempnam if available, else 2223 mktemp, else tmpnam. See the comment for rationale. 2224 2225 * sanity.sh: use "tar cf - ." instead of "tar cf - *" for 2226 directory copies. 2227 2228Wed Apr 23 23:41:47 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2229 2230 * server.c (serve_update_prog): If in readonly mode, give an error. 2231 2232Wed Apr 23 19:07:41 1997 Norbert Kiesel <nk@cosa.de> 2233 2234 * subr.c (line2argv): Allocate at least 4 slots for argv. 2235 2236 * checkout.c (checkout_proc): Add a comment which says why the 2237 above change was necessary to avoid writing to unallocated memory. 2238 2239Wed Apr 23 11:20:40 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2240 2241 * entries.c (ParseTag): Always set *NONBRANCHP. 2242 224321 Apr 1997 Jim Kingdon 2244 2245 * client.c (update_entries), rcs.c (expand_keywords): Rewrite 2246 test to avoid signed/unsigned warning. 2247 2248Mon Apr 21 09:02:22 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2249 2250 * update.c (patch_file): Add comment about whether auto-detecting 2251 features of the DIFF program is a good idea. 2252 2253Mon Apr 21 00:03:34 1997 Ian Lance Taylor <ian@cygnus.com> 2254 2255 Don't require the patch program: 2256 * client.c (struct update_entries_data): Add 2257 UPDATE_ENTRIES_RCS_DIFF to contents enum. 2258 (update_entries): Handle UPDATE_ENTRIES_RCS_DIFF. 2259 (handle_rcs_diff): New static function. 2260 (responses): Add "Rcs-diff". 2261 * server.c (server_updated): Handle SERVER_RCS_DIFF. 2262 (server_use_rcs_diff): New function. 2263 * server.h (enum server_updated_arg4): Add SERVER_RCS_DIFF. 2264 (server_use_rcs_diff): Declare. 2265 * update.c (rcs_diff_patches): New static variable. 2266 (update): Set rcs_diff_patches. 2267 (update_fileproc): If rcs_diff_patches, pass SERVER_RCS_DIFF 2268 rather than SERVER_PATCHED to server_updated. 2269 (patch_file): Correct initial comment to say diff rather than 2270 rcsdiff. If rcs_diff_options, pass -n to diff rather than -c. 2271 * rcs.c (rcs_change_text): New function. 2272 * rcs.h (rcs_change_text): Declare. 2273 2274Mon Apr 21 00:08:59 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2275 2276 * diff.c (diff_fileproc): Add comment concerning updating the 2277 client timestamp. 2278 2279Sun Apr 20 23:20:37 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2280 2281 * commit.c (commit): Add comment regarding SEND_FORCE rationale. 2282 2283Sat Apr 19 17:10:36 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2284 2285 * server.c (dirswitch): If directory ends in '/', complain. 2286 2287Fri Apr 18 18:09:57 1997 Ian Lance Taylor <ian@cygnus.com> 2288 2289 * rcs.c (apply_rcs_changes): New static function, broken out of 2290 RCS_deltas. 2291 (RCS_deltas): Call it. 2292 (linevector_add): Change return type to int. Return an indication 2293 of an error for an invalid add, rather than calling error. 2294 2295Fri Apr 18 11:24:26 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2296 2297 * version.c: Change version number to 1.9.9. 2298 2299 * version.c: Version 1.9.8. 2300 2301 * commit.c (struct find_data): Add field force. 2302 (find_fileproc, commit): Use it instead of force_ci to decide 2303 whether to send files to server. 2304 (commit): Set it if either -f or -r is specified. 2305 * sanity.sh (basica): Add tests basica-8a0, basica-8a1, and 2306 basica-8a2; tests for above fix. 2307 2308Wed Apr 16 11:50:59 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2309 2310 * zlib.c: Remove paragraph with Free Software Foundation address. 2311 See 2 Jan 1997 entry in ../ChangeLog for rationale. 2312 2313Tue Apr 15 00:36:23 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2314 2315 * update.c (patch_file_write): Always assign to final_nl, so that 2316 it ends up reflecting whether the data from the last call had a 2317 newline, not whether the data from any of the calls ended in a 2318 newline. Doesn't matter with the current RCS_checkout 2319 implementation, but it will if RCS_checkout is changed to pass 2320 less than the entire file. 2321 2322 * rcs.c (RCS_cmp_file): Change NULL to RUN_TTY in passing sout to 2323 RCS_checkout, for clarity. 2324 2325 * import.c (update_rcs_file): Remove unused variable ierrno. 2326 2327 * add.c, checkout.c, commit.c, diff.c, edit.c, import.c, 2328 history.c, log.c, main.c, patch.c, release.c, remove.c, rtag.c, 2329 status.c, tag.c, update.c, watch.c: Pass "+" to all calls to 2330 getopt. This ensures that we maintain existing behavior even with 2331 glibc2. 2332 2333 * filesubr.c (fopen_case): Don't set *PATHP if we return an 2334 error. Since the 9 Apr 1997 change, the behavior has been to 2335 sometimes set it and sometimes not. 2336 * rcs.c (RCS_parse): Adjust callers to not free it. Without this 2337 change, they could call free() on an uninitialized variable. 2338 2339 * checkout.c (checkout): Add comment about export -k. 2340 2341 * root.c (check_root_consistent): Add comment about wording of 2342 message. 2343 2344Mon Apr 14 11:51:49 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2345 2346 * client.c (call_in_directory): If rdirp reaches the end of 2347 reposdirname, then just set it to NULL. If server does not create 2348 directories one at a time, give a warning. 2349 * sanity.sh (modules3): Enable tests modules3-8 through 2350 modules3-11 for remote; tests for above fix. 2351 2352 * client.c (call_in_directory): Don't set short_pathname to 2353 pathname for a while; just use pathname itself (cleans up a relic 2354 of the old "Repository" (not "Directory") code). Add comment 2355 explaining short_pathname. 2356 2357Sun Apr 13 18:07:50 1997 Ian Lance Taylor <ian@cygnus.com> 2358 2359 * rcs.c (RCS_checkout): Add pfn and callerdat parameters. Change 2360 all callers. Move setting of expand after retrieval of file 2361 data. 2362 (struct cmp_file_data): Define. 2363 (RCS_cmp_file): New function. 2364 (cmp_file_buffer): New static function. 2365 * rcs.h (RCSCHECKOUTPROC): Define type. 2366 (RCS_checkout): Update declaration. 2367 (RCS_cmp_file): Define. 2368 * diff.c (diff_file_nodiff): Call RCS_cmp_file rather than 2369 RCS_checkout and xcmp. 2370 * import.c (update_rcs_file): Likewise. 2371 * no_diff.c (No_Difference): Likewise. 2372 * update.c (struct patch_file_data): Define. 2373 (patch_file): Just return if noexec, or if binary file. Pass 2374 patch_file_write to RCS_checkout. Don't check for newlines or 2375 compute checksums here. Stat RCS file to set modes. 2376 (patch_file_write): New static function. 2377 2378 * update.c (patch_file): Checkout directly to file2, rather than 2379 to finfo->file followed by rename. Remove check for whether 2380 result of checkout is readable; that was for an old, obsolete, 2381 form of death support. 2382 2383Sun Apr 13 13:16:40 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2384 2385 * checkout.c (build_one_dir): New function. 2386 (struct dir_to_build): New structure. 2387 (build_dirs_and_chir): Rewritten to accept a linked list of struct 2388 dir_to_build rather than the silly string processing we had been 2389 doing before. 2390 (checkout_proc): Rewrite code that calls build_dirs_and_chdir 2391 accordingly. 2392 * sanity.sh: Enable tests modules3-10 and modules3-11 for local CVS; 2393 tests for above fix. 2394 2395 * rcs.h (RCS_CO): Removed; no longer used. 2396 2397Sun Apr 13 00:04:34 1997 Ian Lance Taylor <ian@cygnus.com> 2398 2399 Expand RCS keywords internally; never call co: 2400 * rcs.h (struct rcsversnode): Add state field. 2401 * rcs.c (kflags): Move out of RCS_check_kflag, and make file 2402 static. 2403 (enum kflag): Define. 2404 (RCS_reparsercsfile): Always save lock information. Save state in 2405 new state field, rather than other field. 2406 (struct rcs_keyword): Define. 2407 (keywords): New static variable. 2408 (enum keyword): Define. 2409 (printable_date, escape_keyword_value): New static functions. 2410 (expand_keywords): New static function. 2411 (RCS_checkout): Call expand_keywords. Don't call 2412 RCS_exec_checkout. 2413 (RCS_deltas): Add log and loglen parameters. Change all callers. 2414 * log.c (log_version_requested): Use new state field. 2415 (log_version): Likewise. 2416 * cvs.h (RCS_exec_checkout): Don't declare. 2417 * rcscmds.c (RCS_exec_checkout): Remove. 2418 2419Sat Apr 12 17:32:59 1997 Ian Lance Taylor <ian@cygnus.com> 2420 2421 * sanity.sh (modules3): Remove second-dir at end of tests. 2422 (sticky): Correct removal of directories at end of tests. 2423 2424 * sanity.sh (keyword): New tests for RCS keyword expansion. 2425 2426Sat Apr 12 16:47:13 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2427 2428 * sanity.sh (basicb): New tests basicb-1b, basicb-1c, basicb-9b, 2429 basic-9c test current build_dirs_and_chdir behavior. 2430 2431Fri Apr 11 23:54:56 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2432 2433 * sanity.sh (modules3): New tests modules3-7* test for ability to 2434 supply a path in -d in modules. Similar to modules3-8 through 2435 modules3-11 except because the nesting is different, these ones 2436 work. 2437 2438Thu Apr 10 00:14:47 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2439 2440 * sanity.sh (modules3): New tests modules3-12 through modules3-15 2441 test use of a module name which contains a slash. 2442 2443 * sanity.sh (basicb): New tests basicb-14 to basicb-20 test use of 2444 co -d with two or more arguments. 2445 2446 * rcscmds.c: Refer to doc/RCSFILES in comment. 2447 2448Wed Apr 9 09:49:17 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2449 2450 * sanity.sh (basicb): New tests basicb-11 through basicb-13 test 2451 ability to specify several directory levels in co -d (commented 2452 out). 2453 2454 * filesubr.c (fopen_case): If CVS_OPENDIR gives an 2455 existence_error, return it to the caller instead of giving a fatal 2456 error. 2457 2458 * client.c (update_entries): Fix typo in call to error (1 -> errno). 2459 2460Tue Apr 8 23:02:22 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2461 2462 * error.h, error.c: Test for #ifdef __STDC__, not #if __STDC__. 2463 This is consistent with other parts of CVS; it means that the 2464 declaration for fperror will match the definition even if __STDC__ 2465 is defined to 0 as the SunPro 4.0 compiler does. Reported by 2466 Richard Smith <rjsmith@cisco.com>. 2467 24682 Apr 1997 Jim Kingdon 2469 2470 * entries.c (ParseTag): Add "break;" after "default:" to avoid 2471 error from Visual C++. 2472 2473Wed Apr 2 12:06:44 1997 Vince Del Vecchio <vdelvecc@spd.analog.com> 2474 and Jim Kingdon 2475 2476 * client.c: In reporting errors from socket calls, use 2477 SOCK_STRERROR and SOCK_ERRNO since strerror(errno) doesn't work 2478 for Win32. 2479 2480Tue Apr 8 10:45:32 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2481 2482 * sanity.sh (modules3): Add tests modules3-8 to modules3-11, to 2483 test for ability to supply a path to -d in modules. Mostly 2484 commented out as CVS is buggy in this area. 2485 2486Mon Apr 7 12:41:44 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2487 2488 * add.c (add): Add comment about SEND_NO_CONTENTS. 2489 2490Sun Apr 6 21:46:32 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2491 2492 * update.c (update): Add comment about noexec and SEND_NO_CONTENTS. 2493 2494Sun Apr 6 17:34:08 1997 Robert Bihlmeyer <robbe@orcus.priv.at> 2495 2496 * Pass +f not f to getopt_long to prevent options from being 2497 permuted with glibc 2.0.1. 2498 2499Sun Mar 30 00:07:05 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2500 2501 * cvs.h (struct vers_ts): Adjust comment regarding ts_user. 2502 * server.c (serve_is_modified): New function. Set entries to show 2503 that the file is modified but we don't know the contents. 2504 * server.c (requests): Add "Is-modified" request. 2505 * vers_ts.c (time_stamp_server): If the timestamp in entdata is 2506 "M" or "D", just copy that over into ts_user. 2507 * vers_ts.c (Version_TS): If timestamp is "D", use the entries 2508 line for the sole purpose of passing it to time_stamp_server. 2509 * no_diff.c (No_Difference): If ts_user is "M", conclude the files 2510 are different. 2511 * client.h, client.c (send_files): Replace arguments build_dirs 2512 and force with argument flags. Add flag SEND_NO_CONTENTS and add 2513 to struct send_data. 2514 (send_fileproc): If no_contents, then send Is-modified instead of 2515 Modified. 2516 * add.c, admin.c, client.c, commit.c, diff.c, edit.c, log.c, 2517 rcs.c, remove.c, status.c, tag.c, update.c, watch.c: Change all 2518 send_files callers. 2519 2520Fri Mar 28 22:32:25 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2521 2522 * server.c (requests): Change "Repository" to rq_optional. I'm 2523 not sure whether I overlooked this when I removed support for 2524 Repository, or whether I was thinking that servers would need to 2525 support it anyway, for CVS 1.5 to 1.9 clients, but making it 2526 optional doesn't prevent the server from supporting it and it 2527 seems silly for the client to complain about absence of a request 2528 that it never will use. 2529 2530Fri Mar 28 10:06:59 1997 Steven Miller <Miller@wingra.com> 2531 2532 * entries.c (Subdirs_Known): Don't create Entries.Log if noexec. 2533 2534Thu Mar 27 18:14:12 1997 Ian Lance Taylor <ian@cygnus.com> 2535 2536 * sanity.sh (death2): Remove commented out test death2-21. It 2537 would now pass, but it duplicates the new test sticky-11. 2538 2539Thu Mar 27 10:21:19 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2540 2541 * sanity.sh (dotest_internal): Write test output to logfile even 2542 if test succeeds. This was the behavior prior to 30 Sep 1996. 2543 See the comment for rationale. 2544 2545Tue Mar 25 13:26:52 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2546 2547 * cvs.h, entries.c (WriteTag): Add arguments nonbranch, 2548 update_dir, and repository. Move the server_set_sticky call from 2549 callers to here. 2550 * cvs.h, create_adm.c (Create_Admin): New argument nonbranch. 2551 * cvs.h, entries.c (ParseTag): Add argument nonbranchp. 2552 * cvs.h (struct stickydirtag): Add field nonbranch. 2553 * entries.c (Entries_Open): Set it. 2554 * cvs.h (Vers_TS): Add field nonbranch. 2555 * vers_ts.c (Version_TS): Copy it from struct stickydirtag. 2556 * server.c, server.h (server_set_sticky): Add argument nonbranch. 2557 * add.c, client.c, checkout.c, modules.c, update.c, create_adm.c, 2558 commit.c: Update callers. 2559 * add.c (add): If nonbranch, don't add the file on that "branch". 2560 * commit.c (write_dirnonbranch): New variable. 2561 (commit_fileproc, commit): Set it. 2562 (commit_dirleaveproc): Pass it to WriteTag. 2563 * update.c (rewrite_tag, nonbranch): New variables. 2564 (update, update_dirent_proc, update_fileproc): Set them. 2565 (update_filesdoneproc): If rewrite_tag, call WriteTag. 2566 * sanity.sh (sticky): New tests, test for above fix. 2567 2568 * version.c: Change version number to 1.9.7. 2569 2570 * version.c: Version 1.9.6. 2571 2572Mon Mar 24 13:02:04 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2573 2574 * entries.c (ParseTag): Add comment about unrecognized characters 2575 in CVS/Tag file. 2576 2577 * classify.c (Classify_File): Add comment about how specifying a 2578 tag (bogusly?) suppresses certain messages. 2579 2580Fri Mar 21 13:37:46 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2581 2582 * rcs.h (struct rcsnode): Add comment about case of PATH. 2583 * rcs.c (RCS_parse): If ign_case, then try opening the file with 2584 fopen_case. 2585 * ignore.c (ign_case): Adjust comment. 2586 * cvs.h, filesubr.c (cvs_casecmp, fopen_case): New functions. 2587 258820 Mar 1997 Jim Kingdon 2589 2590 * client.c (send_repository): When sending Directory request, 2591 send any ISDIRSEP character as '/'. Fixes 2592 "cvs log foo\bar\baz.c" on NT & friends. 2593 2594 * client.c (send_file_names): Don't try to read Entries file if 2595 CVSADM directory does not exist. Fixes fairly serious regression 2596 (warning on all fresh checkouts) introduced by 1997-01-08 change. 2597 2598Tue Mar 18 13:03:33 1997 Jim Meyering <meyering@totoro.cyclic.com> 2599 2600 * sanity.sh (RCSINIT): Define to be empty and export, to hide any 2601 existing value that might cause spurious failures. 2602 2603 * Makefile.in: (install): Depend on installdirs. 2604 Remove `CYGNUS LOCAL' comment saying not to. 2605 2606Tue Mar 18 09:36:26 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2607 2608 * recurse.c (struct recursion_frame): Reindent. 2609 (do_dir_proc): Print message if we try to recurse into a CVSADM 2610 directory. 2611 * sanity.sh (basicb): New test basicb-4a tests for above fix. 2612 2613Sun Mar 16 10:18:28 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2614 2615 * sanity.sh (death2): Replace regexp matching temporary file name 2616 with new variable ${tempname}. For most of the tests this is a 2617 cosmetic change, but death2-diff-6 had been missing _ which caused 2618 it to fail on Solaris (at least sometimes). 2619 2620 * sanity.sh (modes): Don't use export -n; it doesn't seem 2621 to be sufficiently portable. 2622 2623 * version.c: Change version number to 1.9.5. 2624 2625 * version.c: Version 1.9.4. 2626 2627 * rcscmds.c (RCS_checkin): Preserve the mode of the rcsfile. 2628 RCS_CI usually, but not always, does this for us. 2629 * commit.c (fix_rcs_modes): Replace algorithm with a more 2630 CVSUMASK-friendly one. 2631 * sanity.sh (modes): Update tests modes-5, modes-7, modes-10, and 2632 modes-15 so they test that CVSUMASK is honored. 2633 2634Sun Mar 16 10:18:28 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2635 2636 * sanity.sh (modes): New tests modes-7a and modes-7b test behavior 2637 if one manually changes the modes in the repository. 2638 2639 * server.c (server): Revise code which checks for errors creating 2640 temporary directory. This won't solve the intermittent 2641 can't create temporary directory 2642 Unknown error -1 2643 but it will mean (a) the right message based on errno gets 2644 printed, instead of "unknown error -1", and (b) the message says 2645 that it happened in chmod instead of mkdir_p. 2646 2647Sat Mar 15 16:47:12 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2648 2649 * sanity.sh (modes): New tests. Note that (for now) these are 2650 just testing how CVS already behaves; I want to record that before 2651 I move on to changing CVS's behavior with modes of RCS files. 2652 265313 Mar 1997 Jim Kingdon 2654 2655 * subr.c (line2argv): Change argv_allocated from size_t to int. 2656 2657Wed Mar 12 22:16:44 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2658 2659 * add.c (add_directory): If repository has an extraneous "." 2660 directory at the end, strip it off. This fixes a bug which was 2661 introduced when strip_path was nuked (this fix is much more 2662 limited in scope than strip_path was; I _think_ that is a good 2663 thing). 2664 (add): Likewise, for client. 2665 (combine_dir): New function, helps with above. 2666 * sanity.sh (modules3): Reenable tests for this behavior. 2667 (basica-0b, basicb-0e): Adjust test to reflect "foo/bar" instead 2668 of "foo/./bar" in message. As with the rest of this, I believe 2669 this is just restoring the behavior prior to the strip_path nuking 2670 (I tried it with CVS 1.9). 2671 2672Sun Mar 9 10:06:29 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2673 2674 * root.c (parse_cvsroot), server.c (serve_root, serve_init): 2675 If CVSroot_directory is not an absolute pathname, give a fatal error. 2676 * sanity.sh (crerepos): New tests crerepos-6* test for above fixes. 2677 2678Sat Mar 8 22:06:17 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2679 2680 This cleans up the last known code which can overflow its buffers 2681 (except the Mac client). I've skimmed through much of CVS looking 2682 for other such places; but I didn't read everything. If I missed 2683 any please report it to bug-cvs. 2684 * logmsg.c (logfile_write, title_proc): Realloc str_list as 2685 needed; don't assume MAXLISTLEN is enough. 2686 * cvs.h (MAXLISTLEN, MAXFILEPERDIR): Removed; no longer used. 2687 * add.c, myndbm.c, parseinfo.c, update.c: Nuke MAXLINELEN limit. 2688 * parseinfo.c, update.c, mkmodules.c: Check for errors reading file. 2689 * cvs.h (MAXLINELEN): Removed; no longer used. 2690 * logmsg (MAXHOSTNAMELEN): Removed; not used. 2691 * main.c (cmd_synonyms): Allocate based on fullname, nick1, and 2692 nick2, just in case someone makes those big enough so that 100 2693 bytes is not enough. 2694 (Make_Date): Use MAXDATELEN rather than our own fixed size. 2695 * mkmodules.c (mkmodules): Nuke arbitrary limit on line length. 2696 * rcs.c (ALLOCINCR): Remove; not used. 2697 (RCS_check_kflag): Add comment concerning karg size. 2698 * run.c: Allocate run_prog to the needed size, rather than 2699 allocating a fixed size buffer. 2700 2701Fri Mar 7 22:39:08 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2702 2703 * logmsg.c (logfile_write): Allocate prog to needed length rather 2704 than assuming MAXPROGLEN is enough. 2705 * cvs.h (MAXPROGLEN): Removed; no longer used. 2706 * subr.c (MIN_INCR): Update comment to reflect MAXPROGLEN's demise. 2707 2708 * subr.c (free_names): Fix comment: this function is not used to 2709 free memory allocated by Find_Names (at least it hasn't for a long 2710 time). 2711 * subr.c, cvs.h (line2argv): Change calling convention so that we 2712 allocate argv array rather than the caller. The previous one had 2713 no way of checking whether we overflowed the passed-in buffer. 2714 * subr.c (free_names): Free the argv array too. 2715 * modules.c (do_module, cat_module): Update callers. 2716 2717Thu Mar 6 12:44:42 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2718 2719 * import.c: Allocate vhead and vbranch dynamically; removes 2720 arbitrary limit. 2721 * history.c: Likewise (since_rev, since_tag, backto, rec_types). 2722 * ignore.c: Likewise (line). Also check for errors from getline 2723 and add 'copyright' notice to top of file. 2724 * wrapper.c (wrap_add_file): Likewise (line). Also check for 2725 errors from various calls and add 'copyright' notice to top of file. 2726 2727Tue Mar 4 17:39:15 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2728 2729 * client.c (update_entries): Add comment about "move away <file>" 2730 message. 2731 2732Mon Mar 3 21:51:40 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2733 2734 * sanity.sh (basicb): Clean up topfile,v at end of test. Fixes 2735 failure in modules-155b. 2736 2737Sun Mar 2 18:11:09 1997 Dan Wilder <dan@gasboy.com> 2738 and Jim Kingdon 2739 2740 * admin.c (admin): Arrange to perform recursion if "cvs admin" 2741 is passed only options. 2742 2743Sun Mar 2 18:11:09 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2744 2745 * sanity.sh (basicb): New tests basicb-0* test for files at top 2746 level. 2747 2748 * error.c (error): Add newline to "out of memory" message. I think 2749 that its omission probably could cause the message to be lost in 2750 the bowels of server.c and never passed to the user. 2751 2752 * client.c (start_rsh_server): Add comment about "remsh" vs. "rsh". 2753 2754 * cvs.h: Move copyright notice to top of file. 2755 2756Sun Mar 2 13:44:36 1997 Ian Lance Taylor <ian@cygnus.com> 2757 2758 * sanity.sh: Use -n when testing whether rsh works. 2759 2760 * server.c (serve_root): Free path. 2761 2762Sun Mar 2 13:12:46 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2763 2764 The following are things that I noticed in the process of trying 2765 to track down: 2766 can't create temporary directory 2767 Unknown error -1 2768 FAIL: test 28 2769 from nightly testing. I'm not sure that either item explains that 2770 message however. 2771 * server.c (server): Allocate pending_error_text; 2772 print_pending_error will try to free it so 2773 pending_error_text = "foo" 2774 won't work. 2775 (mkdir_p): Don't assume that isdir will leave errno unmolested. 2776 2777Thu Feb 27 15:29:58 1997 Ian Lance Taylor <ian@cygnus.com> 2778 2779 * remove.c (cvsremove): When forcing removal in client mode, use 2780 start_recursion rather than calling CVS_UNLINK on each argument. 2781 (remove_force_fileproc): New static function. 2782 * sanity.sh (deep): Add tests deep-rm7 through deep-rm10 for above 2783 patch. 2784 2785 * sanity.sh (death): Enable death-76a0 and death-76a1 tests for 2786 remote, since they now work. 2787 2788Wed Feb 26 16:13:26 1997 Ian Lance Taylor <ian@cygnus.com> 2789 2790 * client.c (add_prune_candidate): Skip adding this directory if 2791 it is the same as the first directory already on the list. 2792 2793Mon Feb 24 21:36:43 1997 Noel Cragg <noel@gargle.rain.org> 2794 2795 * main.c (lookup_command_attribute): Add the "init" command to the 2796 list of commands that don't use the current working directory. 2797 2798Sun Feb 23 09:54:49 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2799 2800 * sanity.sh (devcom3): Clean up at end of test. 2801 2802 * sanity.sh (basicb): Add commented out test basicb-8a0, for 2803 whether CVS can print an error on bad numeric revision to diff. 2804 Commented out until we get around to fixing CVS. 2805 * diff.c (diff_file_nodiff): Add comment about this case. 2806 2807 * fileattr.c (fileattr_read): If a filename is duplicated, 2808 continue to ignore subsequent lines but free the node so that we 2809 don't leak memory. 2810 * sanity.sh (devcom3): New tests devcom3-8 and devcom3-9 test for 2811 behavior on duplicated filenames. 2812 2813 * fileattr.h: Add comment about unrecognized ENT-TYPE and order of 2814 lines in fileattr file. 2815 * fileattr.c (struct unrecog, unrecog_head): New variables, to 2816 record unrecognized lines. 2817 (fileattr_startdir): Assert that unrecog_head == NULL. 2818 (fileattr_read): Record unrecognized lines in unrecog_head linked 2819 list rather than ignoring them. 2820 (fileattr_write): Also write out unrecognized lines, if any. 2821 * sanity.sh (devcom3): New tests, test for above fix. 2822 2823 * fileattr.h (fileattr_modify): Fix example in comment. 2824 2825Sat Feb 22 08:30:27 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2826 2827 * sanity.sh: Add variable username. 2828 (basica rdiff multibranch log log2): Use it instead of our own 2829 (inconsistent) ways of matching an author name. 2830 2831 * filesubr.c, root.c, rtag.c, server.c, subr.c, update.c, 2832 wrapper.c: Nuke PATH_MAX. 2833 * cvs.h, wrapper.c (wrap_fromcvs_process_file): Now returns void 2834 (return value had been unused). 2835 * cvs.h: Adjust comment to reflect the fact that PATH_MAX is 2836 gone, at least from src/*.c (except safe_location, as noted). 2837 283822 Feb 1997 patch by Tom Hageman <tom@basil.icce.rug.nl> (4 Jun 1996) 2839 updated and commented by Jim Kingdon <kingdon@harvey.cyclic.com> 2840 2841 * update.c (checkout_file): Call unlink_file_dir on backup, not 2842 unlink_file. 2843 2844Fri Feb 21 16:40:03 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2845 2846 * Makefile.in (DISTFILES): Remove NOTES. 2847 2848 * NOTES: Removed. bcopy->memcpy is done. "static buffers" I 2849 assume refers to what is covered by reentrancy text in HACKING. 2850 Obstack idea moved to comment in hash.c (at nodecache). Checking 2851 system calls for error returns largely done, and isn't a very 2852 helpful suggestion unless you know where the bogus calls are 2853 anyway. Sizing limits--we're in the progress of removing them 2854 (assuming it meant things like PATH_MAX and earlier, already 2855 nuked, limits). Removed various items about changes which were 2856 done a long time ago (I realize that the ChangeLog's probably 2857 aren't reliable that far back, but I'm not convinced anyone cares 2858 anymore). CONFIRM_DIRECTORY_ADDS: I assume this is a 2859 reference to the #if 0'd code in add_directory which asks for 2860 confirmation--a better way of making it harder to accidentally add 2861 directories would be to have to add and commit directories like 2862 for files. I don't know what FORCE_MESSAGE_ON_ADD meant. 2863 2864 * rcs.c (RCS_getrevtime): Fix documentation (in particular, the 2865 size of the array that DATE must point to, but many other things 2866 too). 2867 * patch.c, recurse.c, release.c, remove.c, repos.c: Nuke PATH_MAX. 2868 (patch_fileproc): Use MAXDATELEN not hardcoded 50. 2869 2870Sun Feb 16 12:00:44 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2871 2872 * client.c (client_process_import_file): New variable fullname; 2873 pass it to send_modified. This finishes the job of untangling the 2874 old short_pathname variable into update_dir vs. fullname. 2875 2876 * client.c (client_process_import_file): Nuke first_time. If 2877 toplevel_repos were ever NULL here, the code would dump core in 2878 strncmp a few lines down. And client_import_setup ensures 2879 toplevel_repos is not NULL. 2880 2881Sun Feb 16 08:16:48 1997 Ian Lance Taylor <ian@cygnus.com> 2882 2883 * client.c (client_process_import_file): Rename short_pathname to 2884 update_dir (to reflect its function) and make sure that it doesn't 2885 point to uninitialized memory if repository and toplevel_repos 2886 contain the same string. 2887 2888Sun Feb 16 08:16:48 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2889 2890 * client.c (start_rsh_server): Nuke comment about weirdnesses with 2891 pre-1.5 versions of CVS and .bashrc/.cshrc. The remote protocol 2892 is interoperable only back to 1.5, and people who need to know are 2893 unlikely to see this comment anyway. 2894 2895Sun Dec 15 13:12:30 1996 Michael Douglass <mikedoug@texas.net> 2896 and Jim Kingdon <kingdon@harvey.cyclic.com> 2897 2898 * main.c (cmds): Added an entry for new logout command. 2899 (cmd_usage): Added an entry for new logout command. 2900 (lookup_command_attribute): Added 'logout' to list of commands 2901 that set need_to_crate_root to 1. 2902 * login.c, cvs.h (logout): New command for removing entries from 2903 the .cvspass file. 2904 (logout_usage): Usage information on the logout command. 2905 2906Wed Feb 12 11:19:42 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2907 2908 * client.c (struct send_data): Fix indentation. 2909 2910Wed Feb 12 08:48:04 1997 Greg A. Woods <woods@most.weird.com> 2911 2912 * mkmodules.c (loginfo_contents): add missing comma in 2913 initializer statement (caused syntax error on SunOS-4). 2914 2915Tue Feb 11 21:14:28 1997 Ian Lance Taylor <ian@cygnus.com> 2916 2917 * commit.c (find_fileproc): If force_ci is set, set the status to 2918 T_MODIFIED even if the file hasn't changed. 2919 (commit): Pass force_ci to send_files as new force argument. 2920 * client.c (struct send_data): Define. 2921 (send_fileproc): The callerdat parameter now points to a send_data 2922 struct. If force is set, always call send_modified. 2923 (send_dirent_proc): The callerdat parameter now points to a 2924 send_data struct. 2925 (send_files): Add force parameter. Change all callers. Set up a 2926 send_data struct and pass it to start_recursion as callerdat. 2927 * client.h (send_files): Update declaration. 2928 * sanity.sh (basica): Add a simple test for the above patch. 2929 2930Sun Feb 9 12:58:59 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2931 2932 * tag.c (cvstag), rtag.c (rtag): Pass -f to server if specified in 2933 the client. I haven't tried to come up with a test case because 2934 the fix seems obvious. 2935 2936 * import.c (add_rcs_file): Change size of altdate1 and altdate2 to 2937 MAXDATELEN. 2938 * cvs.h (MAXDATELEN): Fix comments; describe what this is for. 2939 2940 * diff.c (diff_usage): Document --ifdef and try to briefly say 2941 what "rcsdiff-options" means. 2942 2943 * update.c (update): If update had a nonzero status and we haven't 2944 yet tried to fetch unpatchable files, go ahead and try it again. 2945 The previous behavior was to quit, which meant that updates would 2946 keep failing until you hacked around the problem. Patch and bug 2947 report by Ian; comment, ChangeLog entry, and willingness to take 2948 the flak if checking it is premature by Jim. 2949 2950 * server.c (alloc_pending): New function. 2951 * server.c: Call it. Fixes places where we had neglected to 2952 check for NULL return from malloc. 2953 2954 * sanity.sh (binwrap): Add test binwrap-0, tests for import.c fix 2955 below. 2956 2957Sun, 9 Feb 1997 (submitted 19 Jul 1996) John Polstra <jdp@polstra.com> 2958 2959 * import.c (import): Give error if the same tag is specified more 2960 than once. The previous behavior was to write an RCS file which 2961 had the same tag listed twice, once pointing to each revision, 2962 which is not legal. 2963 2964Sun Feb 9 12:37:09 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2965 2966 * checkin.c (Checkin): Use cvs_output to print message (should 2967 make out of order bugs no worse, as it merely substitues a 2968 protocol_pipe vs. stderr_pipe race instead of a stdout_pipe 2969 vs. stderr_pipe race). Add comment about stdout vs. stderr. 2970 2971Fri Feb 7 08:29:52 1997 Josef Nelissen <josef.nelissen@munich.ixos.de> 2972 2973 * server.c (check_command_legal_p): Don't use ANSI-style definition. 2974 2975Thu Feb 6 10:55:37 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2976 2977 * patch.c (patch): Give a fatal error for -V option (see comment 2978 for rationale). 2979 2980 * diff.c (diff): Also send "options" to server. Pretty much the 2981 patch submitted independently by josef.nelissen@munich.ixos.de and 2982 Ronald Khoo <ronald@demon.net>. 2983 2984Wed Feb 5 18:57:14 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 2985 2986 * modules.c (do_module): Fix typo in 30 Jan 97 PATH_MAX nuking 2987 (free -> free_cwd). Testsuite test 151 gets credit for catching 2988 this one. 2989 2990Mon Feb 3 16:14:54 1997 Ian Lance Taylor <ian@cygnus.com> 2991 2992 * main.c (lookup_command_attribute): Don't use an ANSI prototype 2993 when defining the function. 2994 2995Fri Jan 31 12:49:02 1997 Ian Lance Taylor <ian@cygnus.com> 2996 2997 * modules.c (do_module): Actually goto found if is_found is set 2998 (fixes thinko in PATH_MAX nuking of 30 Jan 97). 2999 3000Fri Jan 31 12:49:02 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 3001 3002 * sanity.sh: Add modules3 and big to list of tests to run 3003 by default; they were omitted by accident. 3004 3005Thu Jan 30 11:46:33 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 3006 3007 * logmsg.c, main.c, mkmodules.c, modules.c, parseinfo.c, patch.c: 3008 Nuke more PATH_MAX. 3009 3010 * server.c (server_updated): After we send Created or 3011 Update-existing for a file, mark it as unchanged, in case we 3012 process it again. 3013 * sanity.sh (modules3): New tests, test for above fix. 3014 3015 * logmsg.c (do_verify): Error return from fopen is NULL, not -1. 3016 Pass errno to error(). 3017 3018 * login.c [_CRAY]: Don't declare getpass. 3019 3020Mon Jan 27 17:25:27 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 3021 3022 * import.c (process_import_file): Fix freeing of rcs (Don't free 3023 it before we are done using it, and don't free it twice). 3024 3025 * modules.c (cat_module): Allocate line right before we use 3026 it. The previous code was wrong because the length of the 3027 s_h->rest changes between the time we allocate line and the time we 3028 sprintf s_h->rest into it. 3029 3030Sun Jan 26 21:58:16 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 3031 3032 * expand_path.c (expand_path): Revise to call expand_string as 3033 needed. Nuke PATH_MAX. 3034 * find_names.c (find_dirs): Likewise. 3035 * import.c, lock.c: Nuke more PATH_MAX. 3036 3037 * server.c (mkdir_p): Set retval to 0 at start of function. 3038 Previously it had been uninitialized for some cases. Thanks are 3039 due to nightly testing for catching this one. 3040 3041Sat Jan 25 21:34:19 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 3042 3043 * subr.c, cvs.h (expand_string): New function. 3044 * rcs.c (getrcskey, getrcsrev): Call it. This greatly reduces the 3045 number of calls to realloc if there is a very large file in the 3046 RCS file. Credit goes to Mike Heath <mike@pswtech.com> for 3047 pointing out the problem and the basic solution (MIN_INCR, 3048 MAX_INCR); I adapted it into the separate function expand_string. 3049 * sanity.sh (big): New test helps insure this hasn't broken 3050 anything obvious. 3051 3052Wed Jan 22 10:06:13 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 3053 3054 * status.c (status_fileproc): Change message which is printed for 3055 T_MODIFIED and ts_conflict set, so that it doesn't say "unresolved 3056 confict". This message occurs whether the conflict is resolved or 3057 not. 3058 * sanity.sh (conflicts): Add tests conflicts-status-* to test 3059 output of "cvs status" in the context of conflicts. Tests for 3060 above fix. 3061 3062 * rtag.c (rtag): Send -n if run_module_prog is NOT true. 3063 3064Thu Jan 16 00:06:00 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 3065 3066 * version.c: Change version number to 1.9.3. 3067 3068 * version.c: Version 1.9.2. 3069 3070Wed Jan 15 09:14:38 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 3071 3072 * client.c (call_in_directory): Take code that creates CVSADM at 3073 top level, move it before the CVS_CHDIR (dir_name) call, and do it 3074 regardless of whether dir_name is ".". Pass "." not dir_name to 3075 Create_Admin (when the code was written they were always the 3076 same). Don't add reposdirname to the repository we pass to 3077 Create_Admin (when the code was written, I think reposdirname 3078 probably would always be "."). Don't create CVSADM if 3079 reposdirname_absolute. 3080 * sanity.sh (basicb): Enable tests basicb-1a and basicb-9a for 3081 remote; tests for above fix. 3082 (basic1): Do entire test within a "1" directory to deal with 3083 creation of CVS directories at top level. Support --keep. 3084 (conflicts): In test conflicts-136, only update first-dir. 3085 (basica): Uncomment the part that tests "cvs co -l .". That tests 3086 the existing functionality which I might have (but hopefully did not) 3087 perturbed with the call_in_directory changes. 3088 3089Mon Jan 13 11:04:32 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 3090 3091 * server.c (check_command_legal_p): Do not call error (1, ...) 3092 here; that will always cause a protocol violation by shutting down 3093 the connection prematurely. Remove croak_on_illegal arg. 3094 (do_cvs_command): Move call to check_command_legal_p until after 3095 the call to print_pending_error. Print the error message ourself. 3096 3097 * mkmodules.c (filelist): Add readers and writers. Add comment 3098 about why passwd is not included. Add comment about meaning of 3099 NULL contents field. 3100 3101Fri Jan 10 13:23:09 1997 Norbert Kiesel <nk@col.sw-ley.de> 3102 3103 * release.c (release): Initialize delete_flag before reading it 3104 (found by running purify) 3105 3106 * logmsg.c (do_verify): Fix reading unallocated memory (found by 3107 running purify) 3108 3109Thu Jan 9 16:32:47 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 3110 3111 * checkout.c (build_dirs_and_chdir): Partially revert 3 Jan 3112 change--move call to Subdir_Register back above the CVS_CHDIR call 3113 (we need to register in the old, not the new, directory). Instead 3114 of calling CVS_MKDIR and ignoring errors, call mkdir_if_needed; 3115 this is an effort to catch errors there rather than catching them 3116 in the CVS_CHDIR. This makes test 27-add-add in sanity.sh work 3117 again. 3118 3119 * find_names.c (Find_Directories): Remove code inside 3120 #ifdef ATTIC_DIR_SUPPORT and replace it with a comment explaining 3121 why we don't look in the attic. ATTIC_DIR_SUPPORT was never defined. 3122 3123 * find_names.c (find_dirs): Add comment about tmp being unset. 3124 3125 * commit.c (checkaddfile): Report errors with errno and specific 3126 error messages. 3127 3128 * rcs.c, commit.c, create_adm.c, entries.c, find_names.c, 3129 ignore.c, history.c: Nuke PATH_MAX arbitrary limits. 3130 3131Wed Jan 8 23:07:41 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 3132 3133 * add.c (add): Reindent a portion which needed it. 3134 31351997-01-08 Jim Kingdon 3136 3137 * client.c (send_file_names): When looking name up in Entries, 3138 call Entries_Open and Entries_Close. This has two effects: 3139 (1) we look at Entries.Log, and (2) we don't skip 'D' entries, 3140 both of which are needed to make us get the right (command 3141 line) name for a directory we are adding. 3142 3143Wed Jan 8 14:50:47 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 3144 3145 * Makefile.in, cvs.h, hash.h, myndbm.h, rcs.h: Remove CVSid; we 3146 decided to get rid of these some time ago. 3147 3148Tue Jan 7 12:56:10 1997 Karl Fogel <kfogel@ynu38.ynu.edu.cn> 3149 3150 * root.c (check_root_consistent): new func, compares below new 3151 global var with CVSroot_directory, assuming both set. 3152 (set_local_cvsroot): use above new func for security check. 3153 (parse_cvsroot): same. 3154 But do all of above only #ifdef AUTH_SERVER_SUPPORT. 3155 3156 * server.c: (Pserver_Repos): new global var, init to NULL. 3157 (pserver_authenticate_connection): set above new global. 3158 (check_repository_password): be a good scout and use 3159 CVSROOTADM and CVSROOTADM_PASSWD, now that they are the standard. 3160 Make sure all of above is in #ifdef AUTH_SERVER_SUPPORT. 3161 (check_command_legal_p): wrap most of body in #ifdef 3162 AUTH_SERVER_SUPPORT. 3163 Everywhere: wrap all references to CVS_Username in #ifdef 3164 AUTH_SERVER_SUPPORT. 3165 3166 * cvs.h (Pserver_Repos): new var, used in consistency [security] 3167 check. Defined only #ifdef AUTH_SERVER_SUPPORT. 3168 (CVSROOTADM_PASSWD): new #define, trying to get with the program. 3169 3170Fri Jan 3 18:10:39 1997 Ian Lance Taylor <ian@cygnus.com> 3171 3172 * checkout.c (build_dirs_and_chdir): Move call to Subdir_Register 3173 until after we know that the directory exists. 3174 3175Thu Jan 2 13:30:56 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 3176 3177 * Makefile.in, cvsbug.sh, edit.c, edit.h, error.c, error.h, 3178 fileattr.c, fileattr.h, filesubr.c, run.c, update.h, watch.c, 3179 watch.h: Remove "675" paragraph; see ../ChangeLog for rationale. 3180 3181Thu Jan 2 12:27:46 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 3182 3183 * sanity.sh (info): New test info-cleanup-verifymsg gets rid of 3184 verifymsg when we are done with it. 3185 3186 * sanity.sh (basicb): Skip tests basicb-1a and basicb-9a for remote. 3187 * sanity.sh (modules-155a4): It is OK if a CVS directory exists. 3188 * sanity.sh (ignore): Do everything inside a "1" directory. The 3189 change to create CVS directories at top-level causes messages such as 3190 "? home" otherwise. In test 191, specify -I CVS so that new CVS 3191 directory is ignored. 3192 * sanity.sh (crerepos): Manually remove CVS directory which had not 3193 existed before. 3194 3195Thu Jan 2 09:06:20 1997 Karl Fogel <kfogel@ynu38.ynu.edu.cn> 3196 3197 * server.c: Changes for pserver read-only repository access: 3198 (check_command_legal_p): new func. Right now, just checks if 3199 repository modification is permitted, and that only if pserver is 3200 active. 3201 (do_cvs_command): take new parameter `cmd_name', a string. All 3202 callers changed. Pass it on to new func check_command_legal_p() 3203 before executing the command. 3204 (CVS_Username): new global, init to NULL. Used by 3205 check_command_legal_p(), set in check_password(). 3206 (check_password): set above new global CVS_Username; reorganized a 3207 bit to facilitate this. 3208 (check_repository_password): give *host_user_ptr permanent 3209 storage iff success. 3210 3211 * main.c: Changes for pserver read-only repository access: 3212 (lookup_command_attribute): new func. 3213 (main): use new func lookup_command_attribute() to establish if 3214 CVS_CMD_IGNORE_ADMROOT and CVS_CMD_USES_WORK_DIR. 3215 3216 * cvs.h: Changes for pserver read-only repository access: 3217 (CVSROOTADM_READERS, CVSROOTADM_WRITERS): new #defines. 3218 Prototype lookup_command_attribute(). 3219 (CVS_CMD_IGNORE_ADMROOT, CVS_CMD_USES_WORK_DIR, 3220 CVS_CMD_MODIFIES_REPOSITORY): new #defines for 3221 lookup_command_attribute() and its callers. 3222 3223Wed Jan 1 19:50:38 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 3224 3225 * options.h.in: Reword comment for TMPDIR_DFLT to make it clear 3226 that this isn't specific to the pserver server. 3227 3228 * modules.c (do_module): Give an error message if one tries to 3229 specify -a together with another option. 3230 * sanity.sh (modules2): New tests modules2-a* test for above fix. 3231 3232 * sanity.sh (devcom): Add tests devcom-a-nonexist and 3233 devcom-t-nonexist for "cvs watchers" on nonexistent argument. 3234 32351997-01-01 Fred Fish <fnf@ninemoons.com> 3236 3237 * run.c (piped_child, filter_stream_through_program): Actually 3238 install these HAVE_VFORK patches that got missed. 3239 (There was a log entry for these changes for 29 Nov 1996 but it 3240 seems I accidentally forgot to actually check them in -kingdon). 3241 3242Wed Jan 1 18:32:44 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 3243 3244 * Makefile.in: Add ChangeLog-96. 3245 * ChangeLog-96: New file, contains former contents of ChangeLog. 3246 * ChangeLog: Now just contains 1997 changes. 3247 3248 3249For older changes see ChangeLog-96. 3250