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