12001-04-27 Larry Jones <larry.jones@sdrc.com> 2 3 * main.c (lookup_command_attribute): Lookup specified command, not 4 whatever's in the global command_name. 5 62001-04-25 Derek Price <dprice@collab.net> 7 8 * Makefile.in: Regenerated using AM 1.4e as of today at 18:10 -0400. 9 * version.c: Regenerated. 10 112001-04-22 Larry Jones <larry.jones@sdrc.com> 12 13 * tag.c (tag_check_valid): Make an unwritable val-tags file a 14 warning instead of a fatal error. 15 162001-04-20 Larry Jones <larry.jones@sdrc.com> 17 18 * annotate.c (annotate_usage): -r and -D are not mutually exclusive. 19 * main.c (cmd_usage): Add missing version subcommand. 20 * update.c (update_usage): Add missing -C option. 21 22 * sanity.sh (death2): New tests for previous change. 23 24 * classify.c (Classify_File): Treat a dead revision like the RCS 25 file doesn't exist. 26 * sanity.sh: Update to match. 27 282001-04-16 Larry Jones <larry.jones@sdrc.com> 29 30 * checkout.c, update.c: Fix usage messages: -r and -D are not 31 mutually exclusive. 32 (Suggested by David L. Martin <dlmart2@home.com>.) 33 34 * logmsg.c (do_editor): Don't add a blank line to the message. 35 * sanity.sh (editor-log-file*): Update to match. 36 37 * checkout.c, update.c: Note in usage message that -k is sticky. 38 39 * server.c: (server_cleanup, wait_sig): Remove ancient SunOS kludge. 40 (Suggested by Rob Saccoccio <robs@chelsea.net>.) 41 422001-04-04 Larry Jones <larry.jones@sdrc.com> 43 44 * sanity.sh (dotest, dotest_lit, dotest_fail, dotest_status, 45 dotest_sort): Don't count on $? being set in then or else clauses. 46 47 * ignore.c (ignore_files): Collect unignored files into a list and 48 sort it before calling PROC to avoid order dependencies. Rewrite 49 the while loop to allow normal continues instead of goto. 50 512001-04-04 Derek Price <dprice@collab.net> 52 53 * sanity.sh (ignore-on-branch-3): Fix in the remote case. 54 552001-04-03 Larry Jones <larry.jones@sdrc.com> 56 57 * update.c (update_fileproc): Remove unused variable (resurrecting). 58 592001-04-03 Derek Price <dprice@collab.net> 60 Larry Jones <larry.jones@sdrc.com> 61 reported by Jakob B�hm <JB@Danware.dk> 62 63 * update.c (update_fileproc): Don't store a file with T_UNKNOWN status 64 in ignlist if present in the sandbox. 65 * sanity.sh (ignore-on-branch): New test. 66 (ignore): Tidy this test. 67 682001-04-02 Derek Price <dprice@collab.net> 69 70 * sanity.sh: Make sure the test for `id' fails when a nonstandard `id' 71 is used and the user is root. Fix some quoting in error messages. 72 (fork): Take `cvs' out of the PATH. 73 (TODO): Add note about the test suite not working with user names over 74 eight characters in length. 75 762001-04-02 Derek Price <dprice@collab.net> 77 78 * sanity.sh (fork): New test for CVS_SERVER default. 79 (TODO): Note about eventually removing most of the references to 80 CVS_SERVER. 81 822001-04-02 Larry Jones <larry.jones@sdrc.com> 83 84 * client.c (connect_to_forked_server): Use program_path as the default 85 server instead of "cvs". 86 872001-04-02 Derek Price <dprice@collab.net> 88 89 * sanity.sh: Use less obfuscated English in my comment about sanity 90 checking sanity.sh. 91 922001-04-02 Derek Price <dprice@collab.net> 93 94 * sanity.sh (rm-update-message): Create a test directory again but 95 change back to the correct directory upon completion this time. 96 972001-04-02 Derek Price <dprice@collab.net> 98 99 * sanity.sh: Change last two '[.*]'s to 'test's for 100 consistency and remove... 101 (TODO): the note from the TODO list. 102 1032001-04-02 Derek Price <dprice@collab.net> 104 105 * sanity.sh: Add test for PWD before successful exit. 106 1072001-03-30 Larry Jones <larry.jones@sdrc.com> 108 109 * sanity.sh (rm-update-message): Remove duplicate code. 110 1112001-03-30 Derek Price <dprice@collab.net> 112 113 * sanity.sh (rm-update-message): New test for local/client-server 114 warning message discrepency. 115 1162001-03-30 Larry Jones <larry.jones@sdrc.com> 117 118 * annotate.c: Move annotate() here from rcs.c, support rannotate. 119 * Makefile.am, Makefile.in: Add annotate.c. 120 * main.c (cmds[], cmd_usage[]): Add rannotate. 121 * rcs.c: Move declarations of rcs_delta_op and RCS_deltas to... 122 * rcs.h: ... here. 123 * server.c (serve_rannotate): New. 124 (requests[]): Add rannotate. 125 * sanity.sh (ann): New tests for rannotate. 126 127 * log.c (rlog_proc): Remove dead code. 128 1292001-03-30 Derek Price <dprice@collab.net> 130 131 * sanity.sh (join-readonly-conflict): Run more of this through dotest. 132 1332001-03-30 Larry Jones <larry.jones@sdrc.com> 134 135 * log.c (log_fileproc): Don't output working file for rlog. 136 * sanity.sh (log): New tests for rlog. 137 138 * cvs.h (mtype): Add MISC type. 139 * log.c (cvslog): Support rlog as well as log. 140 (rlog_proc): New. 141 * main.c (cmds[], cmd_usage[]): Add rlog. 142 (main): Remove old rlog warning message. 143 * server.c (serve_rlog): New. 144 (requests[]): Add rlog. 145 1462001-03-29 Derek Price <dprice@collab.net> 147 148 * sanity.sh: cd to $TESTDIR once after it is normalized. Make TODO 149 on history and symlinks more specific. Tested properly this time. 150 1512001-03-29 Larry Jones <larry.jones@sdrc.com> 152 153 * main.c (cmds[], lookup_command_attribute, main): Include the 154 command attributes in the global command table instead of inferring 155 them from the command names. Change the sense of the 156 CVS_CMD_IGNORE_ADMROOT attribute to match its name. 157 1582001-03-29 Derek Price <dprice@collab.net> 159 160 * sanity.sh (*, basic2-64): Remove references to TMPPWD. Fix FIXME 161 at end of script now that $TESTDIR can't be relative. 162 1632001-03-29 Derek Price <dprice@collab.net> 164 165 * sanity.sh: Normalize TESTDIR even when the user set it. 166 1672001-03-29 Larry Jones <larry.jones@sdrc.com> 168 169 * client.c (connect_to_pserver, start_tcp_server): Add IP address 170 to connect failed message. 171 (connect_to_forked_server, connect_to_pserver, start_tcp_server): Add 172 trace messages ala start_rsh_server. 173 (start_rsh_server): Include entire command in trace message for 174 START_RSH_WITH_POPEN_RW like ! START_RSH_WITH_POPEN_RW does. 175 1762001-03-29 Derek Price <dprice@collab.net> 177 178 * sanity.sh: Global search & replace ${TESTDIR}/cvsroot with 179 ${CVSROOT_DIRNAME} for consistency. 180 1812001-03-29 Derek Price <dprice@collab.net> 182 183 * sanity.sh (conflicts-12[68].5): Remove sanity hack which has allowed 184 for a CVS bug since May 96/97. Not sure when the bug went bye-bye, but 185 the tests broke when $TESTDIR != $TMPPWD. 186 1872001-03-26 Larry Jones <larry.jones@sdrc.com> 188 189 * classify.c (Classify_File): Don't report a conflict for a removed 190 file when piping. Also simplify the code structure. 191 (Reported by Milos Kleint <milos.kleint@netbeans.com>.) 192 * sanity.sh (rmadd2-14[abc]): New tests for above. 193 1942001-03-24 Noel Cragg <noel@shave.cnet.com> 195 196 * diff.c: mods to allow `-T' and `-y' options to be passed through 197 to the diff library. This wasn't allowed earlier because of a 198 similarly named options that got passed through to the old rcs 199 programs. We've long since stopped sending `-T' to any rcs 200 utility and have never used `-y'. Any users of moldly CVS 201 versions which used to support `-T' have (hopefully) upgraded to 202 one where that option isn't supported. It seems reasonable to 203 enable them again and pass them through. (sanity.sh still works 204 anyways...) 205 (longopts): add short option equivalents for --initial-tab and 206 --side-by-side. 207 (diff): add new short options to getopt string and switch 208 statement. 209 2102001-03-22 Larry Jones <larry.jones@sdrc.com> 211 212 * sanity.sh: Add check for ${DOTSTAR} with large matches. 213 2142001-03-23 Derek Price <dprice@collab.net> 215 216 * sanity.sh: Do the same as below for $keep. 217 2182001-03-23 Derek Price <dprice@collab.net> 219 220 * sanity.sh: Replace 'remote=(yes|no)' with 'remote=(:|false)' since 221 often 'false' and more often ':' are shell builtins. This makes the 222 succinct, 'if $remote; then' faster than 'if test $remote = yes; then'. 223 Alter tests in the rest of the script to match the new usage. Added 224 a suffix of 'r' to remote test names when it was appropriate and I 225 remembered. Some reformatting. 226 2272001-03-22 Larry Jones <larry.jones@sdrc.com> 228 229 * sanity.sh (diffmerge1_yours, diffmerge1_mine): Check for exact 230 output instead of using wildcards to avoid buffer overflows in some 231 versions of expr. 232 2332001-03-21 Derek Price <dprice@collab.net> 234 235 * sanity.sh: cd to '/tmp' again rather than $HOME since HOME was set to 236 a value inside ${TESTDIR} by the script. 237 2382001-03-20 Derek Price <dprice@collab.net> 239 240 * sanity.sh (diffmerge1): Minor formatting and syntax changes. 241 242 for Jacob Burckhardt <bjacob@ca.metsci.com> 243 244 * sanity.sh (diffmerge1): More merging behavior tests. Specifically, 245 test some cases which broke before in Karl Tomlinson's diff fix was 246 checked in today. 247 2482001-03-20 Derek Price <dprice@collab.net> 249 250 * sanity.sh: Don't use unescaped parens in sh outside of quotes. 251 2522001-03-20 Derek Price <dprice@collab.net> 253 254 * sanity.sh: Don't remove ${TESTDIR} when -k (keep) set. 255 2562001-03-20 Derek Price <dprice@collab.net> 257 258 * sanity.sh: Change usage to match the new getopts format and comment. 259 2602001-03-16 Derek Price <dprice@collab.net> 261 262 * sanity.sh (modules2-nestedrename): New test. Verifies behavior of 263 renames nested under an ampersand module. 264 (modules2-ampertag): New test. Verifies an error condition which 265 prevents some ampersand modules from being checked out when a tag 266 is specified. 267 2682001-03-16 Derek Price <dprice@collab.net> 269 270 * sanity.sh (modules2): Additional test for ampersand module behavior 271 with '-d'. 272 273 for Greg Klanderman <greg@itasoftware.com> 274 275 * checkout.c (build_one_dir): Fix typo where clauses of two 276 conditionals were reversed in call to Create_Admin. This caused 277 the CVS/Tag file to be removed in cases where it should have been 278 set, and vice-versa. It only surfaced in rare cases as this code 279 is only invoked when using the -d option to build the path to 280 check out in. Further, the bug would only matter when checking 281 out a module containing ampersand modules within it, via 282 client/server CVS. 283 2842001-03-16 Derek Price <dprice@collab.net> 285 286 * sanity.sh (admin-28-5): Confirm that a missing tag during an 287 'admin -n' operation is not a fatal error. 288 2892001-03-16 Derek Price <dprice@collab.net> 290 291 * admin.c (admin_data): Remove 'quiet' member. 292 (admin_fileproc): Use global 'really_quiet' rather than 293 admin_data->quiet. 294 2952001-03-16 Derek Price <dprice@collab.net> 296 297 * sanity.sh (admin): Replace hardcoded testdir path with the variable. 298 2992001-03-15 Derek Price <derek.price@openavenue.com> 300 301 * sanity.sh (basica, binfiles, head, admin): Adjust for new messages. 302 * admin.c (admin_fileproc): Only print messages when not in 303 really_quiet mode. 304 305 for Stephen Rasku <stephen@tgivan.com> 306 307 * rcs.c (RCS_tag2rev): Make a missing tag a survivable error. 308 3092001-03-15 Larry Jones <larry.jones@sdrc.com> 310 311 * subr.c (sleep_past): Fix various bugs that would result in a 312 negative sleep time if it weren't unsigned; since it is, it would 313 result in a very large sleep time. Ensure that us is always less 314 than 1000000. Don't try to sleep for more 1 sec with usleep. 315 Cast NULL select arguments to correct type just in case. 316 3172001-03-14 Derek Price <derek.price@openavenue.com> 318 319 * subr.c (sleep_past): New function. 320 * client.c (get_responses_and_close): Use new function. 321 * commit.c (commit): Ditto. 322 * update.c (do_update): Ditto. 323 * cvs.h: Prototype new function. 324 325 * stamp-h2.in: Regenerated. 326 3272001-03-14 Derek Price <derek.price@openavenue.com> 328 329 * Makefile.in: Regenerated. 330 * stamp-h2.in: Ditto. 331 3322001-03-14 Larry Jones <larry.jones@sdrc.com> 333 334 * commit.c (check_fileproc): Allow adding on the trunk when there's 335 an existing non-Attic RCS file as long as the head revision is dead. 336 This can happen due to an aborted resurrection. 337 (commit_fileproc): When resurrecting, consider the dead revision 338 along with the other files' revisions. 339 (findmaxrev): Avoid unnecessary work. 340 (checkaddfile): Only warn if file isn't in Attic as expected. 341 (Reported by Ross Burton <r.burton@180sw.com>.) 342 * sanity.sh (basica-r*): New tests for above. 343 (basica-o4): Update to match. 344 3452001-03-09 Larry Jones <larry.jones@sdrc.com> 346 347 * edit.c (edit_fileproc, unedit_fileproc): Some implementations of 348 asctime/ctime apparently use a leading zero on the date instead 349 of the space required by the C Standard. Correct for this so that 350 shared working directories work without hassle. 351 (Reported by David L. Martin <dlmart2@home.com>.) 352 * entries.c (fgetentent): Ditto. 353 * vers_ts.c (time_stamp_server, time_stamp) Ditto. 354 3552001-03-07 Larry Jones <larry.jones@sdrc.com> 356 357 * sanity.sh (basica, binfiles2, head, admin): Update to match 358 change to admin.c. 359 3602001-03-06 Larry Jones <larry.jones@sdrc.com> 361 362 * client.c (recv_bytes): Handle EOF as in recv_line(). 363 (Reported by Pavel Roskin <proski@gnu.org>.) 364 365 * admin.c (admin_fileproc): Change final error message to clarify 366 that CVS refused to modify the RCS file rather than being unable to. 367 3682001-02-28 Jim Meyering <meyering@lucent.com> 369 370 * commit.c (commit_usage): Use `-F logfile' (rather than -F file') in 371 the description of that option, to be consistent with the `-F logfile' 372 in the Usage: line. Use spaces instead of TAB characters, and realign. 373 3742001-03-02 Derek Price <derek.price@openavenue.com> 375 376 * sanity.sh (crerepos): Make failed ${CVS_RSH-rsh} attempt print the 377 name of the command it actually used rather than 'rsh'. 378 3792001-02-27 Derek Price <derek.price@openavenue.com> 380 381 * sanity.sh (modules2-ampermod-*): Added these tests to make sure the 382 top level directory is created in an ampermodule when '-n' is passed to 383 checkout. 384 385 original bug report from 386 Wolfgang Haefelinger <Wolfgang.Haefelinger@Dresdner-Bank.com> 387 3882001-02-27 Derek Price <derek.price@openavenue.com> 389 390 * sanity.sh (version-[12]): replace ' (client/server)' with .* in these 391 two tests so that 'make check' works with whatever client/server 392 options the executable was compiled with. 393 3942001-02-23 Derek Price <derek.price@openavenue.com> 395 396 * main.c (main): Only check a cvsroot_t's isremote member when client 397 support is enabled. 398 * server.c: Include GSSAPI headers with client support as well as 399 server support. 400 4012001-02-21 Larry Jones <larry.jones@sdrc.com> 402 403 * modules.c, cvs.h (do_module): Add build_dirs argument and use it 404 instead of run_module_prog. Change all callers. 405 * tag.c (cvstag): For rtag, don't build directories. 406 * sanity.sh (modules3): Update to match. 407 4082001-02-20 Derek Price <derek.price@openavenue.com> 409 410 * client.c: Use xgssapi.h. 411 * server.c: Ditto. 412 4132001-02-15 Derek Price <derek.price@openavenue.com> 414 415 * Makefile.am (cvs_SOURCES): Correct error from yesterday. 416 * Makefile.in: Regenerated. 417 4182001-02-14 Derek Price <derek.price@openavenue.com> 419 420 * server.c: Include xselect.h. 421 * update.c (do_update): Use best available sleep function. 422 4232001-02-14 Derek Price <derek.price@openavenue.com> 424 425 * Makefile.am (cvs_SOURCES): Alphabetize and split to one/line. 426 (cvs_LDADD): Alphabetize and split to one/line. 427 * Makefile.in: Regenerated. 428 4292001-02-14 Larry Jones <larry.jones@sdrc.com> 430 431 * build_src.com: Remove references to rtag.c & rtag.obj. 432 4332001-02-13 Derek Price <derek.price@openavenue.com> 434 435 * main.c (date_to_tm): New function to convert an RCS date string to a 436 struct tm. 437 (tm_to_internet): New function to convert a struct tm to a date string 438 as specified by RFC822 and amended by RFC 1123. 439 (date_to_internet): Use the above two functions and a struct tm 440 intermediary for conversion. 441 * patch.c (patch_fileproc): Answer somebody's comment and use the new 442 diff_exec API. 443 * rcs.c (RCS_checkin): Use new diff_exec API. 444 (RCS_delete_revs): Use new diff_exec API. 445 (make_file_label): If the file name is DEVNULL, date it the Epoch for 446 compatibility with the POSIX.2 spec and Larry Wall's patch 447 implementation. 448 * rcscmds.c (diff_exec): Accept new label arguments. 449 * sanity.sh (death2): Update some diff tests to accept the new format. 450 * update.c (patch_file): Use new diff_exec API. 451 * diff.c (diff_fileproc): Create header labels appropriate for 452 compatibility with the Larry Wall version of patch. 453 (diff): Rename calls to strcat_and_allocate. 454 (strcat_and_allocate): Rename and move... 455 * subr.c (xrealloc_and_strcat): here. 456 * cvs.h: Update prototypes to match. 457 4582001-02-13 Derek Price <derek.price@openavenue.com> 459 460 * Makefile.am (cvs_SOURCES): Remove rtag.c. 461 4622001-02-07 Larry Jones <larry.jones@sdrc.com> 463 464 * sanity.sh (directory_cmp): Return status rather than setting ISDIFF. 465 (basic2): Rewrite using dotest. 466 4672001-02-06 Larry Jones <larry.jones@sdrc.com> 468 469 * tag.c, rtag.c: Merge with tag.c being the surviving file. 470 * Makefile.in: Update to match. 471 * main.c (cmds): rtag() => cvstag(). 472 * server.c (serve_rtag): Ditto, and set command name. 473 4742001-02-06 Derek Price <derek.price@openavenue.com> 475 Rex Jolliff <Rex_Jolliff@notes.ymp.gov> 476 Shawn Smith <Shawn_Smith@notes.ymp.gov> 477 478 * add.c: Replace opendir, closedir, & readdir calls with CVS_OPENDIR, 479 CVS_CLOSEDIR, & CVS_READDIR in support of changes to handle VMS DEC C 480 5.7 {open,read,close}dir problems. Check today's entry in the vms 481 subdir for more. 482 * filesubr.c: ditto 483 * find_names.c: ditto 484 * ignore.c: ditto 485 * import.c: ditto 486 * lock.c: ditto 487 * update.c: ditto 488 4892001-02-02 Larry Jones <larry.jones@sdrc.com> 490 491 * error.h: Changed include guard macro from _error_h_ to ERROR_H; 492 names beginning with underscore are reserved. 493 * login.c (password_entry_parseline, password_entry_operation, 494 password_entry_operation_e, password_entry_operation_t): Removed 495 leading underscore(s). 496 (password_entry_parseline): Corrected error messages. 497 (password_entry_operation): Fixed uninitialized variable (password). 498 (login): Removed unused variable (found_password). 499 500 * rtag.c (rtag_proc): Call lock_tree_for_write() before calling 501 start_recursion. This fixes a serious problem where do_recursion 502 was reading and caching RCS files without any locks in place and 503 that information was subsequently being used to rewrite the file 504 causing any intermediate changes to be lost. 505 (rtag_filesdoneproc): Defunct. 506 (Reported by Karl Tomlinson <k.tomlinson@auckland.ac.nz>.) 507 * tag.c (cvstag, tag_filesdoneproc): Ditto. 508 * lock.c (lock_tree_for_write): Add which argument, change all 509 callers to pass W_LOCAL. 510 * rcs.h: Ditto. 511 5122001-01-29 Derek Price <derek.price@openavenue.com> 513 514 * client.c (get_cvs_port_number): change the prototype to accept a 515 const cvsroot_t * as input and add a FIXME comment 516 * cvs.h: new prototypes for get_cvs_port_number & normalize_cvsroot 517 * login.c (_password_entry_operation): consolidate all the ~/.cvspass 518 access into a single new function which reads ~/.cvspass in a backwards 519 compatible manner 520 (logout): use the new _password_entry_operation function 521 (login): ditto 522 (get_cvs_password): ditto 523 * root.c (normalize_cvsroot): move knowledge of default port & username 524 values inside 525 5262001-01-29 Larry Jones <larry.jones@sdrc.com> 527 528 * subr.c (shell_escape): New function. 529 * cvs.h: Declare it. 530 * logmsg.c (logfile_write): Use it to avoid problems with filenames 531 containing "'". 532 (Reported by Gerhard Ahuis <gerhard@ats.xs4all.nl>.) 533 534 * server.c (outbuf_memory_error, pserver_authenticate_connection, 535 kserver_authenticate_connection): If available, use syslog() to 536 record some errors. 537 5382001-01-25 Larry Jones <larry.jones@sdrc.com> 539 540 * server.c (do_cvs_command): If there's a partial output line left 541 over and the client doesn't support MT, go ahead and send it in an 542 M response instead of just dropping it. 543 (Reported by Milos Kleint <Milos.Kleint@netbeans.com>.) 544 545 * update.c (update_fileproc): Handle toss_local_changes in the 546 T_NEEDS_MERGE case. 547 (Inspired by Noel L Yap <yap_noel@jpmorgan.com>.) 548 * sanity.sh (clean): New tests for above. 549 5502001-01-23 Derek Price <derek.price@openavenue.com> 551 552 * run.c (run_exec): flush, if used, stderr and stdout before exit 553 * server.c (cvs_flusherr): flush stderr & send a stderr flush command 554 on the protocol pipe 555 (cvs_flushout): like above, for stdout 556 (do_cvs_command): handle flushes properly 557 * sanity.sh (reserved): make the commitinfo script echo errors to 558 stderr rather than stdin 559 5602001-01-18 Larry Jones <larry.jones@sdrc.com> 561 562 * log.c (option_revlist, revlist, log_usage, cvslog, 563 log_parse_revlist, log_expand_revlist, log_version_requested): Add 564 support for :: for exclusive ranges. 565 * admin.c (admin_usage): Reorder -o to be parallel to log -r. 566 * sanity.sh (log): New tests for above. 567 5682001-01-18 Derek Price <derek.price@openavenue.com> 569 570 * main.c: Add '2001' to the range of copyright years listed by the 571 --version option 572 * version.c.in (version): check current_parsed_root before its isremote 573 member to avoid a core dump 574 * sanity.sh (version): add a test for the version command 575 576 * version.c: regenerated 577 5782001-01-12 Larry Jones <larry.jones@sdrc.com> 579 580 * rcs.c, rcs.h (RCS_lock, RCS_unlock): Use RCS_gettag to find the 581 correct revision so that symbolic tags work correctly. (This 582 requires removing the "const" from the rev parameter since it's 583 passed to RCS_gettag which might modify it.) 584 (Reported by irina sturm <irina.sturm@st.com>.) 585 5862001-01-11 Larry Jones <larry.jones@sdrc.com> 587 588 * run.c (close_on_exec): Remove check for FD_CLOEXEC. As far as I 589 can see, it's *never* been defined, which defeats the whole point. 590 If F_SETFD is defined, it's probably safe to use it. 591 592 * server.c (do_cvs_command): Call close_on_exec on the protocol and 593 flow control pipes in the child process so they don't get inherited 594 by any subsidiary processes. 595 (Reported by Tristan Gingold <tgi@netgem.com>.) 596 597 * cvs.h (free_cvsroot_t): Spell correctly (was free_CVSroot_t). 598 5992001-01-10 Derek Price <derek.price@openavenue.com> 600 Rex Jolliff <Rex_Jolliff@notes.ymp.gov> 601 602 * build_src.com: VMS changes 603 * filesubr.c: replace calls to unlink() with CVS_UNLINK() for VMS 604 * rcs.c: ditto 605 6062001-01-10 Derek Price <derek.price@openavenue.com> 607 608 * main.c (current_root): explicitly list this as a static global 609 6102001-01-10 Derek Price <derek.price@openavenue.com> 611 612 * cvs.h (get_cvs_port_number): change name & prototype from 613 get_port_number 614 * client.c (get_cvs_port_number): new function which returns a port 615 number based on a cvsroot_t rather than requiring all possible sources 616 passed in 617 (connect_to_pserver): use new get_cvs_port_number function 618 (connect_to_server): ditto 619 * login.c (get_password): use new get_cvs_port_number function 620 (login): ditto 621 (logout): ditto 622 6232001-01-10 Derek Price <derek.price@openavenue.com> 624 625 * Makefile.am ($(srcdir)/version.c): specify $(srcdir) for all subparts 626 of the build since some systems don't allow mv's across partitions 627 * Makefile.in: regenerated 628 6292001-01-10 Derek Price <derek.price@openavenue.com> 630 631 * Makefile.am (version.c): specify $(srcdir) explicitly in target rule 632 so version.c gets built properly for all makes. 633 (version.o): specify $(srcdir)/version.c explicitly so dependency is 634 found and built properly 635 * Makefile.in: regenerated 636 6372001-01-09 Derek Price <derek.price@openavenue.com> 638 639 * version.c: updated timestamp 640 6412001-01-09 Larry Jones <larry.jones@sdrc.com> 642 643 * server.c (server): Change to server_temp_dir immediately after 644 creating it so that any stray files that happen to be created go 645 there instead of in the server's initial directory, wherever that 646 may be. 647 * sanity.sh (modules5-15): Update to match. 648 649 * version.c.in: Update to match Derek's change to version.c. 650 6512001-01-09 Derek Price <derek.price@openavenue.com> 652 653 * cvs.h: Remove the various CVSroot_* bits and replace them with a 654 single structure of type cvsroot_t (current_parsed_root) 655 656 * root.c (parse_cvsroot): return pointer to a new cvsroot_t rather than 657 altering global variables 658 (local_cvsroot): return a pointer to a new cvsroot_t rather than 659 setting globals. changed the name of this function from 660 set_local_cvsroot to better explain new functionality 661 (new_cvsroot_t): new initializer function 662 (free_cvsroot_t): new function 663 (others): use current_parsed_root rather than the old CVSroot_* globals 664 665 * add.c: use current_parsed_root rather than the old CVSroot_* globals 666 * admin.c: ditto 667 * checkout.c: ditto 668 * client.c: ditto 669 * commit.c: ditto 670 * create_adm.c: ditto 671 * diff.c: ditto 672 * edit.c: ditto 673 * expand_path.c: ditto 674 * find_names.c: ditto 675 * history.c: ditto 676 * ignore.c: ditto 677 * import.c: ditto 678 * lock.c: ditto 679 * log.c: ditto 680 * login.c: ditto 681 * logmsg.c: ditto 682 * main.c: ditto 683 * mkmodules.c: ditto 684 * modules.c: ditto 685 * parseinfo.c: ditto 686 * patch.c: ditto 687 * rcs.c: ditto 688 * recurse.c: ditto 689 * release.c: ditto 690 * remove.c: ditto 691 * repos.c: ditto 692 * rtag.c: ditto 693 * server.c: ditto 694 * status.c: ditto 695 * tag.c: ditto 696 * update.c: ditto 697 * version.c: ditto 698 * watch.c: ditto 699 * wrapper.c: ditto 700 7012001-01-05 Derek Price <derek.price@openavenue.com> 702 703 * cvs.h (enum CVSmethod): add null_method 704 * root.c (method_names): correlate null_method & "undefined" 705 (parse_cvsroot): make two error cases non fatal 706 * sanity.sh (crerepos-6b): account for new error message, re above 707 7082001-01-05 Derek Price <derek.price@openavenue.com> 709 710 * src/Makefile.am (cvsbug, cvsbug_EXTRA_DIST, EXTRA_DIST): move cvsbug 711 target to configure.in - see ../ChangeLog for more 712 * src/cvsbug.in: Rename from cvsbug.sh 713 * src/cvsbug.sh: Rename to cvsbug.in 714 7152001-01-04 Larry Jones <larry.jones@sdrc.com> 716 717 * Makefile.am (cvsbug): Explicitly list input file ($< is only 718 valid in inference rules). 719 * Makefile.in: Ditto. 720 7212001-01-04 Derek Price <derek.price@openavenue.com> 722 723 * sanity.sh: use getopts rather than getopt for portability reasons 724 7252001-01-03 Derek Price <derek.price@openavenue.com> 726 727 * Makefile.am (remotecheck): depend on 'all' 728 * Makefile.in: regenerated 729 7302000-12-29 Derek Price <derek.price@openavenue.com> 731 732 * sanity.sh: remove explicit "$@" from last checkin and move the 'do' 733 to the line following the 'for'. Apparently this is more portable. 734 7352000-12-29 Derek Price <derek.price@openavenue.com> 736 737 * sanity.sh: make "$@" explicit in 'for' statement since Solaris 5.6's 738 implementation of Bourne shell doesn't seem to implement this default 739 behavior. 740 7412000-12-27 Derek Price <derek.price@openavenue.com> 742 743 * sanity.sh: add a -f option for continuing from a particular test 744 and shorten --keep to -k so we can use the getopt function. 745 7462000-12-27 Derek Price <derek.price@openavenue.com> 747 748 * Makefile.am (remotecheck): Make remotecheck dependant on all 749 * Makefile.in: regenerated 750 7512000-12-26 Derek Price <derek.price@openavenue.com> 752 753 * Makefile.in: update timestamp 754 * stamp-h2.in: ditto 755 * version.c: ditto 756 7572000-12-26 Derek Price <derek.price@openavenue.com> 758 759 * Makefile.am: new target for version.c 760 (EXTRA_DIST): add version.c.in & version.c so builds work when 761 configure doesn't 762 * Makefile.in: Regenerated 763 * stamp-h2.in: update timestamp 764 * version.c: ditto 765 7662000-12-26 Derek Price <derek.price@openavenue.com> 767 768 * Makefile.am (INCLUDES): add zlib 769 * Makefile.in: Regenerated 770 7712000-12-22 Derek Price <derek.price@openavenue.com> 772 773 * Makefile.am (DISTCLEANFILES): added a few files 774 (INCLUDES): commented 775 * Makefile.in: Regenerated 776 7772000-12-21 Derek Price <derek.price@openavenue.com> 778 779 * .cvsignore: Added .deps directory and a new stamp file 780 * Makefile.am: New file needed by Automake 781 * Makefile.in: Regenerated 782 * stamp-h2.in: New stamp file created by Automake 783 * version.c.in: use configure to generate version.c 784 7852000-12-16 Derek Price <derek.price@openavenue.com> 786 787 * server.c (server_update): Keep the vers structure up to date after 788 sending a Remove or Remove-entry command to the client 789 * update.c (update): remove call to server_updated() after 790 scratch_file() 791 (scratch_file): in server mode, call server_updated(), otherwise keep 792 the vers structure up to date 793 (join_file): add a trace, save the revision to Register() on a remove 794 before calling server_scratch & server_updated 795 * sanity.sh (join): Add test for a remove/add caused by an update 796 to a new branch and a join in the same step. 797 7982000-12-15 Larry Jones <larry.jones@sdrc.com> 799 800 * error.c (error): Add %ld and %lu. 801 802 * history.c: Change hrec.idx from int to long, reformat NEXT_BAR 803 for readability, add hrec_idx. 804 (fill_hrec): Change initialization to be portable and always set 805 idx so it can be used as a line number in error messages; improve 806 parsing and error checking. 807 (read_hrecs): Initialize hrec_idx, handle embedded NULs, warn about 808 no newline at end of file. 809 (select_hrec): Add basic validity checking. 810 8112000-12-07 Larry Jones <larry.jones@sdrc.com> 812 813 * history.c (history): Allow multiple -m options as documented. 814 8152000-11-29 Derek Price <derek.price@openavenue.com> 816 817 * root.c (parse_cvsroot): back out yesterday's redundant changes 818 * main.c (main): fix CVSROOT trace message to look like other trace 819 messages 820 * sanity.sh (multiroot2-9): expect new trace message 821 8222000-11-28 Derek Price <derek.price@openavenue.com> 823 824 * root.c (parse_cvsroot): add trace on this function 825 * client.c (get_port_number): make trace print look like others 826 8272000-11-16 Derek Price <derek.price@openavenue.com> 828 829 * filesubr.c (cvs_temp_file): back out the previous change in the 830 interests of portability, add an assertion, and fix the header comment 831 8322000-11-16 Derek Price <derek.price@openavenue.com> 833 834 * filesubr.c (cvs_temp_file): refine the exit behavior to notice if 835 the out param was passed in NULL and, if so, avoid setting it and delete 836 the temp file for later 837 8382000-11-16 Derek Price <derek.price@openavenue.com> 839 840 * filesubr.c (cvs_temp_file): fixed a garble or two, added some 841 additional error checking, and added a comment 842 8432000-11-15 Derek Price <derek.price@openavenue.com> 844 845 * filesubr.c (cvs_temp_file): added cvs_temp_file 846 function to use mkstemp rather than one of the other temp file 847 generators as gcc keeps complaining I should. 848 (cvs_temp_name): altered this function to simply wrap cvs_temp_file 849 and deprecated it 850 * cvs.h: added prototype for cvs_temp_file 851 * commit.c (commit): use the new function instead of the old and plug 852 an old (though related) memory leak. 853 * import.c (import): use the new function 854 * login.c (login): Ditto 855 * logmsg.c (do_editor, do_verify): Ditto 856 * patch.c (patch_fileproc): Ditto 857 8582000-11-14 Larry Jones <larry.jones@sdrc.com> 859 860 * update.c, update.h (do_update): Add xdotemplate parameter. 861 Change all callers. 862 (update_dirent_proc): Use dotemplate for Create_Admin, not 1. 863 * checkout.c (checkout_proc): Don't create CVS/Template if 864 exporting. 865 (Reported by Andrey Podkolzin <mdh@zenon.net>.) 866 8672000-11-08 Larry Jones <larry.jones@sdrc.com> 868 869 * admin.c (admin): Use getgroups() to check for membership in 870 CVS_ADMIN_GROUP if it exists. In any event, check the user's 871 primary group in addition to any additional groups. 872 (Reported by Thomas Okken <TOkken@refco.com>.) 873 8742000-11-06 Jim Meyering <meyering@lucent.com> 875 876 Compile with gcc's -Wformat and fix the exposed problems. 877 * root.c (parse_cvsroot) [! HAVE_KERBEROS]: Provide an argument 878 for the %s error format spec. 879 [! HAVE_GSSAPI]: Likewise. 880 (normalize_cvsroot): Put comment delimiters around token after `#endif'. 881 8822000-11-03 Larry Jones <larry.jones@sdrc.com> 883 884 * sanity.sh: Some versions of sed require a space between -e and 885 the value. 886 8872000-10-27 Larry Jones <larry.jones@sdrc.com> 888 889 * checkout.c (checkout): Don't check for a safe location if just 890 cat'ing the module database. 891 (Reported by Ilya Martynov <m_ilya@agava.com>.) 892 Have -s set cat as well as status; it simplifies the code. 893 8942000-10-26 Larry Jones <larry.jones@sdrc.com> 895 896 * sanity.sh (join-admin-2): Check output from all commands instead 897 of (mostly) discarding. (Some of the tests used to produce stray 898 output in remote mode.) 899 900 * sanity.sh (dotest_line_by_line): Handle empty lines in pattern 901 (expr doesn't distingish between successfully matching nothing 902 and failing to match anything). 903 904 * sanity.sh (dotest_internal): Rearrange and use elif to simplify. 905 9062000-10-24 Jim Meyering <meyering@lucent.com> 907 908 Fix a bug, introduced with my fix of 2000-07-10, whereby -kk would 909 sometimes be ignored for some of the files involved in an update. 910 911 * update.c (join_file): Restore the original value of `options' 912 right after calling checkout_file. 913 * sanity.sh (join-admin-2): New test for this. 914 9152000-10-23 Derek Price <derek.price@openavenue.com> 916 James Youngman <jay@gnu.org> 917 918 * sanity.sh: it's /gnu/bin, not /gun/bin. Thanks go to James Youngman 919 <jay@gnu.org> for the bug report and patch. 920 9212000-10-20 Jim Kingdon <http://sourceforge.net/users/kingdon/> 922 923 * server.c (switch_to_user): Set CVS_USER. Patch from Sudish 924 Joseph and popularized by dozens (e.g. mozilla.org, also others). 925 9262000-10-20 Derek Price <derek.price@openavenue.com> 927 KOIE Hidetaka <hide@koie.org> 928 929 * root.c (normalize_cvsroot): plug a memory leak. Thanks to 930 KOIE Hidetaka <hide@koie.org> 931 9322000-10-18 Derek Price <derek.price@openavenue.com> 933 934 * client.c (connect_to_pserver): added a close brace the lack of which 935 was preventing compilation when gssapi was enabled. Removed a 936 redundant check for HAVE_KERBEROS. 937 9382000-10-18 Derek Price <derek.price@openavenue.com> 939 940 * root.c (normalize_cvsroot): removed references to free_port_s and the 941 now useless call to free now that port_s is on the stack. Thanks to 942 Jon Miner. 943 9442000-10-18 Derek Price <derek.price@openavenue.com> 945 946 * root.c (normalize_cvsroot): remove calls to snprintf for 947 compatibility with M$ Windoze. 948 9492000-10-18 Derek Price <derek.price@openavenue.com> 950 951 * sanity.sh (crerepos-6a, crerepos-6a-r): fix a "?" in a regex & pipe 952 the output of a test to /dev/null since we don't know what error 953 messages specific rsh implementations will output. 954 9552000-10-17 Derek Price <derek.price@openavenue.com> 956 957 * cvs.h: added CVSroot_password variable. Provided prototypes for 958 get_port_number & normalize_cvsroot. 959 * client.c (get_port_number): Fixed an ANSI prototype I had included 960 for get_port_number. 961 * login.c (login, logout): Removed two checks for a non-null 962 CVSroot_username since parse_cvsroot now supplies a default in pserver 963 mode. allow for a password in CVSROOT 964 (get_cvs_passsword): return CVSroot_password if it was supplied 965 in the CVSROOT. 966 * root.c (parse_cvsroot): Changed CVSROOT spec from 967 :method:user@host/port:/cvsroot to 968 :method:[[user][:password]@]host[:[port]]/cvsroot 969 Removed the xstrdup function since we'd rather have the error checking 970 from the version in subr.c anyhow. Moved some error messages which 971 looked like they would print the wrong error message after a failed 972 connect_to_gserver call. 973 (normalize_cvsroot): return a normalized CVSROOT for use in the 974 .cvspass file. 975 * sanity.sh (crerepos-6): fix a test which was expecting an old error 976 message. 977 978 * client.c (connect_to_pserver): Moved some error messages which looked like they 979 would print the wrong error message after a failed connect_to_gserver 980 call. 981 982 * login.c (login): Paranoiacly zero a password in memory. 983 9842000-10-12 Derek Price <derek.price@openavenue.com> 985 986 * client.c (auth_server_port_number -> get_port_number, start_pserver, 987 start_tcp_server): use a port specified in CVSROOT instead of the 988 default port. Failing that, use the CVS_CLIENT_PORT environment 989 variable. 990 * cvs.h: Added global CVSroot_port & renamed auth_server_port_number. 991 * root.c (parse_cvsroot): Parse the new CVSROOT format properly. 992 Incidentally reformated some error messages for uniformity and 993 readability. 994 * sanity.sh (crerepos): fix two tests which were now expecting the 995 wrong error message. 996 9972000-10-11 Larry Jones <larry.jones@sdrc.com> 998 999 * server.c (pserver_authenticate_connection): Fix stupid mistake 1000 in previous change. 1001 10022000-10-11 Derek Price <derek.price@openavenue.com> 1003 1004 * main.c (main): Dispose old CVSroot when parsing a '-d' option if 1005 free_CVSroot is set. 1006 * root.c (parse_cvsroot): remove references to 'cvsroot_parsed', a 1007 static boolean I expect hasn't been used since CVS learned to handle 1008 multiple CVSROOTs. 1009 10102000-10-10 Larry Jones <larry.jones@sdrc.com> 1011 1012 * server.c (print_error): Make up a message if strerror fails. 1013 1014 * server.c (pserver_authenticate_connection): Give a real error 1015 message for an invalid repository. 1016 10172000-10-06 Derek Price <derek.price@openavenue.com> 1018 1019 * add.c (add): Made quiet mode affect some warning messages as seemed 1020 appropriate. Specifically, some of the messages which a user might 1021 want to ignore so they don't have to be quite so specific on the 1022 command line: files added twice, files already in the repository and 1023 check out properly (i.e. but picked up by 'cvs add *'), & files which 1024 are readded in place of a dead revision or onto a branch. '-q' will 1025 not change the non-zero exit code for the cases where at least one 1026 passed in file name was already in the Entries file. There seems to 1027 be a precedent in remove.c. 1028 * remove.c (cvsremove): switched the "use cvs ci to make these changes 1029 permanent message" to only print w/o '-Q' to match the new behavior of 1030 add. This seems appropriate as '-Q' is defined to restrict messages 1031 to critical errors. 1032 * sanity.sh (adderrmsg): Added some tests for the above behavior. 1033 10342000-10-05 Larry Jones <larry.jones@sdrc.com> 1035 1036 * client.c (call_in_directory): Create CVSADM directory if it doesn't 1037 exist in the directory. This makes client/server work more like 1038 standalone when checking out into an existing (non-CVS) directory. 1039 * sanity.sh (dirs2, conflicts3, toplevel): Update to match. 1040 10412000-10-03 Larry Jones <larry.jones@sdrc.com> 1042 1043 * filesubr.c (get_homedir): Ignore $HOME when running in server mode. 1044 10452000-10-02 Larry Jones <larry.jones@sdrc.com> 1046 1047 * cvs.h: Define (and use) T_PATCH as a valid file classification 1048 even when SERVER_SUPPORT isn't defined -- it simplifies the code. 1049 * classify.c (Classify_File): Ditto. 1050 * commit.c (check_fileproc): Ditto. 1051 * status.c (status_fileproc): Ditto. 1052 * update.c (update_fileproc): Ditto. 1053 * tag.c (check_fileproc): Accept T_PATCH in addition to T_CHECKOUT. 1054 * sanity.sh (tagc-10): Update to match. 1055 10562000-09-29 Larry Jones <larry.jones@sdrc.com> 1057 1058 * client.c (get_responses_and_close): Reset server_fd to -1 after 1059 shutting down. 1060 (Reported by Joerg Thoennes <Joerg.Thoennes@data-sciences.de>.) 1061 10622000-09-27 Larry Jones <larry.jones@sdrc.com> 1063 1064 * commit.c (commit): Don't sleep before returning in server mode, 1065 just let the client do it. 1066 * update.c (do_update): Ditto. 1067 1068 * sanity.sh (find_tool): Correct method of checking for GNU tools. 1069 1070 * checkout.c (checkout_proc): Match up user directories with 1071 repository directories instead of using Emptydir. 1072 * sanity.sh (cvsadm, emptydir): Update to match. 1073 10742000-09-19 Larry Jones <larry.jones@sdrc.com> 1075 1076 * version.c: Push version number to 1.11.0.1. 1077 1078 * version.c: Version 1.11. 1079 10802000-09-07 Larry Jones <larry.jones@sdrc.com> 1081 1082 * Makefile.in: Use @bindir@, @libdir@, @infodir@, and @mandir@ 1083 from autoconf. 1084 10852000-08-23 Larry Jones <larry.jones@sdrc.com> 1086 1087 * mkmodules.c (init): Create an empty val-tags file if it doesn't 1088 already exist to avoid problems with users not having sufficient 1089 permissions to create it later. 1090 10912000-09-06 Jim Kingdon <jkingdon@dhcp-net200-89.su.valinux.com> 1092 1093 * main.c (lookup_command_attribute): Add "release" to commands 1094 which can be done by a read-only user. 1095 10962000-08-23 Larry Jones <larry.jones@sdrc.com> 1097 1098 * repos.c (Name_Repository): Use pathname_levels to detect attempts 1099 to get above the repository instead of checking for leading .. 1100 which isn't reliable. 1101 * sanity.sh (multiroot3-12 to multiroot3-15): New tests for above. 1102 11032000-08-21 Larry Jones <larry.jones@sdrc.com> 1104 1105 * rcs.c (expand_keywords): Handle the unusual case of log == NULL. 1106 (Reported by Craig Metz <cmetz@inner.net>.) 1107 11082000-08-01 Larry Jones <larry.jones@sdrc.com> 1109 1110 * subr.c (pathname_levels): Fix bug that miscounts adjacent 1111 slashes. 1112 (Patch submitted by Tanaka Akira <akr@m17n.org>.) 1113 1114 * loginc.c (login): If available, use getpassphrase instead of 1115 getpass to support long passwords on Solaris. 1116 11172000-07-28 Larry Jones <larry.jones@sdrc.com> 1118 1119 * server.c (server_noop): Avoid do_cvs_command() overhead. 1120 (requests): Make noop RQ_ROOTLESS. 1121 11222000-07-27 Noel Cragg <noel@red-bean.com> 1123 1124 * root.c (parse_cvsroot): change fork method to behave like other 1125 remote methods -- let the server check that the repository 1126 directory is an absolute pathname. 1127 11282000-07-27 Larry Jones <larry.jones@sdrc.com> 1129 1130 * lock.c (set_lock): Include actual lock directory in error message. 1131 * sanity.sh (multiroot3-10): Change to match. 1132 1133 * sanity.sh (client-3): Allow for a potential "broken pipe". 1134 11352000-07-26 Larry Jones <larry.jones@sdrc.com> 1136 1137 * commit.c (commit_filesdoneproc): Flush stdout before running script. 1138 * modules.c (do_module): Ditto. 1139 * update.c (update_dirleave_proc): Ditto. 1140 * server.c (do_cvs_command): Give input from the protocol pipe 1141 precedence over input from stdout/stderr. There's no particularly 1142 good justification for this other than helping to avoid out-of-order 1143 messages in sanity.sh. 1144 1145 * admin.c (admin_usage): Add the supported options. 1146 1147 * sanity.sh (info): Try to avoid out-of-order messages. 1148 1149 * sanity.sh (info): Fix problems when running twice in a row. 1150 11512000-07-17 Larry Jones <larry.jones@sdrc.com> 1152 1153 * sanity.sh (modules5-7, cvsadm-1e, emptydir-2): Allow for a nil 1154 commit (can happen if the test is run twice in a row). 1155 11562000-07-19 Pavel Roskin <proski@gnu.org> 1157 and Larry Jones <larry.jones@sdrc.com> 1158 1159 * mkmodules.c (config_contents): Add a commented out example for 1160 LockDir. Don't suggest PreservePermissions unless it's enabled. 1161 11622000-07-17 Larry Jones <larry.jones@sdrc.com> 1163 1164 * login.c (get_cvs_password): Handle malformed ~/.cvspass more 1165 gracefully. 1166 11672000-07-12 Larry Jones <larry.jones@sdrc.com> 1168 1169 * sanity.sh (modules5): New tests for module programs. 1170 11712000-07-11 Larry Jones <larry.jones@sdrc.com> 1172 1173 * filesubr.c (copy_file, xcmp): Handle systems (like Plan 9) that 1174 don't support mknod() and/or st_rdev. 1175 * import.c (add_rcs_file): Ditto. 1176 * rcs.c (RCS_checkout, RCS_checkin): Ditto. 1177 * update.c (special_file_mismatch): Ditto. 1178 11792000-07-10 Larry Jones <larry.jones@sdrc.com> 1180 1181 * zlib.c (gunzip_and_write): Fix type clashes. 1182 1183 * main.c (main): Remove unused variables. 1184 11852000-07-10 Jim Meyering <meyering@lucent.com> 1186 1187 When a command like `cvs update -kk -jT1 -jT2' creates a new file 1188 (because it had the T2 tag, but not T1), the subsequent commit of 1189 that just-added file would effectively set the admin `-kk' option 1190 for that file in the repository. 1191 1192 * update.c (join_file): Rename global-shadowing local `options' 1193 to `t_options'. 1194 Set file-scoped global `options' to NULL just before 1195 check-out. 1196 * sanity.sh (join-admin): New test for this. 1197 11982000-07-08 Larry Jones <larry.jones@sdrc.com> 1199 1200 * version.c, cvs.h (version): New function. 1201 * main.c (cmds[]): Add version command to invoke it. 1202 (main): Also use it in -v. 1203 * server.c (serve_version): New function. 1204 (requests[]): Add version command to invoke it. 1205 12062000-07-06 Karl Fogel <kfogel@red-bean.com> 1207 1208 * sanity.sh (pserver-14): remove this test for portability 1209 reasons (it was only recently added for the 2000-07-04 change). 1210 12112000-07-06 Larry Jones <larry.jones@sdrc.com> 1212 1213 sanity.sh (modules-148): Don't test for specific revisions. 1214 1215 * main.c (main): Catch SIGABRT to try to clean up after assertion 1216 failures. Don't bother SIG_register'ing Lock_Cleanup because 1217 main_cleanup calls it indirectly anyway. 1218 * patch.c (patch): Catch SIGABRT. 1219 * rcs.c (rcs_internal_lockfile): Ditto. 1220 * server.c (server): Ditto. 1221 1222 * fileattr.c (fileattr_write): Don't delete the unrecog_head list 1223 when writing... 1224 (fileattr_free): Delete it when freeing! 1225 12262000-07-05 Larry Jones <larry.jones@sdrc.com> 1227 1228 * admin.c (admin): Handle -t in client so reading from files works 1229 correctly in client/server mode. 1230 * sanity.sh (log2): Update to match. 1231 12322000-07-04 Karl Fogel <kfogel@red-bean.com> 1233 1234 * server.c (pserver_authenticate_connection): use new 1235 getline_safe() during authentication phase, to avoid a 1236 denial-of-service attack in which client sends arbitrary 1237 amounts of data with no newlines. 1238 (Reported by <jpmg@eng.cam.ac.uk>.) 1239 1240 * sanity.sh: new test pserver-14 for above. 1241 1242 * myndbm.c: #include getline.h. 1243 (mydbm_load_file): pass new GETLINE_NO_LIMIT flag to getstr(). 1244 12452000-07-03 Larry Jones <larry.jones@sdrc.com> 1246 1247 * sanity.sh (modules): Rewrite using dotest. Add "modules-" 1248 prefix to test names. 1249 12502000-06-28 Larry Jones <larry.jones@sdrc.com> 1251 1252 * error.c (error_exit): Call rcs_cleanup () to release any rcs locks. 1253 * rcs.c, rcs.h (rcs_cleanup): Make public, close file before trying 1254 to remove (some systems won't remove open files). 1255 (RCS_putdtree): Don't worry about cleaning up before call error 1256 since it now does it for us. 1257 (rcs_internal_lockfile, rcs_internal_unlockfile): Keep track of 1258 lock file fd for rcs_cleanup (). 1259 1260 * client.c (handle_set_checkin_prog, handle_set_update_prog): 1261 Just ignore the request when exporting. 1262 12632000-06-27 Larry Jones <larry.jones@sdrc.com> 1264 1265 * create_adm.c, cvs.h (Create_Admin): Add dotemplate argument. 1266 Change all callers. 1267 * checkout.c (checkout_proc): Don't create CVS/Template if 1268 exporting. 1269 12702000-06-26 Pavel Roskin <proski@gnu.org> 1271 and Larry Jones <larry.jones@sdrc.com> 1272 1273 * server.c (switch_to_user): Only set CVS_Username if 1274 AUTH_SERVER_SUPPORT is defined. 1275 12762000-06-23 Larry Jones <larry.jones@sdrc.com> 1277 1278 * client.c (send_dirent_proc): Don't allocate ignlist if you're 1279 going to skip the directory (plugs memory leak). 1280 (send_dirleave_proc): New function. 1281 (send_files): Use it (plugs memory leak). 1282 * root.c (root_allow_free): Plug memory leaks. 1283 * server.c (serve_directory, serve_notify, check_password, 1284 pserver_authenticate_connection): Ditto. 1285 * update.c (update): Ditto. 1286 1287 This completes the memory leak shoot-out -- the Purify'ed version 1288 of CVS now runs the entire test suite, both local and remote (except 1289 for remote crerepos, which causes Purify to choke) with *no* memory 1290 leaks. 1291 1292 * server.c (pserver_authenticate_connection): Don't free null pointer. 1293 12942000-06-21 Larry Jones <larry.jones@sdrc.com> 1295 1296 * client.c (update_entries, get_responses_and_close): Plug memory leaks. 1297 * commit.c (find_fileproc, commit): Ditto. 1298 * import.c (import): Ditto. 1299 * log.c (cvslog): Ditto. 1300 * recurse.c (start_recursion): Ditto. 1301 * remove.c (cvsremove): Ditto. 1302 * server.c (fd_buffer_initialize, server_notify, do_cvs_command): Ditto. 1303 (fd_buffer_shutdown): New function. 1304 13052000-06-20 Larry Jones <larry.jones@sdrc.com> 1306 1307 * root.c (parse_cvsroot): Put the terminating NUL byte into the 1308 string *before* copying it, not after. :-( 1309 13102000-06-19 Larry Jones <larry.jones@sdrc.com> 1311 1312 * main.c (main): Plug memory leaks. 1313 * root.c (parse_cvsroot, set_local_cvsroot): Ditto. 1314 * server.c (serve_root): Ditto. 1315 13162000-06-16 Larry Jones <larry.jones@sdrc.com> 1317 1318 * fileattr.c (fileattr_read): Plug memory leak. 1319 * rcs.c (RCS_whatbranch): Ditto. 1320 * update.c (update_dirleave_proc): Ditto. 1321 1322 * ignore.c (ign_dir_add): Duplicate string so caller can free. 1323 1324 * modules.c (do_module): Don't write into dbm's memory! 1325 13262000-06-15 Larry Jones <larry.jones@sdrc.com> 1327 1328 * checkout.c (checkout_proc): Fix non-ANSI code in call to 1329 findslash(), minor cleanups. 1330 13312000-06-14 Larry Jones <larry.jones@sdrc.com> 1332 1333 * tag.c (val_direntproc): Return R_PROCESS instead of 0. 1334 1335 * client.c (update_entries): Fix type clash calling gunzip_and_write(). 1336 * server.c (receive_file): Fix type clash calling gunzip_and_write(). 1337 (server_updated): Fix type clash calling buf_output(). 1338 * error.c (error): Make buf char instead of unsigned char to avoid 1339 type clashes. 1340 1341 * modules.c (do_module): Change callback_proc to pass argc by 1342 value instead of by reference: callback procs shouldn't be 1343 messing with the callers argc/argv, it makes correct memory 1344 management impossible. Plug memory leaks. 1345 * cvs.h: Change to match. 1346 * checkout.c (checkout_proc): Ditto; use a local argv array instead 1347 of messing with caller's. 1348 * modules.c (callback_proc): Ditto. 1349 * patch.c (patch_proc): Ditto; use a local argv array instead 1350 of messing with caller's. 1351 * rtag.c (rtag_proc): Ditto; use a local argv array instead 1352 of messing with caller's. 1353 * server.c (expand_proc): Ditto. 1354 * subr.c (line2argv): Change initial argv_allocated back to 1. 1355 1356 * checkout.c (findslash): Fix non-ANSI code. 1357 1358 * sanity.sh (modes3): Fix test names. 1359 13602000-06-13 Larry Jones <larry.jones@sdrc.com> 1361 1362 * add.c (add): Plug memory leaks. 1363 * admin.c (admin_fileproc): Ditto. 1364 * checkout.c (build_dirs_and_chdir): Ditto. 1365 * edit.c (editors_fileproc): Ditto. 1366 * log.c (cvslog, log_parse_revlist, log_parse_date): Ditto. 1367 * rcs.c (RCS_addaccess): Ditto. 1368 * tag.c (check_fileproc): Ditto. 1369 * vers_ts.c (Version_TS): Ditto. 1370 * watch.c (watchers_fileproc): Ditto. 1371 13722000-06-12 Larry Jones <larry.jones@sdrc.com> 1373 1374 * rcs.c (rcsbuf_valword): Set rcsbuf->vlen to keep rcsbuf_valcopy() 1375 from allocating more memory than needed for @ strings. Don't declare 1376 unless PRESERVE_PERMISSIONS_SUPPORT (since not defined). 1377 1378 * rcs.c (RCS_abandon): New function to abandon changes. 1379 * rcs.h: Declare it. 1380 * admin.c (admin_fileproc): Use it instead of RCS_reparsercsfile. 1381 1382 * commit.c (commit_fileproc): Fix memory leaks. 1383 * patch.c (patch_fileproc): Ditto. 1384 * rcs.c (RCS_nodeisbranch, RCS_copydeltas): Ditto. 1385 * tag.c (tag_fileproc): Ditto. 1386 * update.c (update): Ditto. 1387 13882000-06-09 Larry Jones <larry.jones@sdrc.com> 1389 1390 * rcs.c (RCS_reparsercsfile, RCS_fully_parse, getdelta, 1391 RCS_getdeltatext): Handle newphrases with composite values. 1392 (rcsbuf_getkey): Don't remove @s in composite values -- it makes 1393 it impossible to parse the value! Set special flag to indicate 1394 a composite value. 1395 (rcsbuf_valcopy, rcsbuf_valpolish_internal): Handle composite values. 1396 (putrcsfield): Write composite values. 1397 (RCS_checkin): Set node types in other_delta list. 1398 * hash.h: Add RCSCMPFLD. 1399 * hash.c (nodetypestring): Ditto. 1400 1401 * rcs.c (getdelta): Never allocate space for value, just return 1402 pointer into rcsbuf (fixes memory leaks). Use rcsbuf_getkey to 1403 read a key and value and then parse the value if needed rather 1404 than trying to read it in bits and pieces with rcsbuf_getid, 1405 rcsbuf_getstring, and rcsbuf_getword. 1406 (RCS_reparsercsfile): Change callers to compensate. 1407 (rcsbuf_valcmp, rcsbuf_valword): New functions. 1408 (rcsbuf_getid, rcsbuf_getstring, rcsbuf_getword): Deleted. 1409 * sanity.sh (rcs3-1): Now get slightly different error message. 1410 14112000-06-08 Larry Jones <larry.jones@sdrc.com> 1412 1413 * main.c (usg): Update CVS home page URL. 1414 1415 * main.c (main): Provide an actual error message for an unknown 1416 command in addition to the usage message. 1417 14182000-06-07 Larry Jones <larry.jones@sdrc.com> 1419 1420 * server.c (serve_root, dirswitch, serve_repository, 1421 serve_static_directory, serve_sticky, receive_partial_file, 1422 receive_file, serve_modified, server_write_entries, serve_notify, 1423 serve_checkin_prog, serve_update_prog, server): Don't set 1424 pending_error before calling alloc_pending, it makes it fail; 1425 use alloc_pending instead of malloc when reasonable; be sure to 1426 save errno before calling functions that might change it. 1427 (Patch submitted by Dietmar Petras <dietmar.petras@elsa.de>.) 1428 14292000-06-03 Larry Jones <larry.jones@sdrc.com> 1430 1431 * commit.c (checkaddfile): Plug memory leak. 1432 * rcs.c (RCS_checkin): Plug memory leaks. 1433 * server.c (do_cvs_command): Plug file descriptor leaks. 1434 * tag.c (check_fileproc): Plug memory leak. 1435 14362000-05-26 Larry Jones <larry.jones@sdrc.com> 1437 1438 * recurse.c (unroll_files_proc): Plug memory leak. 1439 1440 * recurse.c (addfile): Fix nonportable pointer cast. 1441 1442 * rcs.c (rcsbuf_getstring, rcsbuf_getword, getdelta): Plug memory 1443 leaks. 1444 14452000-05-25 Larry Jones <larry.jones@sdrc.com> 1446 1447 * checkout.c (checkout, build_one_dir, checkout_proc): Move m_type 1448 to file scope and use it instead of continually doing strcmp on 1449 command_name. 1450 (build_one_dir, checkout_proc): Don't allow export if CVSADM 1451 directory already exists. 1452 14532000-05-23 Larry Jones <larry.jones@sdrc.com> 1454 1455 * rcs.c (RCS_checkin, RCS_cmp_file): Plug memory leaks. (Patch 1456 submitted by Chris G. Demetriou <cgd@sibyte.com>.) 1457 14582000-05-20 Ian Lance Taylor <ian@zembu.com> 1459 1460 * client.c (connect_to_gserver): Handle server error messages 1461 reasonably. 1462 14632000-05-19 Larry Jones <larry.jones@sdrc.com> 1464 1465 * server.c (requests): Make Global_option RQ_ROOTLESS so it can be 1466 used with init. 1467 14682000-05-18 Larry Jones <larry.jones@sdrc.com> 1469 1470 * client.c (start_server): Don't do encryption, authentication, 1471 compression, or case insensitivity when doing init because init 1472 is ROOTLESS and they're not. 1473 1474 * client.c (connect_to_pserver): Include repository and username in 1475 authorization failed message -- if a directory tree crosses multiple 1476 repositories, it can be quite difficult for the user to figure out 1477 which one is the problem. 1478 14792000-05-17 Larry Jones <larry.jones@sdrc.com> 1480 1481 * main.c (main): Use full set of options when looking for -f to 1482 avoid misparsing options that take values (previously, -sVAR=foo 1483 was incorrectly parsed as though it were -s -V -A -R -= -f -o -o 1484 because it didn't know that -s takes a value). 1485 * sanity.sh (info-6b): New test for above. 1486 1487 * sanity.sh (conflicts-status): Fix tests so they work remotely, too. 1488 14892000-05-17 Jim Meyering <meyering@lucent.com> 1490 1491 * sanity.sh (TESTDIR): Fix braino in last change: 1492 cd to /tmp before invoking pwd. 1493 1494 * sanity.sh: Set TESTDIR so that `make check' passes even when /tmp 1495 is a symlink. 1496 (join-36): Use $TESTDIR rather than hard-coding `/tmp/cvs-sanity'. 1497 (conflicts-132): Remove unnecessary `rm aa'. 1498 14992000-05-16 Jim Kingdon <kingdon@redhat.com> 1500 1501 * cvs.h, checkout.c (safe_location): Make extern. 1502 * import.c (import): Call it rather than reimplementing 1503 (incompletely) the same check. 1504 15052000-05-16 Larry Jones <larry.jones@sdrc.com> 1506 1507 * rcs.h, subr.c (file_has_markers): Check for any of the three 1508 conflict marker lines, not just one. 1509 * sanity.sh (conflicts-status): New tests for above. 1510 * sanity.sh: Revise to avoid tripping the above check when merging 1511 changes into sanity.sh itself. 1512 15132000-05-15 Larry Jones <larry.jones@sdrc.com> 1514 1515 * update.c (join_file): When registering the result of the merge, 1516 make sure that the version number is valid (vers->vn_rcs may be 1517 null if the file doesn't exist on the branch yet). (Patch submitted 1518 by Robert de Vries <rhdv@rhdv.cistron.nl>.) 1519 * update.c (join_file): Correct diagnostics (previous change was not 1520 correct -- the file *does* exist in the specified revision, it just 1521 doesn't exist in the sandbox). 1522 * sanity.sh (import-113, join): New tests and changes for above. 1523 15242000-05-04 Larry Jones <larry.jones@sdrc.com> 1525 1526 * sanity.sh: Look for a useful id program. Since we're getting 1527 the real username for some tests anyway, use it for all the 1528 tests instead of a generic regular expression that may or may 1529 not match the actual username. 1530 15312000-05-04 Larry Jones <larry.jones@sdrc.com> 1532 1533 * server.c: More error messages. 1534 15352000-05-02 Donald Sharp <sharpd@cisco.com> 1536 and Larry Jones <larry.jones@sdrc.com> 1537 1538 * history.c (report_hrecs): Added code to print out year instead of 1539 just month/day. 1540 * sanity.sh (basic2-64, history): Update to match. 1541 15422000-04-19 Larry Jones <larry.jones@sdrc.com> 1543 1544 * server.c (dirswitch): Set pending_error_text in addition to 1545 pending_error to aid in problem determination. 1546 15472000-03-23 Larry Jones <larry.jones@sdrc.com> 1548 1549 * mkmodules.c (mkmodules): Return without doing anything if noexec 1550 is set to avoid trashing existing files. 1551 15522000-03-23 Larry Jones <larry.jones@sdrc.com> 1553 1554 * main.c: Alphabetize cmds[] and cmd_usage[] and add server 1555 commands to cmd_usage[]. 1556 15572000-03-21 Larry Jones <larry.jones@sdrc.com> 1558 1559 * sanity.sh (client-1): May get "Broken pipe" message from the 1560 "server" in addition to the expected output. 1561 15622000-03-17 Larry Jones <larry.jones@sdrc.com> 1563 1564 * server.c (switch_to_user): Set CVS_Username if it hasn't already 1565 been set elsewhere. (Patch submitted by Gordon Matzigkeit 1566 <gord@fig.org>). 1567 15682000-03-13 Larry Jones <larry.jones@sdrc.com> 1569 1570 * parseinfo.c: Add extern to logHistory declaration. (Reported by 1571 <John.Tytgat@aaug.net>.) 1572 (parse_config): Reformat logHistory code. 1573 15742000-03-10 Larry Jones <larry.jones@sdrc.com> 1575 1576 * add.c (add): Don't try to set cvsroot_len until after checking 1577 for help only -- CVSroot_directory isn't set in that case. 1578 15792000-03-03 Larry Jones <larry.jones@sdrc.com> 1580 1581 * mkmodules.c (init): Use mkdir_if_needed to create CVSROOT/Emptydir 1582 so we don't fail if run multiple times. (Reported by KOIE Hidetaka 1583 <hide@koie.org>.) 1584 * sanity.sh (1a): New test for above. 1585 15862000-03-02 Larry Jones <larry.jones@sdrc.com> 1587 1588 * main.c: Use identical #if's in the command table and the code 1589 for pserver and kserver to prevent "peculiar" configurations from 1590 having really perverse behavior because the command table entries 1591 are present but the related code isn't. 1592 15932000-03-01 Larry Jones <larry.jones@sdrc.com> 1594 1595 * import.c (import): Don't allow importing the repository. 1596 * sanity.sh (errmsg2-20, errmsg2-21): New tests for above. 1597 15982000-03-01 Larry Jones <larry.jones@sdrc.com> 1599 1600 * main.c (main): Update year in copyright message. 1601 16022000-03-01 Larry Jones <larry.jones@sdrc.com> 1603 1604 * logmsg.c (do_editor): Correct previous change. 1605 16062000-02-29 Larry Jones <larry.jones@sdrc.com> 1607 1608 * logmsg.c (do_editor): When reading temp file, check that message 1609 buffer is large enough to hold the next line and expand if needed. 1610 16112000-02-28 Larry Jones <larry.jones@sdrc.com> 1612 1613 * commit.c (commit): Use get_file() to read log file correctly 1614 and in text mode rather than binary mode. 1615 1616 * subr.c (get_file): Ignore bufsize if buf is NULL. Include 1617 terminating NUL byte when estimating required buffer size. 1618 16192000-02-28 Larry Jones <larry.jones@sdrc.com> 1620 1621 * sanity.sh (find_tool): New function to replace duplicated code. 1622 16232000-02-25 Larry Jones <larry.jones@sdrc.com> 1624 1625 * import.c (add_rcs_file): Don't abort just because lstat fails. 1626 16272000-02-16 Jim Meyering <meyering@lucent.com> 1628 1629 Avoid race condition whereby a catchable signal could 1630 end up corrupting the repository. 1631 * commit.c (checkaddfile): Put a critical section around the code 1632 that handles the first commit on the trunk of a file that's already 1633 been committed on a branch. 1634 * cvs.h (Sig_inCrSect): Declare new function. 1635 16362000-02-21 Karl Fogel <kfogel@red-bean.com> 1637 1638 * main.c (main): still check for repository, but not history file 1639 (correction to 2000-02-18 change -- that's what I get for 1640 believing the comment rather than the code). 1641 16422000-02-21 K.J. Paradise <kj@sourcegear.com> 1643 1644 * history.c mkmodules.c parseinfo.c: control which actions 1645 get logged to the cvs history file via CVSROOT/config file 1646 and LogHistory keyword. (John P Cavanaugh <cavanaug@sr.hp.com>) 1647 16482000-02-18 Karl Fogel <kfogel@red-bean.com> 1649 1650 * history.c (history_write): don't die if history file not 1651 writable, just warn (unless `really_quiet') and skip out. 1652 1653 * main.c (main): don't bother checking if history file is 1654 writable. 1655 1656 * server.c (serve_root): same. 1657 16582000-02-17 Larry Jones <larry.jones@sdrc.com> 1659 1660 * sanity.sh (perms symlinks symlinks2 hardlinks): Don't run by 1661 default since PreservePermissions code is now disabled. 1662 16632000-02-17 Larry Jones <larry.jones@sdrc.com> 1664 1665 * sanity.sh (import-113): Revise to match Jim Meyering's fix. 1666 16672000-02-16 Larry Jones <larry.jones@sdrc.com> 1668 1669 * add.c (add): Don't allow adding files or directories to Emptydir. 1670 (Patch submitted by Chris Cameron <chris.cameron@ot.co.nz>.) 1671 * sanity.sh (emptydir): Revise (emptydir-7 and emptydir-8) for this. 1672 16732000-02-16 Jim Meyering <meyering@lucent.com> 1674 1675 * update.c (join_file): Correct typo in diagnostic: 1676 change `file %s is present...' to `file %s is not present...'. 1677 16782000-02-10 Larry Jones <larry.jones@sdrc.com> 1679 1680 * parseinfo.c (Parse_Info): Treat matching lines with bad expansions 1681 as errors rather than just ignoring. 1682 16832000-02-10 Larry Jones <larry.jones@sdrc.com> 1684 1685 * edit.c (edit): Check for invalid characters in hostname and CurDir. 1686 (Reported by "Andrew S. Townley" <atownley@informix.com>.) 1687 * sanity.sh (devcom2): New tests for above. 1688 16892000-02-10 Larry Jones <larry.jones@sdrc.com> 1690 1691 * cvs.h: Always #include "server.h" to prevent compile errors when 1692 neither CLIENT_SUPPORT nor SERVER_SUPPORT is defined. 1693 (Reported by "Crow, Ian" <ian.crow@linklaters.com>.) 1694 * log.c (send_one, send_arg_list): Only define when CLIENT_SUPPORT 1695 is defined to prevent link errors. 1696 1697 * server.c (server): Always create a new temporary directory, don't 1698 try to reuse an existing one since we might not have correct 1699 permissions. Also, include directory name in error messages. 1700 17012000-01-29 Jim Kingdon <http://developer.redhat.com/> 1702 1703 * ignore.c (ignore_files): Correctly set errno to 0 when we go 1704 back to the top of the loop. Fixes spurious errors like "cvs 1705 update: error reading current directory: No such file or 1706 directory". 1707 17082000-01-26 Larry Jones <larry.jones@sdrc.com> 1709 1710 * run.c (run_exec): Conditionalize K.J.'s change so that it only 1711 applies when SETXID_SUPPORT is defined since some platforms don't 1712 have setegid(). 1713 17142000-01-26 Larry Jones <larry.jones@sdrc.com> 1715 1716 * sanity.sh: Make TESTDIR earlier then use it to check for versions 1717 of expr that don't work right with long expressions. 1718 1719 * sanity.sh (dotest_line_by_line): Have wc read from stdin so it 1720 doesn't output the file name and confuse expr. Make the output a 1721 bit less verbose and easier to read. 1722 17232000-01-24 K.J. Paradise <kj@sourcegear.com> 1724 1725 * run.c :> prevents a user from creating a privileged shell from the 1726 text editor when the SETXID_SUPPORT option is selected. This came from 1727 Bob Colle <bcolle@ilx.com>, and is his completely. 1728 17292000-01-22 Jim Kingdon <http://developer.redhat.com/> 1730 1731 * sanity.sh (emptydir): Add a case in which one might hope for a 1732 non-Emptydir result, but which result? 1733 17342000-01-18 Larry Jones <larry.jones@sdrc.com> 1735 1736 * main.c (main): Allow -z0 to disable gzip compression. 1737 17382000-01-17 Larry Jones <larry.jones@sdrc.com> for 1739 K.J. Paradise (kj@sourcegear.com) 1740 1741 * version.c: Push version number to 1.10.8.1. 1742 1743 * version.c: Version 1.10.8. 1744 17452000-01-17 Larry Jones <larry.jones@sdrc.com> 1746 1747 * mkmodules.c (init): Create CVSROOT/Emptydir to avoid problems 1748 with users not having sufficient permissions to create it later. 1749 17502000-01-04 Larry Jones <larry.jones@sdrc.com> 1751 1752 * client.c (get_responses_and_close): Simplify time-stamp race 1753 avoidance code. 1754 * commit.c (commit): Ditto. 1755 * update.c (do_update): Ditto. 1756 (Prompted by patch submitted by Pavel Roskin 1757 <pavel_roskin@geocities.com>.) 1758 1759 * hardlink.c: sizeof (char) is 1, by definition. 1760 * logmsg.c: Ditto. 1761 * rcs.c: Ditto. 1762 17632000-01-03 Karl Fogel <kfogel@red-bean.com> 1764 1765 * filesubr.c, subr.c (backup_file): moved this function from 1766 filesubr.c to subr.c, at JimK's suggestion. 1767 17682000-01-03 Jim Kingdon <http://developer.redhat.com/> 1769 1770 * sanity.sh (clean): Test the contents of the .#cleanme.txt.1.1 1771 file, not just its existence. 1772 17732000-01-03 Karl Fogel <kfogel@red-bean.com> 1774 1775 * cvs.h, filesubr.c (backup_file): use `const' for suffix too; 1776 correct suffix length calculation and appending behavior; discard 1777 unnecessary `void' cast. Thanks to Jim Meyering for noticing. 1778 17792000-01-03 Larry Jones <larry.jones@sdrc.com> 1780 1781 * sanity.sh (clean): Fix up expected output. 1782 17832000-01-02 John P Cavanaugh <cavanaug@sr.hp.com> 1784 and Karl Fogel <kfogel@red-bean.com> 1785 1786 New -C option to update: overwrites local changes with clean 1787 copies from the repository. (This is an unreversion of the 1788 1999-12-10 change, further modified to work remotely.) 1789 1790 * client.h (BACKUP_MODIFIED_FILES): new #define. 1791 1792 * client.c (struct send_data): new element `backup_modified'. 1793 (send_files): set above element if BACKUP_MODIFIED_FILES flag is 1794 present. 1795 1796 * filesubr.c (backup_file): new function. 1797 1798 * cvs.h: prototype for new function `backup_file'. 1799 1800 * update.c (toss_local_changes): new file-scoped global. 1801 (update): set toss_local_changes if -C flag seen. If 1802 client_active, send "-C" to server, and set SEND_NO_CONTENTS and 1803 BACKUP_MODIFIED_FILES flags before calling send_files(). 1804 1805 (update_fileproc): if file is modified and toss_local_changes is 1806 set, then back the file up and then check out a fresh copy from 1807 the repository. Also, fixed indentation and formatting for a 1808 particularly bad stretch of code near (but unrelated to) these 1809 changes. 1810 1811 * sanity.sh: new test `clean', for update -C option. 1812 18131999-12-29 Jim Kingdon <http://developer.redhat.com/> 1814 1815 * history.c (read_hrecs): st_blksize is unsigned long, not int. 1816 This isn't just cosmetic - getting it wrong will cause coredumps 1817 and such on 64 bit machines. 1818 1819 * import.c (import_descend), ignore.c (ignore_files): Placate gcc 1820 -Wall by parenthesizing foo || (bar && baz). 1821 18221999-12-24 Larry Jones <larry.jones@sdrc.com> 1823 1824 * release.c (release): Use fputs to echo lines from update instead 1825 of printf to avoid problems with lines containing "%". (Reported 1826 by Jean-Luc Simard <Jean-Luc.Simard@matrox.com>.) 1827 1828 * history.c (read_hrecs): Allocate a single 2-block buffer instead 1829 of allocating and freeing a buffer for each block. 1830 (fill_hrec): Remove redundant code. 1831 (select_hrec): Plug memory leak. 1832 18331999-12-22 Larry Jones <larry.jones@sdrc.com> 1834 1835 * history.c (history): For "modified" or "checkout", sort on 1836 file if user specified -l, even if user also specified a date- 1837 oriented flag. 1838 * sanity.sh (history): Update to match; add new tests. 1839 18401999-12-15 Pavel Roskin <pavel_roskin@geocities.com> 1841 and Larry Jones <larry.jones@sdrc.com> 1842 1843 * lock.c (lock_name): fixed assertion failure for the 1844 top-level CVS directory when LockDir is used 1845 * sanity.sh (lockfiles-9): new test for this case 1846 18471999-12-11 Karl Fogel <kfogel@red-bean.com> 1848 1849 * Revert previous change -- it doesn't work remotely yet. 1850 18511999-12-10 John P Cavanaugh <cavanaug@sr.hp.com> 1852 and Karl Fogel <kfogel@red-bean.com> 1853 1854 * update.c: new -C option to update, overwrites local changes with 1855 clean copies from the repository. 1856 Also, fixed indentation and formatting for a particularly bad 1857 stretch of code near these changes in update_fileproc(). 1858 1859 * sanity.sh: test new update -C option. 1860 18611999-12-10 Larry Jones <larry.jones@sdrc.com> 1862 1863 * commit.c (remove_file): Call history_write with update_dir NULL 1864 like Checkin() does for add and modify. 1865 * sanity.sh (basic2-64): Update to match, add "R" records to expected 1866 remote output. 1867 18681999-12-09 K.J. Paradise (kj@sourcegear.com) 1869 1870 * history.c, commit.c, sanity.sh: found (I think) final 1871 cause of seg fault in history command. Also, added the "R" 1872 history functionality. Fixed basic2-64 so it looks correct for 1873 the change. 1874 18751999-11-30 K.J. Paradise (kj@sourcegear.com) 1876 1877 * history.c: fixed seg fault caused by 11-03 changes. 1878 off by one in block memory allocations. 1879 18801999-11-29 Karl Fogel <kfogel@red-bean.com> 1881 1882 * login.c (logout): free `tmp_name' when done. 1883 Correct a comment. 1884 18851999-11-29 Larry Jones <larry.jones@sdrc.com> 1886 1887 * cvs.h, error.c, import.c: Rename fperror to avoid name clash 1888 on LynxOS. (Reported by Markus Braun <MarkusBraun@gmx.de>.) 1889 18901999-11-23 Larry Jones <larry.jones@sdrc.com> 1891 1892 * checkout.c (checkout_proc): Split declaration and initialization 1893 of rp to placate neurotic compilers that gripe about jumping past 1894 an initialization, even when the variable is not subsequently used. 1895 18961999-11-19 Larry Jones <larry.jones@sdrc.com> 1897 1898 * server.c (switch_to_user): Correct setgid error messages. 1899 19001999-11-19 Karl Fogel <kfogel@red-bean.com> 1901 1902 * edit.c (unedit_usage, unedit): new struct, use it. Now "cvs 1903 unedit" prints an accurate usage message (formerly it printed the 1904 message for "cvs edit", even though the two commands do not have 1905 identical usages). 1906 19071999-11-19 Larry Jones <larry.jones@sdrc.com> 1908 1909 * history.c: Move -e documentation from Flags to Reports. 1910 (history): Add -e to list of report types in error message. 1911 1912 * history.c (history): Process file arguments before client/server 1913 processing so they get sent to the server. 1914 * sanity.sh (history): New tests for above. (Also remove comments 1915 about variable spacing -- history output is in variable-width 1916 columns with exactly one space between.) 1917 19181999-11-19 Larry Jones <larry.jones@sdrc.com> 1919 1920 * sanity.sh: Reestablish check for running as root (using ``id -u'' 1921 instead of ``whoami''). 1922 1923 * sanity.sh(dotest, dotest_lit, dotest_fail, dotest_status, 1924 dotest_sort): Eval the command so quoting and pipes work right. 1925 (spacefiles, dirs, rcslib, modules, unedit-without-baserev, 1926 ignore, rcs, rcs2, history, tagdate, pserver, server, server2) 1927 Simplify various tests based on above. 1928 19291999-11-19 Karl Fogel <kfogel@red-bean.com> 1930 1931 * mkmodules.c (init): make history file world-writeable after 1932 creating it, since it needs to be writeable for virtually any 1933 CVS operation. 1934 19351999-11-10 Jim Kingdon <http://developer.redhat.com/> 1936 1937 * admin.c: Revert change to add -H command option. The help 1938 invocation is "cvs -H admin" not "cvs admin -H" (see cvs.texinfo, 1939 basicb-21 in sanity.sh; fix to cvs.1) 1940 19411999-11-08 Jim Kingdon <http://developer.redhat.com/> 1942 1943 * log.c (cvslog): If client_active, send options to the server 1944 based on our parsed options rather than trying to send the exact 1945 strings specified (using canonical forms, like RFC822/1123 1946 dates, in the protocol is just cleaner). 1947 (send_one, send_arg_list): New functions, helpers for above. 1948 * sanity.sh (logopt-6a): New test, for this fix. 1949 19501999-11-09 K.J. Paradise <kj@sourcegear.com> 1951 1952 * admin.c: made the -H option do what it is documented to 1953 do. a 1954 19551999-11-08 Tom Tromey <tromey@cygnus.com> 1956 1957 * client.c (connect_to_gserver): Print more error text if gssapi 1958 initialization fails. From Assar Westerlund <assar@sics.se>. 1959 19601999-11-06 Larry Jones <larry.jones@sdrc.com> 1961 1962 *sanity.sh(rcs3-5): Remote output can be out-of-order, so need a 1963 more general pattern to match the assertion failure. 1964 19651999-11-05 K.J. Paradise (kj@sourcegear.com) 1966 1967 * history.c: Added a trap to verify that if a 1968 read(file, buffer,blocksize) returns less than blocksize, 1969 that we really are at the end of the file. I can't easily 1970 come up with a test case where this code gets touched, so 1971 it may cause problems. All sanity tests still pass though. 1972 19731999-11-05 Jim Kingdon <http://developer.redhat.com/> 1974 1975 * sanity.sh (logopt): New test, for Larry's fix. 1976 * sanity.sh (log-18a, rcs-15 to rcs-19): New tests, to test -d 1977 and -r more thoroughly. 1978 19791999-11-05 Larry Jones <larry.jones@sdrc.com> 1980 1981 * log.c (cvslog): Fix -s and -d with spaces on client side. 1982 (log_usage): Revert Karl's change once again. 1983 sanity.sh(rcs3-5): No longer get different results from local 1984 and client/server. 1985 19861999-11-04 Karl Fogel <kfogel@red-bean.com> 1987 1988 * log.c (log_usage): Revert Jim Kingdon's reversion of my change 1989 of 1999-11-03. Allowing a space between option and argument 1990 results in lossage; here is a reproduction recipe: run this from 1991 the top of a remote copy of the cvs source tree 1992 1993 cvs log -d '>1999-03-01' > log-out.with-space 1994 1995 and then run this (note there's no space after -d now): 1996 1997 cvs log -d'>1999-03-01' > log-out.no-space 1998 1999 The resulting files differ; furthermore, a glance at the output of 2000 cvs shows that the first command failed to recurse into 2001 subdirectories. Until this misbehavior can be fixed in the source 2002 code, the documentation should reflect the true state of affairs: 2003 if one simply omits the space, everything works fine. 2004 20051999-11-04 Jim Kingdon <http://developer.redhat.com/> 2006 2007 * log.c (log_usage): Revert Karl's change regarding -d and 2008 -s. A space is allowed (see sanity.sh for example). 2009 20101999-11-03 K.J. Paradise (kj@sourcegear.com> 2011 2012 * history.c: cleaned up my prior change a bit, per Larry Jones' 2013 comments, and John O'Conner's additional comments about bits of 2014 non MS-Visual C++ compliancy of my code. 2015 20161999-11-04 Larry Jones <larry.jones@sdrc.com> 2017 2018 * sanity.sh: Check that tr that correctly handles NULs; if not, try 2019 to find a version that does; if none can be found, warn user. 2020 Also fix warnings for defective expr. 2021 20221999-11-04 Karl Fogel <kfogel@red-bean.com> 2023 2024 Changes for empty/random passwords in anon pserver access: 2025 2026 * server.c (check_repository_password): if password empty, grant 2027 access no matter what password is received; this is so anon CVS no 2028 longer requires a password but remains backwards-compatible with 2029 all those clients out there. 2030 2031 * client.c (connect_to_pserver): proceed with login even if 2032 password not found in .cvspass file -- just use empty string as 2033 password. And if such a login fails, print a descriptive error. 2034 2035 * login.c (get_cvs_password): don't complain if file or password 2036 not found. That condition is no longer a showstopper, now that 2037 empty passwords are permissible. 2038 Cleaned up conditional chaining a bit, too. 2039 2040 * sanity.sh (pserver-9, pserver-10, pserver-11, pserver-12, 2041 pserver-13): new tests, about empty-password pserver access. 2042 20431999-11-03 K.J. Paradise (kj@sourcegear.com> 2044 2045 * history.c: modify parsing routines to parse the history 2046 file a block at a time, rather than all at once. This allows 2047 people with large history files and small amount of memory 2048 to still get some functionality out of the history file. 2049 20501999-11-03 Karl Fogel <kfogel@red-bean.com> 2051 2052 * log.c (log_usage): correct usage message for -d and -s options. 2053 Because the space between the option letter and its argument has 2054 been eliminated, I capitalized the argument portion to distinguish 2055 it from the option letter. This makes it slightly inconsistent 2056 with other such usage summaries, but at least it is now both 2057 correct and readable. 2058 20591999-10-22 Larry Jones <larry.jones@sdrc.com> 2060 2061 * sanity.sh (dotest_sort): Old versions of tr don't understand \t 2062 so use a literal tab instead. 2063 20641999-10-21 Larry Jones <larry.jones@sdrc.com> 2065 2066 * sanity.sh (dotest_sort): Convert any tabs in the output into spaces 2067 before sorting to avoid POSIX.2 sort weirdness. 2068 (import-106, importb-2): Change expected output per above. 2069 20701999-10-18 K.J. Paradise <kj@sourcegear.com> 2071 2072 Bug: users 'stan' and 'cartman' both have full read/write access 2073 to the cvs repository. 'cartman' does a 'cvs admin -l foo.c'. 2074 'stan' then does a 'cvs admin -u foo.c'. The lock wouldn't be 2075 removed, and no warning/error would be given. This is now fixed. 2076 * rcs.c:(c.6157) remove caller/user check on the multiple lock 2077 detection routines. Sanity.sh runs with no errors after this fix. 2078 20791999-10-14 Larry Jones <larry.jones@sdrc.com> 2080 2081 Make "cvs admin -e" (with no list of users) work: 2082 * admin.c (admin): Remove error message. 2083 (admin_fileproc): If no args for -e, call RCS_delaccess with NULL user. 2084 * rcs.c (RCS_delaccess): Interpret NULL user as request to delete 2085 entire access list. 2086 * sanity.sh (admin-19a-*): Test. 2087 20881999-09-29 Larry Jones <larry.jones@sdrc.com> 2089 2090 * entries.c (Subdirs_Known): Use entfilename when opening CVSADM_ENTLOG 2091 like everywhere else. Although this isn't strictly necessary (since 2092 we immediately close it again), it keeps the code consistent and fixes 2093 a bug where an open error reported the wrong file name. 2094 20951999-09-16 Larry Jones <larry.jones@sdrc.com> 2096 2097 * log.c (log_parse_revlist): Handle peculiar revision specs like 2098 "-r.", "-r:", and "-r," correctly. (Thanks to Pavel Roskin 2099 <pavel_roskin@geocities.com> for submitting a patch, this fix is 2100 somewhat different.) 2101 * sanity.sh (log): New tests for above. 2102 21031999-09-15 Larry Jones <larry.jones@sdrc.com> 2104 2105 * sanity.sh (basica-8b1): New test to check fix for bad diff options 2106 causing cvs to crash. 2107 21081999-09-02 Larry Jones <larry.jones@sdrc.com> 2109 2110 * modules.c (do_module): Handle case where module definition has 2111 options and special options but no directory; fix potential problems 2112 running off beginning of string while stripping trailing blanks. 2113 * sanity.sh (modules2): New tests for above. 2114 21151999-08-26 Larry Jones <larry.jones@sdrc.com> 2116 2117 * lock.c (lock_name): Remove side-effects from assert() expression 2118 since they won't occur if NDEBUG is defined (not that that's a good 2119 thing to do). (Reported by KOIE Hidetaka <hide@koie.org>.) 2120 21211999-08-25 Larry Jones <larry.jones@sdrc.com> 2122 2123 * sanity.sh: Use "${AWK}" instead of "awk" to make it easier for 2124 people to use nawk/gawk/etc.; use an explicit "-print" with find 2125 since some older version don't assume it; rename tests to avoid 2126 duplicate importc-8. (Changes along these lines suggested by 2127 Chris Cameron <chris.cameron@ot.co.nz>.) 2128 21291999-08-24 Larry Jones <larry.jones@sdrc.com> 2130 2131 * commit.c (check_fileproc): Don't crash when a file has no 2132 repository, just treat it as unknown. (Reported by Stefaan 2133 Diericx <stefaan.diericx@argenta.be>.) 2134 * sanity.sh (errmsg2): New tests, for this fix. 2135 21361999-08-18 Larry Jones <larry.jones@sdrc.com> 2137 2138 * update.c (special_file_mismatch): Initialize *_hardlinks to 2139 avoid trying to free garbage later on. (Reported by Jan 2140 Scheffczyk <herta@Xterminator.StudFB.UniBw-Muenchen.de>.) 2141 21421999-08-17 Larry Jones <larry.jones@sdrc.com> 2143 2144 * sanity.sh (basicc-11): Older versions of sh don't understand 2145 ``if ! test...''. (Patch submitted by David J N Begley 2146 <david@avarice.nepean.uws.edu.au>.) 2147 21481999-08-17 Larry Jones <larry.jones@sdrc.com> 2149 2150 * client.c, hardlink.c, hash.c, hash.h, main.c, recurse.c: Change 2151 enum constant UNKNOWN to avoid conflicts on HPUX 11.0. (Reported 2152 by Laurent Duperval <laurent.duperval@cgi.ca>.) 2153 21541999-08-16 Larry Jones <larry.jones@sdrc.com> 2155 2156 client.c: Eliminate redundant #if. (Patch submitted by Assar 2157 Westerlund <assar@sics.se>.) 2158 21591999-07-30 Larry Jones <larry.jones@sdrc.com> 2160 2161 * rcs.c (RCS_checkin): Terminate cleanly if RCS_addbranch fails 2162 rather than blithely continuing on and crashing. 2163 * sanity.sh (basica): New tests, for this fix. 2164 21651999-07-29 Larry Jones <larry.jones@sdrc.com> 2166 2167 * import.c (add_rcs_file): change "cannot lstat" message to include 2168 userfile (the actual file causing the problem) instead of user 2169 (which may or may not be the same). 2170 21711999-07-29 Eric Sink <eric@sourcegear.com> 2172 2173 * version.c: Push version number to 1.10.7.1. 2174 2175 * version.c: Version 1.10.7. 2176 21771999-07-28 Eric Sink <eric@sourcegear.com> 2178 2179 * sanity.sh: before running basicc-11, we need to see if 2180 the cwd has been deleted (by basicc-8). If so, we 2181 recreate it to allow basicc-11 to proceed. This may be 2182 something that only happens under the Linux 2.2 kernel. 2183 21841999-07-18 Karl Fogel <kfogel@floss.red-bean.com> 2185 2186 * edit.c (notify_do): chop newline, if any, from the value 2187 obtained from CVSROOT/users. Otherwise it just gets passed along 2188 in the argument to the notification program (usually mail), which 2189 will misinterpret it as signifying the end of the command. 2190 21911999-07-19 Larry Jones <larry.jones@sdrc.com> 2192 2193 * rcs.c (RCS_delete_revs): In the WIN32 kludge, be sure that the result 2194 of RCS_getexpand is not NULL before trying to use what it points to. 2195 (Patch submitted by Timothy L. Taylor <ttaylor@mitre.org>.) 2196 21971999-07-16 Tom Tromey <tromey@cygnus.com> 2198 2199 * admin.c (admin): Allow `-k' options to be used unrestricted. 2200 22011999-06-23 Jim Kingdon <http://www.cyclic.com> 2202 2203 * sanity.sh (symlinks2): New test, for symlinks in working 2204 directory without PreservePermissions. This test (modulo a few 2205 details not relevant to testing whether we are following symlinks) 2206 worked remote as of now, or either remote or local for CVS 1.9. 2207 * subr.c (get_file): Revert 1998-02-15 change to special-case 2208 symlinks. This makes the above test work local too. 2209 * rcs.c (RCS_checkin): Move the logic to handle special-case 2210 symlinks (and other files other than regular files) here, and make 2211 it only happen if PreservePermissions is on. 2212 22131999-06-18 Larry Jones <larry.jones@sdrc.com> 2214 2215 * sanity.sh (devcom3-9a): Be less specific about the expected 2216 error message (BSD/OS 4.0 has a bug that can cause exec* to fail 2217 with EACCES instead of ENOENT). 2218 22191999-06-08 Larry Jones <larry.jones@sdrc.com> 2220 2221 * sanity.sh (diff-4, dirs2-10, tagf-13, importc-7, conflicts2-142b8): 2222 Use ${PROG} instead of "cvs". 2223 22241999-06-05 Jim Kingdon <http://www.cyclic.com> 2225 2226 * recurse.c (do_recursion, do_dir_proc): Make the SERVER_ACTIVE 2227 #ifdef be only around the check for server_active. Modulo a few 2228 cosmetic tweaks, same as a patch submitted by Johannes Stezenbach 2229 of propack-data.de. 2230 22311999-06-01 Jim Kingdon <http://www.cyclic.com> 2232 2233 * sanity.sh: Add comment about rcs2-7 failures on certain days. 2234 2235 Make "cvs status -v" on a removed file work: 2236 * status.c (cvsstatus): Reindent the client code. 2237 (status_fileproc): Don't need a CVS/Entries listing to show the 2238 tags. 2239 * sanity.sh (rmadd2): New test rmadd2-16 tests the existing 2240 behavior with "cvs log"; new test rmadd2-17 tests the new behavior 2241 with "cvs status". 2242 2243 * sanity.sh (basicc): To match no output in dotest, put the empty 2244 regexp first. Remove tests which check that first-dir exists, 2245 since that isn't true in the case where the OS let us delete it. 2246 (dotest_internal): Fix so that things work with two regexps, with 2247 an empty one first. 2248 22491999-05-28 Larry Jones <larry.jones@sdrc.com> 2250 2251 * sanity.sh (server-4): Replace bogus directory with real one since 2252 the server now checks it. 2253 22541999-05-27 Jim Kingdon <http://www.cyclic.com> 2255 2256 * sanity.sh (spacefiles): Clean up -c, top, and -b at end. 2257 (spacefiles, files): Fix bad references to CVSROOT_DIRNAME. 2258 2259 Fix two problems pointed out by Olaf Kirch of swb.de/caldera.de: 2260 * server.c (outside_root): New function, contains expanded version 2261 of code from serve_directory. 2262 (serve_directory): Call outside_root. 2263 (outside_dir): New function 2264 (serve_modified, serve_is_modified, serve_notify, 2265 serve_questionable, serve_unchanged): Call outside_dir. 2266 * sanity.sh (server2): New tests, for these fixes. 2267 22681999-05-26 Jim Kingdon <http://www.cyclic.com> 2269 2270 * cvs.h, subr.c (xmalloc): Return void* not char*, like xrealloc 2271 has done for some time. 2272 * modules.c (do_module): If we find the module as a directory/file 2273 (rather than in the modules file), skip a bunch of processing 2274 which was unnecessary and also broken in most of the cases 2275 now tested for by the spacefiles sanity.sh test. 2276 * sanity.sh (spacefiles): New test, for specifying filenames 2277 (containing spaces, or starting with '-', or starting with '/') to 2278 "cvs co". 2279 22801999-05-25 Jim Kingdon <http://www.cyclic.com> 2281 2282 * client.c (update_entries): Make the old DONT_USE_PATCH code the 2283 only code. This means that if people are still on CVS 1.9 2284 servers, then CVS will fall back to transferring entire files. 2285 This is better than looking for an external "patch" program which 2286 causes no end of troubles (especially on Windows, but someone just 2287 posted to info-cvs about a problem with the Solaris patch). (This 2288 change was run by devel-cvs and feedback was positive). 2289 2290 * subr.c (xmalloc, xrealloc): The new error.c does not support 2291 %lu; use sprintf instead. 2292 22931999-05-25 Derek Price 2294 <http://www-personal.engin.umich.edu/~oberon/resume.html> 2295 2296 * sanity.sh (server): Escaped a few more newlines in 2297 another awk script. Solaris awk still don't like 'em. 2298 22991999-05-25 Derek Price 2300 <http://www-personal.engin.umich.edu/~oberon/resume.html> 2301 and Jim Kingdon 2302 2303 * log.c: Remove comment which said "you can delete [this line]" 2304 and which stuck around for over 3 years. 2305 * sanity.sh (errmsg2 & tagdate): Added tests to prove the 2306 current functionality with respect to combining -r and -D. 2307 23081999-05-20 Larry Jones <larry.jones@sdrc.com> 2309 2310 * server.c (pserver_authenticate_connection): Previous changes 2311 broke verify_and_exit (reported by Robert Fitzsimons, thanks). 2312 * sanity.sh (pserver): New tests pserver-7 and pserver-8 for this. 2313 23141999-05-18 Derek Price 2315 <http://www-personal.engin.umich.edu/~oberon/resume.html> 2316 2317 * sanity.sh (keyword2): Escaped a newline in an awk script. 2318 Apparently Solaris awk don't like 'em. 2319 23201999-05-18 Jim Kingdon <http://www.cyclic.com> 2321 2322 * sanity.sh (basicc): Allow the behavior whereby unlink(".") 2323 succeeds. Reported by Jeremy Buhler and Pavel Roskin. 2324 23251999-05-17 Steve Cameron of Compaq 2326 2327 * sanity.sh: Modified to no longer use "test -e" for existence 2328 test as it has turned out to be not portable enough. Instead use 2329 "test -f", "test -d", etc. 2330 [SCO Unixware 7 apparently doesn't always support it -kingdon] 2331 23321999-05-17 Jim Kingdon <http://www.cyclic.com> 2333 2334 * version.c: Push version number to 1.10.6.1. 2335 2336 * version.c: Version 1.10.6. 2337 23381999-05-16 Jim Kingdon <http://www.cyclic.com> 2339 2340 * update.c (patch_file): When we are passing vn_rcs to 2341 RCS_checkout, pass vn_tag as well. 2342 * sanity.sh (keyword): In test keyword-22, test for the fixed 2343 behavior rather than the buggy behavior. Adjust keyword-23. Add 2344 test keyword-24, to see whether keyword-23 really worked. 2345 23461999-05-12 Larry Jones <larry.jones@sdrc.com> 2347 2348 * sanity.sh (pserver-4, pserver-5): Bogus error messages from 2349 non-root initgroups on some 4.4BSD derived systems now show up 2350 in different places in the output. 2351 23521999-05-12 Jim Kingdon <http://www.cyclic.com> 2353 2354 * import.c (import): Don't allow the user to supply a repository 2355 directory which takes us out of the cvsroot. 2356 * sanity.sh (importc): New tests importc-10 to importc-12, for this. 2357 23581999-05-11 Larry Jones <larry.jones@sdrc.com> 2359 2360 * server.c (serve_notify): Allocate enough memory to hold the 2361 "misformed Notify request" message in pending_error_text. 2362 23631999-05-11 Jim Kingdon <http://www.cyclic.com> 2364 2365 * server.c (switch_to_user): Ignore EPERM from initgroups. Fixes 2366 pserver-4 in testsuite. 2367 (pserver_authenticate_connection): Only print "I LOVE YOU" after 2368 switch_to_user has come back successfully. 2369 2370 * server.c (pserver_authenticate_connection): Call error_exit 2371 rather than reinventing the wheel ourselves. 2372 (switch_to_user): Check for errors from setuid, setgid, and 2373 initgroups. Fix the #ifdef's (the previous code would skip the 2374 setuid call if SETXID_SUPPORT). 2375 23761999-05-10 Jim Kingdon <http://www.cyclic.com> 2377 2378 * server.c (serve_notify), edit.c (notify_do): Check for 2379 and reject characters which will get confused with delimiters. 2380 * sanity.sh (server): New tests server-7 through server-15 test 2381 for this and for other notify behaviors. 2382 2383 * rcs.c (RCS_tag2rev): Also look for a physical branch with 2384 RCS_getversion. 2385 * sanity.sh (tagf): Adjust tagf-12 and following tests to test for 2386 the fixed behavior rather than the broken behavior. 2387 23881999-05-07 Jim Kingdon <http://www.cyclic.com> 2389 2390 * server.c (server_notify): Also set last_node to NULL. 2391 * sanity.sh (server): New tests server-6 and server-7, for this. 2392 23931999-05-05 Jim Kingdon <http://www.cyclic.com> 2394 2395 * rcs.c (rcs_internal_lockfile): Remove unused variable lockfile. 2396 2397 * add.c (add): Look for directories with the same name in a 2398 different case where appropriate (analogous to fopen_case). 2399 In client code, add comment about how this doesn't do quite 2400 everything. 2401 24021999-05-03 Jim Meyering <meyering@ascend.com> 2403 2404 Remove rcs-style ,file, lock files upon signal. 2405 * rcs.c (rcs_lockfile): New file-scoped global. 2406 (rcs_cleanup): New function (similar to patch_cleanup). 2407 (rcs_internal_lockfile): Register rcs_cleanup the first time this 2408 function is called. Rename uses of local `lockfile' to refer to new 2409 global, `rcs_lockfile'. Don't free the lock file name string, now 2410 that it's global. 2411 (rcs_internal_unlockfile): Rename `lockfile', as above, and carefully 2412 free and NULL-out the global, rcs_lockfile. 2413 24141999-04-30 Jim Kingdon <http://www.cyclic.com> 2415 2416 * rcs.c (annotate_fileproc): Don't cast NULL in passing it to 2417 RCS_deltas. Because there is a prototype in scope the cast is 2418 unnecessary (per HACKING's ANSI C or SunOS4 rule), and in fact it 2419 was causing failures on UNICOS because it cast to size_t instead 2420 of size_t*. (Thanks to Dean Kopesky for reporting this). 2421 24221999-04-29 Jim Kingdon <http://www.cyclic.com> 2423 2424 * sanity.sh: If invoked without any arguments, print a usage 2425 message (thanks to Pavel Roskin for a report/patch). 2426 2427 * run.c (piped_child): Make the error messages more verbose. 2428 (close_on_exec): Reindent. 2429 * sanity.sh (devcom3): Several errors are possible in devcom3-9a. 2430 Adjust for change to piped_child error message. 2431 24321999-04-28 Jim Kingdon <http://www.cyclic.com> 2433 2434 * sanity.sh (devcom3): Add some tests of the CVS/Notify file and 2435 disconnected "cvs edit". 2436 2437 * main.c (opt_usage): Remove -b. 2438 24391999-04-20 Derek Price 2440 <http://www-personal.engin.umich.edu/~oberon/resume.html> 2441 2442 * rcs.c (RCS_delete_revs): RCS_delete_revs uses an 2443 RCS_checkout call to get a new copy of a revision to be 2444 used internally after old revisions were deleted and it was 2445 performing keyword substitutions. This munged all the 2446 the revisions of the file on the branch containing the 2447 deleted revisions and its sub-branches, as the original they 2448 were being patched from was incorrect. Corrected this by 2449 passing in "-ko" as an option to RCS_checkout. 2450 * sanity.sh (keywordlog): modified this test to verify the 2451 correct behavior of 'cvs admin -o'. 2452 [Fixed use of \$ in keywordlog test; added code in RCS_delete_revs 2453 to abort on binary file on Windows -kingdon] 2454 24551999-04-21 Derek Price 2456 <http://www-personal.engin.umich.edu/~oberon/resume.html> 2457 and Jim Kingdon 2458 2459 * tag.c (tag_check_valid): A bug was causing CVS to spin 2460 indefinately when -j:<date> was specified. CVS now returns 2461 an error. 2462 * sanity.sh: Added a test (tagdate-12) to test this. 2463 24641999-04-19 Jim Kingdon <http://www.cyclic.com> 2465 2466 * sanity.sh (backuprecover): Clean up the repository at the end. 2467 24681999-04-18 Derek Price 2469 <http://www-personal.engin.umich.edu/~oberon/resume.html> 2470 2471 * sanity.sh added a test (backuprecover) to test cvs behavior 2472 with a repository that is out of date relative to the 2473 developer's workspaces. 2474 [Fix --keep code; move test to "Repository Storage" section since 2475 it doesn't really exercise the diff/diff3 library. -kingdon] 2476 24771999-04-13 Derek Price 2478 <http://www-personal.engin.umich.edu/~oberon/resume.html> 2479 2480 * sanity.sh (diff): Tests to verify correct operation of 2481 the --ifdef parameter to cvs diff. 2482 [indentation fixed -kingdon]. 2483 24841999-04-13 Derek Price 2485 <http://www-personal.engin.umich.edu/~oberon/resume.html> 2486 for Noah Friedman <friedman@splode.com> 2487 2488 * diff.c (diff): Put "--ifdef=" in opts string, not "-D"; the 2489 latter is confused by pserver for a date spec. 2490 24911999-04-14 Jim Kingdon <http://www.cyclic.com> 2492 2493 * fileattr.h: Adjust comments to reflect the official version of 2494 the fileattr format now being in cvs.texinfo. 2495 24961999-04-05 Jim Kingdon 2497 2498 * sanity.sh (watch5): Remove nonstandard --keep code. Don't pass 2499 -f to rm when cleaning up (that tends to mask bugs). Add watch5 2500 to list of tests at start. Add comment explaining why we consider 2501 the behavior we test for the right one. Rename a few tests which 2502 had been erroneously named watch6* instead of watch5*. 2503 * client.c (update_entries): Add comment with brief discussion of 2504 whether there is a better way. 2505 25061999-04-05 Derek Price 2507 <http://www-personal.engin.umich.edu/~oberon/resume.html> 2508 2509 * client.c (update_entries): Only call mark_up_to_date 2510 (which deletes the CVS/Base/<filename> file for watched 2511 and edited files) on commit. 2512 * sanity.sh: Make sure the CVS/Base/<filename> file for 2513 a watched and edited file is not removed on a status or 2514 update of a touched/unmodfied file. 2515 25161999-03-30 Larry Jones <larry.jones@sdrc.com> 2517 2518 * client.c (get_responses_and_close), commit.c (commit), 2519 update.c (do_update): If the sleep(1) call returns prematurely 2520 (due to the way wakeup is scheduled or receiving a signal), do 2521 it again. 2522 25231999-03-26 Jim Kingdon <http://www.cyclic.com> 2524 2525 * server.c (server): Add comment about Gzip-stream vs. RQ_ROOTLESS. 2526 2527 * sanity.sh (modules3-11b): Adjust exact text of error message to 2528 reflect 1999-03-24 change to dirswitch. 2529 25301999-03-25 Jim Kingdon <http://www.cyclic.com> 2531 2532 * admin.c (admin): Make argument to -e optional, to match the 2533 documentation. 2534 * sanity.sh (admin-19a-2): Test for this. 2535 2536 * server.c (serve_root): Update comment about checking for missing 2537 Root request. 2538 25391999-03-24 Jim Kingdon <http://www.cyclic.com> 2540 2541 * server.c (dirswitch): Also check dir here, similar to 2542 what server_pathname_check does for other cases. 2543 * sanity.sh (files): Adjust files-14 to test for this. 2544 25451999-03-24 Derek Price 2546 <http://www-personal.engin.umich.edu/~oberon/resume.html> 2547 and Jim Kingdon 2548 2549 * sanity.sh: added a test (files-13) to test .. indirection 2550 in a path and another (files-14) to make sure we still fail 2551 out when the '..' indirection takes us into the $CVSROOT 2552 directory or beyond. 2553 25541999-03-24 Larry Jones <larry.jones@sdrc.com> 2555 2556 * rcs.c: Change enum constants ADD and DELETE to something less 2557 likely to run into conflicts. 2558 25591999-03-21 Jim Kingdon <http://www.cyclic.com> 2560 2561 * sanity.sh (tagf): New test, tests for moving a branch tag to a 2562 non-branch tag and trying to recover. 2563 25641999-03-12 Jim Kingdon <http://www.cyclic.com> 2565 2566 * sanity.sh (branches): Tweak test branches-5 to test the case in 2567 which one modifies a file and then branches it. 2568 25691999-03-09 John Bley of duke.edu 2570 2571 * mkmodules.c (filelist): Missed a NULL in this struct (should 2572 have 3 members, only had 2). 2573 25741999-03-07 Jim Kingdon <http://www.cyclic.com> 2575 2576 * sanity.sh (Index): Rename new test from rm_CVS/Root to rmroot 2577 (we don't have a formal rule about funky punctuation in test names 2578 but both underscore and a slash is too funky for me :-)). 2579 Reindent a few tests which were off. 2580 2581 * root.c: Remove the sentence which had the improper English; 2582 there isn't really a need for that sentence and it isn't 2583 particularly accurate any more. 2584 25851999-02-27 Derek Price 2586 <http://www-personal.engin.umich.edu/~oberon/resume.html> 2587 2588 * sanity.sh: Added rm_CVS/Root test to test that CVS uses 2589 $CVSROOT rather than dumping core when running remotely and 2590 the admin file CVS/Root is deleted from the workspace. 2591 2592 Also, altered a few 'cvs commit' 's in regular expressions to 2593 fit the .${PROG} commit. portability syntax. 2594 2595 * recurse.c: Stopped CVS from dumping core in the case tested 2596 above. 2597 2598 * root.c: Fixed somebody's improper english. 2599 26001999-02-25 Larry Jones <larry.jones@sdrc.com> 2601 2602 * sanity.sh (keyword2-12): Use ${QUESTION} instead of ? in the 2603 expected result. 2604 26051999-02-24 Jim Kingdon <http://www.cyclic.com> 2606 2607 * sanity.sh (keyword2): Restore the original \\\$ instead of $. 2608 The latter ends up working due to various kludgy semantics in the 2609 shell and regular expressions, but the former is cleaner. 2610 2611 * sanity.sh (keyword2): Protect keywords against accidental 2612 expansion in sanity.sh itself (most occurrences had this, but not 2613 all). 2614 26151999-02-23 Derek Price <http://www.cyclic.com> 2616 and Jim Kingdon. 2617 2618 * sanity.sh (keyword2): New test, tests for merging with -kk. 2619 26201999-02-22 Jim Kingdon <http://www.cyclic.com> 2621 2622 * version.c: Ease version number to 1.10.5.1. 2623 2624 * version.c: Version 1.10.5. 2625 26261999-02-18 Jim Kingdon <http://www.cyclic.com> 2627 2628 * sanity.sh (files): New test, for a relatively obscure spurious 2629 "Up-to-date check failed" in client/server. 2630 2631 * main.c (lookup_command_attribute): Don't check for "history" 2632 twice. 2633 26341999-02-17 Jim Kingdon <http://www.cyclic.com> 2635 and Hallvard B Furuseth 2636 2637 * root.c (parse_cvsroot): Rearrange ifdefs to squelch possible 2638 warnings about statement not reached. 2639 26401999-02-16 Jim Kingdon <http://www.cyclic.com> 2641 2642 * recurse.c (start_recursion): If we are skipping the current 2643 directory (due to it being from the wrong repository), also adjust 2644 the arguments we send to the server accordingly (like we already 2645 do for the case in which there is no CVS directory). 2646 * sanity.sh (multiroot4): New test, for this. All these tests had 2647 passed locally, but remote multiroot4-12 tests for this fix. 2648 (multiroot): Adjust multiroot-diff-1, multiroot-update-2, 2649 multiroot-tag-1, multiroot-status-1, multiroot-update-3, and 2650 multiroot-log-1 to reflect the cosmetic change this produces (one 2651 less "Diffing ." message). 2652 (multiroot2): multiroot2-8 likewise. 2653 26541999-02-10 Jim Kingdon <http://www.cyclic.com> 2655 2656 * tag.c (cvstag): Don't pass SEND_NO_CONTENTS if -c specified. 2657 * sanity.sh (tagc): New test, for various tag -c behaviors. 2658 Test tagc-6 tests for this fix. 2659 26601999-02-09 Jim Kingdon <http://www.cyclic.com> 2661 2662 * error.c (error): Rewrite to no longer use vasprintf (see 2663 ../lib/ChangeLog for rationale). Note the slight change in 2664 interface - callers which want %8.8s or similar formats need to 2665 call sprintf. 2666 * lock.c (lock_wait, lock_obtained): Use sprintf. 2667 26681999-02-08 Jim Kingdon <http://www.cyclic.com> 2669 2670 * rcs.c (RCS_delete_revs): Pass -a to diff_exec. 2671 * sanity.sh (binfiles3): New tests binfiles3-9 through 2672 binfiles3-13 test for this fix. 2673 * sanity.sh (binfiles): New tests binfiles-o4 and binfiles-o5 2674 (which don't test this bug, just on general principles). 2675 26761999-02-04 Jim Kingdon <http://www.cyclic.com> 2677 2678 * lock.c (lock_name): Permissions of directories in LockDir 2679 shouldn't depend on the umask. 2680 * sanity.sh (lockfiles): Set umask and CVSUMASK, to test for this. 2681 26821999-02-01 Jim Kingdon <http://www.cyclic.com> 2683 2684 * sanity.sh (keywordlog): New tests keywordlog-22 and 2685 keywordlog-23 test keyword expansion and $Log. Adjust other tests 2686 so that revisions differ more from each other, so this is a 2687 better test. 2688 26891999-01-29 Jim Kingdon <http://www.cyclic.com> 2690 2691 * commit.c (checkaddfile): If options is "", treat it the same as 2692 NULL. Centralize this check, and the one for it starting with 2693 "-k", at the start of the function. 2694 2695 * rcs.c, rcs.h (RCS_setexpand): New function. 2696 * admin.c (admin_fileproc): Access keyword expansion field via 2697 RCS_getexpand and RCS_setexpand, rather than directly. 2698 * commit.c (checkaddfile): When resurrecting, set the keyword 2699 expansion mode. 2700 * sanity.sh (binfiles3): Adjust tests binfiles3-7 and binfiles3-8 2701 for the new behavior. 2702 27031999-01-27 Jim Kingdon <http://www.cyclic.com> 2704 2705 * sanity.sh (multiroot3): Add new variant of multiroot3-10 test 2706 for RELATIVE_REPOS. Move multiroot3-11 test out of the 2707 conditionals; it works the same for remote or local, 2708 RELATIVE_REPOS or no. 2709 2710 * options.h.in: Make RELATIVE_REPOS the default, as has been 2711 announced as a future direction since 1997-10-11. 2712 * sanity.sh (multiroot): Tweak multiroot-update-1a and 2713 multiroot-update-1b tests to work with either RELATIVE_REPOS or 2714 non-RELATIVE_REPOS. 2715 2716 * sanity.sh (client-9): Don't assume the time zone. 2717 27181999-01-26 Jim Kingdon <http://www.cyclic.com> 2719 2720 Fix one facet of the "cvs add -kb" re-adding problem (the other 2721 known facet is tested for by binfiles3-8). 2722 * add.c (add): When re-adding a file, set the keyword expansion 2723 as we normally would. 2724 * sanity.sh (binfiles3): New test binfiles3-6a tests for this. 2725 27261999-01-22 Jim Kingdon <http://www.cyclic.com> 2727 2728 * sanity.sh (rmadd2): New tests, for undoing a commit. 2729 27301999-01-21 Eric Mumpower <nocturne@cygnus.com> 2731 2732 * sanity.sh (reposmv): Actually modify CVSROOT in current 2733 environment when calling functions, rather than trying to achieve 2734 the same effect with "CVSROOT=foo functionname". (Many common 2735 bourne shells, including those in SunOS and Solaris 2.4-2.7, 2736 do not properly handle "ENVVAR=foo command" when "command" is 2737 a user-defined shell function rather than an actual executable.) 2738 27391999-01-15 Jim Kingdon <http://www.cyclic.com> 2740 2741 * sanity.sh (rcs3): Redirect awk's stdin to /dev/null like all the 2742 other awk invocations. GNU awk seems not to read stdin in this 2743 case, but that behavior is hard to reconcile with the Single Unix 2744 Spec and some awks don't do it. 2745 2746 * sanity.sh (binfiles, binfiles2, binfiles3, server): Use the same 2747 tr trick as in rcs3. People don't seem to have been complaining, 2748 and this should fix server-4 for HPUX. 2749 27501999-01-14 Jim Kingdon <http://www.cyclic.com> 2751 2752 * client.c (recv_line): If the line we are reading contains a 2753 character which would sign-extend to EOF, don't treat it as end of 2754 file. recv() doesn't report end of file this way and this might 2755 fix bugs with 0xff characters. 2756 27571999-01-14 Larry Jones <larry.jones@sdrc.com> 2758 2759 * client.c (recv_line): Handle EOF from server. 2760 2761 * sanity.sh (importc-8, importc-9): Accept anything in the seconds 2762 fields of the timestamps since touch doesn't set it reliably. 2763 (This isn't great, but it's better than nothing.) 2764 27651999-01-14 Jim Kingdon <http://www.cyclic.com> 2766 2767 * run.c (run_exec): Adjust comment about vfork; this isn't the place 2768 to get into a treatise about fork performance vs. vfork 2769 performance but it isn't quite as simple as whether one has 2770 copy-on-write. 2771 27721999-01-13 Larry Jones <larry.jones@sdrc.com> 2773 2774 * sanity.sh (dotest_fail): Handle spurrious output from assert better. 2775 2776 * sanity.sh (rcs3-4, rcs3-5a): Handle even more variants of the 2777 assertion failure message. 2778 27791999-01-12 Larry Jones <larry.jones@sdrc.com> 2780 2781 * sanity.sh (mtfr-3): ls behavior varies wildly on nonexistant files, 2782 just use echo instead. 2783 27841999-01-11 Jim Meyering <meyering@ascend.com> 2785 2786 * sanity.sh (mkmodules-temp-file-removal): New test, for this. 2787 * mkmodules.c (mkmodules): Remove each `CVSROOT/.#[0-9]*' temporary 2788 file that's used to check out files listed in CVSROOT/checkoutlist. 2789 Remove extra semicolon at end of line. 2790 27911999-01-11 Larry Jones <larry.jones@sdrc.com> 2792 2793 * sanity.sh (rcs3-5a): Allow for multiple lines of output before the 2794 assertion failure message. 2795 2796 * sanity.sh (lockfiles-6, client-8): Work around bug in HP-UX chmod 2797 (doesn't allow anything to follow omitted permissions). 2798 27991999-01-09 Jim Kingdon <http://www.cyclic.com> 2800 2801 * client.c (set_sticky): Nonfatal error if we can't write it. 2802 * sanity.sh (dirs2-8 through dirs2-14): New tests, for this. 2803 2804 * sanity.sh (rcs3): Write NUL character with tr not awk, in 2805 accordance with Single Unix Specification. Hopefully will fix 2806 rcs3-7 for HPUX. Will not work on SunOS4, but then again neither 2807 did the old syntax. 2808 28091999-01-05 Jim Kingdon <http://www.cyclic.com> 2810 2811 * client.c, update.c: Rename MD5* functions to cvs_MD5* per 2812 corresponding change to ../lib/md5.h. 2813 28141999-01-03 Jim Kingdon <http://www.cyclic.com> 2815 2816 * sanity.sh (client): Give file1 a predictable mode so that the 2817 output in client-9 will not depend on the umask of the user 2818 running the tests. 2819 28201998-12-29 Jim Kingdon <http://www.cyclic.com> 2821 2822 * client.c (client_senddate): Use date_to_internet rather than 2823 using our own "5/26/1997 13:01:40 GMT" date format. 2824 * main.c (date_to_internet): Check for errors from sscanf. Always 2825 send a four digit year. Send hours, minutes, and seconds as two 2826 digits per RFC822. 2827 * sanity.sh (client): New tests client-8 and client-9 test for this. 2828 2829 * sanity.sh (rcs2): New tests rcs2-6 through rcs2-8 test for fix 2830 to lib/getdate.y (before the fix, "100 months" or "8 years" would 2831 tend to mean the year 1969, thus the tests would give "cvs update: 2832 file1 is no longer in the repository"). 2833 28341998-12-28 Larry Jones <larry.jones@sdrc.com> 2835 2836 * entries.c (Register): Return if unable to open log file to avoid 2837 referencing the invalid file pointer. 2838 * sanity.sh (dirs2-7): With above change, no longer fails. 2839 * sanity.sh (rcs3-5a): Another assertion failure message. 2840 * sanity.sh (pserver-4, pserver-5): Some 4.4BSD derived systems spit 2841 out bogus error messages when initgroups is called as non-root. 2842 28431998-12-23 Larry Jones <larry.jones@sdrc.com> 2844 2845 * sanity.sh (rcs3, dotest_fail): The assertion failure message varies 2846 wildly between different systems and the resulting abort call can 2847 even result in spurrious output. Fix the regexp to accept nearly 2848 anything containing some kind of assertion failure and ensure that 2849 any spurrious output ends up in the output file instead of on the 2850 terminal. 2851 28521998-12-23 Jim Kingdon <http://www.cyclic.com> 2853 2854 * admin.c, checkout.c, commit.c, cvsrc.c, expand_path.c, 2855 history.c, ignore.c, import.c, log.c, mkmodules.c, modules.c, 2856 myndbm.c, parseinfo.c, rcs.c, remove.c, rtag.c, status.c, subr.c, 2857 tag.c, wrapper.c: Cast all char's to unsigned char before passing 2858 them to ctype.h functions (isalpha, isgraph, isalnum, isspace, 2859 isdigit, isprint, isupper). Whether using ctype.h is the right 2860 thing at all is unclear to me (having the server depend on locale 2861 seems wrong, as we don't necessarily have any good way to set the 2862 right locale, if there even is such a concept as 'right' locale in 2863 this context), but as long as we use ctype.h we might as use it 2864 according to the standards (this affects systems where plain char 2865 is signed but users supply characters with the 8th bit set). 2866 Thanks to Paul Eggert for suggesting this. 2867 28681998-12-22 Jim Kingdon <http://www.cyclic.com> 2869 2870 * sanity.sh (rcs3): Oops, the earlier fix for srcdir only fixed 2871 the non-remote case, not the remote case. Fix the other occurrence. 2872 28731998-12-22 Jim Kingdon 2874 2875 * sanity.sh (rcs3): The assertion failure message varies slightly 2876 depending on whether CVS was built with srcdir != ".". Fix regexp. 2877 28781998-12-21 Jim Kingdon 2879 2880 * rcs.c (RCS_getdate): Reindent Jim Meyering's change; remove 2881 unused variable x_vers. 2882 2883 * rcs.c: When printing an unexpected character we found in the RCS 2884 file, print it in hex rather than as a character (see comment for 2885 rationale). 2886 * sanity.sh (rcs3): Adjust rcs3-2 and rcs3-7 tests accordingly. 2887 2888 * sanity.sh (rcs3): New test, for some error handling cases 2889 involving parsing RCS files. 2890 28911998-12-16 Jim Meyering <meyering@ascend.com> 2892 2893 * rcs.c (RCS_getdate): Handle the case in which a file is first 2894 imported after its initial version has been created. 2895 * sanity.sh (import-after-initial): New test for that. 2896 28971998-12-17 Jim Kingdon 2898 2899 * server.c (serve_root): Pserver_Repos only exists if 2900 AUTH_SERVER_SUPPORT is defined. 2901 29021998-12-12 Jim Kingdon, and Derek R. Price of Stortek. 2903 2904 * sanity.sh (multiroot): Change + to ${PLUS}. 2905 29061998-12-12 Jim Kingdon, and Gary Young of Motorola 2907 2908 * sanity.sh (admin): In tests admin-13, admin-25, and admin-29, 2909 allow 4 digit year in addition to 2 digit year. 2910 29111998-12-12 Jim Kingdon 2912 2913 * sanity.sh (log): New tests log-14a and log-14b test for -rHEAD 2914 and for HEAD as (nonexistent) file name. 2915 29161998-12-02 Jim Kingdon 2917 2918 * version.c: Squish version number to 1.10.4.1. 2919 2920 * version.c: Version 1.10.4. 2921 29221998-11-24 Jim Kingdon 2923 2924 * recurse.c (do_file_proc): Check for errors from RCS_parse. 2925 * sanity.sh (rcslib-symlink-7 through rcslib-symlink-10): New 2926 tests, test for this. 2927 2928 * sanity.sh (reposmv-2): Adjust for 22-Nov change to Find_Names. 2929 2930 * entries.c (Register): If we can't write Entries.Log, make it a 2931 nonfatal error. 2932 * sanity.sh (dirs2): Test for this fix. 2933 2934 * sanity.sh (dirs2): Clean up working directory at end of test. 2935 29361998-11-23 Jim Kingdon 2937 2938 * sanity.sh (dirs2): New test, for some more cases involving 2939 deleting directories and such. 2940 2941 * sanity.sh (dirs): Update for yesterday's change in Find_Names 2942 error handling. The error in dirs-4 is fairly different now; in 2943 dirs-3 and dirs-3a it is the obvious change. 2944 29451998-11-22 Jim Kingdon 2946 2947 * sanity.sh (release): Move the commments listing "cvs release" 2948 tests from modules2-6 to here. 2949 * release.c (release): Update comment to reflect "? foo" case. 2950 2951 * find_names.c (Find_Names): If we can't read the repository, make 2952 it a nonfatal error. Tell the caller whether this happened. 2953 (find_rcs): Add comment regarding this behavior. 2954 * recurse.c (do_recursion): If Find_Names gives an error, skip 2955 the directory and print a message saying so. 2956 * sanity.sh (modes3): New test, for this. 2957 29581998-11-18 Jim Kingdon 2959 2960 * rtag.c (rtag_usage), tag.c (tag_usage): Use "-r rev" 2961 consistently. 2962 2963 * sanity.sh (conflicts3): Tests conflicts3-24 through 2964 conflicts3-28 test for another case similar to conflicts3-22. 2965 29661998-11-14 Jim Kingdon 2967 2968 * sanity.sh (diff): New test, for now just tests for the "I know 2969 nothing" message. 2970 2971 * sanity.sh (conflicts2-142b7 through conflicts2-142b11): New 2972 tests; resurrecting doesn't work from one level up. 2973 2974 * sanity.sh (mwrap-7): Remote prints the messages in a different 2975 order. 2976 29771998-11-13 Jim Kingdon 2978 2979 * tag.c (check_fileproc): Log tag deletions. 2980 * rtag.c (check_fileproc): Likewise. 2981 * sanity.sh (taginfo-14 through taginfo-18): New tests, for 2982 these behaviors. 2983 29841998-11-12 Jim Kingdon 2985 2986 * sanity.sh (mwrap-7): Update for the noexec fix. 2987 2988 * server.c (server_copy_file): Add comment about noexec. 2989 2990 * update.c (checkout_file): Handle noexec case involving revbuf 2991 and modes. 2992 (update_fileproc): In case T_NEEDS_MERGE, let merge_file take care 2993 of noexec, so it can tell the user if there would be conflicts. 2994 (merge_file): Print "conflicts found in FILE" message 2995 regardless of noexec. Add comment about checking for whether the 2996 file already contained the changes, and noexec. 2997 * sanity.sh (conflicts-192a): New test, for this. 2998 29991998-10-20 Jim Kingdon 3000 3001 Use the gzip library on the server. Probably doesn't speed things 3002 up as currently implemented, but does avoid hassles in terms of 3003 finding an external gzip program. 3004 * zlib.c, server.h (gunzip_and_write, read_and_gzip): Now returns 3005 whether a fatal error occurred, rather than expecting error (1, 3006 ...) to work. 3007 * client.c (update_entries, send_modified): Change callers. 3008 * server.c (receive_file): Rewrite gzip code to use 3009 gunzip_and_write rather than filter_through_gunzip. 3010 (server_updated): Likewise, use read_and_gzip rather than 3011 filter_through_gzip. 3012 * client.c, client.h (filter_through_gzip, filter_through_gunzip), 3013 run.c, cvs.h (filter_stream_through_program): Removed; no longer used. 3014 * sanity.sh (server): New tests server-4 and server-5 test 3015 this feature (note that CVS 1.10 also passes these tests; the 3016 behavior is supposed to be unchanged). 3017 30181998-10-19 Jim Kingdon 3019 3020 * sanity.sh (multiroot3): New test, tests for a few more 3021 multiroot cases. 3022 3023 * lock.c (lock_name): Set the permissions on each directory we 3024 create to that of the parent directory. 3025 * sanity.sh (lockfiles): New chmod and tests lockfiles-7a and 3026 lockfiles-7b test for this. Adjust lockfiles-5 for new text of 3027 error message. 3028 30291998-10-15 Jim Kingdon 3030 3031 * server.c (requests): Set RQ_ROOTLESS for "Set". 3032 * sanity.sh (info): Also clean up $HOME/.cvsrc. 3033 (server): Test that we can send Set before Root (had been tested 3034 by crerepos-6b, but only if you ran the info test first). Tests 3035 for this fix. 3036 30371998-10-14 Jim Kingdon 3038 3039 * subr.c (expand_string): Tweak the algorithm so that the size 3040 that it allocates is generally a power of two. 3041 30421998-10-14 Eivind Eklund and Jim Kingdon 3043 3044 * commit.c (commit): For the client, don't worry about whether we 3045 are root. 3046 30471998-10-13 Jim Kingdon 3048 3049 * server.h (struct request): Change status field to flags and add 3050 RQ_ROOTLESS. 3051 * client.c (handle_valid_requests, supported_request): Change 3052 status to flags. 3053 * server.c (requests): Change status to flags. Add RQ_ROOTLESS. 3054 * server.c (server): If not RQ_ROOTLESS, and we haven't gotten a 3055 Root request, give an error. 3056 30571998-10-12 Jim Kingdon 3058 3059 * version.c: Slide version number to 1.10.3.1. 3060 3061 * Version 1.10.3. 3062 3063 * sanity.sh (modules2-17): Update for 9 Oct 1998 change to 3064 update_dirent_proc. 3065 30661998-10-11 Jim Kingdon 3067 3068 * commit.c (checkaddfile, commit_fileproc): A numeric value for 3069 'tag' does not mean that we are adding on a branch. 3070 * sanity.sh (keywordlog): Adjust this test, to test for this 3071 (replaces comment saying we should be doing it). 3072 (rmadd): Likewise. 3073 3074 * sanity.sh (rmadd): New test, tests for various existing 3075 behaviors with "cvs ci -r". 3076 30771998-10-09 Jim Kingdon 3078 3079 * update.c (update_dirent_proc): For local CVS, if the directory 3080 does not exist in the working directory nor in the repository, 3081 just skip it. 3082 * sanity.sh (dirs): New tests dirs-3a, dirs-7 and dirs-8 test for 3083 this and related behaviors. Note that the new behavior was also 3084 the previous behavior for remote; we are only changing it for local. 3085 3086 * wrapper.c, cvsrc.c, ignore.c: Add comments about ignoring .cvsrc 3087 and friends if we can't find a home directory. 3088 * expand_path.c (expand_path): If we can't find the home 3089 directory, give an error rather than a coredump (or worse). 3090 * login.c (construct_cvspass_filename): Don't use errno in error 3091 message; get_homedir doesn't set it. Add comment about this 3092 message. 3093 30941998-10-07 Jim Kingdon <kingdon@harvey.cyclic.com> 3095 3096 * diff.c (diff): Set variables to NULL at the start, and free 3097 memory at the end. 3098 * sanity.sh (multiroot2): Add tests for this (before the fix, 3099 multiroot2-12 would abort with "no more than two revisions/dates 3100 can be specified"). 3101 31021998-10-06 Jim Kingdon <kingdon@harvey.cyclic.com> 3103 3104 * Makefile.in (installcheck check): Remove references to RCSBIN; 3105 they don't do anything now that RCSBIN is ignored. 3106 3107 * client.c: Clean up horrible confusion about whether stored_mode 3108 or stored_mode_valid (or nothing :-)) indicates whether 3109 stored_mode is allocated. Should fix crashes (for example, on NT 3110 when the server has renamed multiple files from uppercase to 3111 lowercase). 3112 3113 * sanity.sh (dirs): New tests, tests for some cases involving 3114 admins who do surgery on the repository. 3115 31161998-10-03 Johannes Stezenbach <johannes.stezenbach@propack-data.de> 3117 3118 * vers_ts.c (Version_TS): If UTIME_EXPECTS_WRITABLE, if 3119 necessary change the file to be writable temporarily to set its 3120 modification time. 3121 31221998-10-03 Jim Kingdon <kingdon@harvey.cyclic.com> 3123 3124 * client.c (handle_error): Add comment about indicating which 3125 errors are from the server. 3126 31271998-10-01 Jim Kingdon <kingdon@harvey.cyclic.com> 3128 3129 * sanity.sh (devcom-180): Allow one digit day. 3130 31311998-09-30 Jim Kingdon <kingdon@harvey.cyclic.com> 3132 3133 * main.c (main): Don't call Name_Root if -d specified. 3134 * recurse.c (do_recursion, do_dir_proc): Don't check CVS/Root 3135 if -d was specified. 3136 * import.c (import): Indentation fix. 3137 * sanity.sh (multiroot): Update for this change. 3138 (reposmv): New test, tests for this. 3139 31401998-09-28 Jim Kingdon <kingdon@harvey.cyclic.com> 3141 3142 * sanity.sh (multiroot2): New test, tests some nested directory 3143 cases. 3144 31451998-09-25 Jim Kingdon <kingdon@harvey.cyclic.com> 3146 3147 * sanity.sh (multiroot): Change a few comments which said modules 3148 when they meant directories. 3149 31501998-09-25 Jim Meyering <meyering@ascend.com> 3151 3152 * sanity.sh (devcom-180): Add 0-9 to the range of characters allowed 3153 in hostname regexp. 3154 31551998-09-25 Jim Kingdon <kingdon@harvey.cyclic.com> 3156 3157 * sanity.sh (log2): New test log2-7a tests for one error handling 3158 case. Add a comment about another. 3159 31601998-09-24 Jim Kingdon <kingdon@harvey.cyclic.com> 3161 3162 * sanity.sh: Change crerepos test back to :ext: (for several 3163 reasons; see comments). 3164 31651998-09-24 Noel Cragg <noel@swish.red-bean.com> 3166 3167 * sanity.sh (rcslib-symlink-5, rcslib-symlink-6): new tests to 3168 check the operation of "tag" when there are symlinks in the 3169 repository. 3170 3171 * rcs.c (RCS_checkin): remove old code that resolved the symlink 3172 and call resolve_symlink instead. 3173 (RCS_rewrite): call resolve_symlink before doing anything else to 3174 make sure we're operating on the file and not the symlink. 3175 3176 * subr.c (resolve_symlink): new routine -- resolves a symbolic 3177 link chain to its destination. 3178 * cvs.h: add prototype. 3179 3180 * sanity.sh (basica-6.2, basica-6.3): changed match expressions to 3181 reflect new diff output. 3182 3183 * rcs.c (make_file_label): generate labels for files that include 3184 the pathname so that output from "cvs diff" is useable by patch. 3185 Looks like I came up with the mods as Andy Piper 3186 <andyp@parallax.co.uk>; his patch was on the Cyclic unofficial 3187 patches page. 3188 3189 * sanity.sh: change remote access method from ext to fork. This 3190 results in a significant speed improvement when running the 3191 testsuite. The ext method on my machine (i586 120MHz Linux 2.0.35 3192 with TCP wrappers installed) runs in 450% of the time of the local 3193 method while the fork method runs in only 150% of the time of the 3194 local method! Yow! Am I SWAPPING yet?! 3195 (crerepos-6a, crerepos-6b): change to reflect different error 3196 messages for fork method. 3197 (modes-15): same. 3198 3199 * client.c (connect_to_forked_server): new routine. 3200 (start_server): call the above when method is fork_method. 3201 3202 * root.c: add a new method named "fork". This method uses the 3203 remote protocol, but does so by forking a "cvs server" process 3204 directly rather than doing "rsh host cvs server" (for example). 3205 This new method has few advantages for day-to-day use, but has 3206 three important benefits for debugging: 3207 3208 1) Most secure installations these days don't allow rsh access. 3209 With this new method, we can still test the remote protocol on 3210 these machines because we don't need to be able to make a local 3211 TCP connection. 3212 3213 2) Even if installations allow rsh access, they almost always 3214 have TCP wrappers to check permissions by IP/hostname. This 3215 causes a short delay for every connection. For invocations from 3216 the command line, this doesn't matter much, but it adds up to a 3217 significant amount of time when running the testsuite. 3218 3219 3) On machines that can't (or do not usually) provide rshd 3220 access (I'm thinking of WNT/W95 in particular), we can now run 3221 tests of the remote protocol using this method. Indeed, we can 3222 run remote protocol tests on any machine that has an 3223 implementation of piped_child(). 3224 3225 (parse_cvsroot): handle new method. 3226 (error_exit, xstrdup, isabsolute): new stub functions to use when 3227 compiling root.c with the DEBUG option. 3228 (main): fix a few typos. 3229 * cvs.h (CVSmethod): add fork_method. 3230 3231 * server.c (create_adm_p): use Emptydir as the placeholder 3232 directory instead of "." to avoid problems with "cvs update -d" et 3233 al. 3234 32351998-09-22 Noel Cragg <noel@swish.red-bean.com> 3236 3237 * sanity.sh (devcom-180): fixed typo in regexp. 3238 3239 * main.c (main): remove need_to_create_root and related code 3240 (including CVS_IGNORE_REMOTE_ROOT environment variable). The 3241 current implementation (just removed) of rewriting the contents of 3242 the CVS/Root file isn't desirable for a number of reasons: 3243 3244 1) Only the top-level CVS/Root directory is updated. If we're 3245 really interested in pointing our WD at another CVSROOT, we 3246 should have a separate command. 3247 3248 2) With the new multiroot mods, we don't ever want to rewrite 3249 CVS/Root files in the way the removed code did. Consider: 3250 3251 cvs -d repository1 co a 3252 cd a 3253 cvs -d repository2 co b 3254 cvs -d repository2 update b 3255 3256 The update command would rewrite the contents of a/CVS/Root to 3257 the incorrect value. Bad. We then wouldn't be talking to the 3258 correct repository for files in a. 3259 3260 3) The removed code seems to be a quick hack to support working 3261 directories checked out from multiple repositories. With the 3262 CVS_IGNORE_REMOTE_ROOT variable set, one could perform commands 3263 as in example 2, above, without worring about updating CVS/Root 3264 files. While in pre-1.10.1 recursive commands wouldn't handle 3265 that working directory hierarchy, one could use commands like 3266 "cvs foo -l" instead. While not great, this allows you (with a 3267 lot of manual interaction) to have a multiroot WD. Since we now 3268 have multiroot mods checked in, we don't need this code. 3269 3270 (lookup_command_attribute): while we don't need the 3271 CVS_CMD_USES_WORK_DIR flag anymore (since it only was supporting 3272 the need_to_create_root code), I'm leaving it in. It may come in 3273 handy at some later date. 3274 32751998-09-18 Jim Kingdon <kingdon@pennington.cyclic.com> 3276 3277 * version.c: Advance version number to 1.10.2.1. 3278 3279 * Version 1.10.2. 3280 32811998-09-13 Jim Kingdon <kingdon@harvey.cyclic.com> 3282 3283 * client.c: Refuse to Copy-file to another directory 3284 * sanity.sh (client): New test, tests for this. 3285 3286 * edit.c (editors_fileproc), watch.c (watchers_fileproc): Use 3287 cvs_output rather than writing to stdout. 3288 * sanity.sh (devcom): Use dotest for tests 178, 180, and 183 3289 (tests that we preserve existing behavior on "cvs editors"). 3290 3291 * commit.c (check_fileproc): Don't allow commits in Emptydir. 3292 * sanity.sh (emptydir-8): Test for this change in behavior. 3293 3294 * sanity.sh: Add some compatibility tests to TODO comments at end. 3295 32961998-09-10 Jim Kingdon <kingdon@harvey.cyclic.com> 3297 3298 * wrapper.c (wrap_add): Remove obsolete comment about -m. 3299 3300 * server.c (server_updated): Check for error from CVS_UNLINK. 3301 33021998-09-09 Jim Kingdon <kingdon@harvey.cyclic.com> 3303 3304 * server.c (serve_root): Allocate with malloc, not xmalloc. 3305 3306 * root.c (set_local_cvsroot): Move memory allocation from here... 3307 * server.c (serve_root): ...to here. Fixes error handling. 3308 3309 * root.c (parse_cvsroot): Don't call check_root_consistent; 3310 parse_cvsroot is only used for local and client. 3311 * root.c (set_local_cvsroot): Move check_root_consistent 3312 functionality from here... 3313 * server.c (serve_root): ...to here. Fixes error handling. Also 3314 made the error more explicit, while I am at it. 3315 * server.c (Pserver_Repos): Now static. 3316 * cvs.h: Don't declare it. 3317 * root.c (check_root_consistent): Removed; no longer needed. 3318 * sanity.sh (pserver): New test, tests for this behavior and some 3319 other basic pserver stuff. 3320 3321 * update.c (merge_file): Use cvs_output for "already contains the 3322 differences" message. Found this one when I actually observed the 3323 out-of-order bug in Real Life(TM). 3324 33251998-09-09 Jim Kingdon 3326 3327 * find_names.c (find_dirs): Make sure to zero errno before 3328 going around the loop again. 3329 * find_names.c (find_rcs): Make sure to set save_errno. 3330 (thanks to Alexandre Parenteau for reporting both problems). 3331 33321998-09-09 Jim Kingdon <kingdon@harvey.cyclic.com> and Michael Pakovic 3333 3334 * edit.c (notify_do): Only free line if it is not NULL. 3335 33361998-09-07 Jim Kingdon <kingdon@harvey.cyclic.com> 3337 3338 * cvs.h: dirs_sent_to_server should not be inside 3339 AUTH_SERVER_SUPPORT (reported by both Richard Levitte and Murray 3340 Bishop, thanks). 3341 3342 * lock.c, cvs.h: New variable lock_dir. 3343 * parseinfo.c (parse_config): New option LockDir. 3344 * lock.c (lock_name): New function, abstracts out lock file naming 3345 and also supports LockDir. 3346 * lock.c (lock_simple_remove, Reader_Lock, write_lock, set_lock): 3347 Call it (6 places, to create/remove read/write/master locks). 3348 (Lock_Cleanup): Refuse to reenter this function. 3349 * sanity.sh (lockfiles): New test, tests for this feature. 3350 33511998-09-03 Jim Kingdon <kingdon@harvey.cyclic.com> 3352 3353 * sanity.sh (multiroot): Expect ${TESTDIR} in output instead of 3354 assuming it is /tmp/cvs-sanity (thanks to Mark D. Baushke of Cisco). 3355 Clean up working directory when done (fixes apparent thinko). 3356 3357 * server.c (create_adm_p): Fix one "return" which didn't return a 3358 value. 3359 (dirswitch): Check for errors from create_adm_p. 3360 3361 * sanity.sh: Set LC_ALL rather than just LC_COLLATE. 3362 3363Wed Sep 2 02:30:22 1998 Jim Kingdon <kingdon@pennington.cyclic.com> 3364 3365 * version.c: Bump version number to 1.10.1.1. 3366 3367 * Version 1.10.1. 3368 33691998-09-01 Jim Kingdon <kingdon@harvey.cyclic.com> 3370 3371 Administrative note regarding Noel's changes to allow one to 3372 switch from one CVS root to another in a single command: The 3373 ChangeLog entries for the changes which Noel just checked in 3374 appear for 1998-09-01, 1998-08-28, 1998-08-25, 1998-08-19, and 3375 1998-08-18, rather than being all together. 3376 3377 * main.c (set_root_directory): Fix whitespace. 3378 (main): Nuke new -m option and just have that message controlled 3379 by -t. 3380 * server.c (server): Revert the CVS_SERVER_SLEEP code back the way 3381 it was in CVS 1.10. Attaching to the parent process is relatively 3382 boring (you can just run "cvs server" under a debugger instead), 3383 but connecting to the child process is what the old code was for. 3384 * recurse.c, server.c: Remove DEBUG_NJC code. 3385 33861998-09-01 Noel Cragg <noel@swish.red-bean.com> 3387 3388 * server.c (do_cvs_command): add another environment variable, 3389 CVS_SERVER_SLEEP2, after forking to pause the program so one can 3390 attach a debugger. 3391 3392 * sanity.sh (crerepos): clean up crerepos-18 now that multiroot 3393 works in this case. 3394 (multiroot): finalize tests for local vs. remote operation. 3395 3396 * recurse.c (start_recursion): near the beginning, save the list 3397 of directories to spoof as command-line arguments, if necessary. 3398 Use that list near the end and call send_file_names to send those 3399 arguments to the server. 3400 (do_argument_proc): removed, since we call send_file_names now. 3401 3402 * main.c (main): re-initialize dirs_sent_to_server on each pass 3403 through the loop for each CVSROOT. 3404 3405 * cvs.h: add proto for global variable which keeps track of which 3406 directories have been sent to the server when in client mode. 3407 3408 * client.c (is_arg_a_parent_or_listed_dir): new function. 3409 (arg_should_not_be_sent_to_server): new function. Tries to decide 3410 whether the given argument should be sent to the server, based on 3411 the current CVSROOT and the list of directories sent to the 3412 server. 3413 (send_repository): add the directory name to the list of 3414 directories sent to the server. 3415 (send_file_names): call arg_should_not_be_sent_to_server. 3416 3417 * add.c (add): switch the order of send_files and send_file_names 3418 to make multiple repository support possible. send_files needs to 3419 create a list of directories being requested so that 3420 send_file_names can decide which command-line arguments to send to 3421 the server for the given current CVSROOT. 3422 * admin.c (admin): same. 3423 * commit.c (commit): same. 3424 * diff.c (diff): same. 3425 * edit.c (editors): same. 3426 * log.c (cvslog): same. 3427 * rcs.c (annotate): same. 3428 * remove.c (cvsremove): same. 3429 * status.c (cvsstatus): same. 3430 * tag.c (cvstag): same. 3431 * update.c (update): same. 3432 * watch.c (watch_addremove): same. 3433 (watchers): same. 3434 34351998-08-31 Jim Kingdon <kingdon@harvey.cyclic.com> 3436 3437 * sanity.sh: Remove "debug" function; it was apparently checked 3438 in accidentally by Norbert Kiesel's change. 3439 34401998-08-31 Norbert Kiesel <nk@iname.com> 3441 3442 * release.c (release): modify last patch to release so that 3443 save_cwd is called only once and restore_cwd is always called when 3444 neccessary. Also fixed a tiny memory leak. 3445 3446 * sanity.sh (release): added some more tests for "cvs release" 3447 including a test with two dirs and a "no" for the first one (which 3448 fails without the above patch). 3449 34501998-08-28 Noel Cragg <noel@swish.red-bean.com> 3451 3452 * sanity.sh (crerepos-18): add new comment and change test 3453 slightly to support multiroot. 3454 (multiroot): add more tests. 3455 3456 * server.c (create_adm_p): new function. 3457 (dirswitch): call create_adm_p. Modify the code to always write a 3458 new CVSADM_REP file, since create_adm_p might have put a 3459 placeholder there and our value is guaranteed to be correct. 3460 (server): move the CVS_SERVER_SLEEP check here so we can debug 3461 things at an earlier stage. 3462 3463 * recurse.c (start_recursion): add large comment about the ideal 3464 solution to the "Argument xxx" problem. 3465 3466 * main.c (main): move position of debugging comment for -m flag. 3467 3468 * diff.c (diff): clear a static variable. 3469 3470 * client.c (send_file_names): check to see if we should send this 3471 argument to the server based on the contents of the appropriate 3472 CVSADM directory. This avoids "nothing known about foo" messages 3473 and problems with duplicate modules names in multiple 3474 repositories. 3475 (send_a_repository): change method of calculating toplevel_repos 3476 to support multiple CVSROOTs. 3477 (start_server): clear some static variables. 3478 34791998-08-28 Jim Meyering <meyering@ascend.com> 3480 3481 * sanity.sh (basicc-8, basicc-11): Use `.*' instead of explicit 3482 `Operation not permitted'. Solaris2.5.1 gets a different error: 3483 `Invalid argument'. 3484 34851998-08-26 Eric M. Hopper 3486 3487 * sanity.sh: Set LC_COLLATE to "C". 3488 34891998-08-25 Noel Cragg <noel@swish.red-bean.com> 3490 3491 * sanity.sh (multiroot): new set of tests to check the behavior of 3492 multiroot. 3493 3494 * diff.c (diff): set options value to NULL after freeing to reset 3495 the state for the next time around. 3496 34971998-08-25 Jim Kingdon <kingdon@harvey.cyclic.com> 3498 3499 Fix problems with trying to rename an open file: 3500 * rcs.c, rcs.h (RCS_setattic): New function. 3501 * commit.c (remove_file, checkaddfile): Call it. 3502 35031998-08-24 Jim Kingdon <kingdon@harvey.cyclic.com> 3504 3505 * release.c (release): Use save_cwd and restore_cwd to get back to 3506 where we started, rather than hoping that CVS_CHDIR ("..") will do 3507 something useful. This removes the need for most of 3508 release_delete, so remove that function and inline what is left. 3509 * sanity.sh (basicc): Adjust tests for this fix, also some tests 3510 with multiple arguments to "cvs release" (in the non-"-d"-case, it 3511 would seem like the old code would CVS_CHDIR into directories and not 3512 CVS_CHDIR back, but I'm not going to investigate this and it 3513 should be a moot point with this fix.). 3514 3515 * sanity.sh (basicc): Add tests for a serious bug in "cvs release 3516 -d .". 3517 3518 More error handling fixes: 3519 * ignore.c (ignore_files): Check for errors from opendir and 3520 readdir. 3521 * find_names.c (Find_Names): Check for errors from find_rcs. 3522 (find_rcs, find_dirs): Comment error handling better; also return 3523 an error if we got one from readdir. 3524 * filesubr.c (deep_remove_dir): Also check for errors from readdir. 3525 * import.c (import_descend): Print message on error from opendir 3526 or readdir. 3527 * commit.c (remove_file): Check for errors from CVS_MKDIR and 3528 CVS_RENAME. 3529 (remove_file): No need to remove the file in the temporary 3530 directory; server.c now informs time_stamp_server of what is going 3531 on via CVS/Entries rather than a file with a kludged up timestamp. 3532 * client.c, entries.c, login.c, logmsg.c, mkmodules.c, patch.c, 3533 remove.c, update.c: Check for errors from unlink_file. 3534 * mkmodules.c (write_dbmfile, rename_dbfile, rename_rcsfile): 3535 Check for errors from fclose, CVS_RENAME, and CVS_STAT. 3536 * mkmodules.c (checkout_file): Clarify error handling convention. 3537 * mkmodules.c (mkmodules): Call checkout_file accordingly. 3538 * entries.c (Entries_Open): Check for errors from fclose. 3539 35401998-08-21 Ian Lance Taylor <ian@cygnus.com> 3541 3542 * import.c (import): Output suggested merge command using 3543 cvs_output_tagged rather than just cvs_output. Don't put 3544 CVSroot_cmdline in the log file. 3545 * client.c (importmergecmd): New static struct. 3546 (handle_mt): Handle +importmergecmd tag. 3547 * sanity.sh (import): Use an explicit -d in importb-2, to test 3548 whether it is reported in the suggested merge command. 3549 35501998-08-20 Ian Lance Taylor <ian@cygnus.com> 3551 3552 * sanity.sh (import): Rewrite tests to use dotest. 3553 35541998-08-20 Jim Kingdon <kingdon@harvey.cyclic.com> 3555 3556 * sanity.sh: Add comments about binary files and cvs import. 3557 35581998-08-19 Jim Kingdon <kingdon@harvey.cyclic.com> 3559 3560 * sanity.sh (importc): Use ${username} in one place where I had 3561 missed it. 3562 3563 Make import -d work client/server: 3564 * client.c, client.h (client_process_import_file): Take new 3565 argument, for whether -d is specified, and send Checkin-time 3566 request if it is set. 3567 * import.c (import_descend): Pass it. 3568 * main.c, cvs.h (date_to_internet): New function. 3569 * server.c (server_modtime): Call date_to_internet. 3570 * server.c (serve_checkin_time): New function. 3571 (requests): Add "Checkin-time" request. 3572 (serve_modified): If it was sent, set the timestamp in the 3573 temporary directory. 3574 * import.c (import): If the client sends a -d option, complain. 3575 (import): For the server, always use the timestamps from the temp 3576 directory. 3577 (import): Don't send a -d option to the server. 3578 * sanity.sh (importc): Add tests for import -d. 3579 3580Wed Aug 19 15:19:13 1998 Larry Jones <larry.jones@sdrc.com> 3581 3582 * sanity.sh (unedit-without-baserev-5): use ${DOTSTAR} instead 3583 of .* since we expect to match multiple lines. 3584 35851998-08-19 Ian Lance Taylor <ian@cygnus.com> 3586 3587 * cvs.h (CVSroot_cmdline): Declare. 3588 * root.c (CVSroot_cmdline): Define. 3589 * main.c (main): Set CVSroot_cmdline if the -d option is used. 3590 * import.c (import): If CVSroot_cmdline is not NULL, then mention 3591 an explicit -d option in the suggested merge command line. 3592 3593Wed Aug 19 00:28:50 1998 Noel Cragg <noel@swish.red-bean.com> 3594 3595 * recurse.c (do_dir_proc): don't muck with CVS/Root directories 3596 when running in server mode. 3597 (do_recursion): same. 3598 3599 * main.c (main): add the command-line option `m' to help debug the 3600 multiroot environment; it prints out the value of CVSROOT for each 3601 iteration through the main loop. Also, changed the main loop so 3602 that it gets executed only once when running in server mode (the 3603 server will only deal with a single CVSROOT). 3604 3605 * recurse.c (do_recursion): change default for 3606 PROCESS_THIS_DIRECTORY to true; we should always process a 3607 directory's contents unless there's an existing CVS/Root file with 3608 a different root than the current root to tell us otherwise. 3609 (do_dir_proc): same. 3610 3611Tue Aug 18 14:30:59 1998 Noel Cragg <noel@swish.red-bean.com> 3612 3613 * recurse.c (do_recursion): check the current value of CVS/Root 3614 and add it to our list of CVSROOTs if it doesn't exist. Decide 3615 whether or not to process files in this directory based based on 3616 the value of CURRENT_ROOT. 3617 (do_dir_proc): same. 3618 3619 * main.c: add two new globals -- root_directories and current_root 3620 -- which keep track of the values of CVSROOT we've seen and which 3621 value of CVSROOT we're currently processing. 3622 (main): put the main loop for stepping through cvsroot values 3623 here, since we might need to send command-specific arguments for 3624 every unique non-local cvsroot. Moved blocks of code around so 3625 that one-time initializations happen first (outside the loop) and 3626 the other stuff happens inside the loop. 3627 (set_root_directory): helper function. 3628 3629 * cvs.h: add prototypes for root_directories and current_root, two 3630 new globals for keeping track of multiple CVSROOT information. 3631 36321998-08-18 Jim Kingdon <kingdon@harvey.cyclic.com> 3633 3634 * sanity.sh: Don't assume that the shell leaves $^ unexpanded in 3635 an unquoted here-document (suggested by Bart Schaefer to help when 3636 zsh is the shell). 3637 36381998-08-17 Ian Lance Taylor <ian@cygnus.com> 3639 3640 * commit.c (checkaddfile): Don't call fix_rcs_modes. 3641 (fix_rcs_modes): Remove. 3642 36431998-08-16 Jim Kingdon <kingdon@harvey.cyclic.com> 3644 3645 * create_adm.c (Create_Admin): Don't condition traces on 3646 SERVER_SUPPORT; SERVER_SUPPORT shouldn't do (much of) anything 3647 independent of server_active. 3648 3649 * sanity.sh (binfiles3): New test, for yet another binary file 3650 bug (sigh). Thanks to Jason Aten for reporting this one. 3651 36521998-08-15 Jim Kingdon <kingdon@harvey.cyclic.com> 3653 3654 * rcscmds.c (call_diff_write_output): Update to reflect new 3655 calling convention for the write_output callback. 3656 36571998-08-15 Jim Meyering <meyering@ascend.com> 3658 3659 * update.c (merge_file): Warn about failed unlink when not due 3660 to ENOENT. 3661 3662 * server.h (CLIENT_SERVER_STR): New macro 3663 * create_adm.c (Create_Admin): Use it. 3664 * entries.c (Scratch_Entry, Register): Use it. 3665 * filesubr.c (copy_file, xchmod, rename_file, unlink_file): Use it. 3666 * history.c (history_write): Use it. 3667 * modules.c (do_module): Use it. 3668 * no_diff.c (No_Difference): Use it. 3669 * run.c (run_popen): Use it. 3670 * server.c (server_register): Use it. 3671 36721998-08-14 Jim Meyering <meyering@ascend.com> 3673 3674 * hardlink.c (lookup_file_by_inode): Use existence_error rather than 3675 comparing errno to ENOENT directly. 3676 3677 * client.c (copy_a_file): Unlink destination before doing copy. 3678 * sanity.sh (join-readonly-conflict): New test for this -- it would 3679 fail only in client/server mode. 3680 3681 * sanity.sh (rcsmerge-symlink-4): Don't use `test -L', it's not 3682 portable. Instead, match against the output of `ls -l'. 3683 (dotest tag8k-16): Simplify tag-construction code and at the same 3684 time, avoid using expr's `length' and `substr' operators. Not 3685 all versions of expr support those. 3686 36871998-08-14 Jim Kingdon <kingdon@harvey.cyclic.com> 3688 3689 * version.c: Bump version number to 1.10.0.1. 3690 3691Thu Aug 13 11:15:24 1998 Noel Cragg <noel@swish.red-bean.com> 3692 3693 * version.c: Change version number to 1.10 and name to `Halibut'. 3694 3695 * sanity.sh (rcslib): new tests to check behavior of symlinks in 3696 the repository. 3697 3698Wed Aug 12 15:39:38 1998 Noel Cragg <noel@swish.red-bean.com> 3699 3700 * main.c (lookup_command_attribute): the `annotate' command 3701 shouldn't require access to the repository. Add comment about 3702 commands that do not use the working directory. 3703 3704Mon Aug 10 10:26:38 1998 Noel Cragg <noel@swish.red-bean.com> 3705 3706 * version.c: Change version number to 1.9.30. 3707 3708Thu Aug 6 17:44:50 1998 Noel Cragg <noel@swish.red-bean.com> 3709 3710 * server.c (serve_rdiff): change the name of the command (for 3711 error reporting, etc.) from "patch" to "rdiff." 3712 (serve_remove): rename from "cvsremove" to "remove." 3713 3714 * main.c (lookup_command_attribute): the `rdiff' command shouldn't 3715 require write access to the repository. 3716 37171998-08-06 David Masterson of kla-tencor.com 3718 and Jim Kingdon 3719 3720 * commit.c (commit_filesdoneproc): Don't call strlen ("CVSROOT") 3721 from within the assert statement. Apparently HP's cc compiler on 3722 HPUX 10.20 has trouble with that. 3723 37241998-08-06 Jim Kingdon <kingdon@harvey.cyclic.com> 3725 3726 * rcs.c (RCS_checkin): When adding branch, if there is a lock on 3727 the branchpoint owned by someone else, leave it alone. This 3728 restores CVS 1.9 (RCS 5.7) behavior, fixing a core dump. 3729 * sanity.sh (reserved): New tests reserved-16 through reserved-19 3730 test for this fix. 3731 37321998-08-05 Jim Kingdon <kingdon@harvey.cyclic.com> 3733 3734 * sanity.sh (unedit-without-baserev): Use ${QUESTION} not "?". 3735 This makes it work with GNU expr 1.12 as well as 1.16. 3736 3737Sun Aug 2 20:27:44 1998 Noel Cragg <noel@swish.red-bean.com> 3738 3739 * mkmodules.c: add comment about TopLevelAdmin for the initial 3740 contents of CVSROOT/config. 3741 37421998-07-29 Jim Kingdon <kingdon@harvey.cyclic.com> 3743 3744 * rcs.c (RCS_checkin): Only try to call xreadlink if HAVE_READLINK 3745 is defined. 3746 3747Tue Jul 28 19:33:08 1998 Noel Cragg <noel@swish.red-bean.com> 3748 3749 * version.c: Change version number to 1.9.29. 3750 3751 * rcs.c (RCS_checkin): add code to follow symbolic links in the 3752 repository. 3753 3754Sun Jul 26 05:14:41 1998 Noel Cragg <noel@swish.red-bean.com> 3755 3756 * This set of changes reverts the code to pre-1.9.2 behavior and 3757 does not create CVS directories at top-level (except for the 3758 obvious "cvs co ."). Added a new configuration option to switch 3759 between 1.9 and 1.9.2 behavior. 3760 3761 * recurse.c (do_argument_proc): new function. 3762 (start_recursion): in the case that we've done a command from 3763 top-level but have no CVS directory there, the behavior should be 3764 the same as "cvs <cmd> dir1 dir2 dir3...". Make sure that the 3765 appropriate "Argument" commands are sent to the server by calling 3766 walklist with do_argument_proc. 3767 3768 * client.c (call_in_directory): only create the top-level CVS 3769 directory when we're checking out "." explicitly. The server will 3770 force creation of this directory in all other cases. 3771 3772 * checkout.c (checkout_proc): only generate the top-level 3773 directory when the TopLevelAdmin=yes. Also send a message to the 3774 client to do the same. 3775 3776 * parseinfo.c (parse_config): handle TopLevelAdmin option. Set 3777 top_level_admin. 3778 3779 * main.c: add new variable top_level_admin. 3780 * cvs.h: add extern definition for above. 3781 3782 * sanity.sh: since we're reverting to pre 1.9.2 behavior for 3783 top-level CVS directories, I needed to make changes to a bunch of 3784 tests that made assumptions about said directories. 3785 (preamble): make sure to add read and execute access to everything 3786 in TMPDIR before removing, since some tests make things read-only. 3787 (basicb-1a, basicb-1b, basicb-9a, basicb-9b): use dotest_fail 3788 because these tests check for the non-existant top-level CVS 3789 directory. 3790 (basicc-3, emptydir-6, emptydir-7, crerepos-6): use "rm -rf" so it 3791 won't complain when trying to remove the non-existant top-level 3792 CVS directory. 3793 (106.5): remove imported-f2-orig.tmp. 3794 (modules2-10, emptydir-4, abspath-1ba, abspath-1bb): cd into the 3795 directory where files exist before using the "add" command so cvs 3796 can find CVSROOT in CVS/Root. 3797 (cvsadm-2): look at a different CVS/Repository file, since the 3798 top-level one doesn't exist. 3799 (taginfo-3): create the directory in the repository directly 3800 rather than relying on the fact that the top-level CVS directory 3801 was created in a previous test. 3802 (serverpatch-6): update first-dir explicity, rather than relying 3803 on the non-existant top-level CVS/Entries file. 3804 (crerepos-18): look at CVS/Repository in a subdirectory rather 3805 than in the non-existant top-level CVS directory. 3806 (toplevel): add code to set TopLevelAdmin=yes. 3807 (toplevel2): new tests -- same as toplevel, but TopLevelAdmin=no. 3808 38091998-07-21 Jim Meyering <meyering@ascend.com> 3810 3811 * rcs.c (RCS_checkout): Hoist frees of rev and value. 3812 Warn and return 1 in several cases rather than exiting via 3813 `error (1, ...'. The latter could abort a multi-file commit 3814 in mid-stream, leaving stale locks in the repository. 3815 38161998-07-16 Jim Kingdon <kingdon@harvey.cyclic.com> 3817 3818 * build_src.com (rcscmds.c): Also look for include files in 3819 [-.diff], just like Ian's 1998-06-18 change to Makefile.in 3820 38211998-07-14 Jim Kingdon <kingdon@harvey.cyclic.com> 3822 3823 * tag.c (pretag_proc), rtag.c (pretag_proc): Don't pass RUN_REALLY 3824 to run_exec. This means that taginfo does not get executed if the 3825 global -n option is specified. Which makes it like loginfo, -i, 3826 -e, -o, -t, -u in modules, editinfo, and verifymsg and unlike 3827 commitinfo. The old behavior was pretty bad in the sense that it 3828 doesn't provide any way to log only the tags which actually 3829 happen. 3830 * sanity.sh (taginfo): New tests taginfo-11 to taginfo-13, for this. 3831 38321998-07-12 Jim Kingdon <kingdon@harvey.cyclic.com> 3833 3834 * sanity.sh (ann-id): Write the test so that it tests for the 3835 current (buggy) behavior. 3836 3837 * sanity.sh (taginfo): Also clean up cvsroot/first-dir. 3838 38391998-07-12 Jim Meyering <meyering@ascend.com> 3840 3841 * sanity.sh (ann-id): New (currently failing) test for bug in how 3842 rcs keywords are expanded in the output of `cvs annotate'. 3843 38441998-07-12 Jim Kingdon <kingdon@harvey.cyclic.com> 3845 3846 * sanity.sh (taginfo): Write the TESTDIR into the script rather 3847 than having the script look at the environment. This means that 3848 it will work if TESTDIR is set by sanity.sh as well as if 3849 sanity.sh finds TESTDIR in the environment. 3850 38511998-07-11 Jim Kingdon <kingdon@harvey.cyclic.com> 3852 3853 * tag.c (check_fileproc): Calculate the revision to be tagged the 3854 same way that tag_fileproc does. 3855 * sanity.sh (taginfo): New tests, test for this (before this fix, 3856 brtag had said 1.1 not 1.1.2.1). 3857 38581998-07-10 Jim Kingdon <kingdon@harvey.cyclic.com> 3859 3860 * sanity.sh (unedit-without-baserev): Also clean up "2" directory. 3861 38621998-07-08 Jim Kingdon <kingdon@harvey.cyclic.com> 3863 3864 * edit.c (unedit_fileproc): If the Baserev file is missing, don't 3865 get the working file from CVS/Base. The previous code could get 3866 you version 1.1 of the working file and put 1.2 in CVS/Entries. 3867 * sanity.sh (unedit-without-baserev): New tests test for this. 3868 38691998-07-02 Jim Kingdon <kingdon@harvey.cyclic.com> 3870 3871 * sanity.sh (unedit-without-baserev): Move the test itself to be 3872 in the same order as in the "tests" variable. 3873 38741998-07-02 Ian Lance Taylor <ian@cygnus.com> 3875 3876 * rcscmds.c: Don't include <stdarg.h> or <vasprintf.h>. Don't 3877 declare vasprintf. 3878 (call_diff_printf_output): Remove. 3879 (call_diff_stdout_callbacks): Don't initialize printf_output 3880 field--it has been removed from the interface. 3881 (call_diff_file_callbacks): Likewise. 3882 38831998-07-01 Jim Meyering <meyering@ascend.com> 3884 3885 * edit.c (unedit_fileproc): Handle the case in which base_get 3886 returns a NULL baserev. That happens when a file being `unedit'ed 3887 exists in the CVS/Base directory, but isn't listed in the CVS/Baserev 3888 file. The one case I've seen had no Baserev file at all. The symptom 3889 (if you're lucky) is a segmentation fault upon unedit. If you use 3890 SunOS4.1.4 for which printf prints NULL pointers as `(null)', your 3891 unedit command will complete normally, but it will have corrupted 3892 your CVS/Entries file and a subsequent update may result in an 3893 assertion failure, a core dump, and a stale lock in the repository. 3894 * sanity.sh (unedit-without-baserev): New test for this. 3895 38961998-07-01 Andy Mortimer of aeat.co.uk 3897 and Jim Kingdon <kingdon@harvey.cyclic.com> 3898 3899 * server.c (server_updated): Use a prototype if we are using them 3900 for declarations. 3901 39021998-06-29 Jim Kingdon <kingdon@harvey.cyclic.com> 3903 3904 * sanity.sh (commit-readonly): Protect keyword against expansion 3905 in sanity.sh itself. Keep the keyword in the file which we check 3906 in (or else this fails to test for the RCS_checkout change). 3907 39081998-06-27 Jim Meyering <meyering@ascend.com> 3909 3910 * rcs.c (RCS_checkout): If opening the local workfile fails due to 3911 lack of write access, try to chmod the file and retry the open. 3912 Before, a commit could fail part way through merely because the 3913 open to rewrite with newly expanded rcs keywords would fail. It's 3914 easy to make this happen if you use `cvs -r' or CVSREAD and you 3915 apply a patch to one of your read-only source files -- patch 3916 preserves the read-only setting for the file and your next commit 3917 will fail after committing that file, but before rewriting 3918 (checking out) your working copy. 3919 * sanity.sh (commit-readonly): New test for this. 3920 39211998-06-25 Jim Kingdon <kingdon@harvey.cyclic.com> 3922 3923 * update.c (patch_file): Update comments regarding context diffs 3924 to reflect diff library. 3925 39261998-06-23 Jim Kingdon <kingdon@harvey.cyclic.com> 3927 3928 * sanity.sh (modules4): Add tests for reversing the order of the 3929 "!first-dir/sdir" and "first-dir". 3930 39311998-06-23 Jim Kingdon <kingdon@harvey.cyclic.com> 3932 and Dave Wolfe@Motorola. 3933 3934 * sanity.sh (modes2): Touch the file before chmod'ing it. 3935 39361998-06-21 Ian Lance Taylor <ian@cygnus.com> 3937 3938 * update.c (merge_files): Revert changes of 1998-06-19. Instead, 3939 register a merged file with a dummy time stamp. Only set 3940 last_register_time if we need to. 3941 (join_file): Likewise. Always register a merged file, not just 3942 when the merge fails. 3943 39441998-06-21 Jim Kingdon <kingdon@harvey.cyclic.com> 3945 3946 * call_diff_write_output, call_diff_printf_output, 3947 call_diff_flush_output, call_diff_write_stdout, call_diff_error, 3948 call_diff_stdout_callbacks, call_diff_file_callbacks): Re-indent. 3949 39501998-06-19 Ian Lance Taylor <ian@cygnus.com> 3951 3952 * update.c (merge_file): Make sure the time stamp of the file is 3953 different from the time stamp we register in the Entries file. 3954 (join_file): Likewise. 3955 39561998-06-18 Ian Lance Taylor <ian@cygnus.com> 3957 3958 * rcscmds.c: Include <stdio.h>. Include either <stdarg.h> or 3959 <varargs.h>. Declare vasprintf. 3960 (call_diff_write_output): New static function. 3961 (call_diff_printf_output): New static function. 3962 (call_diff_flush_output): New static function. 3963 (call_diff_write_stdout): New static function. 3964 (call_diff_error): New static function. 3965 (call_diff_stdout_callbacks): New static variable. 3966 (call_diff_file_callbacks): New static variable. 3967 (call_diff): Don't sleep. Use a callback structure when calling 3968 the diff library. 3969 (call_diff3): Likewise. 3970 3971 * rcscmds.c: Include diffrun.h. 3972 (call_diff, call_diff3): Pass NULL callback parameter. 3973 (diff_run, diff3_run): Don't declare. 3974 * Makefile.in (rcscmds.o): New target, to use -I for diff 3975 directory. 3976 (zlib.o): Depend upon zlib.h. 3977 39781998-06-09 Mike Sutton@SAIC 3979 3980 Make it compile with Sun's bundled K&R C compiler: 3981 * rcs.c (count_delta_actions): Change to static to match 3982 declaration. 3983 * client.c (handle_wrapper_rcs_option): Rename error label to 3984 handle_error to avoid clash with function name. 3985 39861998-06-09 Jim Kingdon <kingdon@harvey.cyclic.com> 3987 3988 * rcs.c (RCS_delete_revs): If we are trying to delete all 3989 revisions, give an error rather than assertion failed. 3990 * sanity.sh (basicb): New tests basicb-o* test for this. 3991 39921998-06-04 Jim Kingdon <kingdon@harvey.cyclic.com> 3993 3994 * add.c (add): Only send "Directory" requests if we need to. 3995 39961998-06-02 Assar Westerlund <assar@sics.se> 3997 3998 * client.c: Check for HAVE_GSS_C_NT_HOSTBASED_SERVICE rather than 3999 assuming that GSS_C_NT_HOSTBASED_SERVICE is a macro. 4000 * server.c: Likewise. 4001 40021998-06-02 Jim Kingdon <kingdon@harvey.cyclic.com> 4003 4004 * fileattr.c (fileattr_read): Check for NULL return from strchr. 4005 * sanity.sh (devcom3): New test devcom3-10 checks for this. 4006 40071998-06-01 Assar Westerlund <assar@sics.se> 4008 and Ian Lance Taylor <ian@cygnus.com> 4009 4010 * client.c: If HAVE_GSSAPI_H, include <gssapi.h>. Only include 4011 <gssapi/gssapi.h> if HAVE_GSSAPI_GSSAPI_H. Only include 4012 <gssapi/gssapi_generic.h> if HAVE_GSSAPI_GSSAPI_GENERIC_H. 4013 (GSS_C_NT_HOSTBASED_SERVICE): Define if not defined. 4014 (connect_to_gserver): Use GSS_C_NT_HOSTBASED_SERVICE instead of 4015 gss_nt_service_name. 4016 * server.c: Same header file changes. 4017 (GSS_C_NT_HOSTBASED_SERVICE): Define if not defined. 4018 (gserver_authenticate_connection): Use GSS_C_NT_HOSTBASED_SERVICE 4019 instead of gss_nt_service_name. 4020 40211998-06-01 Jim Meyering <meyering@ascend.com> 4022 4023 * sanity.sh (tag8k): Add a test for the 1998-05-02 rcs.c bug fix. 4024 40251998-05-26 Jim Kingdon <kingdon@harvey.cyclic.com> 4026 4027 * rcs.c (annotate): Call tag_check_valid like the other functions 4028 which have a -r option. 4029 * sanity.sh (ann): New test ann-14 tests for this. 4030 40311998-05-24 Jim Kingdon <kingdon@harvey.cyclic.com> 4032 4033 * sanity.sh (importc): New tests importc-5 through importc-8 test 4034 for a (fairly obscure) regression from CVS 1.9. 4035 40361998-05-23 Jim Kingdon <kingdon@harvey.cyclic.com> 4037 4038 * sanity.sh (modules2): Add comment listing cvs release tests. 4039 (info): New test info-cleanup-0 tests "cvs -n release". 4040 4041 * rcs.c (rcsbuf_getid): Remove semicolon at end of #undef. I'm 4042 kind of surprised that compilers accepted this at all, but 4043 removing it squelches a warning for some compilers. 4044 4045 * version.c: Change version number to 1.9.28.1. 4046 4047 * Version 1.9.28. 4048 40491998-05-22 Jim Kingdon <kingdon@harvey.cyclic.com> 4050 4051 * rcs.c (RCS_cmp_file): Check for errors from CVS_FOPEN. This 4052 restores the CVS 1.9 behavior (fatal error if we can't open the 4053 file), and corrects an apparent oversight in Ian's 13 Apr 1997 4054 change. 4055 * sanity.sh (modes2): New test, tests for this. 4056 40571998-05-22 Ian Lance Taylor <ian@cygnus.com> 4058 4059 * server.c (server_updated): Correct test for whether to unlink 4060 the file. 4061 40621998-05-20 Jim Kingdon <kingdon@harvey.cyclic.com> 4063 4064 * wrapper.c (wrap_add): Disable -t/-f wrappers at least until the 4065 serious bug can be fixed. 4066 40671998-05-15 Jim Kingdon <kingdon@harvey.cyclic.com> 4068 4069 * checkout.c (checkout): Call server_pathname_check on the 4070 argument to "cvs co -d". 4071 * server.c (server_pathname_check): Add comment about how we could 4072 be handling absolute pathnames. 4073 * sanity.sh (abspath): Rewrite the tests which run "cvs co -d /foo" 4074 for remote, to reflect this. 4075 4076 * sanity.sh (abspath): Also do the "cannot rename" work-around for 4077 abspath-7d. 4078 40791998-05-13 Jim Kingdon <kingdon@harvey.cyclic.com> 4080 4081 * commit.c (commit_filesdoneproc): Free admin_dir when done with it. 4082 40831998-05-13 Jim Meyering <meyering@ascend.com> 4084 4085 * sanity.sh (editor): Change bogus sed command, `s/^/x&/g', to `s/^/x/'. 4086 The former exercised a bug in GNU sed-3.01-beta3. 4087 (emptydir-8): Add `Rebuilding administrative file database' message, 4088 since now it does that. 4089 * commit.c (commit_filesdoneproc): Pass only the admin directory 4090 pathname to mkmodules. 4091 Remove #if 0, now that it's fixed. 4092 4093 * status.c (cvsstatus): Rename from `status' to avoid shadowing 4094 lots of locals and parameters by the same name. 4095 * server.c (serve_status): Update caller. 4096 * main.c (cmds[]): Update table entry. 4097 * cvs.h: Update prototype. 4098 4099 * commit.c (commit_filesdoneproc): Remove trailing blanks. 4100 (commit) [CLIENT_SUPPORT]: Remove unnecessary (and local-shadowing) 4101 declaration of `err'. 4102 Rename global `tag' to `saved_tag' to avoid overshadowing `tag' 4103 parameters of three functions. 4104 Rename global `message' to `saved_message' to avoid overshadowing 4105 `message' parameter of a function. 4106 Rename global `ulist' to `saved_ulist' and move dcl up with others. 4107 41081998-05-12 Jim Kingdon <kingdon@harvey.cyclic.com> 4109 4110 * commit.c (commit_filesdoneproc): #if 0 the new code until it can 4111 be fixed. 4112 4113 * commit.c (commit_filesdoneproc): Add comment explaining last 4114 change. 4115 41161998-05-12 Jim Meyering <meyering@ascend.com> 4117 4118 * commit.c (commit_filesdoneproc): Call mkmodules not just when 4119 committing a file directly under CVSROOT, but also when committing 4120 files in subdirectories of CVSROOT. 4121 41221998-05-08 Jim Meyering <meyering@ascend.com> 4123 4124 * filesubr.c (xreadlink): NUL-terminate the symbolic link name. 4125 Use a much smaller initial buffer length. 4126 Test errno only if readlink fails. 4127 Use xstrdup then free the original link name so we don't waste space. 4128 41291998-05-02 Jim Meyering <meyering@ascend.com> 4130 4131 * rcs.c (rcsbuf_getword): Fix off-by-one error that would result in 4132 an abort (the first one in rcsbuf_getkey) when operating on on some 4133 ,v files with over 8192 bytes of tag and branch info. 4134 41351998-05-04 Jim Kingdon <kingdon@harvey.cyclic.com> 4136 4137 * sanity.sh (ann): New tests ann-12 and ann-13 test for specifying 4138 a numeric branch. 4139 41401998-05-02 Jim Kingdon <kingdon@harvey.cyclic.com> 4141 4142 * rcs.c: Add comments about getting rid of rcsbuf_getid, 4143 rcsbuf_getword, and rcsbuf_getstring. 4144 4145 * sanity.sh (abspath): Revise the workarounds to deal with exit 4146 status. 4147 41481998-04-30 Jim Kingdon <kingdon@harvey.cyclic.com> 4149 4150 * sanity.sh (abspath): Work around the "cannot rename" bug. 4151 41521998-04-27 Jim Kingdon <kingdon@harvey.cyclic.com> 4153 4154 * classify.c (Classify_File): Add comments about checking whether 4155 command name is "update". 4156 41571998-04-22 Jim Kingdon <kingdon@harvey.cyclic.com> 4158 4159 * version.c: Change version number to 1.9.27.1. 4160 4161 * Version 1.9.27. 4162 41631998-04-20 Jim Kingdon <kingdon@harvey.cyclic.com> 4164 4165 (This diff was run by devel-cvs and everyone seemed to like it). 4166 * diff.c (diff_file_nodiff): Make HEAD mean the head of the branch 4167 which contains the sticky tag, not the sticky tag itself. 4168 * rcs.c, rcs.h (RCS_branch_head): New function. 4169 * sanity.sh (head): Update for this changed behavior. 4170 41711998-04-19 Jim Kingdon <kingdon@harvey.cyclic.com> 4172 4173 * sanity.sh: Move emptydir tests from basicb to new test emptydir. 4174 This is because we now need a module definition to create Emptydir; 4175 "co -d" doesn't cut it anymore. 4176 41771998-04-17 Petri Virkkula 4178 4179 * server.c (mkdir_p): Ignore EROFS error (like for EACCES). 4180 41811998-04-16 Jim Kingdon <kingdon@harvey.cyclic.com> 4182 4183 * checkout.c (checkout_proc): Don't create directories above the 4184 last one specified in "co -d". 4185 (build_dirs_and_chdir): Revert Noel's change of 17 Feb 1998. 4186 (struct dir_to_build): New field just_chdir. 4187 (build_dirs_and_chdir): Test it. 4188 * sanity.sh (abspath): New tests abspath-7* test for a bug which 4189 we fix, in which CVS would create bogus "D/////" entries in 4190 CVS/Entries. 4191 (abspath): Revise abspath-3* tests to test for the fact that we no 4192 longer create directories above the last one specified in "co -d". 4193 I checked that CVS 1.9 gives an error on this, so changing this 4194 behavior back should be OK. 4195 (cvsadm-2d3): Likewise (also checked CVS 1.9 for this case). 4196 (cvsadm-2d3d): Likewise (also checked CVS 1.9 for this case). 4197 (cvsadm-2d{4,5,6,7,8}, cvsadm-N2d{3,4,5,6,7,8}): Adjust for new 4198 behavior (same case as cvsadm-2d3). 4199 (cvsadm-2d{4,5,6,7,8}d, cvsadm-N2d{3,4,5,6,7,8}d): Remove test 4200 (same case as cvsadm-2d3d). 4201 (cvsadm): For remote, skip most these tests. 4202 (abspath): When cleaning up, delete mod1 and mod2 rather than mod1 4203 twice (longstanding bug, apparently only becomes visible if you 4204 run the tests in a certain order). 4205 42061998-04-14 Wilfredo Sanchez <wsanchez@apple.com> 4207 4208 * rcs.c: variable "lockfile" was being referenced after being 4209 free'd. Bad. Moved the free() call down. 4210 42111998-04-12 Jim Kingdon <kingdon@harvey.cyclic.com> 4212 4213 * sanity.sh (rcs): Add test for annotate and the year 2000. 4214 4215 * server.c (do_cvs_command): If there are partial lines left when 4216 the child process is done, send them along. 4217 * sanity.sh (rcs, rcs2): Enable all tests for remote; tests for 4218 this fix. 4219 42201998-04-11 Jim Kingdon <kingdon@harvey.cyclic.com> 4221 4222 * client.c (client_senddate): Pass SDATEFORM not DATEFORM to 4223 sscanf. This fixes a Y2K bug. 4224 4225 * history.c (history, select_hrec): Change since_date from time_t 4226 to RCS format. Use the usual machinery (in particular, Make_Date 4227 and client_senddate) so that it will work on VMS too. 4228 * main.c, cvs.h (date_from_time_t): New function. 4229 * sanity.sh (history): New test, to test that this didn't break 4230 anything (also tests client_senddate fix). 4231 42321998-04-11 Norbert Kiesel <nk@iname.com> 4233 4234 * server.c (cvs_output_binary): Shut up "gcc -Wall" by removing 4235 unnecessary else if test. 4236 * server.c (check_password): Fix uninitialized memory read if 4237 shadow passwords are used. Also added some comments. 4238 * rcs.c (RCS_checkout): Make sure to call chown with -1 for uid or 4239 gid if they should not be changed 4240 42411998-04-10 Jim Kingdon <kingdon@harvey.cyclic.com> 4242 4243 * sanity.sh (rcs2): New test, tests for various Y2K cases. 4244 * rcs.c (getdelta): Value for "state" keyword is optional (bug 4245 discovered incidentally in writing rcs2 test). 4246 42471998-04-09 Jim Kingdon <kingdon@harvey.cyclic.com> 4248 4249 * filesubr.c, cvs.h (link_file): Remove; no longer used. 4250 42511998-04-08 Jim Kingdon <kingdon@harvey.cyclic.com> 4252 4253 * recurse.c (do_dir_proc): Restore update_dir rather than a 4254 computation which appears to, but does not necessarily, restore it 4255 (reported by various people; this fix is from Greg Hudson). 4256 * sanity.sh (importc): New test, tests for this fix. 4257 42581998-03-27 Jim Kingdon <kingdon@harvey.cyclic.com> 4259 4260 * rcs.c (RCS_lock): If the revision is already locked, give an 4261 error rather than dumping core. 4262 * sanity.sh (reserved): New test reserved-13c tests for this. 4263 42641998-03-25 Loren J. Rittle 4265 4266 * import.c (add_rev): Rewrite to use RCS_FLAGS_KEEPFILE option 4267 of RCS_checkin() to avoid damage to imported files instead of 4268 externally undoing damage after the fact. The side effect is 4269 that callers of add_rev() may now incrementally walk the 4270 entries of the current directory without seeing gratuitous 4271 changes to the directory structure (under at least one file 4272 system under at least one OS). 4273 42741998-03-18 Jim Kingdon <kingdon@harvey.cyclic.com> 4275 4276 * error.c (error): Save and restore errno. Should fix test case 4277 conflicts3-23 on SCO 5.0.2. Reported by Steve Cameron. 4278 4279 * sanity.sh (admin): Rename admin-26-o* to admin-26-*; the "o" 4280 stands for "cvs admin -o". Add comment about length of tests. 4281 Use ${PLUS}. 4282 42831998-03-05 Dan Wilder <dan@gasboy.com> 4284 4285 * Fix problem with cvs admin in which -ntag:branch 4286 option associated tag with the branch's head revision. 4287 Should have used branch number. Entailed in this fix, 4288 the following. 4289 4290 * Add new functions "RCS_exist_rev", "RCS_exist_tag", 4291 "RCS_tag2rev", and "RCS_valid_rev" to rcs.c. RCS_tag2rev 4292 is similar to RCS_gettag, but does less interpretation. 4293 4294 * Plug a small memory leak. 4295 4296 * Add tests admin-26 through admin-29 to sanity.sh, 4297 to test "cvs admin -n". 4298 42991998-03-17 Samuel Tardieu <sam@inf.enst.fr> 4300 4301 * server.c (server_register): protect dereferencing timestamp in 4302 the trace message when it is null, to avoid a segmentation fault. 4303 43041998-03-16 Jim Kingdon <kingdon@harvey.cyclic.com> 4305 4306 * options.h.in (MY_NDBM): Rewrite the comment explaining this 4307 option. It was not clear to everyone who "my" referred to, for 4308 example. 4309 4310 * hardlink.c (list_linked_files_on_disk): Remove unused variables 4311 err and p. 4312 (list_linked_files_on_disk): Add comment about memory allocation 4313 of return value. 4314 * rcs.c (rcsbuf_getword): Shut up gcc -Wall with a "return 0". 4315 (RCS_checkin): Remove unused variable fullpath. 4316 * sanity.sh (hardlinks): Remove comment about spurious warnings; 4317 the warnings are gone. 4318 43191998-03-12 Tim Pierce <twp@skepsis.com> 4320 4321 New functions for parsing and writing hardlink fields. 4322 * rcs.c [PRESERVE_PERMISSIONS_SUPPORT] (puthardlink_proc): New 4323 function. 4324 (putdelta) [PRESERVE_PERMISSIONS_SUPPORT]: Use it. 4325 (rcsbuf_getid, rcsbuf_getstring, rcsbuf_getword): New functions. 4326 (getdelta): Call them, storing `hardlinks' field in vnode->hardlinks. 4327 (RCS_reparsercsfile): When setting rdata->desc, xstrdup value 4328 rather than rcsbuf_valcopying it (due to changes in how getdelta 4329 handles keys and values in newphrases). 4330 4331 * sanity.sh (hardlinks): Use uglier filenames. Checking out 4332 hardlinked files no longer produces the same spurious diagnostics, 4333 so fix that test. 4334 (hardlinks-2.3): Renamed from hardlinks-2.2 (duplicate test name). 4335 4336 New infrastructure for managing hardlink lists internally... 4337 * hardlink.c, hardlink.h (list_linked_files_on_disk, 4338 compare_linkage_lists, find_checkedout_proc): New functions. 4339 * rcs.h (struct rcsversnode) [PRESERVE_PERMISSIONS_SUPPORT]: New 4340 member `hardlinks'. 4341 * update.c (special_file_mismatch): Get hardlinks from 4342 vp->hardlinks instead of from vp->other_delta. 4343 * rcs.c (free_rcsvers_contents): Comment about freeing hardlinks 4344 member. 4345 (RCS_checkout) [PRESERVE_PERMISSIONS_SUPPORT]: Get hardlinks from 4346 vers->hardlinks list instead of vers->other_delta. 4347 4348 ... and removed obsolete code from earlier revs. 4349 * hardlink.c, hardlink.h (list_files_linked_to, 4350 cache_hardlinks_proc, list_files_proc, set_hardlink_field_proc): 4351 Removed. 4352 * hardlink.h: Removed `links' member from hardlink_info struct. 4353 * commit.c (commit): Remove the call to cache_hardlinks_proc. 4354 (check_fileproc) [PRESERVE_PERMISSIONS_SUPPORT]: Removed reference 4355 to hlinfo->links. 4356 * hardlink.c (update_hardlink_info): Same. 4357 * update.c (get_linkinfo_proc): Same. 4358 4359 * rcs.c (RCS_checkout) [PRESERVE_PERMISSIONS_SUPPORT]: Use 4360 vp->hardlinks and find_checkedout_proc to find recently-updated 4361 files that may be hardlinked. 4362 * update.c (special_file_mismatch): Use List * structures and 4363 compare_linkage_lists for rev1_hardlinks and rev2_hardlinks. 4364 43651998-03-16 Larry Jones <larry.jones@sdrc.com> 4366 4367 * server.c (check_password): If shadow passwords are supported but no 4368 entry is found in the shadow file, check the regular password file. 4369 43701998-03-07 Jim Kingdon <kingdon@harvey.cyclic.com> 4371 4372 * sanity.sh: Rename permissions test to perms since that is what 4373 each of its individual tests are named. 4374 * sanity.sh (perms symlinks hardlinks): Change CVSROOT to 4375 CVSROOT_DIRNAME where appropriate. 4376 (perms symlinks hardlinks): Disable/adjust the meat of the tests for 4377 remote. 4378 (symlinks): Link to ${TESTDIR}/fumble rather than 4379 /fumble/mumble/grumble. We shouldn't be making assumptions about 4380 what might exist in random directories outside ${TESTDIR}. 4381 * hardlink.c (cache_hardlinks_proc): Add comment about trimming 4382 whitespace. 4383 43841998-03-07 Tim Pierce <twp@skepsis.com> 4385 4386 * rcs.c (RCS_checkout): Negation bug when checking out symlinks: 4387 existence_error should be !existence_error. 4388 * sanity.sh (permissions symlinks hardlinks): New tests, for 4389 PreservePermissions. 4390 43911998-03-04 Jim Kingdon <kingdon@harvey.cyclic.com> 4392 4393 * version.c: Change version number to 1.9.26.1. 4394 4395 * Version 1.9.26. 4396 4397 * entries.c, cvs.h (Entries_Open): New argument update_dir; use it 4398 in error message. 4399 * add.c, checkout.c, client.c, find_names.c, import.c, recurse.c, 4400 update.c: Pass it (as NULL except in call_in_directory). 4401 * entries.c (Subdirs_Known): Just return if there is no CVSADM 4402 directory (as in subdir_record). 4403 * sanity.sh (conflicts3): New tests conflicts3-20a and 4404 conflicts3-23 test for these fixes. 4405 4406 * commit.c (commit): Only set up hardlist if preserve_perms. 4407 4408 * commit.c, import.c, no_diff.c, parseinfo.c, rcs.c, rcscmds.c, 4409 update.c: Omit the preserve_perms code if 4410 PRESERVE_PERMISSIONS_SUPPORT is not defined. Much of that code 4411 won't even compile on non-unix systems. 4412 4413 * hardlink.c, hardlink.h: Use the 'standard' copyright (as found 4414 in server.c). 4415 * commit.c, rcs.c: Minor whitespace changes to Tim's submission. 4416 * commit.c (check_fileproc), update.c (get_linkinfo_proc): Remove 4417 unused variable delta. 4418 * hardlink.c (set_hardlink_field_proc), update.c 4419 (get_linkinfo_proc): Return a value rather than falling off the 4420 end of the function. 4421 44221998-03-02 Tim Pierce <twp@skepsis.com> 4423 4424 * update.c (special_file_mismatch): Compare the hard links of the 4425 two revisions. 4426 4427 * rcs.c (RCS_checkout): 4428 4429 * hardlink.c, hardlink.h: New files. 4430 (hardlink_info): New struct. 4431 (hardlist, working_dir): New variables. 4432 (list_files_proc, cache_hardlinks_proc, set_hardlink_field_proc, 4433 lookup_file_by_inode, update_hardlink_info, list_files_linked_to): 4434 New functions. 4435 4436 * Makefile.in (SOURCES): Add hardlink.c. 4437 (OBJECTS): Add hardlink.o. 4438 (HEADERS): Add hardlink.h. 4439 * commit.c: Include hardlink.h. 4440 (commit): Save the working directory before recursing. Walk the 4441 hardlink list, calling set_hardlink_field_proc on each node. 4442 (check_fileproc): Add each file's link information to hardlist. 4443 * rcs.c: Include hardlink.h. 4444 (RCS_checkin): Save list of hardlinks in delta node. 4445 (RCS_checkout): Look up the file's `hardlinks' delta field, and 4446 see if any of the files linked to it have been checked out 4447 already. Link to one of those files if so. 4448 * update.c: Include hardlink.h. 4449 (get_linkinfo_proc): New function. 4450 (do_update): Extra recursion to collect hardlink info. 4451 (special_file_mismatch): Reparse the RCS file if necessary. 4452 4453 fsortcmp is now used by several files, so let's make it extern. 4454 * hash.c, hash.h (fsortcmp): New function. 4455 * find_names.c (fsortcmp): Removed. 4456 * lock.c (fsortcmp): Removed. 4457 44581998-03-03 Jim Kingdon <kingdon@harvey.cyclic.com> 4459 4460 * sanity.sh (conflicts3): New tests conflicts3-14a, 4461 conflicts3-14b, and conflicts3-21, conflicts3-22 test that we can 4462 skip over a working directory with a CVSADM directory missing. 4463 44641998-02-26 Jim Kingdon <kingdon@harvey.cyclic.com> 4465 4466 * sanity.sh (conflicts3): Tests conflicts3-16 and conflicts3-20 4467 test that we include update_dir in messages. Rename test 4468 conflicts3-14 to fix typo. 4469 4470Sun Feb 22 23:14:25 1998 Steve Cameron <steve.cameron@compaq.com> 4471 and Ian Lance Taylor <ian@cygnus.com> 4472 4473 * update.c (tag_update_dir): New static variable. 4474 (update_dirent_proc): If no tag or date were specified when 4475 creating a subdirectory, use the tag and/or date of the parent 4476 directory. 4477 (update_dirleave_proc): If we set the tag and/or date in 4478 update_dirent_proc, reset them when we leave the directory. 4479 * sanity.sh (branches2): New set of tests for above patch, and 4480 related behaviour. 4481 4482Sun Feb 22 13:31:51 1998 Ian Lance Taylor <ian@cygnus.com> 4483 4484 * commit.c (lock_RCS): Don't call RCS_rewrite. 4485 4486 * update.c (patch_file): If the revision is dead, let 4487 checkout_file handle it. 4488 * sanity.sh (death2): Add test for above patch: add 4489 death2-10a, death2-10b, death2-13a, and adjust 4490 death2-{2,4,5,11,14,diff-11,diff-12,19}. 4491 4492 * cvs.h (RCS_FLAGS_KEEPFILE): Define. 4493 * rcs.c (RCS_checkin): If RCS_FLAGS_KEEPFILE is set in the flags 4494 parameter, don't unlink the working file. 4495 * checkin.c (Checkin): Don't copy the file. Instead pass 4496 RCS_FLAGS_KEEPFILE to RCS_checkin, and only check the file out 4497 again if it has changed. 4498 44991998-02-21 Jim Kingdon <kingdon@harvey.cyclic.com> 4500 4501 * rcs.c (rcs_internal_unlockfile, RCS_rewrite): Don't assume errno 4502 means anything just because ferror is set. 4503 4504Sat Feb 21 20:02:24 1998 Ian Lance Taylor <ian@cygnus.com> 4505 4506 * Makefile.in (clean): Change "/bin/rm" to "rm". 4507 4508 * buffer.c (buf_append_buffer): Correct typo in comment. 4509 * rcs.c (RCS_putadmin): Likewise. 4510 4511Fri Feb 20 17:53:06 1998 Ian Lance Taylor <ian@cygnus.com> 4512 4513 * rcs.c (rcs_internal_unlockfile): Pass errno when calling error 4514 because ferror is true. 4515 45161998-02-20 Jim Kingdon <kingdon@harvey.cyclic.com> 4517 4518 * sanity.sh (abspath): Don't assume that we can't write to /; this 4519 is the kind of thing that is sure to break sooner or later 4520 (especially on Windows). 4521 4522 * sanity.sh: Add summary of which modules tests are which (at 4523 "modules"). Move cvsadm, abspath, and toplevel next to modules. 4524 Add comments to clarify the structure (such as it is). 4525 4526Fri Feb 20 12:47:14 1998 Larry Jones <larry.jones@sdrc.com> 4527 4528 * admin.c (admin_fileproc): Better fix for -b. 4529 4530 * rcs.c (RCS_whatbranch): Back out previous change. 4531 (RCS_getversion): Ditto. 4532 (RCS_setbranch): Treat an empty revision string like a null pointer. 4533 45341998-02-18 Jim Kingdon <kingdon@harvey.cyclic.com> 4535 4536 * rcs.c (RCS_whatbranch): Fix indentation. 4537 4538 * patch.c (patch_fileproc): Check for errors from fclose; check 4539 for errors from fopen properly. 4540 4541Wed Feb 18 16:03:37 1998 Larry Jones <larry.jones@sdrc.com> 4542 4543 * admin.c (admin_fileproc): Convert -b argument from symbolic name 4544 to revision number before storing in the RCS file. 4545 * rcs.c (RCS_whatbranch): Allow numeric as well as symbolic revision. 4546 (RCS_getversion): Take advantage of above. 4547 * sanity.sh (admin): Add/revise/renumber admin-10c, admin-11a, 4548 admin-12, and admin-12a to check above. 4549 4550 * commmit.c (lock_RCS): Minor clean-up. 4551 4552 * sanity.sh (abspath-6a): Don't depend on the sepcific contents of 4553 CVSROOT, it depends on which other tests have been run. 4554 4555Wed Feb 18 01:56:04 1998 Ian Lance Taylor <ian@cygnus.com> 4556 4557 * rcs.c (putsymbol_proc): Use putc and fputs rather than fprintf. 4558 (RCS_putadmin): Don't call RCS_symbols if the symbols have not yet 4559 been converted to a list. 4560 4561 * rcs.c (rcsbuf_cache, rcsbuf_cache_open, rcsbuf_cache_close): New 4562 static functions to avoid closing and reopening the RCS file. 4563 (cached_rcs, cached_rcsbuf): New static variables. 4564 (RCS_parse): Call rcsbuf_cache_close. Don't call fclose. 4565 (RCS_parsercsfile): Likewise. 4566 (RCS_parsercsfile_i): Call rcsbuf_cache rather than 4567 rcsbuf_close. Call fclose on error. Remove comment about 4568 inefficiency of opening file twice. 4569 (RCS_reparsercsfile): Call rcsbuf_cache_open rather than fopen and 4570 rcsbuf_open. Call rcsbuf_cache rather than rcsbuf_close and 4571 fclose. 4572 (RCS_fully_parse, RCS_checkout, RCS_deltas): Likewise. 4573 (RCS_rewrite): Likewise. 4574 (RCS_checkin): Call rcsbuf_cache_close. 4575 4576 * rcs.c (RCS_copydeltas): Fix code which checks for an extra 4577 newline in buffered data. 4578 4579 * rcs.c (rcsbuf_getkey): Save an indirection by using start rather 4580 than *valp when trimming trailing whitespace from value. 4581 4582 * rcs.c (rcsbuf_get_buffered): New static function. 4583 (RCS_copydeltas): After we have done all the required special 4584 actions, and inserted any new revision, just copy the file bytes 4585 directly, rather than interpreting all the data. 4586 (count_delta_actions): New static function. 4587 * sanity.sh (rcs): Add rcs-6a and rcs-6b to commit a new branch 4588 revision, to force CVS to interpret all the data, rather than just 4589 copying it. Adjust rcs-5 to add a branch tag. Adjust rcs-8a and 4590 rcs-14 for the changes created by rcs-6b. 4591 4592Tue Feb 17 18:34:01 1998 Ian Lance Taylor <ian@cygnus.com> 4593 4594 * sanity.sh (cvsadm, diffmerge2): Remove directories at the end of 4595 the test. 4596 4597 * import.c (expand_at_signs): Rewrite to use memchr and fwrite 4598 rather than putc. 4599 4600 Rewrite RCS file reading routines for speed: 4601 * rcs.c (struct rcsbuffer): Define. 4602 (rcsbuf_open, rcsbuf_close, rcsbuf_getkey, rcsbuf_getrevnum, 4603 rcsbuf_fill, rcsbuf_valcopy, rcsbuf_valpolish, 4604 rcsbuf_valpolish_internal, rcsbuf_ftell): New static functions. 4605 (getrcskey, getrcsrev, getrevnum): Remove. 4606 (many functions): Change to use new rcsbuf functions instead of 4607 old getrcskey/getrcsrev/getrevnum functions. 4608 (RCS_reparsercsfile): Add rcsbufp parameter. Change all callers. 4609 (RCS_deltas): Add rcsbuf parameter. Change all callers. 4610 (getdelta): Change fp parameter to rcsbuf parameter. Change all 4611 callers. 4612 (RCS_getdeltatext): Add rcsbuf parameter. Change all callers. 4613 (RCS_copydeltas): Add rcsbufin parameter. Change all callers. 4614 * rcs.h (RCS_reparsercsfile): Update declaration. 4615 * admin.c (admin_fileproc): Update calls to RCS_reparsercsfile for 4616 new parameters. 4617 46181998-02-17 Jim Kingdon <kingdon@harvey.cyclic.com> 4619 4620 * sanity.sh (toplevel): Also clean up second-dir (not a new 4621 bug, but triggered by running tests as "toplevel abspath"). 4622 4623 * create_adm.c (Create_Admin): Just print update_dir to tell the 4624 user where we are; not the whole xgetwd. Cleaner than 4625 Noel's change (which also had problems in errno handling). 4626 * sanity.sh (toplevel-12): Update accordingly. 4627 4628Tue Feb 17 02:32:21 1998 Noel Cragg <noel@swish.red-bean.com> 4629 4630 [These mods make "checkout" work with "-d /absolute/pathname" 4631 once again.] 4632 4633 * checkout.c (checkout_proc): the -d flag on the command line 4634 should override the -d flag in the modules file if the latter is 4635 an absolute path. The loop that assembles the list of directories 4636 to build has been reorganized slightly to prepare for rewriting 4637 with last_component rather than assuming '/' as a path separator. 4638 Also added to that loop was some code to handle absolute 4639 pathnames. 4640 (build_dirs_and_chdir): add a new argument that tells this routine 4641 whether or not to check before it creates and populates 4642 directories or not. 4643 4644 * filesubr.c (last_component): return the top-level directory when 4645 asked about the top-level directory. 4646 4647 * sanity.sh (toplevel-12): change test to reflect the new style of 4648 this error message. 4649 4650 * create_adm.c (Create_Admin): include the directory in the error 4651 message. 4652 46531998-02-16 Jim Kingdon <kingdon@harvey.cyclic.com> 4654 4655 * diff.c (diff_fileproc), import.c (import, add_rcs_file), rcs.c 4656 (RCS_cmp_file): Don't ignore errors from CVS_UNLINK and fclose. 4657 4658 * patch.c (patch_fileproc): Check for errors from fclose; if we 4659 get -1 from getline check for end of file vs. error. 4660 4661 * rcs.c (RCS_checkout): Comment return value (0/1, not -1). 4662 * commit.c, diff.c, mkmodules.c, patch.c, rcs.c, update.c: Update 4663 to match this convention. Don't suppress errors based on 4664 quiet or really_quiet variables. 4665 4666 Fix a longstanding bug which also makes stamps-8kw in make 4667 remotecheck work again (it stopped working with Ian's 8 Feb 98 4668 checkin): 4669 * client.c, client.h (change_mode): If new argument respect_umask 4670 is set, then honor the umask. 4671 * client.c, server.c: Update callers. 4672 4673 Cleanups to Tim's checkin: 4674 * rcs.c (RCS_checkout): Use existence_error not ENOENT. 4675 * commit.c (checkaddfile): Remove comment about whether we want to 4676 check for errors from fclose; there is no reason not to. 4677 * rcs.c (RCS_checkout), update.c (special_file_mismatch): sscanf 4678 on %ld requires an unsigned long, not a dev_t. 4679 * update.c (special_file_mismatch): Remove unused variable 4680 check_devnums. 4681 * mkmodules.c (config_contents): Between two settings, use a blank 4682 line not a "#" line. 4683 46841998-02-15 Tim Pierce <twp@skepsis.com> 4685 4686 [This is the code as submitted. I'll be checking in my cleanups 4687 shortly. This work sponsored by Abbott Labs. -kingdon] 4688 4689 Support for device special files, symbolic links, user and group 4690 ownerships, and file permissions. 4691 4692 * parseinfo.c: (parse_config): Handle new config variable 4693 `PreservePermissions'. 4694 * mkmodules.c (config_contents): Add new PreservePermissions var. 4695 4696 * rcs.c, rcs.h (preserve_perms): New variable. 4697 (RCS_checkout, RCS_checkin): Support for newphrases `owner', 4698 `group', `permissions', `special', `symlink'. 4699 (RCS_checkout): If `workfile' and `sout' are symlinks, remove them 4700 before attempting to open them for writing. 4701 * import.c (add_rcs_file): Support for newphrases. Do not attempt 4702 to read data from special files or symlinks. Error message 4703 `cannot fstat' is now `cannot lstat'. 4704 4705 New metrics for deciding when two files are different: 4706 4707 * update.c, cvs.h (special_file_mismatch): New function. 4708 (merge_file, join_file): Call it. 4709 * no_diff.c (No_Difference): Call it. 4710 4711 * filesubr.c (xcmp): Consider files to be different if they are of 4712 different types; if they are symlinks which link to different 4713 pathnames; or if they are devices with different device numbers. 4714 Error message is now `cannot lstat'. 4715 * rcs.c (RCS_cmp_file): Use `xcmp' to compare files, simplifying 4716 the special handling for nonregular files. 4717 4718 * rcscmds.c (diff_exec, diff_execv): If asked to obtain diffs for 4719 special files, report no differences. 4720 4721 Miscellaneous changes to make special file support possible: 4722 4723 * commit.c (fix_rcs_modes): Don't attempt to `fix' permissions on 4724 a symlink. 4725 4726 * import.c (add_rcs_file): Don't try to close fpuser if it was 4727 never opened (e.g. when operating on a symlink). 4728 4729 * filesubr.c, cvs.h (isdevice, xreadlink): New functions. 4730 * filesubr.c (copy_file): Handle special files and symlinks. 4731 (xchmod): Do nothing if `preserve_perms' is set. 4732 4733 * commit.c (checkaddfile): Replace `copy_file (DEVNULL, ...)' with 4734 fopen/fclose calls. Copy_file no longer attempts to read data 4735 from device files. 4736 4737 * filesubr.c (islink): Use CVS_LSTAT, not lstat. 4738 * vers_ts.c (time_stamp, time_stamp_server): Use CVS_LSTAT, not stat, 4739 to get symlinks right. 4740 * subr.c (get_file): Same. Don't attempt to read from special 4741 files or symlinks. 4742 4743 * classify.c (Classify_File): Doc fix. 4744 4745Fri Feb 13 17:07:32 1998 Eric Mumpower <nocturne@cygnus.com> 4746 and Ian Lance Taylor <ian@cygnus.com> 4747 4748 Fix some file system ordering problems found on Irix 6.4: 4749 * sanity.sh (basic2): Use dotest_sort for test 56. 4750 (importb): Use dotest_sort for tests importb-1 and importb-2. 4751 (head): Use dotest_sort for test head-1. 4752 4753Thu Feb 12 15:15:33 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 4754 4755 * import.c (add_rcs_file): If add_logfp is NULL, don't call fperror. 4756 475711 Feb 1998 Andy Piper 4758 4759 * server.c (cvs_output_binary): Use OPEN_BINARY not _O_BINARY. 4760 4761Mon Feb 9 18:34:39 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 4762 4763 Tweaks to Ian's checkin: 4764 * update.c (merge_file): Remove comment about sending file to 4765 client before the message. It doesn't apply to this code any more 4766 (it does apply to checkout_file, but I'm not sure it is important 4767 to have such a comment anyway). 4768 * buffer.c (buf_default_memory_error, buf_length): Reindent. 4769 * server.h: Declare struct buffer before use. 4770 4771Mon Feb 9 21:05:28 1998 Ian Lance Taylor <ian@cygnus.com> 4772 4773 * rcs.c (RCS_fully_parse): Call getrevnum rather than getrcsrev. 4774 Don't bother with ungetc. 4775 4776 * rcs.c (getrcsrev): Rewrite to simply call getrevnum. 4777 4778Sun Feb 8 15:49:39 1998 Ian Lance Taylor <ian@cygnus.com> 4779 4780 Don't have the server check out a revision into a file and then 4781 immediately read the file; just read into a buffer instead. 4782 * update.c: Include buffer.h. 4783 (update_fileproc): Let checkout_file call server_updated. 4784 (checkout_file): Add merging and update_server parameters. Change 4785 all callers. If server_active, don't mess with backup files. If 4786 server_active, copy the revision into a buffer rather than a file 4787 when possible. If update_server, call server_updated. Fix 4788 handling of error status. 4789 (checkout_to_buffer): New static function used by checkout_file. 4790 (merge_file): Let checkout_file call server_updated. 4791 (join_file): Likewise. 4792 * server.c (server_updated): Change file_info parameter to mode 4793 parameter. Add filebuf parameter. Change all callers. If 4794 filebuf is not NULL, don't read the file. 4795 * server.h (server_updated): Update declaration. 4796 * buffer.c (buf_free): New function. 4797 (buf_append_buffer): New function. 4798 (buf_length): New function. 4799 * buffer.h (buf_free, buf_append_buffer, buf_length): Declare. 4800 4801 * buffer.c: (buf_initialize): If the memory parameter is NULL, use 4802 buf_default_memory_error. 4803 (buf_default_memory_error): New static function. 4804 * buffer.h (BUFMEMERRPROC): Define typedef. 4805 * client.c (buf_memory_error): Remove. 4806 (start_server): Pass NULL rather than buf_memory_error as buffer 4807 memory error function. 4808 4809Sat Feb 7 16:27:30 1998 Ian Lance Taylor <ian@cygnus.com> 4810 4811 * rcs.c (RCS_parsercsfile_i): Read the expand keyword from the RCS 4812 file. We do this because Version_TS calls RCS_getexpand in many 4813 common cases, and we don't want to reopen the file just for that. 4814 (RCS_reparsercsfile): Skip the expand keyword. 4815 (RCS_getexpand): Don't call RCS_reparsercsfile. 4816 4817 * rcs.c (STREQ): New macro. In all string equality tests in the 4818 file, replace strcmp with STREQ. 4819 4820Fri Feb 6 16:14:49 1998 Ian Lance Taylor <ian@cygnus.com> 4821 4822 * update.c (checkout_file): If we've already removed the backup 4823 file once, don't try to remove it again. 4824 4825 * filesubr.c (unlink_file_dir): Call stat rather than isdir, and 4826 don't call unlink if the file does not exist. 4827 4828 * myndbm.c (mydbm_load_file): Rename line_len to line_size. Call 4829 getstr rather than getline, to avoid any confusion between \n and 4830 \012. Use the line length returned by getstr rather than calling 4831 strlen. Remove local variable len. 4832 4833Fri Feb 6 13:23:46 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 4834 4835 * rcs.c (RCS_parsercsfile_i): Don't suppress errors on 4836 really_quiet. 4837 (RCS_parsercsfile_i, RCS_reparsercsfile, RCS_fully_parse, 4838 RCS_deltas, getdelta, getrcskey, RCS_getdeltatext): 4839 Check for errors. Include errno in error messages. Include 4840 filename in error messages. Pass new argument to getrcskey. 4841 (getrcskey): New argument NAME, so we can report errors ourself. 4842 4843Fri Feb 6 12:10:18 1998 Ian Lance Taylor <ian@cygnus.com> 4844 4845 * rcs.c (RCS_reparsercsfile): Don't use ftell/fseek; just keep 4846 track of whether we've already read a key/value pair. Use sizeof 4847 rather than strlen for a constant string. Pass the current key 4848 and value to getdelta, and get them back as well. 4849 (getdelta): Add keyp and valp parameters. Don't use ftell/fseek; 4850 just return the key/value pair to the caller. Don't allocate 4851 vnode before we know we need it. Check one getrcskey return 4852 value. Use sizeof rather than strlen for a constant string. 4853 4854 * rcs.c (getrcskey): Correct comment describing return value. 4855 4856Thu Feb 5 22:51:13 1998 Ian Lance Taylor <ian@cygnus.com> 4857 4858 * subr.c (getcaller): Cache the result, so that we don't keep 4859 searching the password file. 4860 4861Wed Feb 4 23:31:08 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 4862 4863 * rcs.c (max_rev): Don't prototype. Interesting that noone 4864 complained about this until now. 4865 48664 Feb 1998 Jim Kingdon 4867 4868 * rcs.c (RCS_checkin): When adding a new file, read it 4869 with "rb" if binary. 4870 4871Fri Jan 30 11:32:41 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 4872 4873 * sanity.sh: Also test "first-dir" as the regexp in loginfo in 4874 addition to ALL. 4875 4876 * main.c (main): Update year in copyright notice to 1998. 4877 4878Thu Jan 29 00:01:05 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 4879 4880 * version.c: Change version number to 1.9.25. 4881 4882 * Version 1.9.24. 4883 4884 * sanity.sh (multibranch2): File file2 and tests multibranch2-13 4885 through multibranch2-15 test a slightly different case than the 4886 rest of multibranch2. 4887 4888 * mkmodules.c (cvswrappers_contents): Rewrite. The text didn't 4889 describe -k and had various other problems. 4890 489128 Jan 1998 Karl Fogel and Jim Kingdon 4892 4893 New feature to let server tell client about wrappers. 4894 * client.h (struct response): Add comment about args being 4895 '\0' terminated when passed to handle_* functions. 4896 * client.c (start_server): send "wrapper-sendme-rcsOptions" to 4897 server iff supported. 4898 (responses): new response "Wrapper-rcsOption"; allows the server 4899 to send certain lines from its cvswrappers file. 4900 (handle_wrapper_rcs_option): new func, handles "Wrapper-rcsOption" 4901 response from server. 4902 * server.c (serve_wrapper_sendme_rcs_options): new func, sends 4903 server side CVSROOT/cvswrappers rcs option lines to client. 4904 (requests): new request "wrapper-sendme-rcsOptions"; if received, 4905 we know we can send "Wrapper-rcsOption..." to the client. 4906 * wrapper.c (wrap_unparse_rcs_options): new func; repeated calls 4907 step down the wrapper list returning rcs option entries, but 4908 repackaged as cvswrappers lines. 4909 (wrap_setup): new guard variable `wrap_setup_already_done'; if 4910 this function has run already, just return having done nothing. 4911 Add comment concerning environment variable. 4912 * cvs.h: declare wrap_unparse_rcs_options(). 4913 4914Tue Jan 27 18:27:19 1998 Ian Lance Taylor <ian@cygnus.com> 4915 4916 * rtag.c (rtag_dirproc): Call ignore_directory, and skip the 4917 directory if it returns true. 4918 * sanity.sh (modules4): New set of tests to test some aspects of 4919 excluding directories in the modules file, including the above 4920 patch. 4921 4922Thu Jan 22 10:05:55 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 4923 4924 * server.c (serve_kopt): Check for length of arg. Based on 4925 inspection of the code, plugs a buffer overrun security hole which 4926 was introduced Monday. 4927 4928 * server.c (serve_is_modified): Don't call xmalloc; we aren't 4929 allowed to call error() here. Remove duplicate (and potentially 4930 confusing) variable 'p'. 4931 4932 * log.c (log_fileproc): Look for first character of version 4933 '0' AND second character '\0', rather than OR. I didn't try to 4934 come up with a test case but this looks like a simple thinko 4935 (albeit one which would show up in obscure cases if at all). 4936 4937Tue Jan 20 19:37:53 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 4938 4939 * client.c (send_dirent_proc): Don't send nonexistent directories 4940 unless noexec. 4941 * sanity.sh (modules2): New tests modules2-13 through modules2-18 4942 test for this fix. 4943 4944Mon Jan 19 11:17:51 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 4945 4946 * server.c (serve_kopt): New function. 4947 (requests): Add "Kopt" request. 4948 (kopt): New variable. 4949 (serve_is_modified): Write kopts from there into entries. 4950 (serve_modified): Call serve_is_modified so we do the same. 4951 Declare serve_modified and serve_is_modified. 4952 * vers_ts.c (Version_TS): Set ->options even for a dummy ("D" 4953 timestamp) entry. 4954 * import.c (process_import_file): Check for -k options. 4955 * client.c (client_process_import_file): Send Kopt request. 4956 (send_fileproc): Likewise, for "cvs add". 4957 * sanity.sh: Enable test binwrap3-sub2-add1 for remote. 4958 Add -I .cvswrappers to binwrap3-2a; adjust binwrap3-2d 4959 accordingly. Tests for this fix. 4960 4961Mon Jan 19 08:48:59 1998 Larry Jones <larry.jones@sdrc.com> 4962 4963 * sanity.sh (errmsg1): Append test 168 output to log file. 4964 4965Sat Jan 17 08:01:51 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 4966 4967 * sanity.sh (ann-10, ann-11): Don't make assumptions about the 4968 number of characters in the username. 4969 4970Fri Jan 16 15:34:02 1998 Larry Jones <larry.jones@sdrc.com> 4971 4972 * diff.c (diff_fileproc): Free label1 and label2 when finished. 4973 4974 * edit.c (editor_set): Don't free edlist until after we're 4975 done using it. 4976 4977 * rcscmds.c (RCS_merge): Free xrev1 and xrev2 when finished. 4978 4979 * subr.c (make_message_rcslegal): Don't access uninitialized or 4980 unallocated memory; only strip trailing blank lines. 4981 * sanity.sh (log-3): Enhance to test this fix. 4982 4983Fri Jan 16 12:41:03 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 4984 4985 * sanity.sh: Add keywordlog to list of tests run by default. 4986 4987 * rcs.c (RCS_deltas): Don't call cvs_output if length is zero; 4988 passing zero length to cvs_output does not mean output zero 4989 bytes. The 27 Dec 1997 change to no longer '\0'-terminate the 4990 ->text field turned this from a time bomb to a user-visible bug. 4991 * sanity.sh (ann): New tests, test for this fix and other annotate 4992 behaviors. 4993 4994Thu Jan 15 23:52:00 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 4995 4996 * root.c (root_allow_ok): If inetd.conf didn't specify an 4997 --allow-root options at all, we know we are in trouble. Give a 4998 specific error message. 4999 5000Thu Jan 15 21:24:59 1998 Ian Lance Taylor <ian@cygnus.com> 5001 5002 * sanity.sh (dotest_sort): New variant of dotest which sorts the 5003 output, for use when the output depends upon details of the file 5004 system, typically when doing an import. 5005 (rdiff): Use dotest_sort for rdiff-1. 5006 (ignore): Use dotest_sort for 188a, 188b, 189d, 190, and 191. 5007 5008 * sanity.sh: (TESTSHELL): New variable. 5009 (editor, info, reserved): Use TESTSHELL in temporary script. 5010 5011 * sanity.sh (ignore): Do all tests in subdirectory, to avoid 5012 conflict between cvsroot and CVSROOT on Windows. 5013 (binwrap3, mwrap, info, config): Likewise. 5014 5015 * sanity.sh (binfiles2): Correct test name binfile2-7-brmod to 5016 binfiles2-7-brmod. 5017 5018 * release.c (release_delete): If __CYGWIN32__ is defined, don't 5019 worry about mismatched inodes. This is a hack, but then I think 5020 the test is rather peculiar anyhow. 5021 5022Thu Jan 15 16:07:36 1998 Larry Jones <larry.jones@sdrc.com> 5023 5024 * sanity.sh (reserved-9): Use ${PROG} instead of "cvs". 5025 5026Wed Jan 14 15:43:13 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 5027 5028 * Split ChangeLog into ChangeLog-97 and ChangeLog. 5029 * Makefile.in (DISTFILES): Add ChangeLog-97. 5030 503113 Jan 1998 Jim Kingdon 5032 5033 * client.c: Declare handle_mt. 5034 5035Tue Jan 13 22:21:30 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 5036 5037 * sanity.sh: Add comment about how pwd and /bin/pwd often differ 5038 in behavior (but are not guaranteed to). 5039 5040Tue Jan 13 13:49:53 1998 Ian Lance Taylor <ian@cygnus.com> 5041 5042 * sanity.sh: When setting TMPPWD use just pwd, not /bin/pwd. 5043 5044 * update.c (checkout_file): Don't pass set_time as true to 5045 Version_TS if the file is dead. 5046 * sanity.sh (modules): Add tests modules-155c6 through 5047 modules-155c8 to test for above patch (without the above patch, 5048 modules-155c8 will fail when remote). 5049 5050Tue Jan 13 10:37:02 1998 Larry Jones <larry.jones@sdrc.com> 5051 5052 * client.c (send_modified): Change bufsize and newsize from int 5053 to size_t to avoid type clashes in call to read_and_gzip. 5054 5055Tue Jan 13 10:33:02 1998 Larry Jones <larry.jones@sdrc.com> 5056 5057 * zlib.c (read_and_gzip): Set finish to 0; it was uninitialized. 5058 5059Tue Jan 13 10:26:43 1998 Larry Jones <larry.jones@sdrc.com> 5060 5061 * add.c, rcs.c: Plug memory leaks. 5062 5063Mon Jan 12 10:45:27 1998 Larry Jones <larry.jones@sdrc.com> 5064 5065 * server.c (mkdir_p): Don't try to create nameless directories 5066 (i.e., given "/foo//bar", don't try to create "/foo/", 5067 just "/foo" and "/foo//bar") since it isn't necessary and 5068 it fails on some systems in unexpected ways. 5069 50701998-01-11 enami tsugutomo <enami@but-b.or.jp> 5071 5072 * rcs.c (linevector_copy): Delete lines before overwriting them. 5073 5074Sat Jan 10 11:05:40 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 5075 5076 * cvsrc.c, entries.c, login.c, logmsg.c, myndbm.c, patch.c, 5077 release.c, server.c: Check for errors from getline, CVS_FOPEN, 5078 fprintf, CVS_UNLINK and fclose. Note that the new errors are 5079 nonfatal. This is because of conservatism more than because 5080 it is always the best thing. 5081 * login.c (get_cvs_password): Close the file when done with it. 5082 * client.c (notified_a_file): If -1 return from getline, check 5083 feof rather than assuming errno is set. 5084 5085Fri Jan 9 14:38:54 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 5086 5087 * server.c (expand_proc): Also output server_dir in 5088 "Module-expansion", not just in output_dir ("Created", &c). 5089 * sanity.sh (modules2): New tests modules2-9 through modules2-12 5090 test for this. 5091 5092Thu Jan 8 12:56:55 1998 Yasutoshi Hiroe <hiroe@rgk.ricoh.co.jp> 5093 5094 * import.c (import): Don't strcat on uninitialized memory. Fixes 5095 possible SIGSEGV with zero-length message. 5096 5097Tue Jan 6 22:56:29 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 5098 5099 * sanity.sh (crerepos): Fix mistaken variable name which caused us 5100 not to clean up at the end of the test. 5101 5102Mon Dec 22 01:40:57 1997 Jim Kingdon <kingdon@harvey.cyclic.com> 5103 5104 * add.c (add): Also look for .cvswrappers files. 5105 * sanity.sh (binwrap3): New tests binwrap3-2*, binwrap3-sub2-add* 5106 test for this. 5107 5108Tue Jan 6 11:50:38 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 5109 5110 * sanity.sh (crerepos): New tests crerepos-8 through crerepos-18 5111 test behaviors when mixing repositories. 5112 5113Sun Jan 4 17:40:22 1998 Jim Kingdon <kingdon@harvey.cyclic.com> 5114 5115 * version.c: Change version number to 1.9.23. 5116 5117 * Version 1.9.22. 5118 5119 5120For older changes see ChangeLog-97. 5121