117721SpeterNote: this log overlaps in time with ChangeLog-9194. There was a time 217721Speterduring which changes which had been merged into the official CVS 317721Speter(which produced releases such as 1.4A1 and 1.4A2) went into what has 417721Speterbecome ChangeLog-9194, and changes which existed only at Cygnus went 517721Speterinto this file (ChangeLog-9395). Eventually the Cygnus release became 617721SpeterCyclic CVS (as it was then called), which became CVS 1.5, so probably 717721Speterall the changes in both (what are now) ChangeLog-9194 and 817721SpeterChangeLog-9395 made it into 1.5. 917721Speter 1017721SpeterSun Dec 31 17:33:47 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 1117721Speter 1217721Speter * import.c (add_rev): Revert portion of 31 Aug 95 change which 1317721Speter passes -u to ci instead of using a hard link. 1417721Speter * sanity.sh (import): Add test for above-fixed bug. 1517721Speter 1617721SpeterSun Dec 31 16:40:41 1995 Peter Chubb <peterc@bookworm.sw.oz.au> 1717721Speter and Jim Kingdon <kingdon@cyclic.com> 1817721Speter 1917721Speter * admin.c (admin_fileproc): Call freevers_ts before returning. 2017721Speter 2117721SpeterMon Dec 25 12:20:06 1995 Peter Wemm <peter@haywire.DIALix.COM> 2217721Speter 2317721Speter * logmsg.c (rcsinfo_proc): initialise line and 2417721Speter line_chars_allocated so they dont cause malloc problems within 2517721Speter getline(). This was causing rcsinfo templates to not work. 2617721Speter 2717721SpeterSun Dec 24 01:38:36 1995 Karl Fogel <kfogel@floss.cyclic.com> 2817721Speter 2917721Speter * server.c (authenticate_connection): clarify protocol. 3017721Speter 3117721Speter * login.c (login): deprolixify the password prompt. 3217721Speter 3317721SpeterSat Dec 23 10:46:41 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 3417721Speter 3517721Speter * myndbm.h, myndbm.c (dbm_store): New function. 3617721Speter * myndbm.h (DBM): Add modified and filename fields. 3717721Speter * myndbm.c (dbm_open, dbm_close): Manipulate new fields. dbm_open 3817721Speter no longer fails if the file doesn't exist and O_CREAT is set. 3917721Speter * cvs.h (CVSROOTADM_VALTAGS): Added. 4017721Speter * tag.c, cvs.h (tag_check_valid): New function. 4117721Speter * update.c (update), checkout.c (checkout_proc), commit.c (commit), 4217721Speter diff.c (diff), patch.c (patch_proc), rtag.c (rtag_proc), tag.c (tag): 4317721Speter Call it. 4417721Speter * sanity.sh: Test for rejection of invalid tagname. 4517721Speter 4617721SpeterFri Dec 22 18:21:39 1995 Karl Fogel <kfogel@csxt.cs.oberlin.edu> 4717721Speter 4817721Speter * client.c (start_server): don't use kerberos if authenticating 4917721Speter server was specified. 5017721Speter 5117721SpeterFri Dec 22 16:35:57 1995 Karl Fogel <kfogel@csxt.cs.oberlin.edu> 5217721Speter 5317721Speter * login.c (login): deal with new scramble methods. 5417721Speter (get_cvs_password): same. 5517721Speter 5617721Speter * server.c (check_repository_password): remove arbitrary limit on 5717721Speter line length. 5817721Speter (authenticate_connection): use a separate variable for the 5917721Speter descrambled password, now that we no longer scramble in place. 6017721Speter Set `error_use_protocol' to 1 and just use error() where used to 6117721Speter do its job inline. 6217721Speter 6317721Speter * cvs.h (scramble, descramble): adjust prototype. 6417721Speter 6517721Speter * scramble.c (scramble, descramble): return char *. 6617721Speter 6717721SpeterFri Dec 22 13:00:00 1995 Jim Kingdon <kingdon@peary.cyclic.com> 6817721Speter 6917721Speter * release.c (release): If SERVER_SUPPORT is not defined, still 7017721Speter set up arg_start_idx. 7117721Speter 7217721Speter * release.c (release): When calling unedit, set argv[1] to 7317721Speter NULL (since argc is only 1). 7417721Speter 7517721Speter * edit.c: Pass dosrcs 0 to all calls to start_recursion. 7617721Speter None of the fileprocs were using it, so it just slowed things 7717721Speter down and caused potentially harmful checks for rcs files. 7817721Speter 7917721Speter * edit.c (send_notifications): In client case, do not readlock. 8017721Speter 8117721SpeterThu Dec 21 16:00:00 1995 Jim Kingdon <kingdon@peary.cyclic.com> 8217721Speter 8317721Speter Clean up Visual C++ lint: 8417721Speter * client.c (read_line): Change input_index and result_size to size_t. 8517721Speter (update_entries): Remove unused variables buf2, size_left, size_read. 8617721Speter (handle_mode): Prototype. 8717721Speter * client.c, client.h (send_to_server, read_from_server): Change 8817721Speter len to size_t. 8917721Speter * client.c (send_to_server): Change wrtn to size_t. 9017721Speter (read_from_server): Change red to size_t. 9117721Speter * client.c, myndbm.c, edit.c, fileattr.c: Include getline.h. 9217721Speter * checkin.c, commit.c, update.c: Include fileattr.h. 9317721Speter * commit.c, update.c: Include edit.h. 9417721Speter * edit.c (onoff_filesdoneproc): Prototype. 9517721Speter (ncheck_fileproc,edit_fileproc): Change "return" to "return 0". 9617721Speter (notify_do): Cast a signed value to unsigned before comparing 9717721Speter with unsigned value. 9817721Speter 9917721SpeterThu Dec 21 15:24:37 1995 Karl Fogel <kfogel@occs.cs.oberlin.edu> 10017721Speter 10117721Speter * client.c: don't include socket headers twice just because 10217721Speter both HAVE_KERBEROS and AUTH_CLIENT_SUPPORT are set. 10317721Speter (start_kerberos_server): if fail to connect to kerberos, print out 10417721Speter a more specific error message, mainly so pcl-cvs can know what 10517721Speter happened and not panic. 10617721Speter (start_server): don't assume sprintf() returns len 10717721Speter written (only some systems provide this); instead, have 10817721Speter send_to_server() calculate the length itself. 10917721Speter (send_modified): same. 11017721Speter (send_fileproc): same. 11117721Speter (send_file_names): same. 11217721Speter 11317721SpeterWed Dec 20 14:00:28 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 11417721Speter 11517721Speter * update.c (ignore_files): Move from here... 11617721Speter * ignore.c (ignore_files): ...to here. No longer static. Take 11717721Speter new argument PROC. 11817721Speter * cvs.h (ignore_files): Declare. 11917721Speter * client.c (send_filesdoneproc): Split off from 12017721Speter update_filesdone_proc. Pass new function send_ignproc to 12117721Speter ignore_files (to ask server about ignored file before printing 12217721Speter "?"). 12317721Speter * server.c: Rename outbuf from but_to_net and take it from 12417721Speter do_cvs_command to a global. Move initialization accordingly. 12517721Speter (serve_questionable): New function. 12617721Speter (requests): Add it. 12717721Speter * update.c (update_filesdone_proc): Remove client stuff. Pass new 12817721Speter function update_ignproc to ignore_files. 12917721Speter * cvs.h (joining, do_update): Move declarations from here... 13017721Speter * update.h: ...to here. 13117721Speter * cvs.h: Include update.h. 13217721Speter * update.c, client.c: Don't include update.h 13317721Speter * ignore.c, cvs.h: New variable ign_inhibit_server, set on -I !. 13417721Speter * import.c (import): Pass -I ! to server if specified. 13517721Speter (import_descend): If server, ignore CVS directories even if -I !. 13617721Speter * update.c (update), import.c (import): Only call ign_setup before 13717721Speter argument processing; don't call it again afterwards in client case. 13817721Speter * sanity.sh (ignore): Test above-fixed bugs and other ignore behaviors. 13917721Speter (dotest): New function. 14017721Speter Move modules checkin from modules test to start, so that other 14117721Speter tests can use mkmodules without a warning message. 14217721Speter 14317721SpeterWed Dec 20 13:06:17 1995 Karl Fogel <kfogel@floss.cyclic.com> 14417721Speter 14517721Speter * client.c (send_to_server): don't check string's length twice. 14617721Speter 14717721SpeterWed Dec 20 02:05:19 1995 Karl Fogel <kfogel@floss.cyclic.com> 14817721Speter 14917721Speter * login.c (login): took out debugging printf's. 15017721Speter (login): Removed unused variable `p'. 15117721Speter 15217721SpeterWed Dec 20 00:27:36 1995 Karl Fogel <kfogel@floss.cyclic.com> 15317721Speter 15417721Speter * login.c (login): prefix scrambled password with 'A', so we know 15517721Speter which version of scrambling was used. This may be useful in the 15617721Speter future. 15717721Speter (get_cvs_password): skip past the leading 'A'. 15817721Speter Scramble $CVS_PASSWORD before returning it. 15917721Speter 16017721Speter * scramble.c: made this work. 16117721Speter 16217721SpeterTue Dec 19 17:45:11 1995 Karl Fogel <kfogel@floss.cyclic.com> 16317721Speter 16417721Speter * login.c (cvs_password): new static var, init to NULL. 16517721Speter (login): scramble() the password before using it. 16617721Speter Verify the password with the server. 16717721Speter Check CVSroot more carefully to insure that it is 16817721Speter "fully-qualified". 16917721Speter (get_cvs_password): if cvs_password is not NULL, just return it. 17017721Speter Never prompt -- just tell user why failed, then exit. 17117721Speter Try CVS_PASSWORD environment variable first. 17217721Speter (construct_cvspass_filename): try CVS_PASSFILE environment 17317721Speter variable first. 17417721Speter 17517721Speter * client.h (connect_to_pserver): update prototype. 17617721Speter 17717721Speter * client.c (cvsroot_parsed): new static var. 17817721Speter (parse_cvsroot): set `cvsroot_parsed' to 1 when done. 17917721Speter (connect_to_pserver): return int. 18017721Speter Take `verify_only' arg. If it is non-zero, perform password 18117721Speter verification with the server and then shut down the connection and 18217721Speter return. 18317721Speter Call parse_cvsroot() before doing anything. 18417721Speter 18517721Speter * server.c (authenticate_connection): deal with verification 18617721Speter requests as well as authorization requests. 18717721Speter descramble() the password before hashing it. 18817721Speter 18917721Speter * cvs.h: prototype scramble() and descramble(). 19017721Speter 19117721Speter * Makefile.in: build scramble.o. 19217721Speter 19317721Speter * scramble.c: new file, provides trivial encoding but NOT real 19417721Speter encryption. 19517721Speter 19617721SpeterMon Dec 18 20:57:58 1995 Karl Fogel <kfogel@floss.cyclic.com> 19717721Speter 19817721Speter * login.c (login): don't insert extra newlines. They were 19917721Speter harmless, but confusing. 20017721Speter 20117721SpeterMon Dec 18 15:32:32 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 20217721Speter 20317721Speter * hash.c, hash.h (findnode_fn): New function. 20417721Speter * hash.c (hashp): Tweak hash function so that findnode_fn works. 20517721Speter * update.c (ignore_files): Call findnode_fn, not findnode. 20617721Speter 20717721SpeterMon Dec 18 09:34:56 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 20817721Speter 20917721Speter * myndbm.c: Remove arbitrary limit. 21017721Speter 21117721Speter * client.c: Fix comment--Windows 95 requires NO_SOCKET_TO_FD, not 21217721Speter Windows NT. 21317721Speter 21417721SpeterMon Dec 18 01:06:20 1995 Karl Fogel <kfogel@floss.cyclic.com> 21517721Speter 21617721Speter * client.c (server_sock): replaces `server_socket'. 21717721Speter (start_kerberos_server): added FIXME comment about how 21817721Speter NO_SOCKET_TO_FD is not dealt with in the kerberos case. 21917721Speter (connect_to_pserver): deal with NO_SOCKET_TO_FD case. 22017721Speter (read_line): deal with NO_SOCKET_TO_FD case. 22117721Speter (read_from_server): deal with NO_SOCKET_TO_FD case. 22217721Speter (send_to_server): deal with NO_SOCKET_TO_FD case. 22317721Speter (get_responses_and_close): deal with NO_SOCKET_TO_FD case. 22417721Speter 22517721Speter * client.c (send_to_server): error check logging. 22617721Speter (start_server): error check opening of logfiles. 22717721Speter (read_from_server): error check logging. 22817721Speter (read_line): use fwrite() to log, & error_check it. 22917721Speter Don't log if using socket style, because read_from_server() 23017721Speter already logged for us. 23117721Speter 23217721SpeterMon Dec 18 00:52:26 1995 Karl Fogel <kfogel@floss.cyclic.com> 23317721Speter 23417721Speter * client.c (use_socket_style): new static var, init to 0. 23517721Speter (server_socket): new static var. 23617721Speter (connect_to_pserver): don't deal with logging here. 23717721Speter Caller changed. 23817721Speter (start_kerberos_server): don't deal with logging here either. 23917721Speter Caller changed. 24017721Speter 24117721SpeterMon Dec 18 00:40:46 1995 Karl Fogel <kfogel@floss.cyclic.com> 24217721Speter 24317721Speter * client.c (send_modified): don't error-check `to_server'; 24417721Speter send_to_server() does that now. 24517721Speter 24617721SpeterMon Dec 18 00:19:16 1995 Karl Fogel <kfogel@floss.cyclic.com> 24717721Speter 24817721Speter * login.c (get_cvs_password): Init `linebuf' to NULL. 24917721Speter free() `linebuf' and reset it for each new line. 25017721Speter (login): same as above. 25117721Speter 25217721Speter * client.c: Removed all the varargs prototyping gunk. 25317721Speter (to_server, from_server): make these static. 25417721Speter (from_server_logfile, to_server_logfile): new vars. 25517721Speter (start_server): init above two new vars to NULL. 25617721Speter (send_to_server): return void. 25717721Speter Correct bug in which amount to be written would be too high if the 25817721Speter loop ever ran more than once. 25917721Speter Log to `to_server_logfile' if it's non-NULL. 26017721Speter (read_from_server): new func, does raw reading from server. 26117721Speter Logs to `from_server_logfile' if it's non-NULL. 26217721Speter (update_entries): just use read_from_server() instead of looping 26317721Speter to fread() directly from `from_server'. 26417721Speter (read_line): Log to `from_server_logfile' if it's non-NULL. 26517721Speter 26617721Speter * client.h: send_to_server() returns void now. 26717721Speter (read_from_server): prototype. 26817721Speter 26917721SpeterSun Dec 17 19:38:03 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 27017721Speter 27117721Speter * checkout.c (checkout_proc), client.c, lock.c (readers_exist), 27217721Speter login.c, modules.c (cat_module, do_module): Remove arbitrary limits. 27317721Speter 27417721Speter * client.c (send_to_server): Fix typo (NULL -> '\0'). 27517721Speter (get_responses_and_close): Set server_started to 0 instead of 27617721Speter setting to_server and from_server to NULL. 27717721Speter * client.c: Make to_server and from_server static. 27817721Speter 27917721SpeterSun Dec 17 17:59:04 1995 Karl Fogel <kfogel@floss.cyclic.com> 28017721Speter 28117721Speter * client.h (to_server, from_server): don't declare these anymore. 28217721Speter They are now entirely private to client.c (and in fact will go 28317721Speter away soon there too). 28417721Speter 28517721SpeterSun Dec 17 15:40:58 1995 Karl Fogel <kfogel@floss.cyclic.com> 28617721Speter 28717721Speter * client.h: update prototype of send_to_server(). 28817721Speter 28917721Speter * client.c, watch.c, update.c, tag.c, status.c, rtag.c, remove.c, 29017721Speter release.c, patch.c, log.c, import.c, history.c, edit.c, diff.c, 29117721Speter commit.c, client.c, checkout.c, admin.c, add.c: 29217721Speter Convert all send_to_server() calls that used formatting to send 29317721Speter pre-formatted strings instead. And don't error check 29417721Speter send_to_server(), because it does its own error checking now. 29517721Speter 29617721Speter * client.c (send_to_server): don't use vasprintf(), just fwrite a 29717721Speter certain number of bytes to the server. And do error checking 29817721Speter here, so our callers don't have to. 29917721Speter (send_arg): use send_to_server() instead of putc()'ing 30017721Speter directly to `to_server'. 30117721Speter 30217721SpeterSun Dec 17 14:37:52 1995 Karl Fogel <kfogel@floss.cyclic.com> 30317721Speter 30417721Speter * options.h.in (AUTH_CLIENT_SUPPORT, AUTH_SERVER_SUPPORT): 30517721Speter Define to 1 but leave commented out, instead of #undef'ing them. 30617721Speter This treats them like everything else in this file. 30717721Speter 30817721Speter * client.c: define server_started, init to 0. 30917721Speter (start_server): set server_started to 1. 31017721Speter 31117721Speter * client.h: declare `server_started', extern. 31217721Speter AUTH_CLIENT_SUPPORT moved here from cvs.h. 31317721Speter 31417721Speter * cvs.h: moved AUTH_CLIENT_SUPPORT stuff to client.h. 31517721Speter 31617721Speter * edit.c (notify_check): use new var server_started. 31717721Speter 31817721SpeterSun Dec 17 00:44:17 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 31917721Speter 32017721Speter * client.c (get_responses_and_close): Really stop ignoring ECHILD 32117721Speter errors. The Nov 30 1995 change claimed to do this, but the code 32217721Speter was not actually changed. 32317721Speter 32417721Speter * update.c (ignore_files): Revert H.J. Lu change; it was wrong for 32517721Speter directories and sometimes looked at sb.st_mode when it wasn't set. 32617721Speter * import.c (import_descend): Revert H.J. Lu change; it was wrong 32717721Speter for directories and the extra lstat call was an unnecessary 32817721Speter performance hit. 32917721Speter * sanity.sh (import): Add test for the second of these two bugs. 33017721Speter 33117721SpeterSat Dec 16 17:26:08 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 33217721Speter 33317721Speter * client.c (send_to_server): Remove arbitrary limit. Also remove 33417721Speter !HAVE_VPRINTF code; all relevant systems have vprintf these days. 33517721Speter 33617721SpeterSat Dec 16 21:35:31 1995 Karl Fogel <kfogel@floss.cyclic.com> 33717721Speter 33817721Speter * checkout.c (checkout): use send_to_server() now. 33917721Speter 34017721SpeterSat Dec 16 21:18:16 1995 H.J. Lu (hjl@gnu.ai.mit.edu) 34117721Speter (applied by kfogel@cyclic.com) 34217721Speter 34317721Speter * import.c (import_descend): We ignore an entry if it is 34417721Speter 1. not a file, nor a link, nor a directory, or 34517721Speter 2. a file and on the ignore list. 34617721Speter 34717721Speter * update.c (ignore_files): We ignore any thing which is 34817721Speter 1. not a file, or 34917721Speter 2. it is a file on the ignore list. 35017721Speter 35117721SpeterSat Dec 16 00:14:19 1995 Karl Fogel <kfogel@floss.cyclic.com> 35217721Speter 35317721Speter * client.c (send_to_server): corrected comment. 35417721Speter 35517721Speter * client.h: prototype new func send_to_server(). 35617721Speter 35717721Speter * add.c, admin.c, client.c, commit.c, diff.c, edit.c, history.c, 35817721Speter import.c, log.c, patch.c, release.c, remove.c, rtag.c, status.c, 35917721Speter tag.c, update.c, watch.c: 36017721Speter Use send_to_server() instead of writing directly to to_server. 36117721Speter 36217721Speter * client.c: conditionally include the right stuff for variable arg 36317721Speter lists. 36417721Speter (send_to_server): new func. 36517721Speter 36617721SpeterFri Dec 15 23:10:22 1995 Karl Fogel <kfogel@floss.cyclic.com> 36717721Speter 36817721Speter * error.c: expanded comments. 36917721Speter 37017721Speter * client.c (connect_to_pserver): verbosify errors. 37117721Speter (connect_to_pserver): use send() and recv(), not write() and 37217721Speter read(). Sockets are not file descriptors on all systems. 37317721Speter 37417721SpeterFri Dec 15 22:36:05 1995 Karl Fogel <kfogel@floss.cyclic.com> 37517721Speter 37617721Speter * client.c (connect_to_pserver): oops, removed old debugging 37717721Speter printf. 37817721Speter 37917721SpeterFri Dec 15 18:21:16 1995 Karl Fogel (kfogel@floss.cyclic.com) 38017721Speter 38117721Speter * client.c (auth_server_port_number): don't call htons(); 38217721Speter init_sockaddr() does that for us. 38317721Speter (init_sockaddr): zero the sockadder_in struct before doing 38417721Speter anything with it. IBM TCP/IP docs recommend this, and it can't 38517721Speter hurt. 38617721Speter 38717721SpeterFri Dec 15 15:21:53 1995 Karl Fogel <kfogel@floss.cyclic.com> 38817721Speter 38917721Speter * client.c (connect_to_pserver): new var `port_number', initialize 39017721Speter with new func auth_server_port_number() and pass to 39117721Speter init_sockaddr(). 39217721Speter (auth_server_port_number): new func. Right now it just returns 39317721Speter `htons (CVS_AUTH_PORT)'. We'll probably add the ability to 39417721Speter specify the port at run time soon, anyway, so having this function 39517721Speter will make that easier. 39617721Speter 39717721SpeterWed Dec 6 18:08:40 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 39817721Speter 39917721Speter * cvs.h: Add CVSREP. 40017721Speter * find_names.c (find_dirs): Skip CVSREP too. 40117721Speter * fileattr.h, fileattr.c: New files, to manipulate file attributes. 40217721Speter * hash.c (nodetypestring), hash.h (enum ntype): Add FILEATTR. 40317721Speter * hash.c, hash.h (list_isempty): New function. 40417721Speter * recurse.c (do_recursion): Call fileattr_startdir before 40517721Speter processing files in a directory and fileattr_write and 40617721Speter fileattr_free (after files, before recursing). 40717721Speter * watch.c, watch.h: New files, to handle notification features. 40817721Speter * edit.c, edit.h: New file, to handle new read-only checkout features. 40917721Speter * client.c, server.c: Add "Mode" request, to change the mode of a file 41017721Speter when it is checked in. 41117721Speter * main.c (cmds): Add "watch", "edit", "unedit", "watchers", "editors". 41217721Speter * main.c: Split command help from usg into new variable cmd_usage, 41317721Speter which. 41417721Speter (main): Add --help-commands option to print out cmd_usage. 41517721Speter * cvs.h: Declare watch, edit, unedit, watchers, editors. 41617721Speter * client.c, client.h: Add client_watch, client_edit, client_unedit, 41717721Speter client_watchers, client_editors. 41817721Speter * client.c, server.c: Add notification stuff. 41917721Speter * update.c (checkout_file, patch_file), checkin.c (Checkin): Check 42017721Speter _watched attribute when deciding read-only or read-write. 42117721Speter * commit.c (checkaddfile): Call fileattr_newfile to set attributes 42217721Speter on newly created files. 42317721Speter * release.c (release): 42417721Speter * cvs.h: Add CVSADM_NOTIFY and CVSADM_NOTIFYBAK. 42517721Speter * recurse.c (do_recursion): Call notify_check. 42617721Speter * commit.c (commit_fileproc): Call notify_do after committing file. 42717721Speter * client.c (get_responses_and_close): Set to_server and from_server 42817721Speter to NULL so that it is possible to tell whether we are speaking to 42917721Speter the server. 43017721Speter * cvs.h: Add CVSROOTADM_NOTIFY. 43117721Speter * mkmodules.c (main): Add CVSROOTADM_NOTIFY to filelist. 43217721Speter * Makefile.in (SOURCES,OBJECTS,HEADERS): Add new files mentioned above. 43317721Speter * lock.c, cvs.h (lock_tree_for_write, lock_tree_cleanup): New 43417721Speter functions, taken from old commit.c writelock code. As part of 43517721Speter this, fsortcmp and lock_filesdoneproc go from commit.c to lock.c. 43617721Speter So does locklist but it gets renamed to lock_tree_list. 43717721Speter * commit.c: Use lock_tree_*. 43817721Speter 43917721SpeterFri Dec 15 10:37:00 1995 J.T. Conklin <jtc@slave.cygnus.com> 44017721Speter 44117721Speter * tag.c (tag_usage): Added -r and -D flags to usage string. 44217721Speter (tag): Detect when user specifies both -r and -D arguments. 44317721Speter Pass -r and -D arguments to server. 44417721Speter 44517721SpeterThu Dec 14 11:56:13 1995 Karl Fogel <kfogel@floss.cyclic.com> 44617721Speter 44717721Speter * client.c (start_rsh_server): use RSH_NEEDS_BINARY_FLAG to 44817721Speter conditionalize "-b" option to "rsh". 44917721Speter 45017721Speter * run.c (filter_stream_through_program): document return value and 45117721Speter error behavior. 45217721Speter 45317721Speter * client.c (filter_through_gunzip): pass the supposedly 45417721Speter superfluous "-d" option to gunzip, to avoid stimulating what seems 45517721Speter to be an argument-passing bug in spawn() under OS/2 with IBM 45617721Speter C/C++. Yucko. 45717721Speter 45817721SpeterWed Dec 13 20:08:37 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 45917721Speter 46017721Speter * options.h.in (RCSBIN_DFLT): Recommend specifying -b in 46117721Speter inetd.conf for pserver. That is a pretty good solution. 46217721Speter 46317721SpeterWed Dec 13 18:29:59 1995 Preston L. Bannister <pbannister@ca.mdis.com> 46417721Speter and Karl Fogel <kfogel@floss.cyclic.com> 46517721Speter 46617721Speter * client.c (send_modified): make sure that vers and vers->options 46717721Speter are non-NULL before strcmp()'ing them with "-kb". 46817721Speter Initialize `bin' near where it is used, not at beginning of 46917721Speter function. 47017721Speter (update_entries): make sure `options' is non-NULL before 47117721Speter strcmp()'ing with "-kb". 47217721Speter Initialize `bin' near where it is used, not at beginning of 47317721Speter function. 47417721Speter 47517721SpeterTue Dec 12 18:56:38 1995 Karl Fogel <kfogel@totoro.cyclic.com> 47617721Speter 47717721Speter * options.h.in (RCSBIN_DFLT): document the probable need for this 47817721Speter to be set in the authenticating server. 47917721Speter 48017721SpeterTue Dec 12 11:56:43 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 48117721Speter 48217721Speter * server.c (expand_proc): If mfile is non-NULL, return it too as 48317721Speter part of the expansion. 48417721Speter * sanity.sh (modules): Add tests for above-fixed bug. 48517721Speter 48617721SpeterMon Dec 11 21:39:07 1995 Karl Fogel <kfogel@floss.cyclic.com> 48717721Speter 48817721Speter * dog.c (flea_bath): Take `suds' arg. 48917721Speter All collars changed. 49017721Speter 49117721SpeterMon Dec 11 15:58:47 1995 Karl Fogel <kfogel@floss.cyclic.com> 49217721Speter 49317721Speter * login.c (login): if client password file doesn't exist, create 49417721Speter it, duh. 49517721Speter 49617721Speter * main.c (main): die if CVSroot has access-method but no 49717721Speter username. 49817721Speter 49917721Speter * root.c: added some comments. 50017721Speter 50117721Speter * main.c: removed all code pertaining to the "-a" option. We 50217721Speter specify access-method in CVSroot now. 50317721Speter 50417721Speter * client.c (parse_cvsroot): new var, `access_method'. If CVSroot 50517721Speter is prepended with an access method (i.e., 50617721Speter ":pserver:user@host:/path"), then handle it. 50717721Speter 50817721Speter * login.c (login): use || when checking if CVSroot is "fully 50917721Speter qualified". 51017721Speter Prepend ":pserver:" before writing to ~/.cvspass. 51117721Speter (get_cvs_password): Take no parameters; we'll just use CVSroot to 51217721Speter get the password. 51317721Speter 51417721SpeterMon Dec 11 12:43:35 1995 adamg <adamg@microsoft.com> 51517721Speter 51617721Speter * error.c, client.c, remove.c, main.c: Add explicit casts for some 51717721Speter function pointers to remove warnings under MS VC. 51817721Speter * main.c (main): remove use of NEED_CALL_SOCKINIT in favor of the 51917721Speter more generic INITIALIZE_SOCKET_SUBSYSTEM. Note that the code assumes 52017721Speter that if INITIALIZE_SOCKET_SUBSYSTEM() returns, socket subsystem 52117721Speter initialization has been successful. 52217721Speter 52317721SpeterSat Dec 9 22:01:41 1995 Dan O'Connor <doconnor@tii.com> 52417721Speter 52517721Speter * commit.c (check_fileproc): pass RUN_REALLY flag to run_exec, 52617721Speter because it's okay to examine the file with noexec set. 52717721Speter 52817721SpeterSat Dec 9 20:28:01 1995 Karl Fogel <kfogel@floss.cyclic.com> 52917721Speter 53017721Speter * client.c (update_entries): new var, `bin, init to 0. 53117721Speter Use it in determining whether to convert the file. 53217721Speter (send_modified): same as above. 53317721Speter 53417721SpeterFri Dec 8 17:47:39 1995 Karl Fogel <kfogel@floss.cyclic.com> 53517721Speter 53617721Speter * server.c (downcase_string): removed. 53717721Speter (check_repository_password): don't deal with case-insensitivity 53817721Speter anymore. 53917721Speter 54017721Speter * options.h.in (CVS_PASSWORDS_CASE_SENSITIVE): deleted this. No 54117721Speter need for it anymore. 54217721Speter 54317721SpeterThu Dec 7 21:08:39 1995 Karl Fogel <kfogel@floss.cyclic.com> 54417721Speter 54517721Speter * server.c (check_repository_password): when checking for false 54617721Speter prefix-matches, look for ':', not '@'. Duh. 54717721Speter 54817721SpeterThu Dec 7 18:44:51 1995 Karl Fogel <kfogel@floss.cyclic.com> 54917721Speter 55017721Speter * options.h.in (CVS_PASSWORDS_CASE_SENSITIVE): replaces 55117721Speter CVS_PASSWORDS_CASE_INSENSITIVE; passwords are now insensitive by 55217721Speter default. Expanded explanatory comment. 55317721Speter 55417721Speter * login.c (get_cvs_password): Use memset(), not bzero(). I 55517721Speter botched this change earlier. 55617721Speter 55717721Speter * server.c (check_repository_password): no need to check 55817721Speter xmalloc()'s return value. 55917721Speter (check_repository_password): check for false prefix-matches (for 56017721Speter example, username is "theo" and linebuf contains user 56117721Speter "theocracy"). 56217721Speter 56317721SpeterThu Dec 7 14:49:16 1995 Jim Meyering (meyering@comco.com) 56417721Speter 56517721Speter * filesubr.c (isaccessible): Rename from isaccessable. 56617721Speter Update callers. 56717721Speter * cvs.h: Update prototype. 56817721Speter * main.c (main): Update callers. 56917721Speter * server.c (main): Update callers. 57017721Speter 57117721SpeterThu Dec 7 12:50:20 1995 Adam Glass <glass@NetBSD.ORG> 57217721Speter 57317721Speter * cvs.h: "isaccessible" is the correct spelling. 57417721Speter Also add "const" to second arg to make prototype match 57517721Speter declaration. 57617721Speter 57717721SpeterThu Dec 7 11:06:51 1995 Karl Fogel <kfogel@floss.cyclic.com> 57817721Speter 57917721Speter * client.c, login.c: memset() instead of bzero(). 58017721Speter 58117721SpeterThu Dec 7 00:08:53 1995 Karl Fogel <kfogel@floss.cyclic.com> 58217721Speter 58317721Speter * server.c (authenticate_connection): document server's side of 58417721Speter the Authentication Protocol too. 58517721Speter 58617721Speter * client.c (connect_to_pserver): when printing out "unrecognized 58717721Speter response", also print out the offending response. 58817721Speter 58917721Speter * server.c (check_password): take `repository' arg too now. 59017721Speter Call check_repository_password() before checking /etc/passwd. 59117721Speter (check_repository_password): new func. 59217721Speter 59317721Speter * options.h.in (CVS_PASSWORDS_CASE_INSENSITIVE): new define, unset 59417721Speter by default. 59517721Speter 59617721SpeterWed Dec 6 18:51:16 1995 Karl Fogel <kfogel@floss.cyclic.com> 59717721Speter 59817721Speter * server.c (check_password): If user has a null password, then 59917721Speter return 1 if arg is also null. 60017721Speter Reverse sense of return value. Caller changed. 60117721Speter 60217721SpeterWed Dec 6 14:42:57 1995 Karl Fogel <kfogel@floss.cyclic.com> 60317721Speter 60417721Speter * server.c (check_password): new func. 60517721Speter (authenticate_connection): call above new func. 60617721Speter 60717721Speter * login.c (login): use construct_cvspass_filename(). 60817721Speter If CVSroot is not "fully-qualified", then insist the user qualify 60917721Speter it before going on. 61017721Speter (get_cvs_password): fleshed out. Now reads from ~/.cvspass, or 61117721Speter prompts if no appropriate password found. 61217721Speter (construct_cvspass_filename): new func. 61317721Speter 61417721Speter * server.c (authenticate_connection): send ACK or NACK to client. 61517721Speter 61617721Speter * client.c (connect_to_pserver): check for ACK vs NACK response 61717721Speter from server after sending authorization request. 61817721Speter 61917721Speter * login.c (get_cvs_password): new func. 62017721Speter 62117721Speter * client.c (connect_to_pserver): use new func get_cvs_password(). 62217721Speter Prototype it at top of file. Hmmm. 62317721Speter 62417721SpeterWed Dec 6 13:29:22 1995 Karl Fogel <kfogel@floss.cyclic.com> 62517721Speter 62617721Speter * server.c: same as below (AUTH_SERVER_SUPPORT). 62717721Speter 62817721Speter * main.c: same as below (AUTH_SERVER_SUPPORT where appropriate). 62917721Speter 63017721Speter * login.c: same same as below. 63117721Speter 63217721Speter * cvs.h: same as below. 63317721Speter 63417721Speter * client.c: use AUTH_CLIENT_SUPPORT, not CVS_LOGIN. 63517721Speter 63617721Speter * options.h.in (AUTH_CLIENT_SUPPORT, AUTH_SERVER_SUPPORT): these 63717721Speter replace CVS_LOGIN. 63817721Speter 63917721SpeterWed Dec 6 00:04:58 1995 Karl Fogel <kfogel@floss.cyclic.com> 64017721Speter 64117721Speter * server.c (authenticate_connection): expanded comment. 64217721Speter 64317721SpeterTue Dec 5 23:37:39 1995 Karl Fogel <kfogel@floss.cyclic.com> 64417721Speter 64517721Speter * client.c (connect_to_pserver): read password from prompt for 64617721Speter now. 64717721Speter 64817721Speter * server.c (authenticate_connection): if the password passes 64917721Speter muster, then don't abort. 65017721Speter 65117721SpeterTue Dec 5 22:46:37 1995 Karl Fogel <kfogel@floss.cyclic.com> 65217721Speter 65317721Speter * subr.c (strip_trailing_newlines): new func. 65417721Speter 65517721Speter * client.c (connect_to_pserver): took out print statements. 65617721Speter 65717721Speter * server.c (authenticate_connection): removed print statments. 65817721Speter Use new func strip_trailing_newlines() to purify `repository', 65917721Speter `username', and `password'. 66017721Speter Run a primitive password check, just for testing. 66117721Speter 66217721Speter * client.c (connect_to_pserver): use CVS_AUTH_PORT. 66317721Speter Take tofdp, fromfdp, and log args. Caller changed. 66417721Speter (get_responses_and_close): either kerberos and CVS_LOGIN might 66517721Speter have one fd for both directions, so adjust #ifdef accordingly. 66617721Speter 66717721Speter * cvs.h (CVS_AUTH_PORT): new define, default to 2401. 66817721Speter Prototype strip_trailing_newlines(). 66917721Speter 67017721SpeterTue Dec 5 16:53:35 1995 Karl Fogel <kfogel@floss.cyclic.com> 67117721Speter 67217721Speter * server.c (authenticate_connection): new func. 67317721Speter 67417721Speter * client.c (init_sockaddr): func moved here from login.c. 67517721Speter (connect_to_pserver): same as above. Take no args, now. 67617721Speter Include <sys/socket.h>, <netinet/in.h>, <netdb.h>, if CVS_LOGIN. 67717721Speter 67817721Speter * cvs.h: Declare use_authenticating_server, as extern int. 67917721Speter Declare connect_to_pserver(). 68017721Speter 68117721Speter * main.c (main): call authenticate_connection(). Removed testing 68217721Speter code. 68317721Speter Add 'a' to the short-option string in the getopt() call. 68417721Speter 68517721Speter * login.c (connect_to_pserver): moved to client.c. 68617721Speter 68717721SpeterTue Dec 5 16:01:42 1995 Peter Chubb <peterc@bookworm.sw.oz.au> 68817721Speter (patch applied by Karl Fogel <kfogel@cyclic.com>) 68917721Speter 69017721Speter * update.c (join_file): if vers->vn_user is "0", file has been 69117721Speter removed on the current branch, so print an error and return. 69217721Speter 69317721SpeterMon Dec 4 14:27:42 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 69417721Speter 69517721Speter * Version 1.6.3. 69617721Speter 69717721SpeterMon Dec 4 16:28:25 1995 Norbert Kiesel <nk@col.sw-ley.de> 69817721Speter 69917721Speter * release.c (release): add return (0) as last line 70017721Speter 70117721Speter * cvs.h: declare program_path 70217721Speter 70317721Speter * main.c define program_path 70417721Speter (main): set program_path 70517721Speter 70617721Speter * release.c (release): use program_path for update_cmd 70717721Speter 70817721SpeterMon Dec 4 11:22:42 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 70917721Speter 71017721Speter * Version 1.6.2. 71117721Speter 71217721SpeterSun Dec 3 20:02:29 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 71317721Speter 71417721Speter * rcs.h (struct rcsnode), rcs.c (freercsnode): Add expand field. 71517721Speter * rcs.h (RCSEXPAND): New #define. 71617721Speter * rcs.c (RCS_reparsercsfile): Record keyword expansion in expand 71717721Speter field of struct rcsnode. 71817721Speter * update.c (checkout_file): Set keyword expansion in Entries file 71917721Speter from rcs file if there is nowhere else to set it from. 72017721Speter * client.c (send_modified, update_entries) [LINES_CRLF_TERMINATED]: 72117721Speter If -kb is in effect, don't convert. 72217721Speter 72317721Speter * update.c (update_file_proc), commit.c (check_fileproc), 72417721Speter rcscmds.c (RCS_merge): Direct stdout to DEVNULL rather than 72517721Speter passing -s option to grep. This avoids trouble with respect to 72617721Speter finding a grep which support -s and whether we should use the (GNU 72717721Speter grep) -q option if it exists. 72817721Speter * options.h.in: Change "@ggrep_path@" to "grep". 72917721Speter 73017721SpeterFri Dec 1 11:53:19 1995 Norbert Kiesel <nk@col.sw-ley.de> 73117721Speter 73217721Speter * rcs.c (RCS_gettag): new parameter return_both force return both 73317721Speter tags: the symbolic and the numeric one. 73417721Speter (RCS_getversion): new parameter return_both is forwarded to 73517721Speter RCS_gettag. 73617721Speter 73717721Speter * rtag.c, tag.c, commit.c, patch.c, update.c: pass 0 as additional 73817721Speter last parameter to RCS_getversion and RCS_gettag 73917721Speter 74017721Speter * rcs.h (RCS_gettag): new parameter return_both. 74117721Speter (RCS_getversion): new parameter return_both. 74217721Speter 74317721Speter * cvs.h (struct vers_ts): add vn_tag slot for symbolic tag name 74417721Speter 74517721Speter * vers_ts.c (Version_TS): call RCS_getversion with 1 for 74617721Speter return_both and split output into vn_rcs and vn_tag 74717721Speter (freevers_ts): free vn_tag 74817721Speter 74917721Speter * update.c (checkout_file): use vn_tag instead of vn_rcs when 75017721Speter calling 'rcs co' to allow rcs expansion of :$Name : 75117721Speter 75217721SpeterThu Nov 30 20:44:30 1995 Karl Fogel <kfogel@floss.cyclic.com> 75317721Speter 75417721Speter * client.c (get_responses_and_close): undo previous change 75517721Speter regarding waitpid(). The problem has been solved by modifying 75617721Speter os2/waitpid.c instead of its callers. 75717721Speter 75817721SpeterThu Nov 30 16:37:10 1995 Karl Fogel <kfogel@floss.cyclic.com> 75917721Speter 76017721Speter * client.c: All these changes are for OS/2, which will no longer have 76117721Speter a separate client.c: 76217721Speter (start_kerberos_server): new func, contains code that 76317721Speter used to be in start_server(). 76417721Speter (start_server): moved kerberos code to above function, reorganized 76517721Speter the rest. Added authentication clause. 76617721Speter (call_in_directory): test errno against EACCESS, if EACCESS is 76717721Speter defined (this is for OS/2's oddball mkdir). 76817721Speter (change_mode): don't set execute permission on anything if 76917721Speter EXECUTE_PERMISSION_LOSES is defined. 77017721Speter (get_responses_and_close): if START_RSH_WITH_POPEN_RW, then use 77117721Speter pclose() instead of fclose(). 77217721Speter If waitpid errors with ECHILD, don't die. This is okay. 77317721Speter (start_rsh_server): alternate definition if 77417721Speter START_RSH_WITH_POPEN_RW. 77517721Speter 77617721Speter * main.c: [all these changes conditional on CVS_LOGIN: ] 77717721Speter Don't prototype connect_to_pserver, don't enter it in cmds[] 77817721Speter (actually, it was never in there, I don't know why my previous 77917721Speter change said it was). 78017721Speter (use_authenticating_server): new global var. 78117721Speter (main): if "-a", then set above new var to TRUE. 78217721Speter (usg): document "-a" option. 78317721Speter 78417721SpeterWed Nov 29 12:55:10 1995 Karl Fogel <kfogel@floss.cyclic.com> 78517721Speter 78617721Speter * main.c: Prototype connect_to_pserver(), and enter it in cmds[]. 78717721Speter (main): test some extremely primitive authentication. 78817721Speter 78917721Speter * login.c: Include <sys/socket.h> 79017721Speter (connect_to_pserver): new func. 79117721Speter (init_sockaddr): new func. 79217721Speter 79317721SpeterMon Nov 20 14:07:41 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 79417721Speter 79517721Speter * Makefile.in (TAGFILES): Separate out from DISTFILES, for C code. 79617721Speter (TAGS,tags): Use TAGFILES not DISTFILES. 79717721Speter 79817721SpeterSun Nov 19 11:22:43 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 79917721Speter 80017721Speter * recurse.c (do_recursion): Don't call server_pause_check if there 80117721Speter are writelocks around. Revise comment to reflect fact we are no 80217721Speter longer relying on a writelock'd operations being "unable" to 80317721Speter generate enough data to pause. 80417721Speter 80517721SpeterSun Nov 19 10:04:50 1995 Peter Wemm <peter@haywire.DIALix.COM> 80617721Speter 80717721Speter * server.c, server.h, options.h.in: Implement hooks for doing 80817721Speter simple flow control on the server to prevent VM exhaustion on a 80917721Speter slow network with a fast server. 81017721Speter * recurse.c: Call the flow control check at a convenient location 81117721Speter while no locks are active. This is a convenience tradeoff against 81217721Speter accurate flow control - if you have a large directory it will all 81317721Speter be queued up, bypassing the flow control check until the next 81417721Speter directory is processed. 81517721Speter 81617721SpeterSat Nov 18 16:22:06 1995 Karl Fogel <kfogel@floss.cyclic.com> 81717721Speter 81817721Speter * client.c, update.c, vers_ts.c, server.c, rcs.c, lock.c, 81917721Speter ignore.c, entries.c, diff.c, commit.c, checkin.c: 82017721Speter Use new macro `existence_error', instead of comparing errno to 82117721Speter ENOENT directly. 82217721Speter 82317721SpeterFri Nov 17 14:56:12 1995 Karl Fogel <kfogel@floss.cyclic.com> 82417721Speter 82517721Speter * client.c (start_server): removed alternate version of this func, 82617721Speter since os2/client.c will now be used under OS/2. 82717721Speter 82817721SpeterThu Nov 16 22:57:12 1995 Karl Fogel <kfogel@floss.cyclic.com> 82917721Speter 83017721Speter * client.c (start_server): ifdef HAVE_POPEN_RW, use a different 83117721Speter version of start_server(). This is maybe not the cleanest cut to 83217721Speter make, but it's better than mucking around with yet more #ifdefs in 83317721Speter the middle of the old start_server() function. Once things are 83417721Speter up, I may reposition this code. 83517721Speter 83617721SpeterWed Nov 15 15:33:37 1995 Karl Fogel <kfogel@floss.cyclic.com> 83717721Speter 83817721Speter * main.c (main): ifdef NEED_CALL_SOCKINIT, then call SockInit(). 83917721Speter Only OS/2 needs this initialization. 84017721Speter 84117721SpeterTue Nov 14 18:54:01 1995 Greg A. Woods <woods@most.weird.com> 84217721Speter 84317721Speter * patch.c: 84417721Speter - fix orientation of test for result of getline() call 84517721Speter - use fputs() not printf() when just copying file out 84617721Speter 84717721Speter * cvsbug.sh: 84817721Speter - add space after #! 84917721Speter - new rcs id 85017721Speter - allow version to be edited by Makefile. 85117721Speter 85217721Speter * Makefile.in: 85317721Speter - make Makefile a dependent of all (this might not be perfect, but 85417721Speter it at least gives you a chance to catch up on the second 85517721Speter go-around). 85617721Speter - filter cvsbug.sh in a manner similar to cvsinit.sh to get the 85717721Speter version number set from version.c 85817721Speter 85917721SpeterTue Nov 14 13:28:17 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 86017721Speter 86117721Speter * sanity.sh: Call old log file check.plog, not check.olog. 86217721Speter 86317721Speter * sanity.sh: Convert remaining tests from old-style ('***' on fail 86417721Speter and nothing on pass), to new-style (FAIL on fail and PASS on pass). 86517721Speter 86617721Speter * sanity.sh: Fix ability to run only some of the tests (always run 86717721Speter tests 1-4.75 to set up repository, document better how it works). 86817721Speter 86917721Speter * sanity.sh: Change "completed successfully" to "completed" in 87017721Speter message--many tests, but not all, exit if they fail. 87117721Speter 87217721SpeterTue Nov 14 15:10:00 1995 Greg A. Woods <woods@most.weird.com> 87317721Speter 87417721Speter * sanity.sh: test 63 doesn't work and probably can't 87517721Speter 87617721SpeterTue Nov 14 12:22:00 1995 Greg A. Woods <woods@most.weird.com> 87717721Speter 87817721Speter * sanity.sh: many minor tweaks: 87917721Speter - make the optional arguments almost work 88017721Speter - use a function 'directory_cmp' instead of 'diff -r' 88117721Speter - fix up a few more tests that weren't working.... 88217721Speter 88317721SpeterMon Nov 13 07:33:55 1995 Karl Fogel <kfogel@floss.cyclic.com> 88417721Speter 88517721Speter * cvs.h: ifdef USE_OWN_POPEN, #include "popen.h". Only OS/2 has 88617721Speter its own popen()/pclose() right now. 88717721Speter 88817721SpeterMon Nov 13 04:06:10 1995 Karl Fogel <kfogel@floss.cyclic.com> 88917721Speter 89017721Speter * cvs.h: conform to 80 column standard (yes, I'm a pedant). 89117721Speter 89217721SpeterSat Nov 11 13:45:13 1995 Karl Fogel <kfogel@floss.cyclic.com> 89317721Speter 89417721Speter * client.c (process_prune_candidates): use unlink_file_dir() to 89517721Speter remove the directory, instead of invoking "rm" via run_exec(). 89617721Speter 89717721SpeterFri Nov 10 14:38:56 1995 Karl Fogel <kfogel@floss.cyclic.com> 89817721Speter 89917721Speter * main.c (main): removed "#define KF_GETOPT_LONG 1", since that 90017721Speter change is no longer in testing. 90117721Speter 90217721SpeterThu Nov 9 20:32:12 1995 Karl Fogel <kfogel@floss.cyclic.com> 90317721Speter 90417721Speter * release.c (release): Use Popen(), not popen(). 90517721Speter 90617721SpeterWed Nov 8 10:20:20 1995 Jim Meyering (meyering@comco.com) 90717721Speter 90817721Speter * entries.c (ParseTag): Remove dcl of unused local. 90917721Speter 91017721Speter * patch.c: Include getline.h. 91117721Speter 91217721SpeterWed Nov 8 11:57:31 1995 Norbert Kiesel <nk@col.sw-ley.de> 91317721Speter 91417721Speter * options.h.in: add configuration option STEXID_SUPPORT (default 91517721Speter is off i.e. old semantics) 91617721Speter 91717721Speter * filesubr.c (isaccessable): new function. Checks access-rights 91817721Speter for files like access(), but is getxid-safe. Falls back to 91917721Speter access() if SETXID_SUPPORT is not enabled. 92017721Speter (isfile): replace stat() by isaccessable(file, F_OK) 92117721Speter (isreadable): replace access() by isaccessable() 92217721Speter (iswritable): ditto 92317721Speter (make_directory): rename local variable buf to sb 92417721Speter 92517721Speter * cvs.h: add prototype for new function isaccessable. 92617721Speter 92717721Speter * server.c (serve_root): replace access() by isaccessable() 92817721Speter 92917721Speter * cvsrc.c (read_cvsrc): replace access() by isreadable() 93017721Speter 93117721Speter * main.c (main): replace access() by isaccessable() 93217721Speter 93317721SpeterWed Nov 8 10:22:41 1995 Greg A. Woods <woods@most.weird.com> 93417721Speter 93517721Speter * entries.c (fgetentent): change definition to static to match the 93617721Speter declaration at the top of the file 93717721Speter 93817721SpeterTue Nov 7 16:59:25 1995 J.T. Conklin <jtc@lestat.cygnus.com> 93917721Speter 94017721Speter * rcs.c (RCS_getbranch, RCS_getdate, RCS_getrevtime, RCS_gettag, 94117721Speter RCS_getversion, RCS_head): Use assert() instead of attempting to 94217721Speter "do the right thing" with a bogus RCSNode argument. 94317721Speter 94417721SpeterMon Nov 6 14:24:34 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 94517721Speter 94617721Speter * vers_ts.c: Remove ctime define. It is just asking for trouble. 94717721Speter 94817721SpeterMon Nov 6 11:58:26 1995 Karl Fogel <kfogel@floss.cyclic.com> 94917721Speter 95017721Speter * vers_ts.c: ifdef ctime, undef it before redefining it. It is a 95117721Speter macro on some systems. 95217721Speter 95317721Speter * lock.c: don't prototype ctime() here. (See note below about 95417721Speter fgetentent() in entries.c.) 95517721Speter 95617721SpeterSun Nov 5 16:06:01 1995 Karl Fogel <kfogel@floss.cyclic.com> 95717721Speter 95817721Speter * entries.c (fgetentent): don't prototype ctime here; we include 95917721Speter cvs.h, which includes system.h, which includes <time.h> 96017721Speter unconditionally (either as <time.h> or <sys/time.h>). Anyway, IBM 96117721Speter C/C++ chokes on mid-function, or even mid-file, prototypes. Sigh. 96217721Speter 96317721SpeterThu Nov 2 21:51:04 1995 Dan Wilder <dan@gasboy.com> 96417721Speter 96517721Speter * rtag.c (rtag): Fix typo ("-T" -> "-F"). 96617721Speter 96717721SpeterTue Oct 31 19:09:11 1995 Dan Wilder <dan@gasboy.com> 96817721Speter 96917721Speter * diff.c (diff_dirproc): just return R_SKIP_ALL if dir not exist. 97017721Speter (diff_file_nodiff): don't complain if file doesn't exist, just 97117721Speter ignore. 97217721Speter 97317721SpeterTue Oct 31 09:25:10 1995 Norbert Kiesel <nk@col.sw-ley.de> 97417721Speter 97517721Speter * sanity.sh: Use absolute pathname for mkmodules. 97617721Speter 97717721SpeterSat Oct 28 01:01:41 1995 Jim Meyering (meyering@comco.com) 97817721Speter 97917721Speter * entries.c (ParseTag): Use getline instead of fgets. 98017721Speter 98117721SpeterFri Oct 27 13:44:20 1995 Karl Fogel <kfogel@floss.cyclic.com> 98217721Speter 98317721Speter * cvs.h: do nothing about alloca ifdef ALLOCA_IN_STDLIB. I am 98417721Speter rather suspicious of this solution, and will not be surprised to 98517721Speter find out that there's a Right Way to handle this situation ("this 98617721Speter situation" being that OS/2 simply declares alloca in <stdlib.h>). 98717721Speter Suggestions are welcome; see src/cvs.h and lib/system.h to see why 98817721Speter I was getting a conflict in the first place. 98917721Speter 99017721SpeterWed Oct 25 16:03:20 1995 J.T. Conklin <jtc@slave.cygnus.com> 99117721Speter 99217721Speter * cvs.h (struct entnode): Add user field. 99317721Speter * entries.c (fputentent): New function, write entries line. 99417721Speter (write_ent_proc): Call fputentent to write entries line. 99517721Speter (Entnode_Create): New function, construct new Entnode. 99617721Speter (Entnode_Destroy): New function, destruct old Entnode. 99717721Speter (AddEntryNode): Changed to take an Entnode argument instead of 99817721Speter separate user, version, timestamp, etc. arguments. 99917721Speter (fgetentent): Changed to return Entnode. 100017721Speter (struct entent, free_entent): Removed. 100117721Speter 100217721SpeterWed Oct 25 12:44:32 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 100317721Speter 100417721Speter * admin.c (admin): Don't rely on ANSI C string concatenation; 100517721Speter SunOS 4.1.3 /bin/cc doesn't support it. 100617721Speter 100717721SpeterTue Oct 24 22:34:22 1995 Anthony J. Lill <ajlill@ajlc.waterloo.on.ca> 100817721Speter 100917721Speter * import.c (expand_at_signs): Check errno as well as return value 101017721Speter from putc. Some systems bogusly return EOF when successfully 101117721Speter writing 0xff. 101217721Speter 101317721SpeterTue Oct 24 14:32:45 1995 Norbert Kiesel <nk@col.sw-ley.de> 101417721Speter 101517721Speter * admin.c (admin): use getcaller() instead of getpwuid 101617721Speter 101717721Speter * subr.c (getcaller): prefer getlogin() to $USER and $LOGNAME 101817721Speter (especially useful for NT where getuid always returns 0) 101917721Speter 102017721SpeterTue Oct 24 06:22:08 1995 Jim Meyering (meyering@comco.com) 102117721Speter 102217721Speter * cvsrc.c (read_cvsrc): Use getline instead of fgets. 102317721Speter * patch.c (patch_fileproc): Use getline instead of fgets. 102417721Speter 102517721Speter * entries.c (fgetentent): Use getline instead of fgets. 102617721Speter Use xmalloc to allocate space for each returned entry. 102717721Speter Since LINE is no longer static, save it in struct entent. 102817721Speter (struct entent): New member, line. 102917721Speter (free_entent): New function. 103017721Speter (Entries_Open): Call it after each call to fgetentent. 103117721Speter 103217721SpeterTue Oct 24 11:13:15 1995 Norbert Kiesel <nk@col.sw-ley.de> 103317721Speter 103417721Speter * cvs.h: Declare valloc again, but this time with the right 103517721Speter signature (also changed in libs/valloc.c) 103617721Speter 103717721SpeterMon Oct 23 12:17:03 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 103817721Speter 103917721Speter * logmsg.c (do_editor): Check for errors from stdio calls. 104017721Speter 104117721SpeterMon Oct 23 12:37:06 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 104217721Speter 104317721Speter * cvs.h: Don't declare valloc. Some systems (e.g. linux) declare 104417721Speter it in stdlib.h in a conflicting way. 104517721Speter 104617721SpeterMon Oct 23 08:41:25 1995 Jim Meyering (meyering@comco.com) 104717721Speter 104817721Speter * commit.c (commit_filesdoneproc): Use getline instead of fgets. 104917721Speter 105017721Speter * logmsg.c (do_editor): Use getline instead of fgets. 105117721Speter (rcsinfo_proc): Likewise. 105217721Speter 105317721Speter * logmsg.c (do_editor): Lose if fclose of temp file output 105417721Speter stream fails. 105517721Speter 105617721SpeterMon Oct 23 11:59:41 1995 Norbert Kiesel <nk@col.sw-ley.de> 105717721Speter 105817721Speter * cvs.h: add valloc declaration 105917721Speter 106017721Speter * server.h: add server_cleanup prototype 106117721Speter 106217721Speter * server.c: remove server_cleanup prototype 106317721Speter 106417721Speter * mkmodules.c (server_cleanup): fix parameter type 106517721Speter 106617721Speter * server.c: encapsulate wait_sig in #ifdef sun (it's only used in 106717721Speter code which is also encapsulated in #ifdef sun) 106817721Speter 106917721Speter * rcscmds.c (RCS_deltag, RCS_lock): add definition of noerr 107017721Speter parameter 107117721Speter 107217721Speter * error.c: include cvs.h instead of config.h, add USE(rcsid) 107317721Speter 107417721Speter * error.c (error): fix parameter type 107517721Speter 107617721Speter * update.c (join_file): encapsulate recent changes from garyo 107717721Speter within #ifdef SERVER_SUPPORT 107817721Speter 107917721SpeterSun Oct 22 13:47:53 1995 J.T. Conklin <jtc@slave.cygnus.com> 108017721Speter 108117721Speter * client.c (update_entries): Fix memory leak; free mode_string and 108217721Speter file_timestamp. 108317721Speter (send_fileproc): Fix memory leak; call freevers_ts before exiting. 108417721Speter 108517721Speter * module.c (do_module): Partially fix memory leak; added 108617721Speter variable so that the address of memory allocated by line2argv 108717721Speter is retained, but comment out the call to free_names. Freeing 108817721Speter the vector at that point loses because some of the elements 108917721Speter may be used later in the function. 109017721Speter (cat_module): fix memory leak. 109117721Speter 109217721Speter * recurse.c (start_recursion): Fix memory leak; free return 109317721Speter value of Name_Repository after it has been used. 109417721Speter 109517721SpeterSat Oct 21 23:24:26 1995 Jim Meyering (meyering@comco.com) 109617721Speter 109717721Speter * client.c (send_modified) [LINES_CRLF_TERMINATED]: Comment text 109817721Speter after #endif. 109917721Speter 110017721SpeterFri Oct 20 14:41:49 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 110117721Speter 110217721Speter * sanity.sh: Add test 87a, to test for bug fixed by garyo in 110317721Speter change below. 110417721Speter 110517721SpeterFri Oct 20 10:59:58 1995 Gary Oberbrunner <garyo@darkstar.avs.com> 110617721Speter 110717721Speter * update.c (join_file): send file back to client even if no 110817721Speter conflicts were detected, by calling Register(). 110917721Speter 111017721SpeterFri Oct 20 10:46:45 1995 Norbert Kiesel <nk@col.sw-ley.de> 111117721Speter 111217721Speter * lock.c: Add prototype for Check_Owner 111317721Speter 111417721SpeterThu Oct 19 16:38:14 1995 Jim Meyering (meyering@comco.com) 111517721Speter 111617721Speter * lock.c (Check_Owner): Declare function `static int'. 111717721Speter 111817721SpeterThu Oct 19 14:58:40 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 111917721Speter 112017721Speter * expand_path.c (expand_variable): Fix typo ('*'->'('). 112117721Speter 112217721SpeterThu Oct 19 14:58:40 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 112317721Speter 112417721Speter * commit.c (commit_filesdoneproc): Check for errors from fopen, 112517721Speter fgets, and fclose. 112617721Speter 112717721Speter * rcscmds.c (RCS_merge): Remove comment about rcsmerge -E. 112817721Speter Hacking CVS was never a very good solution; the situation is fixed 112917721Speter in RCS 5.7, and is documented in ../INSTALL. 113017721Speter 113117721SpeterThu Oct 19 15:06:15 1995 Jim Meyering (meyering@comco.com) 113217721Speter 113317721Speter * filesubr.c (xchmod): Parenthesize arithmetic in operand of | 113417721Speter to placate gcc -Wall. 113517721Speter 113617721Speter * expand_path.c (expand_path): Parenthesize assignments used as 113717721Speter truth values to placate gcc -Wall. 113817721Speter 113917721Speter * commit.c (checkaddfile): Remove dcls of unused variables. 114017721Speter * lock.c (unlock): Remove dcl of unused variable. 114117721Speter 114217721SpeterThu Oct 19 14:58:40 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 114317721Speter 114417721Speter * root.c (Create_Root): If noexec, don't create CVS/Root. 114517721Speter 114617721SpeterWed Oct 18 11:19:40 1995 J.T. Conklin <jtc@slave.cygnus.com> 114717721Speter 114817721Speter * lock.c (unlock): Change order of comparison so that Check_Owner 114917721Speter is called only if other conditions are true. This performance 115017721Speter enhancement was broken when the AFS support was added. 115117721Speter 115217721SpeterWed Oct 18 12:51:33 1995 Karl Fogel <kfogel@floss.cyclic.com> 115317721Speter 115417721Speter * main.c (main): check if argv[0] is "pserver" with else-if, not 115517721Speter if, since we've already asked if it's "kserver". 115617721Speter 115717721SpeterTue Oct 17 18:09:23 1995 Warren Jones <wjones@tc.fluke.com> 115817721Speter and Jim Kingdon <kingdon@harvey.cyclic.com> 115917721Speter 116017721Speter * sanity.sh: Deal with supplying a relative cvs filename, or 116117721Speter with a cvs filename which doesn't have basename "cvs". 116217721Speter 116317721SpeterMon Oct 16 15:58:31 1995 Vince Demarco <vdemarco@bou.shl.com> 116417721Speter 116517721Speter * parseinfo.c (Parse_Info): if the Keyword isn't ALL the current 116617721Speter version doesn't use the expanded variable, It should. 116717721Speter 116817721SpeterMon Oct 16 15:58:31 1995 Gary Oberbrunner <garyo@avs.com> 116917721Speter and Jim Kingdon <kingdon@harvey.cyclic.com> 117017721Speter 117117721Speter * server.c (server_register): Don't pass NULL to printf if tag, 117217721Speter date, or conflict is NULL. 117317721Speter 117417721SpeterThu Oct 12 12:13:42 1995 Karl Fogel <kfogel@floss.cyclic.com> 117517721Speter 117617721Speter * main.c (main): begin to handle "pserver"; support not complete 117717721Speter yet, however. 117817721Speter 117917721SpeterThu Oct 12 02:52:13 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> 118017721Speter 118117721Speter * expand_path.c: Don't #include <pwd.h>, since cvs.h already does, 118217721Speter and not all systems' <pwd.h>s are protected from multiple inclusion. 118317721Speter * login.c: Likewise. 118417721Speter 118517721SpeterWed Oct 11 15:23:24 1995 Karl Fogel <kfogel@floss.cyclic.com> 118617721Speter 118717721Speter * login.c (login): handle everything correctly now. 118817721Speter 118917721SpeterWed Oct 11 12:02:48 1995 Norbert Kiesel <nk@col.sw-ley.de> 119017721Speter 119117721Speter * rcs.c (RCS_gettag): support RCS keyword Name 119217721Speter 119317721SpeterTue Oct 10 19:11:16 1995 Karl Fogel <kfogel@floss.cyclic.com> 119417721Speter 119517721Speter * options.h.in (CVS_LOGIN): discuss, but leave commented out. 119617721Speter The "cvs login" command is still under construction; however, the 119717721Speter repository was changing so fast that instead of creating a branch 119817721Speter and dealing with the attendant hair, I'm just developing on the 119917721Speter trunk, making sure that everything is surrounded by "#ifdef 120017721Speter CVS_LOGIN ... #endif" so I don't get in anyone's way. 120117721Speter 120217721Speter * login.c: include cvs.h before checking CVS_LOGIN, so it has a 120317721Speter chance to get defined before we ask if it's defined. 120417721Speter (login): oops, use semi not comma in `for' loop init. 120517721Speter 120617721Speter * Makefile.in (SOURCES, OBJECTS): include login.c, login.o. 120717721Speter 120817721Speter * main.c: added protoype for login(). 120917721Speter Added "login" entry to cmds[]. 121017721Speter (usg): added line about "login". 121117721Speter 121217721Speter * login.c: new file. 121317721Speter 121417721SpeterTue Oct 10 18:33:47 1995 Karl Fogel <kfogel@totoro.cyclic.com> 121517721Speter 121617721Speter * Makefile.in (COMMON_OBJECTS): added error.o. 121717721Speter (OBJECTS): took error.o out; it's in COMMON_OBJECTS now. 121817721Speter 121917721SpeterTue Oct 10 12:02:37 1995 Thorsten Lockert <tholo@sigmasoft.com> 122017721Speter 122117721Speter * cvsbug.sh: Cater to lame versions of sh (4.4BSD ash) by using 122217721Speter ${foo-bar} instead of `if....`. 122317721Speter 122417721SpeterTue Oct 10 12:02:37 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 122517721Speter 122617721Speter * remove.c (remove_fileproc): If noexec, don't remove file. Check 122717721Speter for error when removing file. 122817721Speter 122917721SpeterSun Oct 8 12:32:15 1995 Peter Wemm <peter@haywire.DIALix.COM> 123017721Speter 123117721Speter * run.c: detect/use POSIX/BSD style reliable signals for critical 123217721Speter section masking etc. Helps prevent stray locks on interruption. 123317721Speter 123417721SpeterSat Oct 7 23:26:54 1995 Norbert Kiesel <nk@col.sw-ley.de> 123517721Speter 123617721Speter * admin.c (admin): If group CVS_ADMIN_GROUP exists, allow only 123717721Speter users in that group to use "cvs admin". 123817721Speter * options.h.in: Default CVS_ADMIN_GROUP to "cvsadmin". 123917721Speter 124017721SpeterSat Oct 7 23:05:24 1995 Norbert Kiesel <nk@col.sw-ley.de> 124117721Speter 124217721Speter * add.c, checkout.c, commit.c, cvs.h, filesubr.c, import.c, 124317721Speter lock.c, main.c, modules.c, options.h.in: New variable cvsumask 124417721Speter which is used to set mode of files in repository (regardless of 124517721Speter umask in effect when cvs is run). 124617721Speter 124717721SpeterSat Oct 7 22:40:17 1995 Stephen Bailey <sjbailey@sand.npl.washington.edu> 124817721Speter 124917721Speter * lock.c: Include AFSCVS ifdefs to deal with AFS's lack of 125017721Speter correspondance between userid's from stat and from geteuid. 125117721Speter 125217721SpeterSat Oct 7 22:28:49 1995 Scott Carson <sdc@TracerTech.COM> 125317721Speter 125417721Speter * add.c (add): Pass -ko, not -k -ko, to set keyword expansion options. 125517721Speter 125617721Speter * admin.c (admin): Don't skip first argument when sending to server. 125717721Speter 125817721SpeterFri Oct 6 21:45:03 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 125917721Speter 126017721Speter * version.c: Version 1.6.1. 126117721Speter 126217721SpeterFri Oct 6 21:31:28 1995 Jeff Johnson <jbj@brewster.jbj.org> 126317721Speter 126417721Speter * cvs.h, admin.c, client.c, commit.c, log.c, modules.c, 126517721Speter parseinfo.c, patch.c, recurse.c, rtag.c, status.c, tag.c: 126617721Speter Prototype when dealing in pointers to functions. 126717721Speter 126817721SpeterFri Oct 6 21:07:22 1995 Mark H. Wilkinson <mhw@minster.york.ac.uk> 126917721Speter 127017721Speter * cvsrc.c (read_cvsrc): fix look up of command names in cvsrc file 127117721Speter to use full name from command table rather than possible nickname 127217721Speter in argv. Fixes errors with things like `cvs di' when cvsrc has 127317721Speter `diff -u5' in it. 127417721Speter 127517721SpeterThu Aug 3 01:03:52 1995 Vince DeMarco <vdemarco@bou.shl.com> 127617721Speter 127717721Speter * parseinfo.c (Parse_Info): Add code to call expand_path function 127817721Speter instead of using built in code. 127917721Speter 128017721Speter * wrapper.c (wrap_add): Add code to call expand_path function to 128117721Speter expand all built in variables. 128217721Speter 128317721Speter * expand_path.c (New file): expand things that look like 128417721Speter environmental variables (only expand local CVS environmental 128517721Speter variables) and user names like ~/. 128617721Speter * cvs.h: Declare expand_path. 128717721Speter 128817721Speter * Makefile.in (SOURCES, OBJECTS): Added expand_path.c, 128917721Speter expand_path.o. 129017721Speter 129117721SpeterFri Oct 6 14:03:09 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 129217721Speter 129317721Speter * ignore.c (ign_setup): Don't try to look for a file in CVSroot if 129417721Speter client. (The recent tightening of the error checking detects this). 129517721Speter 129617721Speter * commit.c (checkaddfile): Don't try to pass options if it is "". 129717721Speter 129817721SpeterThu Oct 5 18:04:46 1995 Karl Fogel <kfogel@totoro.cyclic.com> 129917721Speter 130017721Speter * sanity.sh: unset CVSREAD, since it causes the script to bomb. 130117721Speter 130217721SpeterThu Oct 5 18:29:17 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 130317721Speter 130417721Speter * remove.c, add.c, commit.c, cvs.h: Remove CVSEXT_OPT stuff; it 130517721Speter has been broken for ages and the options are already stored in the 130617721Speter Entries file. 130717721Speter 130817721SpeterThu Oct 5 18:20:13 1995 Norbert Kiesel <nk@col.sw-ley.de> 130917721Speter 131017721Speter * commit.c (checkaddfile): New argument options; pass it to RCS. 131117721Speter (commit_fileproc): Pass it. 131217721Speter 131317721SpeterTue Oct 3 09:26:00 1995 Karl Fogel <kfogel@totoro.cyclic.com> 131417721Speter 131517721Speter * version.c: upped to 1.6. 131617721Speter 131717721SpeterMon Oct 2 18:10:35 1995 Larry Jones <larry.jones@sdrc.com> 131817721Speter 131917721Speter * server.c: if HAVE_SYS_BSDTYPES_H, include <sys/bsdtypes.h>. 132017721Speter 132117721SpeterMon Oct 2 10:34:53 1995 Karl Fogel <kfogel@totoro.cyclic.com> 132217721Speter 132317721Speter * version.c: Upped version to 1.5.95. 132417721Speter 132517721SpeterMon Oct 2 15:16:47 1995 Norbert Kiesel <nk@col.sw-ley.de> 132617721Speter 132717721Speter * tag.c, rtag.c: pass "mov" instead of "add" if tag will be moved 132817721Speter (i.e. invoked with -F) 132917721Speter 133017721SpeterSun Oct 1 18:36:34 1995 Karl Fogel <kfogel@totoro.cyclic.com> 133117721Speter 133217721Speter * version.c: upped to 1.5.94. 133317721Speter 133417721Speter * server.c: reverted earlier ISC change (of Sep. 28). 133517721Speter 133617721Speter * version.c: upped to 1.5.93, for Peter Wemm's new SVR4 patch. 133717721Speter 133817721SpeterSun Oct 1 14:51:59 1995 Harlan Stenn <Harlan.Stenn@pfcs.com> 133917721Speter 134017721Speter * main.c: don't #include <pwd.h>; cvs.h does that already. 134117721Speter 134217721SpeterFri Sep 29 15:21:35 1995 Karl Fogel <kfogel@floss.cyclic.com> 134317721Speter 134417721Speter * version.c: upped to 1.5.91 for another pre-1.6 release. 134517721Speter 134617721SpeterFri Sep 29 14:41:14 1995 <bmeier@rzu.unizh.ch> 134717721Speter 134817721Speter * root.c: start rcsid[] with "CVSid". 134917721Speter 135017721SpeterFri Sep 29 13:22:44 1995 Jim Blandy <jimb@totoro.cyclic.com> 135117721Speter 135217721Speter * diff.c (diff): Doc fix. 135317721Speter 135417721SpeterFri Sep 29 14:32:36 1995 Norbert Kiesel <nk@col.sw-ley.de> 135517721Speter 135617721Speter * repos.c (Short_Repository): chop superfluous "/". 135717721Speter 135817721Speter * tag.c (pretag_proc): correct user-visible string. 135917721Speter 136017721Speter * rtag.c (pretag_proc): correct user-visible string. 136117721Speter 136217721SpeterFri Sep 29 13:45:36 1995 Karl Fogel <kfogel@floss.cyclic.com> 136317721Speter 136417721Speter * cvs.h (USE): if __GNUC__ != 2, expand to a dummy var instead of 136517721Speter nothing. 136617721Speter 136717721SpeterThu Sep 28 13:37:05 1995 Larry Jones <larry.jones@sdrc.com> 136817721Speter 136917721Speter * server.c: ifdef ISC, include <sys/bsdtypes.h>. 137017721Speter 137117721SpeterFri Sep 29 07:54:22 1995 Mike Sutton <mws115@llcoolj.dayton.saic.com> 137217721Speter 137317721Speter * filesubr.c (last_component): Don't use ANSI style declaration. 137417721Speter 137517721SpeterWed Sep 27 15:24:00 1995 Del <del@matra.com.au> 137617721Speter 137717721Speter * tag.c, rtag.c: Pass a few extra options to the script 137817721Speter named in taginfo (del/add, and revision number). 137917721Speter 138017721Speter * tag.c: Support a -r option (at long last). Also needs 138117721Speter a -f option to tag the head if there is no matching -r tag. 138217721Speter 138317721SpeterTue Sep 26 11:41:08 1995 Karl Fogel <kfogel@totoro.cyclic.com> 138417721Speter 138517721Speter * version.c: Upped version to 1.5.89 for test release preceding 138617721Speter 1.6. 138717721Speter 138817721SpeterWed Sep 20 15:32:49 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 138917721Speter 139017721Speter * ignore.c (ign_add_file): Check for errors from fopen and fclose. 139117721Speter 139217721SpeterTue Sep 19 18:02:16 1995 Jim Blandy <jimb@totoro.cyclic.com> 139317721Speter 139417721Speter * Makefile.in (DISTFILES): Remove sanity.el from this list; the 139517721Speter file has been deleted. 139617721Speter 139717721SpeterThu Sep 14 14:17:52 1995 Peter Wemm <peter@haywire.dialix.com> 139817721Speter 139917721Speter * import.c: Recover from being unable to open the user file. 140017721Speter 140117721Speter * update.c (join_file): Print a message in the case where the file 140217721Speter was added. 140317721Speter 140417721Speter * mkmodules.c: Deal with .db as well as .pag/.dir (for use with 140517721Speter BSD 4.4 and real dbm support). 140617721Speter 140717721SpeterMon Sep 11 15:44:13 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 140817721Speter 140917721Speter * release.c (release): Revise comment regarding why and how we 141017721Speter skip argv[0]. 141117721Speter 141217721SpeterMon Sep 11 10:03:59 1995 Karl Fogel <kfogel@floss.cyclic.com> 141317721Speter 141417721Speter * release.c (release): use return value of pclose to determine 141517721Speter success of update. 141617721Speter 141717721SpeterMon Sep 11 09:56:33 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 141817721Speter 141917721Speter * release.c (release_delete): Fix comment. 142017721Speter 142117721SpeterSun Sep 10 18:48:35 1995 Karl Fogel <kfogel@floss.cyclic.com> 142217721Speter 142317721Speter * release.c (release): made work with client/server. 142417721Speter Don't ask if <arg> is mentioned in `modules'. 142517721Speter 142617721SpeterFri Sep 8 13:25:55 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 142717721Speter 142817721Speter * sanity.sh: When committing a removal, send stdout to LOGFILE; 142917721Speter this is no longer a silent operation. 143017721Speter 143117721Speter * sanity.sh: Remove OUTPUT variable; it is unused. 143217721Speter 143317721Speter * client.c: Add comment regarding deleting temp file. 143417721Speter * main.c: Add comment regarding getopt REQUIRE_ORDER. 143517721Speter 143617721SpeterThu Sep 7 20:24:46 1995 Karl Fogel <kfogel@floss.cyclic.com> 143717721Speter 143817721Speter * main.c (main): use getopt_long(), accept "--help" and 143917721Speter "--version". 144017721Speter Don't assume EOF is -1. 144117721Speter 144217721SpeterThu Sep 7 19:18:00 1995 Jim Blandy <jimb@cyclic.com> 144317721Speter 144417721Speter * cvs.h (unlink_file_dir): Add prototype for this. 144517721Speter 144617721SpeterThu Sep 7 14:38:06 1995 Karl Fogel <kfogel@floss.cyclic.com> 144717721Speter 144817721Speter * ALL FILES: add semicolon, as indicated below. 144917721Speter 145017721Speter * cvs.h (USE): don't provide semicolon in the expansion of the USE 145117721Speter macro; we'd rather the callers provided it themselves because that 145217721Speter way etags doesn't get fooled. 145317721Speter 145417721SpeterMon Sep 4 23:30:41 1995 Magnus Hyllander <mhy@os.se> 145517721Speter 145617721Speter * checkout.c: cvs export now takes -k option and does not default 145717721Speter to -kv. 145817721Speter * checkout.c, cvs.h, modules.c: Modules file now takes -e option 145917721Speter for cvs export. 146017721Speter 146117721SpeterMon Sep 4 23:30:41 1995 Kirby Koster <koster@sctc.com> 146217721Speter 146317721Speter * commit.c: When committing a removal, print a message saying what 146417721Speter we are doing. 146517721Speter 146617721SpeterWed Aug 2 10:06:51 1995 Vince DeMarco <vdemarco@bou.shl.com> 146717721Speter 146817721Speter * server.c: fix compiler warnings (on NeXT) (declare functions as 146917721Speter static inline instead of just static) functions: get_buffer_date, 147017721Speter buf_append_char, and buf_append_data 147117721Speter 147217721SpeterMon Sep 4 22:31:28 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 147317721Speter 147417721Speter * client.c (update_entries), import.c (expand_at_signs): Check for 147517721Speter errors from fread and putc. 147617721Speter 147717721SpeterFri Sep 1 00:03:17 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 147817721Speter 147917721Speter * sanity.sh: Fix TODO item pathname. 148017721Speter 148117721Speter * sanity.el: Removed. It was out of date, didn't do much, and I 148217721Speter doubt anyone was using it. 148317721Speter 148417721Speter * no_diff.c (No_Difference): Don't change the modes of the files. 148517721Speter 148617721SpeterThu Aug 31 13:14:34 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 148717721Speter 148817721Speter * version.c: Change version to 1.5.1. 148917721Speter 149017721Speter * client.c (start_rsh_server): Don't pass -d to "cvs server" 149117721Speter invocation via rsh (restore change which was lost when NT stuff 149217721Speter was merged in). 149317721Speter * sanity.sh: Add TODO item suggesting test for bug which this fixes. 149417721Speter 149517721SpeterWed Aug 30 12:36:37 1995 Jim Blandy <jimb@totoro.cyclic.com> 149617721Speter 149717721Speter * sanity.sh (basic1): Make sure first-dir is deleted before 149817721Speter running this set of tests. 149917721Speter 150017721Speter * subr.c: Extract file twiddling functions to a different file, 150117721Speter because we want to use different versions of many of these 150217721Speter routines under Windows NT. 150317721Speter (copy_file, isdir, islink, isfile, isreadable, iswritable, 150417721Speter open_file, make_directory, make_directories, xchmod, 150517721Speter rename_file, link_file, unlink_file, xcmp, tmpnam, 150617721Speter unlink_file_dir, deep_remove_dir): Moved to... 150717721Speter * filesubr.c: ...this file, which is new. 150817721Speter * Makefile.in (SOURCES): Mention filesubr.c. 150917721Speter (COMMON_OBJECTS): Mention filesubr.o. 151017721Speter 151117721Speter * subr.c: Extract process execution guts to a different file, 151217721Speter because we want to replace these routines entirely under 151317721Speter Windows NT. 151417721Speter (VA_START, va_alist, va_dcl): Move this stuff... 151517721Speter (run_add_arg, run_init_prog): and these declarations... 151617721Speter (run_prog, run_argv, run_argc, run_argc_allocated): and these 151717721Speter variables... 151817721Speter (run_setup, run_arg, run_args, run_add_arg, run_init_prog, 151917721Speter run_exec, run_print, Popen): and these functions... 152017721Speter * run.c: To this file, which is new. 152117721Speter * Makefile.in (SOURCES): Mention run.c. 152217721Speter (COMMON_OBJECTS): Mention run.o. 152317721Speter 152417721Speter * status.c (status): Call ign_setup, if client_active. Otherwise, 152517721Speter we don't end up ignoring CVS directories and such. 152617721Speter 152717721Speter * server.c (mkdir_p, dirswitch): Use CVS_MKDIR instead of mkdir. 152817721Speter 152917721Speter * repos.c (Name_Repository): Use the isabsolute function instead of 153017721Speter checking the first character of the path. 153117721Speter * root.c (Name_Root): Same. 153217721Speter 153317721Speter * release.c (release): Use fncmp instead of strcmp to compare 153417721Speter filenames. 153517721Speter 153617721Speter * rcs.c (RCS_parse, RCS_parsercsfile) [LINES_CRLF_TERMINATED]: 153717721Speter Abort, because we have strong reason to believe this code is 153817721Speter wrong. 153917721Speter 154017721Speter * patch.c (patch): Register signal handlers iff the signal name is 154117721Speter #defined. 154217721Speter 154317721Speter * no_diff.c (No_Difference): Don't try to include server_active in 154417721Speter trace message unless SERVER_SUPPORT is #defined. 154517721Speter 154617721Speter * modules.c (do_module): Use CVS_MKDIR instead of mkdir. 154717721Speter 154817721Speter * mkmodules.c (main): Call last_component instead of writing it out. 154917721Speter 155017721Speter * main.c (main): Call last_component instead of writing it out. 155117721Speter Break up the long copyright string into several strings; Microsoft 155217721Speter Visual C++ can't handle a line that long. Feh. 155317721Speter Use fncmp instead of strcmp to compare filenames. 155417721Speter Register signal handlers iff the signal name is #defined. 155517721Speter 155617721Speter * lock.c (readers_exist): Don't check return value of closedir. 155717721Speter Most of the rest of the code doesn't, and some systems don't 155817721Speter provide a return value anyway. 155917721Speter (set_lock): Use CVS_MKDIR instead of mkdir. 156017721Speter 156117721Speter * import.c (import): Use the isabsolute function instead of 156217721Speter checking the first character of the path. 156317721Speter Try to delete the temporary file again after we close it, so it'll 156417721Speter get deleted on systems that don't let you delete files that are 156517721Speter open. 156617721Speter (add_rev): Instead of making a hard link to the working file and 156717721Speter checking in the revision with ci -r, use ci -u and restore the 156817721Speter permission bits. 156917721Speter (comtable): Include lines from SYSTEM_COMMENT_TABLE, if it is 157017721Speter #defined. 157117721Speter (add_rcs_file) [LINES_CRLF_TERMINATED]: Abort, because we have 157217721Speter strong reason to believe this code is wrong. 157317721Speter (import_descend_dir): Use CVS_MKDIR instead of mkdir. 157417721Speter 157517721Speter * history.c (read_hrecs): Open the file with OPEN_BINARY. 157617721Speter 157717721Speter * find_names.c (add_entries_proc, fsortcmp): Add prototypes. 157817721Speter * entries.c (write_ent_proc): Add prototype. 157917721Speter * hash.c (walklist): Add prototype for PROC argument. 158017721Speter (sortlist): Add prototype for COMP argument. 158117721Speter (printnode): Add a prototype, and make it static. 158217721Speter 158317721Speter * cvs.h (wrap_add_file, wrap_add): Add extern decls for these; 158417721Speter they're used in import.c and update.c. 158517721Speter * wrapper.c (wrap_add_file, wrap_add): Remove them from here. 158617721Speter 158717721Speter * cvs.h (RUN_NORMAL, RUN_COMBINED, RUN_REALLY, RUN_STDOUT_APPEND, 158817721Speter RUN_STDERR_APPEND, RUN_SIGNIGNORE, RUN_TTY, run_arg, run_print, 158917721Speter run_setup, run_args, run_exec, Popen, piped_child, close_on_exec, 159017721Speter filter_stream_through_program, waitpid): Move all these 159117721Speter declarations and definitions to the same section. 159217721Speter 159317721Speter * cvs.h (error_set_cleanup): Fix prototype. 159417721Speter 159517721Speter * cvs.h (isabsolute, last_component): New extern decls. 159617721Speter 159717721Speter * cvs.h (link_file): Function is deleted; remove extern decl. 159817721Speter 159917721Speter * cvs.h (DEATH_STATE, DEATH_SUPPORT): Move #definitions of these 160017721Speter above the point where we #include rcs.h, since rcs.h tests them 160117721Speter (or DEATH_SUPPORT, at least). 160217721Speter 160317721Speter * cvs.h (DEVNULL): #define this iff it isn't already #defined. 160417721Speter config.h may want to override it. 160517721Speter 160617721Speter * cvs.h (SERVER_SUPPORT, CLIENT_SUPPORT): Don't #define these 160717721Speter here; let config.h do that. On some systems, we don't have any 160817721Speter server support. 160917721Speter 161017721Speter * cvs.h: Don't #include <io.h> or <direct.h>; we take care of 161117721Speter those in lib/system.h. 161217721Speter 161317721Speter * commit.c (commit): Open logfile with the OPEN_BINARY flag. 161417721Speter (precommit_proc): Use the isabsolute function, instead of 161517721Speter comparing the first character with /. 161617721Speter (remove_file, checkaddfile): Use CVS_MKDIR instead of mkdir. 161717721Speter 161817721Speter * client.c (send_repository): Use larger line buffers. 161917721Speter 162017721Speter * client.c [LINES_CRLF_TERMINATED] (update_entries): If we've just 162117721Speter received a gzipped file, copy it over, converting LF to CRLF, 162217721Speter instead of just renaming it into place. 162317721Speter [LINES_CRLF_TERMINATED] (send_modified): Convert file to LF format 162417721Speter before sending with gzip. 162517721Speter (send_modified): Don't be disturbed if we get fewer than 162617721Speter sb.st_size characters when we read. The read function may be 162717721Speter collapsing CRLF to LF for us. 162817721Speter 162917721Speter * client.c: Add forward declarations for all the cvs command 163017721Speter functions we call. 163117721Speter 163217721Speter * client.c: Add forward static declarations for all the 163317721Speter handle_mumble functions. 163417721Speter 163517721Speter On some systems, RSH converts LF to CRLF; this screws us up. 163617721Speter * client.c (rsh_pid): Declare this iff RSH_NOT_TRANSPARENT is not 163717721Speter #defined. 163817721Speter (get_responses_and_close): Use SHUTDOWN_SERVER if it is #defined. 163917721Speter Only wait for rsh process to exit if RSH_NOT_TRANSPARENT is not 164017721Speter #defined. 164117721Speter (start_rsh_server): Declare and define only if 164217721Speter RSH_NOT_TRANSPARENT is not #defined. Use piped_child, instead of 164317721Speter writing all that out. 164417721Speter (start_server): Only try to call start_rsh_server if 164517721Speter RSH_NOT_TRANSPARENT is not #defined. Use START_SERVER if it is 164617721Speter #defined. Convert file descriptors to stdio file pointers using 164717721Speter the FOPEN_BINARY_WRITE and FOPEN_BINARY_READ strings. 164817721Speter 164917721Speter * client.h (rsh_pid): Don't declare this; it's never used elsewhere. 165017721Speter (supported_request): Add external declaration for this; 165117721Speter it's used in checkout.c. 165217721Speter 165317721Speter Move process-running functions to run.c; we need to totally 165417721Speter replace these on other systems, like Windows NT. 165517721Speter * client.c (close_on_exec, filter_stream_through_program): Moved 165617721Speter to run.c. 165717721Speter * run.c (close_on_exec, filter_stream_through_program): Here they 165817721Speter are. 165917721Speter 166017721Speter * add.c (add_directory): Use CVS_MKDIR instead of straight mkdir. 166117721Speter * checkout.c (checkout, build_dirs_and_chdir): Same. 166217721Speter (checkout_proc): Use fncmp instead of strcmp. 166317721Speter * client.c (call_in_directory): Use CVS_MKDIR instead of straight 166417721Speter mkdir. 166517721Speter 166617721Speter * client.c (handle_checksum): Cast return value of strtol. 166717721Speter 166817721SpeterWed Aug 30 10:35:46 1995 Stefan Monnier <stefan.monnier@epfl.ch> 166917721Speter 167017721Speter * main.c (main): Allow -d to override CVSROOT_ENV. 167117721Speter 167217721SpeterThu Aug 24 18:57:49 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 167317721Speter 167417721Speter * cvs.h, rcscmds.c (RCS_unlock, RCS_deltag, RCS_lock): Add extra 167517721Speter parameter for whether to direct stderr to DEVNULL. 167617721Speter * checkin.c, tag.c, rtag.c, import.c, commit.c: Pass extra 167717721Speter argument. 1 if stderr had been directed to DEVNULL before 167817721Speter rcscmds.c was in use, 0 if it was RUN_TTY. 167917721Speter 168017721Speter * cvs.h: Add comment regarding attic. 168117721Speter 168217721SpeterTue Aug 22 10:09:29 1995 Alexander Dupuy <dupuy@smarts.com> 168317721Speter 168417721Speter * rcs.c (whitespace): Cast to unsigned char in case char is signed 168517721Speter and value is negative. 168617721Speter 168717721SpeterTue Aug 22 10:09:29 1995 Kirby Koster <koster@sctc.com> 168817721Speter and Jim Kingdon <kingdon@harvey.cyclic.com> 168917721Speter 169017721Speter * update.c (join_file): If vers->vn_user is NULL, just return. 169117721Speter 169217721SpeterTue Aug 22 10:09:29 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 169317721Speter 169417721Speter * server.c, client.c: Add comments about modes and umasks. 169517721Speter 169617721SpeterMon Aug 21 12:54:14 1995 Rick Sladkey <jrs@world.std.com> 169717721Speter 169817721Speter * update.c (update_filesdone_proc): If pipeout, don't try to 169917721Speter create CVS/Root. 170017721Speter 170117721SpeterMon Aug 21 12:54:14 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 170217721Speter 170317721Speter * client.c (start_rsh_server): Don't pass -d to "cvs server" 170417721Speter invocation via rsh. 170517721Speter 170617721Speter * server.c (serve_root): Report errors via pending_error_text. 170717721Speter (serve_valid_requests): Check for pending errors. 170817721Speter 170917721SpeterSun Aug 20 00:59:46 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 171017721Speter 171117721Speter * options.h.in: Document usage of DIFF in update.c 171217721Speter * update.c: Use DIFF -c, not DIFF -u. The small improvement in 171317721Speter diff size is not worth the hassle in terms of everyone having to 171417721Speter make sure that DIFF is GNU diff (IMHO). 171517721Speter 171617721SpeterSat Aug 19 22:05:46 1995 Jim Blandy <jimb@totoro.cyclic.com> 171717721Speter 171817721Speter * recurse.c (start_recursion): Doc fix. 171917721Speter 172017721Speter * server.c (do_cvs_command): Clear error_use_protocol in the 172117721Speter child. 172217721Speter (server): Set error_use_protocol. 172317721Speter 172417721SpeterSun Aug 13 15:33:37 1995 Jim Kingdon <kingdon@harvey.cyclic.com> 172517721Speter 172617721Speter * server.c (do_cvs_command): Don't select on exceptions. 172717721Speter 172817721SpeterFri Aug 4 00:13:47 1995 Jim Meyering (meyering@comco.com) 172917721Speter 173017721Speter * Makefile.in (LDFLAGS): Set to @LDFLAGS@. 173117721Speter (options.h): Depend on ../config.status and options.h.in. 173217721Speter Add rule to build it from dependents. 173317721Speter 173417721Speter * add.c: Include save-cwd.h. 173517721Speter (add_directory): Use save_cwd and restore_cwd instead of 173617721Speter explicit getwd then chdir. 173717721Speter * import.c (import_descend_dir): Likewise. 173817721Speter * modules.c (do_module): Likewise. 173917721Speter 174017721Speter * recurse.c (save_cwd, restore_cwd, free_cwd): Remove functions. 174117721Speter New versions have been broken out into save-cwd.c. 174217721Speter (do_dir_proc): Adapt to handle status code returned by new versions 174317721Speter of save_cwd and restore_cwd -- and one fewer argument to restore_cwd. 174417721Speter (unroll_files_proc): Likewise. 174517721Speter 174617721Speter * wrapper.c (wrap_name_has): Add default: abort () to switch 174717721Speter statement to avoid warning from gcc -Wall. 174817721Speter (wrap_matching_entry): Remove dcl of unused TEMP. 174917721Speter (wrap_tocvs_process_file): Remove dcl of unused ERR. 175017721Speter (wrap_fromcvs_process_file): Likewise. 175117721Speter 175217721Speter * cvs.h: Remove prototype for error. Instead, include error.h. 175317721Speter Also, remove trailing white space. 175417721Speter 175517721SpeterThu Aug 3 10:12:20 1995 Jim Meyering (meyering@comco.com) 175617721Speter 175717721Speter * import.c (import_descend_dir): Don't print probably-bogus CWD 175817721Speter in error messages saying `cannot get working directory'. 175917721Speter 176017721SpeterSun Jul 30 20:52:04 1995 James Kingdon <kingdon@harvey.cyclic.com> 176117721Speter 176217721Speter * parseinfo.c (Parse_Info): Revise comments and indentation. 176317721Speter 176417721SpeterSun Jul 30 15:30:16 1995 Vince DeMarco <vdemarco@bou.shl.com> 176517721Speter 176617721Speter * history.c: put ifdef SERVER_SUPPORT around tracing code incase 176717721Speter the client/server code is not compiled into the program. 176817721Speter 176917721SpeterSat Jul 29 16:59:49 1995 James Kingdon <kingdon@harvey.cyclic.com> 177017721Speter 177117721Speter * subr.c (deep_remove_dir): Use struct dirent, not struct direct. 177217721Speter 177317721SpeterSat Jul 29 18:32:06 1995 Vince DeMarco <vdemarco@bou.shl.com> 177417721Speter 177517721Speter * add.c: Check wrap_name_has. 177617721Speter 177717721Speter * diff.c, checkin.c, import.c: have code call unlink_file_dir in 177817721Speter the appropriate places instead of just calling unlink_file. 177917721Speter 178017721Speter * checkin.c: Remove one unlink call. 178117721Speter 178217721Speter * import.c (comtable): Add .m .psw .pswm. 178317721Speter 178417721Speter * import.c (add_rcs_file): Remove tocvsPath before returning. 178517721Speter 178617721Speter * subr.c (unlink_file_dir): Add new function. unlinks the file if 178717721Speter it is a file. or will do a recursive delete if the path is 178817721Speter actually a directory. 178917721Speter (deep_remove_dir): New function, helps unlink_file_dir. 179017721Speter 179117721Speter * mkmodules.c: Added CVSROOTADM_WRAPPER (cvswrappers file) to the 179217721Speter checkout file list. 179317721Speter 179417721SpeterFri Jul 28 16:27:56 1995 James Kingdon <kingdon@harvey.cyclic.com> 179517721Speter 179617721Speter * checkout.c (safe_location): Use PATH_MAX not MAXPATHLEN. 179717721Speter 179817721SpeterFri Jul 28 19:37:03 1995 Paul Eggert <eggert@twinsun.com> 179917721Speter 180017721Speter * log.c (cvslog, log_fileproc): Pass all options (except -l) 180117721Speter to rlog as-is, so that users can put spaces in options, 180217721Speter can specify multiple -d options, etc. 180317721Speter (ac, av): New variables. 180417721Speter (log_option_with_arg, options): Remove. 180517721Speter 180617721Speter (log_fileproc): Don't prepend `/' to file name if update_dir is empty. 180717721Speter 180817721SpeterTue Jul 25 00:52:26 1995 James Kingdon <kingdon@harvey.cyclic.com> 180917721Speter 181017721Speter * checkout.c (safe_location): Don't use PROTO in function definition. 181117721Speter 181217721SpeterMon Jul 24 18:32:06 1995 Vince DeMarco <vdemarco@bou.shl.com> 181317721Speter 181417721Speter * checkout.c (safe_location): fix a compiler warning. (Declare 181517721Speter safe_location). Changed code in safe_location to call getwd 181617721Speter instead of getcwd. getwd is declared in the ../lib directory and 181717721Speter used exclusively thoughout the code. (this helps portability on 181817721Speter non POSIX systems). 181917721Speter 182017721Speter * wrapper.c: updated Andrew Athan's email address. 182117721Speter 182217721Speter * main.c: fix an ifdef so the code will compile. syntax error in 182317721Speter the ifdef for CVS_NOADMIN. 182417721Speter 182517721SpeterMon Jul 24 13:25:00 1995 Del <del@babel.dialix.oz.au> 182617721Speter 182717721Speter * checkout.c: New procedure safe_location. 182817721Speter Ensures that you don't check out into the repository 182917721Speter itself. 183017721Speter 183117721Speter * tag.c, rtag.c, cvs.h, mkmodules.c: Added a "taginfo" file in 183217721Speter CVSROOT to perform pre-tag checks. 183317721Speter 183417721Speter * main.c, options.h.in: Added a compile time option to 183517721Speter disable the admin command. 183617721Speter 183717721SpeterFri Jul 21 17:07:42 1995 James Kingdon <kingdon@harvey.cyclic.com> 183817721Speter 183917721Speter * update.c, status.c, patch.c, checkout.c, import.c, release.c, 184017721Speter rtag.c, tag.c: Now -q and -Q options just print an error message 184117721Speter telling you to use global -q and -Q options. The non-global 184217721Speter options were a mess because some commands accepted them and some 184317721Speter did not, and they were redundant with -q and -Q global options. 184417721Speter 184517721Speter * rcs.c, cvs.h, commit.c, log.c, find_names.c: Remove CVS.dea 184617721Speter stuff. It is slower than the alternatives and I don't think 184717721Speter anyone ever actually used it. 184817721Speter 184917721SpeterFri Jul 21 10:35:10 1995 Vince DeMarco <vdemarco@bou.shl.com> 185017721Speter 185117721Speter * Makefile.in (SOURCES, OBJECTS): Add wrapper.c, wrapper.o. 185217721Speter * add.c, admin.c, checkout.c, commit.c, diff.c, import.c, log.c, 185317721Speter remove.c, status.c: Call wrap_setup at start of commands. 185417721Speter * add.c (add): Check for wrapper, as well as directory, in repository. 185517721Speter * checkin.c: Add tocvsPath variable and associated handling. 185617721Speter * cvs.h: Add wrapper declarations. 185717721Speter * diff.c: Add tocvsPath variable and associated handling. 185817721Speter * import.c: Add -W option, CVSDOTWRAPPER handling. 185917721Speter (import_descend): check wrap_name_has. 186017721Speter (update_rcs_file, add_rev, add_rcs_file): add tocvsPath 186117721Speter variable and associated handling. 186217721Speter * no_diff.c: Add tocvsPath variable and associated handling. 186317721Speter * recurse.c (start_recursion): Check wrap_name_has. 186417721Speter * update.c: Copy, don't merge, copy-by-merge files. Attempt to 186517721Speter use -j on a copy-by-merge file generates a warning and no further 186617721Speter action. 186717721Speter * update.c: Add CVSDOTWRAPPER handling. 186817721Speter * wrapper.c: Added. 186917721Speter 187017721SpeterFri Jul 21 00:20:52 1995 James Kingdon <kingdon@harvey.cyclic.com> 187117721Speter 187217721Speter * client.c: Revert David Lamkin patch, except for the bits about 187317721Speter removing temp_filename and the .rej file. 187417721Speter * sanity.sh (errmsg1): Test for the underlying bug which Lamkin 187517721Speter kludged around. 187617721Speter * client.c (call_in_directory): Set short_pathname to include the 187717721Speter filename, not just the directory. Improve comments regarding what 187817721Speter is passed to FUNC. 187917721Speter 188017721SpeterThu Jul 20 17:51:54 1995 David Lamkin <drl@net-tel.co.uk> 188117721Speter 188217721Speter * client.c (short_pathname): Fixes the fetching of the whole file 188317721Speter after a patch to bring it up to date has failed: 188417721Speter - failed_patches[] now holds short path to file that failed 188517721Speter - patch temp files are unlinked where the patch is done 188617721Speter 188717721SpeterThu Jul 20 12:37:10 1995 James Kingdon <kingdon@harvey.cyclic.com> 188817721Speter 188917721Speter * cvs.h: Declare error_set_cleanup 189017721Speter * main.c: Call it. 189117721Speter (error_cleanup): New function. 189217721Speter 189317721SpeterThu Jul 20 12:17:16 1995 Mark H. Wilkinson <mhw@minster.york.ac.uk> 189417721Speter 189517721Speter * add.c, admin.c, checkin.c, checkout.c, classify.c, client.c, 189617721Speter client.h, commit.c, create_adm.c, cvs.h, diff.c, entries.c, 189717721Speter history.c, import.c, log.c, main.c, modules.c, no_diff.c, patch.c, 189817721Speter release.c, remove.c, repos.c, rtag.c, server.c, server.h, 189917721Speter status.c, subr.c, tag.c, update.c, vers_ts.c, version.c: Put 190017721Speter client code inside #ifdef CLIENT_SUPPORT, server code inside 190117721Speter #ifdef SERVER_SUPPORT. When reporting version, report whether 190217721Speter client and/or server are compiled in. 190317721Speter 190417721SpeterWed Jul 19 18:00:00 1995 Jim Blandy <jimb@cyclic.com> 190517721Speter 190617721Speter * subr.c (copy_file): Declare local var n to be an int, 190717721Speter not a size_t. size_t is unsigned, and the return values 190817721Speter of read and write are definitely not unsigned. 190917721Speter 191017721Speter * cvs.h [HAVE_IO_H]: #include <io.h>. 191117721Speter [HAVE_DIRECT_H]: #include <direct.h>. 191217721Speter 191317721SpeterFri Jul 14 22:28:46 1995 Jim Blandy <jimb@totoro.cyclic.com> 191417721Speter 191517721Speter * server.c (dirswitch, serve_static_directory, serve_sticky, 191617721Speter serve_lost, server_write_entries, serve_checkin_prog, 191717721Speter serve_update_prog): Include more information in error messages. 191817721Speter (Thanks, DJM.) 191917721Speter 192017721Speter * cvsbug.sh: Use /usr/sbin/sendmail, unless it doesn't 192117721Speter exist, in which case use /usr/lib/sendmail. (Thanks, DJM.) 192217721Speter 192317721Speter * server.c (server, server_cleanup): Use "/tmp" instead of 192417721Speter "/usr/tmp" when the TMPDIR environment variable isn't set. This 192517721Speter is what the rest of the code uses. 192617721Speter 192717721SpeterThu Jul 13 11:03:17 1995 Jim Meyering (meyering@comco.com) 192817721Speter 192917721Speter * recurse.c (free_cwd): New function. 193017721Speter (save_cwd, restore_cwd): Use it instead of simply freeing any 193117721Speter string. The function also closes any open file descriptor. 193217721Speter 193317721Speter * import.c (comtable): Now static. 193417721Speter (comtable): Put braces around each element of initializer. 193517721Speter 193617721Speter * cvs.h: Add prototype for xgetwd. 193717721Speter * recurse.c (save_cwd, restore_cwd): New functions to encapsulate 193817721Speter run-time solution to secure-SunOS vs. fchown problem. 193917721Speter (do_dir_proc, unroll_files_proc): Use new functions instead of 194017721Speter open-coded fchdir/chdir calls with cpp directives. 194117721Speter 194217721Speter * sanity.sh: Change out of TESTDIR before removing it. 194317721Speter Some versions of rm fail when asked to delete the current directory. 194417721Speter 194517721SpeterWed Jul 12 22:35:04 1995 Jim Meyering (meyering@comco.com) 194617721Speter 194717721Speter * client.c (get_short_pathname): Add const qualifier to parameter dcl. 194817721Speter (copy_a_file): Remove set-but-not-used variable, LEN. 194917721Speter (handle_clear_static_directory): Likewise: SHORT_PATHNAME. 195017721Speter (set_sticky): Likewise: LEN. 195117721Speter (handle_set_sticky): Likewise: SHORT_PATHNAME. 195217721Speter (handle_clear_sticky): Likewise: SHORT_PATHNAME. 195317721Speter (start_rsh_server): Convert perl-style `cond || stmt' to more 195417721Speter conventional C-style `if (cond) stmt.' Sheesh. 195517721Speter Remove dcl of unused file-static, SEND_CONTENTS. 195617721Speter 195717721Speter * history.c: Remove dcls of set-but-not-used file-statics, 195817721Speter HISTSIZE, HISTDATA. 195917721Speter (read_hrecs): Don't set them. 196017721Speter 196117721Speter * import.c (add_rev): Remove dcl of set-but-not-used local, RETCODE. 196217721Speter 196317721Speter * repos.c (Name_Repository): Remove dcl of set-but-not-used local, 196417721Speter HAS_CVSADM. 196517721Speter 196617721Speter * cvsrc.c (read_cvsrc): Parenthesize assignment used as truth value. 196717721Speter 196817721SpeterTue Jul 11 16:49:41 1995 J.T. Conklin <jtc@rtl.cygnus.com> 196917721Speter 197017721Speter * hash.h (struct entnode, Entnode): moved from here... 197117721Speter * cvs.h: to here. 197217721Speter 197317721SpeterWed Jul 12 19:45:24 1995 Dominik Westner (dominik@gowest.ppp.informatik.uni-muenchen.de) 197417721Speter 197517721Speter * client.c (server_user): new var. 197617721Speter (parse_cvsroot): set above if repo is "user@host:/dir". 197717721Speter (start_rsh_server): if server_user set, then use it. 197817721Speter 197917721SpeterWed Jul 12 10:53:36 1995 Karl Fogel <kfogel@floss.cyclic.com> 198017721Speter 198117721Speter * sanity.sh: remove the TESTDIR after done. 198217721Speter 198317721Speter * cvsbug.sh (GNATS_ADDR): now bug-cvs@prep.ai.mit.edu again. 198417721Speter 198517721SpeterTue Jul 11 15:53:08 1995 Greg A. Woods <woods@most.weird.com> 198617721Speter 198717721Speter * options.h.in: depend on configure for grep and diff, now that 198817721Speter changes to configure.in are applied. 198917721Speter 199017721SpeterTue Jul 11 14:32:14 1995 Michael Shields <shields@tembel.org> 199117721Speter 199217721Speter * Makefile.in (LDFLAGS): Pick up from configure. 199317721Speter 199417721SpeterTue Jul 11 14:20:00 1995 Loren James Rittle <rittle@supra.comm.mot.com> 199517721Speter 199617721Speter * import.c (add_rev), commit.c (remove_file, ci_new_rev), 199717721Speter checkin.c (Checkin), subr.c (make_message_rcslegal), cvs.h: 199817721Speter Always perform sanity check and fix-up on messages to be passed 199917721Speter directly to RCS via the '-m' switch. RCS 5.7 requires that a 200017721Speter non-total-whitespace, non-null message be provided or it will 200117721Speter abort with an error. CVS is not setup to handle any returned 200217721Speter error from 'ci' gracefully and, thus, the repository entered a 200317721Speter trashed state. 200417721Speter 200517721Speter * sanity.sh: Add regression tests for new code and interactions 200617721Speter with RCS 5.7. 200717721Speter 200817721SpeterSun Jul 9 19:03:00 1995 Greg A. Woods <woods@most.weird.com> 200917721Speter 201017721Speter * .cvsignore: added new backup file 201117721Speter 201217721Speter * options.h.in: our new configure.in finds the right diff and 201317721Speter grep paths now.... 201417721Speter 201517721Speter * subr.c: quote the string in run_print() for visibility 201617721Speter - indent a comment 201717721Speter - Jun Hamano's xchmod() patch to prevent writable files 201817721Speter (from previous local changes) 201917721Speter 202017721Speter * logmsg.c: fix a NULL pointer de-reference 202117721Speter - clean up some string handling code... 202217721Speter (from previous local changes) 202317721Speter 202417721Speter * parseinfo.c: add hack to expand $CVSROOT in an *info file. 202517721Speter - document "ALL" and "DEFAULT" in opening comment for Parse_Info() 202617721Speter - fix the code to match the comments w.r.t. callbacks for "ALL" 202717721Speter - add a line of trace output... 202817721Speter (from previous local changes) 202917721Speter 203017721Speter * mkmodules.c: add support for comments in CVSROOT/checkoutlist 203117721Speter - add CVSroot used by something other .o, ala main.c 203217721Speter (from previous local changes) 203317721Speter 203417721Speter * main.c, cvs.h: add support for $VISUAL as log msg editor 203517721Speter (from previous local changes) 203617721Speter 203717721Speter * status.c: add support for -q and -Q (from previous local changes) 203817721Speter 203917721Speter 204017721SpeterSun Jul 9 18:44:32 1995 Karl Fogel <kfogel@floss.cyclic.com> 204117721Speter 204217721Speter * log.c: trivial change to test ChangeLog stuff. 204317721Speter 204417721SpeterSat Jul 8 20:33:57 1995 Paul Eggert <eggert@twinsun.com> 204517721Speter 204617721Speter * history.c: (history_write): Don't assume that fopen(..., "a") 204717721Speter lets one interleave writes to the history file from different processes 204817721Speter without interlocking. Use open's O_APPEND option instead. 204917721Speter Throw in an lseek to lessen the race bugs on non-Posix hosts. 205017721Speter * cvs.h, subr.c (Fopen): Remove. 205117721Speter 205217721Speter * log.c (log_fileproc): Pass working file name to rlog, so that 205317721Speter the name is reported correctly. 205417721Speter 205517721SpeterFri Jul 7 18:29:37 1995 Michael Hohmuth <hohmuth@inf.tu-dresden.de> 205617721Speter 205717721Speter * client.c, client.h (client_import_setup): New function. 205817721Speter (client_import_done, client_process_import_file): Add comments 205917721Speter regarding now-redundant code. 206017721Speter * import.c (import): Call client_import_setup. 206117721Speter 206217721SpeterTue Jul 4 09:21:26 1995 Bernd Leibing <bernd.leibing@rz.uni-ulm.de> 206317721Speter 206417721Speter * rcs.c (RCS_parsercsfile_i): Rename error to l_error; SunOS4 /bin/cc 206517721Speter doesn't like a label and function with the same name. 206617721Speter 206717721SpeterSun Jul 2 12:51:33 1995 Fred Appelman <Fred.Appelman@cv.ruu.nl> 206817721Speter 206917721Speter * logmsg.c: Rename strlist to str_list to avoid conflict with 207017721Speter Unixware 2.01. 207117721Speter 207217721SpeterThu Jun 29 17:37:22 1995 Paul Eggert <eggert@twinsun.com> 207317721Speter 207417721Speter * rcs.c (RCS_check_kflag): Allow RCS 5.7's new -kb option. 207517721Speter 207617721SpeterWed Jun 28 09:53:14 1995 James Kingdon <kingdon@harvey.cyclic.com> 207717721Speter 207817721Speter * Makefile.in (HEADERS): Remove options.h.in. 207917721Speter (DISTFILES): Add options.h.in. 208017721Speter Depend on options.h in addition to HEADERS. 208117721Speter 208217721SpeterTue Jun 27 22:37:28 1995 Vince Demarco <vdemarco@bou.shl.com> 208317721Speter 208417721Speter * subr.c: Don't try to do fancy waitstatus stuff for NeXT, 208517721Speter lib/wait.h is sufficient. 208617721Speter 208717721SpeterMon Jun 26 15:17:45 1995 James Kingdon <kingdon@harvey.cyclic.com> 208817721Speter 208917721Speter * Makefile.in (DISTFILES): Remove RCS-patches and convert.sh. 209017721Speter 209117721SpeterFri Jun 23 13:38:28 1995 J.T. Conklin (jtc@rtl.cygnus.com) 209217721Speter 209317721Speter * server.c (dirswitch, serve_co): Use CVSADM macro instead of 209417721Speter literal "CVS". 209517721Speter 209617721SpeterFri Jun 23 00:00:51 1995 James Kingdon <kingdon@harvey.cyclic.com> 209717721Speter 209817721Speter * README-rm-add: Do not talk about patching RCS, that only 209917721Speter confuses people. 210017721Speter * RCS-patches, convert.sh: Removed (likewise). 210117721Speter 210217721SpeterThu Jun 22 10:41:41 1995 James Kingdon <kingdon@harvey.cyclic.com> 210317721Speter 210417721Speter * subr.c: Change -1 to (size_t)-1 when comparing against a size_t. 210517721Speter 210617721SpeterWed Jun 21 16:51:54 1995 nk@ipgate.col.sw-ley.de (Norbert Kiesel) 210717721Speter 210817721Speter * create_adm.c, entries.c, modules.c: Avoid coredumps if 210917721Speter timestamps, tags, etc., are NULL. 211017721Speter 211117721SpeterTue Jun 20 15:52:53 1995 Jim Meyering (meyering@comco.com) 211217721Speter 211317721Speter * checkout.c (checkout): Remove dcl of unused variable. 211417721Speter * client.c (call_in_directory, handle_clear_static_directory, 211517721Speter handle_set_sticky, handle_clear_sticky, send_a_repository, 211617721Speter send_modified, send_dirent_proc): Remove dcls of unused variables. 211717721Speter * server.c (receive_file, serve_modified, server_cleanup): 211817721Speter Remove dcls of unused variables. 211917721Speter * subr.c (copy_file): Remove dcl of unused variable. 212017721Speter * vers_ts.c (time_stamp_server): Remove dcl of unused variable. 212117721Speter 212217721SpeterMon Jun 19 13:49:35 1995 Jim Blandy <jimb@totoro.cyclic.com> 212317721Speter 212417721Speter * sanity.sh: Fix commencement message --- the test suite says 212517721Speter "Ok." when it's done. 212617721Speter 212717721SpeterFri Jun 16 11:23:44 1995 Jim Meyering (meyering@comco.com) 212817721Speter 212917721Speter * entries.c (fgetentent): Parenthesize assignment in if-conditional. 213017721Speter 213117721SpeterThu Jun 15 17:33:28 1995 J.T. Conklin <jtc@rtl.cygnus.com> 213217721Speter 213317721Speter * server.c (get_buffer_data, buf_append_char, buf_append_data): 213417721Speter Don't conditionalize use of "inline". Autoconf takes care of 213517721Speter defining it away on systems that don't grok it. 213617721Speter 213717721SpeterThu Jun 15 13:43:38 1995 Jim Kingdon (kingdon@cyclic.com) 213817721Speter 213917721Speter * options.h.in (DIFF): Default to "diff" not "diff -a" since diff 214017721Speter might not support the -a option. 214117721Speter 214217721SpeterWed Jun 14 11:29:42 1995 J.T. Conklin <jtc@rtl.cygnus.com> 214317721Speter 214417721Speter * import.c (import_descend): Initialize dirlist to NULL. 214517721Speter 214617721Speter * subr.c (copy_file): Fix infinite loop. 214717721Speter 214817721Speter * server.c (serve_directory): fix a memory leak. 214917721Speter 215017721Speter * checkout.c, commit.c, diff.c, history.c, import.c, log.c, 215117721Speter patch.c, release.c, remove.c, rtag.c, status.c, tag.c, update.c: 215217721Speter Use send_arg() to send command line arguments to server. 215317721Speter 215417721Speter * commit.c (fsortcmp), find_names (fsortcmp), hash.c (hashp, 215517721Speter findnode), hash.h (findnode), rcs.c (RCS_addnode, 215617721Speter RCS_check_kflag, RCS_check_tag, RCS_isdead, RCS_parse, 215717721Speter RCS_parsercsfile_i), rcs.h (RCS_addnode, RCS_check_kflag, 215817721Speter RCS_check_tag, RCS_parse): Added const qualifiers as 215917721Speter appropriate. 216017721Speter * rcs.h (RCS_isdead): Added prototype. 216117721Speter 216217721Speter * hash.h (walklist, sortlist): correct function prototypes. 216317721Speter 216417721Speter * ignore.c (ign_setup): don't bother checking to see if file 216517721Speter exists before calling ign_add_file. 216617721Speter 216717721SpeterFri Jun 9 11:24:06 1995 J.T. Conklin <jtc@rtl.cygnus.com> 216817721Speter 216917721Speter * all source files (rcsid): Added const qualifer. 217017721Speter * ignore.c (ign_default): Added const qualifier. 217117721Speter * subr.c (numdots): Added const qualifier to function argument. 217217721Speter * cvs.h (numdots): Added const qualifier to prototype argument. 217317721Speter 217417721Speter * client.c (change_mode): Tied consecutive if statements testing 217517721Speter the same variable together with else if. 217617721Speter 217717721Speter * import.c (import_descend): Build list of subdirectories when 217817721Speter reading directory, and then process the subdirectories in that 217917721Speter list. This change avoids I/O overhead of rereading directory 218017721Speter and reloading ignore list (.cvsignore) for each subdirectory. 218117721Speter 218217721SpeterThu Jun 8 11:54:24 1995 J.T. Conklin <jtc@rtl.cygnus.com> 218317721Speter 218417721Speter * import.c (import_descend): Use 4.4BSD d_type field if it is 218517721Speter present. 218617721Speter 218717721Speter * lock.c (set_lockers_name): Use %lu in format and cast st_uid 218817721Speter field to unsigned long. 218917721Speter 219017721Speter * import.c (import): Use RCS_check_kflag() to check -k options. 219117721Speter (keyword_usage, str2expmode, strn2expmode, expand_names): 219217721Speter Removed. 219317721Speter * rcs.c (RCS_check_kflag): Added keyword_usage array from import.c 219417721Speter for more descriptive error messages. 219517721Speter 219617721Speter * subr.c (run_setup, run_args): Changed variable argument 219717721Speter processing to work on machines that use <varargs.h>. 219817721Speter 219917721Speter * subr.c (copy_file, xcmp): Changed to read the file(s) by blocks 220017721Speter rather than by reading the whole file into a huge buffer. The 220117721Speter claim that this was reasonable because source files tend to be 220217721Speter small does not hold up in real world situations. CVS is used 220317721Speter to manage non-source files, and mallocs of 400K+ buffers (x2 220417721Speter for xcmp) can easily fail due to lack of available memory or 220517721Speter even memory pool fragmentation. 220617721Speter (block_read): New function, taken from GNU cmp and slightly 220717721Speter modified. 220817721Speter 220917721Speter * subr.c (xcmp): Added const qualifier to function arguments. 221017721Speter * cvs.h (xcmp): Added const qualifer to prototype arguments. 221117721Speter 221217721SpeterWed Jun 7 11:28:31 1995 J.T. Conklin <jtc@rtl.cygnus.com> 221317721Speter 221417721Speter * cvs.h (Popen): Added prototype. 221517721Speter (Fopen, open_file, isreadable, iswritable, isdir, isfile, 221617721Speter islink, make_directory, make_directories, rename_file, 221717721Speter link_file, unlink_file, copy_file): Added const qualifer to 221817721Speter prototype arguments. 221917721Speter * subr.c (Fopen, Popen, open_file, isreadable, iswritable, isdir, 222017721Speter isfile, islink, make_directory, make_directories, rename_file, 222117721Speter link_file, unlink_file, copy_file): Added const qualifier to 222217721Speter function arguments. 222317721Speter 222417721Speter * logmsg.c (logfile_write), recurse.c (do_recursion, addfile): 222517721Speter Don't cast void functions to a void expression. There is at 222617721Speter least one compiler (MPW) that balks at this. 222717721Speter 222817721Speter * rcs.c (keysize, valsize): Change type to size_t. 222917721Speter 223017721Speter * add.c (add_directory): Don't cast umask() argument to int. 223117721Speter 223217721Speter * import.c (add_rcs_file): Changed type of mode to mode_t. 223317721Speter 223417721Speter * rcscmds.c (RCS_merge): New function. 223517721Speter * cvs.h (RCS_merge): Declare. 223617721Speter * update.c (merge_file, join_file): Call RCS_merge instead of 223717721Speter invoking rcsmerge directly. 223817721Speter 223917721Speter * cvs.h: Include <stdlib.h> if HAVE_STDC_HEADERS, otherwise 224017721Speter declared getenv(). 224117721Speter * cvsrc.c, ignore.c, main.c: Removed getenv() declaration. 224217721Speter 224317721Speter * client.c (mode_to_string): Changed to take mode_t instead of 224417721Speter struct statb argument. Simplified implementation, no longer 224517721Speter overallocates storage for returned mode string. 224617721Speter * client.h (mode_to_string): Updated declaration. 224717721Speter * server.c (server_updated): Updated for new calling conventions, 224817721Speter pass st_mode instead of pointer to struct statb. 224917721Speter 225017721Speter * cvs.h (CONST): Removed definition, use of const qualifier is 225117721Speter determined by autoconf. 225217721Speter * history.c, modules.c, parseinfo.c: Use const instead of CONST. 225317721Speter 225417721Speter * add.c, admin.c, checkout.c, commit.c, diff.c, import.c, log.c, 225517721Speter main.c, mkmodules.c, patch.c, recurse.c, remove.c, rtag.c, 225617721Speter server.c, status.c, subr.c, tag.c, update.c: Changed function 225717721Speter arguments "char *argv[]" to "char **argv" to silence lint 225817721Speter warnings about performing arithmetic on arrays. 225917721Speter 226017721SpeterTue Jun 6 18:57:21 1995 Jim Blandy <jimb@totoro.cyclic.com> 226117721Speter 226217721Speter * version.c: Fix up version string, to say that this is Cyclic 226317721Speter CVS. 226417721Speter 226517721SpeterTue Jun 6 15:26:16 1995 J.T. Conklin <jtc@rtl.cygnus.com> 226617721Speter 226717721Speter * subr.c (run_setup, run_args, run_add_arg, xstrdup): Add const 226817721Speter qualifier to format argument. 226917721Speter * cvs.h (run_setup, run_args, xstrdup): Likewise. 227017721Speter 227117721Speter * Makefile.in (SOURCES): Added rcscmds.c. 227217721Speter (OBJECTS): Added rcscmds.o. 227317721Speter 227417721Speter * rcscmds.c: New file, with new functions RCS_settag, RCS_deltag, 227517721Speter RCS_setbranch, RCS_lock, RCS_unlock. 227617721Speter * checkin.c, commit.c, import.c, rtag.c, tag.c: Call above 227717721Speter functions instead of exec'ing rcs commands. 227817721Speter * cvs.h: Declare new functions. 227917721Speter 228017721SpeterMon May 29 21:40:54 1995 J.T. Conklin (jtc@rtl.cygnus.com) 228117721Speter 228217721Speter * recurse.c (start_recursion, do_recursion): Set entries to NULL 228317721Speter after calling Entries_Close(). 228417721Speter 228517721SpeterSat May 27 08:08:18 1995 Jim Meyering (meyering@comco.com) 228617721Speter 228717721Speter * Makefile.in (check): Export RCSBIN only if there exists an 228817721Speter `rcs' executable in ../../rcs/src. Before, tests would fail when 228917721Speter the directory existed but contained no executables. 229017721Speter (distclean): Remove options.h, now that it's generated. 229117721Speter (Makefile): Regenerate only *this* file when Makefile.in is 229217721Speter out of date. Depend on ../config.status. 229317721Speter 229417721SpeterFri May 26 14:34:28 1995 J.T. Conklin <jtc@rtl.cygnus.com> 229517721Speter 229617721Speter * entries.c (Entries_Open): Added missing fclose(). 229717721Speter (Entries_Close): Don't write Entries unless Entries.Log exists. 229817721Speter 229917721Speter * entries.c (Entries_Open): Renamed from ParseEntries; changed to 230017721Speter process Entries Log files left over from previous crashes or 230117721Speter aborted runs. 230217721Speter (Entries_Close): New function, write out Entries file if 230317721Speter neccessary and erase Log file. 230417721Speter (Register): Append changed records to Log file instead of 230517721Speter re-writing file. 230617721Speter (fgetentent): New function, parse one Entry record from a file. 230717721Speter (AddEntryNode): It's no longer an error for two records with the 230817721Speter same name to be added to the list. New records replace older 230917721Speter ones. 231017721Speter * cvs.h (Entries_Open, Entries_Close): Add prototypes. 231117721Speter (CVSADM_ENTLOG): New constant, name of Entries Log file. 231217721Speter * add.c, checkout.c, client.c, find_names.c, recurse.c: Use 231317721Speter Entries_Open()/Entries_Close() instead of ParseEntries()/dellist(). 231417721Speter 231517721Speter * add.c, admin.c, checkout.c, client.c, commit.c, diff.c, 231617721Speter history.c, import.c, log.c, patch.c, release.c, remove.c, 231717721Speter rtag.c, server.c, status.c, tag.c, update.c: Changed 231817721Speter conditionals so that return value of *printf is tested less than 231917721Speter 0 instead of equal to EOF. 232017721Speter 232117721SpeterThu May 25 08:30:12 1995 Jim Kingdon (kingdon@lioth.cygnus.com) 232217721Speter 232317721Speter * subr.c (xmalloc): Never try to malloc zero bytes; if the user 232417721Speter asks for zero bytes, malloc one instead. 232517721Speter 232617721SpeterWed May 24 12:44:25 1995 Ken Raeburn <raeburn@cujo.cygnus.com> 232717721Speter 232817721Speter * subr.c (xmalloc): Don't complain about NULL if zero bytes were 232917721Speter requested. 233017721Speter 233117721SpeterTue May 16 21:49:05 1995 Jim Blandy <jimb@totoro.bio.indiana.edu> 233217721Speter 233317721Speter * subr.c (xmalloc): Never try to malloc zero bytes; if the user 233417721Speter asks for zero bytes, malloc one instead. 233517721Speter 233617721SpeterMon May 15 14:35:11 1995 J.T. Conklin <jtc@rtl.cygnus.com> 233717721Speter 233817721Speter * lock.c (L_LOCK_OWNED): Removed. 233917721Speter 234017721Speter * add.c, checkout.c, client.c, create_adm.c, cvs.h, entries.c, 234117721Speter find_names.c modules.c, recurse.c, release.c, repos.c, update.c: 234217721Speter removed CVS 1.2 compatibility/upgrade code. 234317721Speter 234417721SpeterMon May 8 11:25:07 1995 J.T. Conklin <jtc@rtl.cygnus.com> 234517721Speter 234617721Speter * lock.c (write_lock): Missed one instance where rmdir(tmp) should 234717721Speter have been changed to clear_lock(). 234817721Speter 234917721SpeterWed May 3 11:08:32 1995 J.T. Conklin <jtc@rtl.cygnus.com> 235017721Speter 235117721Speter * create_adm.c, entries.c, import.c, root.c: Changed conditionals 235217721Speter so that return value of *printf is tested less than 0 instead of 235317721Speter equal to EOF --- That's all Standard C requires. 235417721Speter 235517721SpeterWed May 3 18:03:37 1995 Samuel Tardieu <tardieu@emma.enst.fr> 235617721Speter 235717721Speter * rcs.h: removed #ifdef CVS_PRIVATE and #endif because cvs didn't 235817721Speter compile anymore. 235917721Speter 236017721SpeterMon May 1 13:58:53 1995 J.T. Conklin <jtc@rtl.cygnus.com> 236117721Speter 236217721Speter * rcs.c, rcs.h: Implemented lazy parsing of rcs files. 236317721Speter RCS_parsercsfile_i modified to read only the first two records 236417721Speter of rcs files, a new function RCS_reparsercsfile is called only 236517721Speter when additional information (tags, revision numbers, dates, 236617721Speter etc.) is required. 236717721Speter 236817721SpeterMon May 1 12:20:02 1995 Jim Kingdon (kingdon@lioth.cygnus.com) 236917721Speter 237017721Speter * Makefile.in (INCLUDES): Include -I. for options.h. 237117721Speter 237217721SpeterFri Apr 28 16:16:33 1995 Jim Blandy <jimb@totoro.bio.indiana.edu> 237317721Speter 237417721Speter * Makefile.in (SOURCES, HEADERS, DISTFILES): Updated. 237517721Speter (dist-dir): Renamed from dist; changed to work with DISTDIR 237617721Speter variable passed from parent. 237717721Speter 237817721Speter We don't want to include a file the user has to edit in the 237917721Speter distribution. 238017721Speter * options.h: No longer distributed. 238117721Speter * options.h.in: Distribute this instead. 238217721Speter * ../INSTALL, ../README: Installation instructions updated. 238317721Speter 238417721Speter * client.c (start_rsh_server): Send the remote command to rsh as a 238517721Speter single string. 238617721Speter 238717721SpeterFri Apr 28 00:29:49 1995 Noel Cragg <noel@vo.com> 238817721Speter 238917721Speter * commit.c: Added initializer for FORCE_CI 239017721Speter 239117721Speter * sanity.sh: Fix tests added 25 Apr -- they were expecting the 239217721Speter server to make noise, but the CVS_SERVER variable had been 239317721Speter accidentally set with the `-Q' flag. Ran all tests -- both 239417721Speter locally and remotely -- to verify that the change didn't break 239517721Speter anything. 239617721Speter 239717721SpeterThu Apr 27 12:41:52 1995 Jim Kingdon (kingdon@lioth.cygnus.com) 239817721Speter 239917721Speter * Makefile.in: Revise comment regarding check vs. remotecheck. 240017721Speter 240117721SpeterThu Apr 27 12:52:28 1995 Bryan O'Sullivan <bos@cyclic.com> 240217721Speter 240317721Speter * client.c (start_rsh_server): If the CVS_RSH environment variable 240417721Speter is set, use its contents as the name of the program to invoke 240517721Speter instead of `rsh'. 240617721Speter 240717721SpeterThu Apr 27 12:18:38 1995 Noel Cragg <noel@vo.com> 240817721Speter 240917721Speter * checkout.c (checkout): To fix new bug created by Apr 23 change, 241017721Speter re-enabled "expand-module" functionality, because it has the side 241117721Speter effect of setting the checkin/update programs for a directory. To 241217721Speter solve the local/remote checkout problem that prompted this change 241317721Speter in the first place, I performed the next change. 241417721Speter * server.c (expand_proc): Now returns expansions for aliases only. 241517721Speter 241617721SpeterWed Apr 26 12:07:42 1995 J.T. Conklin <jtc@rtl.cygnus.com> 241717721Speter 241817721Speter * rcs.c (getrcskey): Rewritten to process runs of whitespace chars 241917721Speter and rcs @ strings instead of using state variables "white" and 242017721Speter "funky". 242117721Speter 242217721SpeterFri Apr 7 15:49:25 1995 J.T. Conklin <jtc@rtl.cygnus.com> 242317721Speter 242417721Speter * lock.c (unlock): Only call stat if we need to. 242517721Speter 242617721SpeterWed Apr 26 10:48:44 1995 Jim Kingdon (kingdon@lioth.cygnus.com) 242717721Speter 242817721Speter * server.c (new_entries_line): Don't prototype. 242917721Speter 243017721SpeterTue Apr 25 22:19:16 1995 Jim Blandy <jimb@totoro.bio.indiana.edu> 243117721Speter 243217721Speter * sanity.sh: Add new tests to catch bugs in Apr 23 change. 243317721Speter 243417721SpeterTue Apr 25 17:10:55 1995 Roland McGrath <roland@baalperazim.frob.com> 243517721Speter 243617721Speter * create_adm.c (Create_Admin): Use getwd instead of getcwd. 243717721Speter 243817721SpeterSun Apr 23 20:58:32 1995 Noel Cragg <noel@vo.com> 243917721Speter 244017721Speter * checkout.c (checkout): Disabled "expand-module" functionality on 244117721Speter remote checkout, since it makes modules behave like aliases (see 244217721Speter longer note there). This change necessitated the change below. 244317721Speter Also merged the like parts of a conditional. 244417721Speter 244517721Speter * client.c (call_in_directory): Changed the algorithm that created 244617721Speter nested and directories and the "CVS" administration directories 244717721Speter therein. The algoithm wrongly assumed that the name of the 244817721Speter directory that that was to be created and the repository name were 244917721Speter the same, which breaks modules. 245017721Speter 245117721Speter * create_adm.c (Create_Admin), module.c (do_module), server.c 245217721Speter (server_register), subr.c, entries.c: Added fprintfs for trace-mode 245317721Speter debugging. 245417721Speter 245517721Speter * client.c (client_send_expansions): Argument to function didn't 245617721Speter have a type -- added one. 245717721Speter 245817721Speter * server.c (new_entries_line): Arguments to this function are 245917721Speter never used -- reoved them and fixed callers. 246017721Speter 246117721SpeterSat Apr 22 11:17:20 1995 Jim Kingdon (kingdon@lioth.cygnus.com) 246217721Speter 246317721Speter * rcs.c (RCS_parse): If we can't open the file, give an error 246417721Speter message (except for ENOENT in case callers rely on that). 246517721Speter 246617721SpeterWed Apr 19 08:52:37 1995 Jim Kingdon (kingdon@lioth.cygnus.com) 246717721Speter 246817721Speter * client.c (send_repository): Check for CVSADM_ENTSTAT in `dir', not 246917721Speter in `.'. 247017721Speter 247117721Speter * sanity.sh: Add TODO list. Revise some comments. Add tests of 247217721Speter one working directory adding a file and other updating it. 247317721Speter 247417721SpeterSat Apr 8 14:52:55 1995 Jim Blandy <jimb@totoro.bio.indiana.edu> 247517721Speter 247617721Speter * Makefile.in (CFLAGS): Let configure set the default for CFLAGS. 247717721Speter Under GCC, we want -g -O. 247817721Speter 247917721SpeterFri Apr 7 15:49:25 1995 J.T. Conklin <jtc@rtl.cygnus.com> 248017721Speter 248117721Speter * root.c (Name_Root): merge identical adjacent conditionals. 248217721Speter 248317721Speter * create_admin.c (Create_Admin): Rearranged check for CVSADM and 248417721Speter OCVSADM directories so that CVSADM pathname is only built once. 248517721Speter 248617721Speter * update.c (update_dirleave_proc): Removed code to remove CVS 248717721Speter administration directory if command_name == "export" and to 248817721Speter create CVS/Root file if it is not present. Identical code 248917721Speter in update_filesdone_proc() will perform these same actions. 249017721Speter Also removed code that read and verfied CVS/Root. This is 249117721Speter expensive, and if it is necessary should happen in the 249217721Speter general recursion processor rather than in the update 249317721Speter callbacks. 249417721Speter 249517721Speter * lock.c (masterlock): New variable, pathname of master lockdir. 249617721Speter (set_lock): removed lockdir argument, now constructs it itself 249717721Speter and stores it in masterlock. 249817721Speter (clear_lock): new function, removes master lockdir. 249917721Speter (Reader_Lock, write_lock): call clear_lock instead of removing 250017721Speter master lockdir. 250117721Speter (Reader_Lock, write_lock): #ifdef'd out CVSTFL code. 250217721Speter 250317721Speter * main.c (main): register Lock_Cleanup signal handler. 250417721Speter * lock.c (Reader_Lock, write_lock): no longer register 250517721Speter Lock_Cleanup. 250617721Speter 250717721Speter * main.c (main): initialize new array hostname. 250817721Speter * lock.c (Reader_Lock, write_lock): Use global hostname array. 250917721Speter * logmsg.c (logfile_write): Likewise. 251017721Speter 251117721Speter * recurse.c (do_dir_proc, unroll_files_proc): Use open()/fchdir() 251217721Speter instead of getwd()/chdir() on systems that support the fchdir() 251317721Speter system call. 251417721Speter 251517721SpeterFri Apr 7 06:57:20 1995 Jim Kingdon (kingdon@lioth.cygnus.com) 251617721Speter 251717721Speter * server.c: Include the word "server" in error message for memory 251817721Speter exhausted, so the user knows which machine ran out of memory. 251917721Speter 252017721Speter * sanity.sh: For remote, set CVS_SERVER to test the right server, 252117721Speter rather than a random one from the PATH. 252217721Speter 252317721Speter * commit.c [DEATH_STATE]: Pass -f to `ci'. 252417721Speter 252517721SpeterThu Apr 6 13:05:15 1995 Jim Blandy <jimb@totoro.bio.indiana.edu> 252617721Speter 252717721Speter * commit.c (checkaddfile): If we didn't manage to fopen the file, 252817721Speter don't try to fclose it. 252917721Speter 253017721Speter * client.c (handle_m, handle_e): Use fwrite, rather than a loop of 253117721Speter putc's. Sometimes these streams are unbuffered. 253217721Speter 253317721SpeterTue Apr 4 11:33:56 1995 Jim Blandy <jimb@totoro.bio.indiana.edu> 253417721Speter 253517721Speter * (DISTFILES): Include cvsbug.sh, ChangeLog, NOTES, RCS-patches, 253617721Speter README-rm-add, ChangeLog.fsf, sanity.sh, sanity.el, and 253717721Speter .cvsignore. 253817721Speter 253917721SpeterMon Mar 27 08:58:42 1995 Jim Kingdon (kingdon@lioth.cygnus.com) 254017721Speter 254117721Speter * rcs.c (RCS_parsercsfile_i): Accept `dead' state regardless of 254217721Speter DEATH_STATE define. Revise comments regarding DEATH_STATE versus 254317721Speter CVSDEA versus the scheme which uses a patched RCS. 254417721Speter * README-rm-add, RCS-patches: Explain what versions of CVS need 254517721Speter RCS patches. 254617721Speter 254717721SpeterSat Mar 25 18:51:39 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> 254817721Speter 254917721Speter * server.c (server_cleanup): Only do the abysmal kludge of waiting 255017721Speter for command and draining the pipe #ifdef sun. The code makes 255117721Speter assumptions not valid on all systems, and is only there to 255217721Speter workaround a SunOS bug. 255317721Speter 255417721SpeterWed Mar 22 21:55:56 1995 Jim Kingdon (kingdon@lioth.cygnus.com) 255517721Speter 255617721Speter * server.c (mkdir_p): Call stat only if we get the EACCES. Faster 255717721Speter and more elegant. 255817721Speter 255917721SpeterTue Jan 31 20:59:19 1995 Ken Raeburn <raeburn@cujo.cygnus.com> 256017721Speter 256117721Speter * server.c: Try to avoid starting the "rm -rf" at cleanup time 256217721Speter until after subprocesses have finished. 256317721Speter (command_fds_to_drain, max_command_fd): New variables. 256417721Speter (do_cvs_command): Set them. 256517721Speter (command_pid_is_dead): New variable. 256617721Speter (wait_sig): New function. 256717721Speter (server_cleanup): If command_pid is nonzero, wait for it to die, 256817721Speter draining output from it in the meantime. If nonzero SIG was 256917721Speter passed, send a signal to the subprocess, to encourage it to die 257017721Speter soon. 257117721Speter 257217721Speter * main.c (usage): Argument is now `const char *const *'. 257317721Speter * cvs.h (usage): Changed prototype. 257417721Speter (USE): Make new variable `const'. 257517721Speter * add.c (add_usage), admin.c (admin_usage), checkout.c 257617721Speter (checkout_usage, export_usage, checkout), commit.c (commit_usage), 257717721Speter diff.c (diff_usage), history.c (history_usg), import.c 257817721Speter (import_usage, keyword_usage), log.c (log_usage), main.c (usg), 257917721Speter patch.c (patch_usage), release.c (release_usage), remove.c 258017721Speter (remove_usage), rtag.c (rtag_usage), server.c (server), status.c 258117721Speter (status_usage), tag.c (tag_usage), update.c (update_usage): Usage 258217721Speter messages are now const arrays of pointers to const char. 258317721Speter 258417721Speter * import.c (comtable): Now const. 258517721Speter * main.c (rcsid): Now static. 258617721Speter (cmd): Now const. 258717721Speter (main): Local variable CM now points to const. 258817721Speter * server.c (outbuf_memory_error): Local var MSG now const. 258917721Speter 259017721Speter * client.c (client_commit_usage): Deleted. 259117721Speter 259217721SpeterSat Dec 31 15:51:55 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 259317721Speter 259417721Speter * logmsg.c (do_editor): Allocate enough space for trailing '\0'. 259517721Speter 259617721SpeterFri Mar 3 11:59:49 1995 Jim Blandy <jimb@totoro.bio.indiana.edu> 259717721Speter 259817721Speter * cvsbug.sh: Call it "Cyclic CVS" now, not "Remote CVS". Call it 259917721Speter version C1.4A, not 1.4A2-remote. Send bugs to cyclic-cvs, not 260017721Speter remote-cvs. 260117721Speter 260217721Speter * classify.c (Classify_File): Put check for dead file inside 260317721Speter "#ifdef DEATH_SUPPORT". 260417721Speter 260517721SpeterThu Feb 23 23:03:43 1995 Jim Blandy <jimb@totoro.bio.indiana.edu> 260617721Speter 260717721Speter * update.c (join_file): Don't pass the -E option to rcsmerge here, 260817721Speter either (see Jan 22 change). 260917721Speter 261017721SpeterMon Feb 13 13:28:46 1995 Jim Blandy <jimb@totoro.bio.indiana.edu> 261117721Speter 261217721Speter * cvsbug.sh: Send bug reports to remote-cvs@cyclic.com, rather 261317721Speter than to the ordinary CVS bug address. This does mean we'll have 261417721Speter to wade through GNATS-style bug reports, sigh. 261517721Speter 261617721SpeterWed Feb 8 06:42:27 1995 Roland McGrath <roland@churchy.gnu.ai.mit.edu> 261717721Speter 261817721Speter * server.c: Don't include <sys/stat.h>; system.h already does, and 261917721Speter 4.3BSD can't take it twice. 262017721Speter 262117721Speter * subr.c [! HAVE_VPRINTF] (run_setup, run_args): Don't use va_dcl 262217721Speter in declaration. Declare the a1..a8 args which are used in the 262317721Speter sprintf call. 262417721Speter * cvs.h [! HAVE_VPRINTF] (run_setup, run_args): Don't prototype 262517721Speter args, to avoid conflicting with the function definitions 262617721Speter themselves. 262717721Speter 262817721SpeterTue Feb 7 20:10:00 1995 Jim Blandy <jimb@totoro.bio.indiana.edu> 262917721Speter 263017721Speter * client.c (update_entries): Pass the patch subprocess the switch 263117721Speter "-b ~", not "-b~"; the latter form seems not to work with patch 263217721Speter version 2.0 and earlier --- it takes the next argv element as the 263317721Speter backup suffix, and thus doesn't notice that the patch file's name 263417721Speter has been specified, thus doesn't find the patch, thus... *aargh* 263517721Speter 263617721SpeterFri Feb 3 20:28:21 1995 Jim Blandy <jimb@totoro.bio.indiana.edu> 263717721Speter 263817721Speter * log.c (log_option_with_arg): New function. 263917721Speter (cvslog): Use it and send_arg to handle the rlog options that take 264017721Speter arguments. The code used to use send_option_string for 264117721Speter everything, which assumes that "-d1995/01/02" is equivalent to 264217721Speter "-d -1 -9 -9 -5 ...". 264317721Speter 264417721SpeterTue Jan 31 15:02:01 1995 Jim Blandy <jimb@floss.life.uiuc.edu> 264517721Speter 264617721Speter * server.c: #include <sys/stat.h> for the new stat call in mkdir_p. 264717721Speter (mkdir_p): Don't try to create the intermediate directory if it 264817721Speter exists already. Some systems return EEXIST, but others return 264917721Speter EACCES, which we can't otherwise distinguish from a real access 265017721Speter problem. 265117721Speter 265217721SpeterSun Jan 22 15:25:45 1995 Jim Blandy <jimb@totoro.bio.indiana.edu> 265317721Speter 265417721Speter * update.c (merge_file): My rcsmerge doesn't accept a -E option, 265517721Speter and it doesn't look too important, so don't pass it. 265617721Speter 265717721SpeterFri Jan 20 14:24:58 1995 Ian Lance Taylor <ian@sanguine.cygnus.com> 265817721Speter 265917721Speter * client.c (do_deferred_progs): Don't try to chdir to toplevel_wd 266017721Speter if it has not been set. 266117721Speter (process_prune_candidates): Likewise. 266217721Speter 266317721SpeterMon Nov 28 09:59:14 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 266417721Speter 266517721Speter * client.c (client_commit): Move guts of function from here... 266617721Speter * commit.c (commit): ...to here. 266717721Speter 266817721SpeterMon Nov 28 15:14:36 1994 Ken Raeburn <raeburn@cujo.cygnus.com> 266917721Speter 267017721Speter * server.c (buf_input_data, buf_send_output): Start cpp directives 267117721Speter in column 1, otherwise Sun 4 pcc complains. 267217721Speter 267317721SpeterMon Nov 28 09:59:14 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 267417721Speter 267517721Speter * client.c (add_prune_candidate): Don't try to prune ".". 267617721Speter 267717721SpeterTue Nov 22 05:27:10 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 267817721Speter 267917721Speter * server.c, client.c: More formatting cleanups. 268017721Speter 268117721Speter * client.h, client.c: New variable client_prune_dirs. 268217721Speter * update.c (update), checkout.c (checkout): Set it. 268317721Speter * client.c (add_prune_candidate, process_prune_candidates): New 268417721Speter functions. 268517721Speter (send_repository, call_in_directory, get_responses_and_close): 268617721Speter Call them. 268717721Speter 268817721SpeterWed Nov 23 01:17:32 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) 268917721Speter 269017721Speter * server.c (do_cvs_command): Don't select on STDOUT_FILENO unless 269117721Speter we have something to write. 269217721Speter 269317721SpeterTue Nov 22 05:27:10 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 269417721Speter 269517721Speter * remove.c (remove_fileproc): Only call server_checked_in if we 269617721Speter actually are changing the entries file. 269717721Speter 269817721Speter * server.c (server_write_entries): New function. 269917721Speter (dirswitch, do_cvs_command): Call it. 270017721Speter (serve_entry, serve_updated): Just update in-memory data 270117721Speter structures, don't mess with CVS/Entries file. 270217721Speter 270317721SpeterMon Nov 21 10:15:11 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 270417721Speter 270517721Speter * server.c (server_checked_in): Set scratched_file to NULL after 270617721Speter using it. 270717721Speter 270817721Speter * checkin.c (Checkin): If the file was changed by the checkin, 270917721Speter call server_updated not server_checked_in. 271017721Speter 271117721SpeterSun Nov 20 08:01:51 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 271217721Speter 271317721Speter * client.c (send_repository): Move check for update_dir NULL to 271417721Speter before where we check last_update_dir. Check for "" here too. 271517721Speter 271617721Speter * client.c (send_repository): Use new argument dir. 271717721Speter 271817721Speter * client.c: Pass new argument dir to send_repository and 271917721Speter send_a_repository. 272017721Speter 272117721Speter * server.c, server.h (server_prog): New function. 272217721Speter * modules.c (do_modules): Call it if server_expanding. 272317721Speter * client.c: Support Set-checkin-prog and Set-update-prog responses. 272417721Speter * server.c, client.c: Add Checkin-prog and Update-prog requests. 272517721Speter 272617721SpeterFri Nov 18 14:04:38 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 272717721Speter 272817721Speter * client.c (get_short_pathname, is_cvsroot_level, 272917721Speter call_in_directory): Base whether this is new-style or 273017721Speter old-style based on whether we actually used the Directory request, 273117721Speter not based on whether the pathname is absolute. Rename 273217721Speter directory_supported to use_directory. 273317721Speter * server.c: Rename use_relative_pathnames to use_dir_and_repos. 273417721Speter * client.c (send_a_repository): If update_dir is absolute, don't 273517721Speter use it to try to reconstruct how far we have recursed. 273617721Speter 273717721Speter * server.c, server.h, client.c, client.h, vers_ts.c, update.h: 273817721Speter More cosmetic changes (identation, PARAMS vs. PROTO, eliminate 273917721Speter alloca, etc.) to remote CVS to make it more like the rest of CVS. 274017721Speter 274117721Speter * server.c: Make server_temp_dir just the dir name, not the name 274217721Speter with "%s" at the end. 274317721Speter * server.c, client.c: Add "Max-dotdot" request, and use it to make 274417721Speter extra directories in server_temp_dir if needed. 274517721Speter 274617721SpeterThu Nov 17 09:03:28 1994 Jim Kingdon <kingdon@cygnus.com> 274717721Speter 274817721Speter * client.c: Fix two cases where NULL was used and 0 was meant. 274917721Speter 275017721SpeterMon Nov 14 08:48:41 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 275117721Speter 275217721Speter * server.c (serve_unchanged): Set noexec to 0 when calling Register. 275317721Speter 275417721Speter * update.c (merge_file): Don't call xcmp if noexec. 275517721Speter 275617721SpeterFri Nov 11 13:58:22 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 275717721Speter 275817721Speter * client.c (call_in_directory): Deal with it if reposdirname is 275917721Speter not a subdirectory of toplevel_repos. 276017721Speter 276117721SpeterMon Nov 7 09:12:01 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 276217721Speter 276317721Speter * patch.c: If file is removed and we don't have a tag or date, 276417721Speter just print "current release". 276517721Speter 276617721Speter * classify.c (Classify_File): Treat dead files appropriately. 276717721Speter 276817721SpeterFri Nov 4 07:33:03 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 276917721Speter 277017721Speter * main.c (main) [SERVER_SUPPORT]: Move call to getwd past where we 277117721Speter know whether we are the server or not. Set CurDir to "<remote>" 277217721Speter if we are the server. 277317721Speter 277417721Speter * client.c: Remove #if 0'd function option_with_arg. 277517721Speter Remove #if 0'd code pertaining to the old way of logging the 277617721Speter session. 277717721Speter 277817721Speter * client.c (start_rsh_server): Don't invoke the server with the 277917721Speter -d option. 278017721Speter * server.c (serve_root): Test root for validity, just like main.c 278117721Speter does for non-remote CVS. 278217721Speter * main.c (main): If `cvs server' happens with a colon in the 278317721Speter CVSroot, just handle it normally; don't make it an error. 278417721Speter 278517721SpeterWed Nov 2 11:09:38 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 278617721Speter 278717721Speter * client.c (send_dirent_proc): If dir does not exist, just return 278817721Speter R_SKIP_ALL. 278917721Speter 279017721Speter * server.c, client.c: Add Directory request and support for 279117721Speter local relative pathnames (along with the repository absolute 279217721Speter pathnames). 279317721Speter * update.c, add.c, checkout.c, checkin.c, cvs.h, create_adm.c, 279417721Speter commit.c, modules.c, server.c, server.h, remove.c, client.h: 279517721Speter Pass update_dir to server_* functions. Include update_dir in 279617721Speter more error messages. 279717721Speter 279817721SpeterFri Oct 28 08:54:00 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 279917721Speter 280017721Speter * client.c: Reformat to bring closer to cvs standards for brace 280117721Speter position, comment formatting, etc. 280217721Speter 280317721Speter * sanity.sh: Remove wrong "last mod" line. Convert more tests to 280417721Speter put PASS or FAIL in log file. Change it so arguments to the 280517721Speter script specify which tests to run. 280617721Speter 280717721Speter * client.c, client.h, server.c, checkout.c: Expand modules in 280817721Speter separate step from the checkout itself. 280917721Speter 281017721SpeterSat Oct 22 20:33:35 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com) 281117721Speter 281217721Speter * update.c (join_file): When checking for null return from 281317721Speter RCS_getversion, still do return even if quiet flag is set. 281417721Speter 281517721SpeterThu Oct 13 07:36:11 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 281617721Speter 281717721Speter * client.c (send_files): Call send_repository even if 281817721Speter toplevel_repos was NULL. 281917721Speter 282017721Speter * server.c (server_updated): If joining, don't remove file. 282117721Speter 282217721Speter * update.c (join_file): If server and file is unmodified, check it 282317721Speter out before joining. After joining, call server_updated. New 282417721Speter argument repository. 282517721Speter 282617721Speter * server.c, server.h (server_copy_file): New function. 282717721Speter * update.c (update_file_proc, join_file): Call it. 282817721Speter * client.c (copy_file, handle_copy_file): New functions. 282917721Speter * client.c (responses): Add "Copy-file". 283017721Speter 283117721Speter * client.c, client.h: Make toplevel_wd, failed_patches and 283217721Speter failed_patches_count extern. 283317721Speter * client.c (client_update): Move guts of function from here... 283417721Speter * update.c (update): ...to here. 283517721Speter 283617721Speter * client.c, checkout.c: Likewise for checkout. 283717721Speter 283817721Speter * client.c (is_cvsroot_level): New function. 283917721Speter (handle_set_sticky, handle_clear_sticky, 284017721Speter handle_clear_static_directory): Call it, instead of checking 284117721Speter short_pathname for a slash. 284217721Speter 284317721Speter * client.c, client.h (client_process_import_file, 284417721Speter client_import_done): New functions. 284517721Speter * import.c (import, import_descend): Use them. 284617721Speter * import.c (import_descend): If server, don't mention ignored CVS 284717721Speter directories. 284817721Speter * import.c (import_descend_dir): If client, don't print warm 284917721Speter fuzzies, or make directories in repository. If server, print warm 285017721Speter fuzzies to stdout not stderr. 285117721Speter * client.c (send_modified): New function, broken out from 285217721Speter send_fileproc. 285317721Speter (send_fileproc): Call it. 285417721Speter 285517721Speter * client.c (handle_clear_sticky, handle_set_sticky, 285617721Speter handle_clear_static_directory, handle_set_static_directory): If 285717721Speter command is export, just return. 285817721Speter (call_in_directory, update_entries): If command is export, don't 285917721Speter create CVS directories, CVS/Entries files, etc. 286017721Speter * update.c (update_filesdone_proc): Don't remove CVS directories if 286117721Speter client_active. 286217721Speter 286317721Speter * client.c (send_a_repository): Instead of insisting that 286417721Speter repository end with update_dir, just strip as many pathname 286517721Speter components from the end as there are in update_dir. 286617721Speter 286717721Speter * Makefile.in (remotecheck): New target, pass -r to sanity.sh. 286817721Speter * sanity.sh: Accept -r argument which means to test remote cvs. 286917721Speter 287017721Speter * tag.c (tag), rtag.c (rtag), patch.c (patch), import.c (import), 287117721Speter admin.c (admin), release.c (release): If client_active, connect to 287217721Speter the server and send the right requests. 287317721Speter * main.c (cmds): Add these commands. 287417721Speter (main): Remove code which would strip hostname off cvsroot and try 287517721Speter the command locally. There are no longer any commands which are 287617721Speter not supported. 287717721Speter * client.c, client.h (client_rdiff, client_tag, client_rtag, 287817721Speter client_import, client_admin, client_export, client_history, 287917721Speter client_release): New functions. 288017721Speter * server.c (serve_rdiff, serve_tag, serve_rtag, serve_import, 288117721Speter serve_admin, serve_export, serve_history, serve_release): New 288217721Speter functions. 288317721Speter (requests): List them. 288417721Speter * server.c: Declare cvs commands (add, admin, etc.). 288517721Speter * cvs.h, server.h: Don't declare any of them here. 288617721Speter * main.c: Restore declarations of cvs commands which were 288717721Speter previously removed. 288817721Speter 288917721Speter * cvs.h: New define DEATH_STATE, commented out for now. 289017721Speter * rcs.c (RCS_parsercsfile_i), commit.c (remove_file, checkaddfile) 289117721Speter [DEATH_STATE]: Use RCS state to record a dead file. 289217721Speter 289317721SpeterMon Oct 3 09:44:54 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 289417721Speter 289517721Speter * status.c (status_fileproc): Now that ts_rcs is just one time, 289617721Speter don't try to print the second time from it. (Same as raeburn 20 289717721Speter Aug change, it accidentally got lost in 1.4 Alpha-1 merge). 289817721Speter 289917721Speter * cvs.h (CVSDEA): Added (but commented out for now). 290017721Speter * rcs.c (RCS_parsercsfile_i) [CVSDEA]: Also look in CVSDEA to see if 290117721Speter something is dead. 290217721Speter * commit.c (ci_new_rev, mark_file) [CVSDEA]: New functions. 290317721Speter (remove_file, checkaddfile) [CVSDEA]: Use them instead of ci -K. 290417721Speter * find_names.c (find_dirs) [CVSDEA]: Don't match CVSDEA directories. 290517721Speter * update.c (checkout_file): Check RCS_isdead rather than relying 290617721Speter on co to not create the file. 290717721Speter 290817721Speter * sanity.sh: Direct output to logfile, not /dev/null. 290917721Speter 291017721Speter * subr.c (run_exec): Print error message if we are unable to exec. 291117721Speter 291217721Speter * commit.c (remove_file): Call Scratch_Entry when removing tag 291317721Speter from file. The DEATH_SUPPORT ifdef was erroneous. 291417721Speter 291517721SpeterSun Oct 2 20:33:27 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 291617721Speter 291717721Speter * commit.c (checkaddfile): Instead of calling isdir before 291817721Speter attempting to create the directory, just ignore EEXIST errors from 291917721Speter mkdir. (This removes some DEATH_SUPPORT ifdefs which actually had 292017721Speter nothing to do with death support). 292117721Speter 292217721SpeterThu Sep 29 09:23:57 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 292317721Speter 292417721Speter * diff.c (diff): Search attic too if we have a second tag/date. 292517721Speter (diff_fileproc): If we have a second tag/date, don't do all the 292617721Speter checking regarding the user file. 292717721Speter 292817721SpeterMon Sep 26 12:02:15 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 292917721Speter 293017721Speter * checkin.c (Checkin): Check for error from unlink_file. 293117721Speter 293217721SpeterMon Sep 26 08:51:10 1994 Anthony J. Lill (ajlill@ajlc.waterloo.on.ca) 293317721Speter 293417721Speter * rcs.c (getrcskey): Allocate space for terminating '\0' if 293517721Speter necessary. 293617721Speter 293717721SpeterSat Sep 24 09:07:37 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 293817721Speter 293917721Speter * commit.c (commit_fileproc): Set got_message = 1 when calling 294017721Speter do_editor (accidentally omitted from last change). 294117721Speter 294217721SpeterFri Sep 23 11:59:25 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 294317721Speter 294417721Speter Revert buggy parts of Rich's change of 1 Nov 1993 (keeping the 294517721Speter dynamic buffer allocation, which was the point of that change). 294617721Speter * logmsg.c (do_editor): Reinstate message arg, but make it char 294717721Speter **messagep instead of char *message. Change occurances of message 294817721Speter to *messagep. Char return type from char * back to void. 294917721Speter * cvs.h: Change do_editor declaration. 295017721Speter * commit.c: Reinstate got_message variable 295117721Speter (commit_filesdoneproc, commit_fileproc, commit_direntproc): Use it. 295217721Speter * import.c (import), commit.c (commit_fileproc, 295317721Speter commit_direntproc): Pass &message to do_editor; don't expect it to 295417721Speter return a value. 295517721Speter * client.c (client_commit): Likewise. 295617721Speter * import.c (import): Deal with it if message is NULL. 295717721Speter 295817721SpeterWed Sep 21 09:43:25 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 295917721Speter 296017721Speter * server.c (server_updated): If the file doesn't exist, skip it. 296117721Speter 296217721Speter * diff.c, client.h, client.c: Rename diff_client_senddate to 296317721Speter client_senddate and move from diff.c to client.c. 296417721Speter * client.c (client_update, client_checkout): Use it. 296517721Speter 296617721SpeterSat Sep 17 08:36:58 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 296717721Speter 296817721Speter * checkout.c (checkout_proc): Don't pass NULL to Register for 296917721Speter version. (should fix "cvs co -r <nonexistent-tag> <file>" 297017721Speter coredump on Solaris). 297117721Speter 297217721SpeterFri Sep 16 08:38:02 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 297317721Speter 297417721Speter * diff.c (diff_fileproc): Set top_rev from vn_user, not vn_rcs. 297517721Speter Rename it to user_file_rev because it need not be the head of any 297617721Speter branch. 297717721Speter (diff_file_nodiff): After checking user_file_rev, if we have both 297817721Speter use_rev1 and use_rev2, compare them instead of going on to code 297917721Speter which assumes use_rev2 == NULL. 298017721Speter 298117721SpeterThu Sep 15 08:20:23 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 298217721Speter 298317721Speter * status.c (status): Return a value in client_active case. 298417721Speter 298517721SpeterThu Sep 15 15:02:12 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) 298617721Speter 298717721Speter * server.c (serve_modified): Create the file even if the size is 298817721Speter zero. 298917721Speter 299017721SpeterThu Sep 15 08:20:23 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 299117721Speter 299217721Speter * lock.c (readers_exist): Clear errno each time around the loop, 299317721Speter not just the first time. 299417721Speter 299517721Speter * client.c (start_server): Don't send Global_option -q twice. 299617721Speter 299717721Speter * no_diff.c (No_Difference): Check for error from unlink. 299817721Speter 299917721Speter * no_diff.c, cvs.h (No_Difference): New args repository, 300017721Speter update_dir. Call server_update_entries if needed. Use update_dir 300117721Speter in error message. 300217721Speter * classify.c (Classify_File): Pass new args to No_Difference. 300317721Speter 300417721Speter * server.c (server_update_entries, server_checked_in, 300517721Speter server_updated): Don't do anything if noexec. 300617721Speter 300717721Speter * client.c (send_fileproc): Rather than guessing how big the gzip 300817721Speter output may be, just realloc the buffer as needed. 300917721Speter 301017721SpeterTue Sep 13 13:22:03 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 301117721Speter 301217721Speter * lock.c: Check for errors from unlink, readdir, and closedir. 301317721Speter 301417721Speter * classify.c (Classify_File): Pass repository and update_dir to 301517721Speter sticky_ck. 301617721Speter (sticky_ck): New args repository and update_dir. 301717721Speter * server.c, server.h (server_update_entries): New function. 301817721Speter * classify.c (sticky_ck): Call it. 301917721Speter * client.c: New response "New-entry". 302017721Speter * client.c (send_fileproc): Send tag/date from vers->entdata, not 302117721Speter from vers itself. 302217721Speter 302317721SpeterMon Sep 12 07:07:05 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 302417721Speter 302517721Speter * server.c: Clean up formatting ("= (errno)" -> "= errno"). 302617721Speter 302717721Speter * cvs.h: Declare strerror. 302817721Speter 302917721Speter * client.c: Add code to deal with Set-sticky and Clear-sticky 303017721Speter responses, and Sticky request. 303117721Speter * server.c: Add code to deal with Sticky request. 303217721Speter * server.c, server.h (server_set_sticky): New function. 303317721Speter * create_adm.c (Create_Admin), update.c (update, update_dirent_proc), 303417721Speter commit.c (commit_dirleaveproc): Call it. 303517721Speter * client.c, client.h (send_files): Add parameter aflag. 303617721Speter * add.c (add), diff.c (diff), log.c (cvslog), remove.c (cvsremove), 303717721Speter status.c (status), 303817721Speter client.c (client_commit, client_update, client_checkout): Pass it. 303917721Speter * client.c (client_update): Add -A flag. 304017721Speter 304117721SpeterFri Sep 9 07:05:35 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 304217721Speter 304317721Speter * entries.c (WriteTag): Check for error from unlink_file. 304417721Speter 304517721Speter * server.c (server_updated): Initialize size to 0. Previously if 304617721Speter the file was zero length, the variable size got used without being 304717721Speter set. 304817721Speter 304917721SpeterThu Sep 8 14:23:05 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 305017721Speter 305117721Speter * server.c (serve_repository): Check for error from fopen on 305217721Speter CVSADM_ENT. 305317721Speter 305417721Speter * update.c (update, update_dirent_proc): Check for errors when 305517721Speter removing Entries.Static. 305617721Speter 305717721Speter * client.c: Add code to deal with Set-static-directory and 305817721Speter Clear-static-directory responses, and Static-directory request. 305917721Speter * server.c, server.h (server_clear_entstat, server_set_entstat): 306017721Speter New functions. 306117721Speter * update.c, checkout.c, modules.c: Call them. 306217721Speter * server.c: Add code to deal with Static-directory request. 306317721Speter 306417721Speter * server.c, client.c: Use strchr and strrchr instead of index and 306517721Speter rindex. 306617721Speter 306717721Speter * server.c (serve_unchanged, serve_lost): Change comments which 306817721Speter referred to changing timestamp; we don't always change the 306917721Speter timestamp in those cases anymore. 307017721Speter 307117721SpeterWed Sep 7 10:58:12 1994 J.T. Conklin (jtc@rtl.cygnus.com) 307217721Speter 307317721Speter * cvsrc.c (read_cvsrc): Don't call getenv() three times when one 307417721Speter time will do. 307517721Speter 307617721Speter * subr.c (xmalloc, xrealloc): Change type of bytes argument from 307717721Speter int to size_t and remove the test that checks if it is less than 307817721Speter zero. 307917721Speter * cvs.h (xmalloc, xrealloc): Update prototype. 308017721Speter 308117721SpeterThu Sep 1 12:22:20 1994 Jim Kingdon (kingdon@cygnus.com) 308217721Speter 308317721Speter * update.c (merge_file, join_file): Pass -E to rcsmerge. 308417721Speter (merge_file): If rcsmerge doesn't change the file, say so. 308517721Speter 308617721Speter * recurse.c, cvs.h (start_recursion): New argument wd_is_repos. 308717721Speter * recurse.c (start_recursion): Use it instead of checking whether 308817721Speter command_name is rtag to find out if we are cd'd to the repository. 308917721Speter * client.c, update.c, commit.c, status.c, diff.c, log.c, admin.c, 309017721Speter remove.c, tag.c: Pass 0 for wd_is_repos. 309117721Speter * rtag.c, patch.c: Pass 1 for wd_is_repos. 309217721Speter 309317721Speter * classify.c, cvs.h (Classify_File): New argument pipeout. 309417721Speter * classify.c (Classify_File): If pipeout, don't complain if the 309517721Speter file is already there. 309617721Speter * update.c, commit.c, status.c: Change callers. 309717721Speter 309817721Speter * mkmodules.c (main): Don't print "reminders" if commitinfo, 309917721Speter loginfo, rcsinfo, or editinfo files are missing. 310017721Speter 310117721SpeterMon Aug 22 23:22:59 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com) 310217721Speter 310317721Speter * server.c (strerror): Static definition replaced by extern 310417721Speter declaration. 310517721Speter 310617721SpeterSun Aug 21 07:16:27 1994 Ken Raeburn (raeburn@kr-pc.cygnus.com) 310717721Speter 310817721Speter * client.c (update_entries): Run "patch" with input from 310917721Speter /dev/null, so if it's the wrong version, it fails quickly rather 311017721Speter than waiting for EOF from terminal before failing. 311117721Speter 311217721SpeterSat Aug 20 04:16:33 1994 Ken Raeburn (raeburn@cujo.cygnus.com) 311317721Speter 311417721Speter * server.c (serve_unchanged): Instead of creating a file with a 311517721Speter zero timestamp, rewrite the entries file to have "=" in the 311617721Speter timestamp field. 311717721Speter * vers_ts.c (mark_lost, mark_unchanged): New macros. 311817721Speter (time_stamp_server): Use them, for clarity. Interpret "=" 311917721Speter timestamp as an unchanged file. A zero-timestamp file should 312017721Speter never be encountered now in use_unchanged mode. 312117721Speter 312217721Speter * client.c (start_server): If CVS_CLIENT_PORT indicates a 312317721Speter non-positive port number, skip straight to rsh connection. 312417721Speter 312517721Speter * status.c (status_fileproc): Fix ts_rcs reference when printing 312617721Speter version info, to correspond to new Entries file format. Don't 312717721Speter print it at all if server_active, because it won't have any useful 312817721Speter data. 312917721Speter 313017721SpeterThu Aug 18 14:38:21 1994 Ken Raeburn (raeburn@cujo.cygnus.com) 313117721Speter 313217721Speter * cvs.h (status): Declare. 313317721Speter * client.c (client_status): New function. 313417721Speter 313517721Speter * client.h (client_status): Declare. 313617721Speter * main.c (cmds): Include it. 313717721Speter * server.c (serve_status): New function. 313817721Speter (requests): Add it. 313917721Speter * status.c (status): Do the remote thing if client_active. 314017721Speter 314117721Speter * client.c (supported_request): New function. 314217721Speter (start_server): Use it. 314317721Speter 314417721Speter * server.c (receive_partial_file): New function, broken out from 314517721Speter serve_modified. Operate with fixed-size local buffer, instead of 314617721Speter growing stack frame by entire file size. 314717721Speter (receive_file): New function, broken out from serve_modified. 314817721Speter (serve_modified): Call it. 314917721Speter (server): Print out name of unrecognized request. 315017721Speter 315117721Speter More generic stream-filtering support: 315217721Speter * client.c (close_on_exec, filter_stream_through_program): New 315317721Speter functions. 315417721Speter (server_fd): New variable. 315517721Speter (get_responses_and_close): Direct non-rsh connection is now 315617721Speter indicated by server_fd being non-negative. File descriptors for 315717721Speter to_server and from_server may now be different in case "tee" 315817721Speter filtering is being done. Wait for rsh_pid specifically. 315917721Speter (start_server): Use filter_stream_through_program for "tee" 316017721Speter filter, and enable it for direct Kerberos-authenticated 316117721Speter connections. Use dup to create new file descriptors for server 316217721Speter connection if logging is enabled. 316317721Speter (start_rsh_server): Disable code that deals with logging. 316417721Speter 316517721Speter Per-file compression support: 316617721Speter * cvs.h (gzip_level): Declare. 316717721Speter * main.c (usg): Describe new -z argument. 316817721Speter (main): Recognize it and set gzip_level. 316917721Speter * client.c (filter_through_gzip, filter_through_gunzip): New 317017721Speter functions to handle compression. 317117721Speter (update_entries): If size starts with "z", uncompress 317217721Speter (start_server): If gzip_level is non-zero and server supports it, 317317721Speter issue gzip-file-contents request. 317417721Speter (send_fileproc): Optionally compress file contents. Use a 317517721Speter slightly larger buffer, anticipating the worst case. 317617721Speter * server.c (gzip_level): Define here. 317717721Speter (receive_file): Uncompress file contents if needed. 317817721Speter (serve_modified): Recognize "z" in file size and pass receive_file 317917721Speter appropriate flag. 318017721Speter (buf_read_file_to_eof, buf_chain_length): New functions. 318117721Speter (server_updated): Call them when sending a compressed file. 318217721Speter (serve_gzip_contents): New function; set gzip_level. 318317721Speter (requests): Added gzip-file-contents request. 318417721Speter 318517721SpeterWed Aug 17 09:37:44 1994 J.T. Conklin (jtc@cygnus.com) 318617721Speter 318717721Speter * find_names.c (find_dirs): Use 4.4BSD filesystem feature (it 318817721Speter contains the file type in the dirent structure) to avoid 318917721Speter stat'ing each file. 319017721Speter 319117721Speter * commit.c (remove_file,checkaddfile): Change type of umask 319217721Speter variables from int to mode_t. 319317721Speter * subr.c (): Likewise. 319417721Speter 319517721SpeterTue Aug 16 19:56:34 1994 Mark Eichin (eichin@cygnus.com) 319617721Speter 319717721Speter * diff.c (diff_fileproc): Don't use diff_rev* because they're 319817721Speter invariant across calls -- add new variable top_rev. 319917721Speter (diff_file_nodiff): After checking possible use_rev* values, if 320017721Speter top_rev is set drop it in as well (if we don't already have two 320117721Speter versions) and then clear it for next time around. 320217721Speter 320317721SpeterWed Aug 10 20:50:47 1994 Mark Eichin (eichin@cygnus.com) 320417721Speter 320517721Speter * diff.c (diff_fileproc): if ts_user and ts_rcs match, then the 320617721Speter file is at the top of the tree -- so we might not even have a 320717721Speter copy. Put the revision into diff_rev1 or diff_rev2. 320817721Speter 320917721SpeterWed Aug 10 14:55:38 1994 Ken Raeburn (raeburn@cujo.cygnus.com) 321017721Speter 321117721Speter * server.c (do_cvs_command): Use waitpid. 321217721Speter 321317721Speter * subr.c (run_exec): Always use waitpid. 321417721Speter 321517721Speter * Makefile.in (CC, LIBS): Define here, in case "make" is run in 321617721Speter this directory instead of top level. 321717721Speter 321817721SpeterWed Aug 10 13:57:06 1994 Mark Eichin (eichin@cygnus.com) 321917721Speter 322017721Speter * client.c (krb_get_err_text): use HAVE_KRB_GET_ERR_TEXT to 322117721Speter determine if we need to use the array or the function. 322217721Speter * main.c: ditto. 322317721Speter 322417721SpeterTue Aug 9 16:43:30 1994 Ken Raeburn (raeburn@cujo.cygnus.com) 322517721Speter 322617721Speter * entries.c (ParseEntries): If timestamp is in old format, rebuild 322717721Speter it in the new format. Fudge an unmatchable entry that won't 322817721Speter trigger this code next time around, if the file is modified. 322917721Speter 323017721Speter * vers_ts.c (time_stamp): Only put st_mtime field into timestamp, 323117721Speter and use GMT time for it. With st_ctime or in local time, copying 323217721Speter trees between machines in different time zones makes all the files 323317721Speter look modified. 323417721Speter (time_stamp_server): Likewise. 323517721Speter 323617721SpeterTue Aug 9 19:40:51 1994 Mark Eichin (eichin@cygnus.com) 323717721Speter 323817721Speter * main.c (main): use krb_get_err_text function instead of 323917721Speter krb_err_txt array. 324017721Speter 324117721SpeterThu Aug 4 15:37:50 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) 324217721Speter 324317721Speter * main.c (main): When invoked as kserver, set LOGNAME and USER 324417721Speter environment variables to the remote user name. 324517721Speter 324617721SpeterThu Aug 4 07:44:37 1994 Mark Eichin (eichin@cygnus.com) 324717721Speter 324817721Speter * client.c: (handle_valid_requests): if we get an option that has 324917721Speter rq_enableme set, then send that option. If it is UseUnchanged, set 325017721Speter use_unchanged so that the rest of the client knows about 325117721Speter it. (Could become a more general method for dealing with protocol 325217721Speter upgrades.) 325317721Speter (send_fileproc): if use_unchanged didn't get set, send an 325417721Speter old-style "Lost" request, otherwise send an "Unchanged" request. 325517721Speter * server.c (serve_unchanged): new function, same as serve_lost, 325617721Speter but used in the opposite case. 325717721Speter (requests): add new UseUnchanged and Unchanged requests, and make 325817721Speter "Lost" optional (there isn't a good way to interlock these.) 325917721Speter * server.h (request.status): rq_enableme, new value for detecting 326017721Speter compatibility changes. 326117721Speter * vers_ts.c (time_stamp_server): swap meaning of zero timestamp if 326217721Speter use_unchanged is set. 326317721Speter 326417721SpeterTue Jul 26 10:19:30 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 326517721Speter 326617721Speter * sanity.sh: Separate CVSROOT_FILENAME, which must be the filename 326717721Speter of the root, from CVSROOT, which can include a hostname for 326817721Speter testing remote CVS. (but the tests aren't yet prepared to deal 326917721Speter with the bugs in remote CVS). 327017721Speter 327117721Speter * import.c (update_rcs_file): Change temporary file name in TMPDIR 327217721Speter from FILE_HOLDER to cvs-imp<process-id>. 327317721Speter 327417721Speter * sanity.sh: Add ">/dev/null" and "2>/dev/null" many places to 327517721Speter suppress spurious output. Comment out tests which don't work (cvs 327617721Speter add on top-level directory, cvs diff when non-committed adds or 327717721Speter removes have been made, cvs release, test 53 (already commented as 327817721Speter broken), retagging without deleting old tag, test 63). Now 'make 327917721Speter check' runs without any failures. 328017721Speter 328117721SpeterFri Jul 15 12:58:29 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) 328217721Speter 328317721Speter * Makefile.in (install): Do not depend upon installdirs. 328417721Speter 328517721SpeterThu Jul 14 15:49:42 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) 328617721Speter 328717721Speter * client.c, server.c: Don't try to handle alloca here; it's 328817721Speter handled by cvs.h. 328917721Speter 329017721SpeterTue Jul 12 13:32:40 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) 329117721Speter 329217721Speter * client.c (update_entries): Reset stored_checksum_valid if we 329317721Speter quit early because of a patch failure. 329417721Speter 329517721SpeterFri Jul 8 11:13:05 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) 329617721Speter 329717721Speter * client.c (responses): Mark "Remove-entry" as optional. 329817721Speter 329917721SpeterThu Jul 7 14:07:58 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) 330017721Speter 330117721Speter * server.c (server_updated): Add new checksum argument. If it is 330217721Speter not NULL, and the client supports the "Checksum" response, send 330317721Speter it. 330417721Speter * server.h (server_updated): Update prototype. 330517721Speter * update.c: Include md5.h. 330617721Speter (update_file_proc): Pass new arguments to patch_file and 330717721Speter server_updated. 330817721Speter (patch_file): Add new checksum argument. Set it to the MD5 330917721Speter checksum of the version of the file being checked out. 331017721Speter (merge_file): Pass new argument to server_updated. 331117721Speter * client.c: Include md5.h. 331217721Speter (stored_checksum_valid, stored_checksum): New static variables. 331317721Speter (handle_checksum): New static function. 331417721Speter (update_entries): If a checksum was received, check it against the 331517721Speter MD5 checksum of the final file. 331617721Speter (responses): Add "Checksum". 331717721Speter (start_server): Clear stored_checksum_valid. 331817721Speter * commit.c (commit_fileproc): Pass new argument to server_updated. 331917721Speter 332017721Speter * client.h (struct response): Move definition in from client.c, 332117721Speter add status field. 332217721Speter (responses): Declare. 332317721Speter * client.c (struct response): Remove definition; moved to 332417721Speter client.h. 332517721Speter (responses): Make non-static. Initialize status field. 332617721Speter * server.c (serve_valid_responses): Check and record valid 332717721Speter responses, just as in handle_valid_requests in client.c. 332817721Speter 332917721Speter * diff.c (diff_client_senddate): New function. 333017721Speter (diff): Use it to send -D arguments to server. 333117721Speter 333217721SpeterWed Jul 6 12:52:37 1994 J.T. Conklin (jtc@phishhead.cygnus.com) 333317721Speter 333417721Speter * rcs.c (RCS_parsercsfile_i): New function, parse RCS file 333517721Speter referenced by file ptr argument. 333617721Speter (RCS_parsercsfile): Open file and pass its file ptr to above function. 333717721Speter (RCS_parse): Likewise. 333817721Speter 333917721SpeterWed Jul 6 01:25:38 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) 334017721Speter 334117721Speter * client.c (update_entries): Print message indicating that an 334217721Speter unpatchable file will be refetched. 334317721Speter (client_update): Print message when refetching unpatchable files. 334417721Speter 334517721SpeterFri Jul 1 07:16:29 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 334617721Speter 334717721Speter * client.c (send_dirent_proc): Don't call send_a_repository if 334817721Speter repository is "". 334917721Speter 335017721SpeterFri Jul 1 13:58:11 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) 335117721Speter 335217721Speter * client.c (last_dirname, last_repos): Move out of function. 335317721Speter (failed_patches, failed_patches_count): New static variables. 335417721Speter (update_entries): If patch program fails, save short_pathname in 335517721Speter failed_patches array, only exit program if retcode is -1, and 335617721Speter return out of the function rather than update the Entries line. 335717721Speter (start_server): Clear toplevel_repos, last_dirname, last_repos. 335817721Speter (client_update): If failed_patches is not NULL after doing first 335917721Speter update, do another update, but remove all the failed files first. 336017721Speter 336117721SpeterThu Jun 30 09:08:57 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 336217721Speter 336317721Speter * server.c (requests): Add request "Global_option". 336417721Speter (serve_global_option): New function, to handle it. 336517721Speter * client.c (start_server): Deal with global options. Check for 336617721Speter errors from fprintf. 336717721Speter 336817721Speter * client.c (send_fileproc): Split out code which sends repository 336917721Speter into new function send_a_repository. Also, deal with update_dir 337017721Speter being ".". 337117721Speter (send_dirent_proc): Call send_a_repository. 337217721Speter * add.c (add): If client_active, do special processing for 337317721Speter directories. 337417721Speter (add_directory): If server_active, don't try to create CVSADM 337517721Speter directory. 337617721Speter 337717721SpeterThu Jun 30 11:58:52 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) 337817721Speter 337917721Speter * client.c (update_entries): If patch succeeds, remove the backup 338017721Speter file. 338117721Speter * server.c (server_updated): Add new argument file_info. If it is 338217721Speter not NULL, use it rather than sb to get the file mode. 338317721Speter * server.h (server_updated): Update prototype for new argument. 338417721Speter * update.c (update_file_proc): Pass new arguments to patch_file 338517721Speter and server_updated. 338617721Speter (patch_file): Add new argument file_info. Don't use -p to check 338717721Speter out new version, check it out into file and rename that to file2. 338817721Speter If result is not readable, assume file is dead and set docheckout. 338917721Speter Call xchmod on file2. Close the patch file after checking for a 339017721Speter binary diff. Set file_info to the results of stat on file2. 339117721Speter (merge_file): Pass new argument to server_updated. 339217721Speter * commit.c (commit_fileproc): Pass new argument to server_updated. 339317721Speter 339417721SpeterWed Jun 29 13:00:41 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) 339517721Speter 339617721Speter * client.c (krb_realmofhost): Declare, since it's not the current 339717721Speter <krb.h>. 339817721Speter (start_server): Save the name returned by gethostbyname. Call 339917721Speter krb_realmofhost to get the realm. Pass the resulting realm to 340017721Speter krb_sendauth. Pass the saved real name to krb_sendauth, rather 340117721Speter than server_host. 340217721Speter 340317721Speter * update.c (update_file_proc): Pass &docheckout to patch_file. If 340417721Speter it is set to 1, fall through to T_CHECKOUT case. 340517721Speter (patch_file): Add docheckout argument. Set it to 1 if we can't 340617721Speter make a patch. Check out the files and run diff rather than 340717721Speter rcsdiff. If either file does not end in a newline, we can't make 340817721Speter a patch. If the patch starts with the string "Binary", assume 340917721Speter one or the other is a binary file, and that we can't make a patch. 341017721Speter 341117721SpeterTue Jun 28 11:57:29 1994 Ian Lance Taylor (ian@sanguine.cygnus.com) 341217721Speter 341317721Speter * client.c (update_entries): If the patch file is empty, don't run 341417721Speter patch program; avoids error message. 341517721Speter 341617721Speter * classify.c (Classify_File): Return T_CHECKOUT, not T_PATCH, if 341717721Speter the file is in the Attic. 341817721Speter 341917721Speter * cvs.h (enum classify_type): Add T_PATCH. 342017721Speter * config.h (PATCH_PROGRAM): Define. 342117721Speter * classify.c (Classify_File): If user file exists and is not 342217721Speter modified, and using the same -k options, return T_PATCH instead of 342317721Speter T_CHECKOUT. 342417721Speter * update.c (patches): New static variable. 342517721Speter (update): Add u to gnu_getopt argument. Handle it. 342617721Speter (update_file_proc): Handle T_PATCH. 342717721Speter (patch_file): New static function. 342817721Speter * server.h (enum server_updated_arg4): Add SERVER_PATCHED. 342917721Speter * server.c (server_updated): Handle SERVER_PATCHED by sending 343017721Speter "Patched" command. 343117721Speter (serve_ignore): New static function. 343217721Speter (requests): Add "update-patches". 343317721Speter (client_update): If the server supports "update-patches", send -u. 343417721Speter * client.c (struct update_entries_data): Change contents field 343517721Speter from int to an unnamed enum. 343617721Speter (update_entries): Correponding change. If contents is 343717721Speter UPDATE_ENTRIES_PATCH, pass the input to the patch program. 343817721Speter (handle_checked_in): Initialize contents to enum value, not int. 343917721Speter (handle_updated, handle_merged): Likewise. 344017721Speter (handle_patched): New static function. 344117721Speter (responses): Add "Patched". 344217721Speter * commit.c (check_fileproc): Handle T_PATCH. 344317721Speter * status.c (status_fileproc): Likewise. 344417721Speter 344517721Speter * client.c (start_server): If CVS_CLIENT_PORT is set in the 344617721Speter environment, connect to that port, rather than looking up "cvs" in 344717721Speter /etc/services. For debugging. 344817721Speter 344917721SpeterTue Jun 21 12:48:16 1994 Ken Raeburn (raeburn@cujo.cygnus.com) 345017721Speter 345117721Speter * update.c (joining): Return result of comparing pointer with 345217721Speter NULL, not result of casting (truncating, on Alpha) pointer to int. 345317721Speter 345417721Speter * main.c (main) [HAVE_KERBEROS]: Impose a umask if starting as 345517721Speter Kerberos server, so temp directories won't be world-writeable. 345617721Speter 345717721Speter * update.c (update_filesdone_proc) [CVSADM_ROOT]: If environment 345817721Speter variable CVS_IGNORE_REMOTE_ROOT is set and repository is remote, 345917721Speter don't create CVS/Root file. 346017721Speter * main.c (main): If env var CVS_IGNORE_REMOTE_ROOT is set, don't 346117721Speter check CVS/Root. 346217721Speter 346317721SpeterFri Jun 10 18:48:32 1994 Mark Eichin (eichin@cygnus.com) 346417721Speter 346517721Speter * server.c (O_NDELAY): use POSIX O_NONBLOCK by default, unless it 346617721Speter isn't available (in which case substitute O_NDELAY.) 346717721Speter 346817721SpeterThu Jun 9 19:17:44 1994 Mark Eichin (eichin@cygnus.com) 346917721Speter 347017721Speter * server.c (server_cleanup): chdir out of server_temp_dir before 347117721Speter deleting it (so that it works on non-BSD systems.) Code for choice 347217721Speter of directory cloned from server(). 347317721Speter 347417721SpeterFri May 27 18:16:01 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) 347517721Speter 347617721Speter * client.c (update_entries): Add return type of void. 347717721Speter (get_responses_and_close): If using Kerberos and from_server and 347817721Speter to_server are using the same file descriptor, use shutdown, not 347917721Speter fclose. Close from_server. 348017721Speter (start_server): New function; most of old version renamed to 348117721Speter start_rsh_server. 348217721Speter (start_rsh_server): Mostly renamed from old start_server. 348317721Speter (send_fileproc): Use %lu and cast sb.st_size in fprintf call. 348417721Speter (send_files): Remove unused variables repos and i. 348517721Speter (option_no_arg): Comment out; unused. 348617721Speter * main.c (main): Initialize cvs_update_env to 0. If command is 348717721Speter "kserver", authenticate and change command to "server". If 348817721Speter command is "server", don't call Name_Root, don't check access to 348917721Speter history file, and don't assume that CVSroot is not NULL. 349017721Speter * server.c (my_memmove): Removed. 349117721Speter (strerror): Change check from STRERROR_MISSING to HAVE_STRERROR. 349217721Speter (serve_root): Likewise for putenv. 349317721Speter (serve_modified): Initialize buf to NULL. 349417721Speter (struct output_buffer, buf_try_send): Remove old buffering code. 349517721Speter (struct buffer, struct buffer_data, BUFFER_DATA_SIZE, 349617721Speter allocate_buffer_datas, get_buffer_data, buf_empty_p, 349717721Speter buf_append_char, buf_append_data, buf_read_file, buf_input_data, 349817721Speter buf_copy_lines): New buffering code. 349917721Speter (buf_output, buf_output0, buf_send_output, set_nonblock, 350017721Speter set_block, buf_send_counted, buf_copy_counted): Rewrite for new 350117721Speter buffering code. 350217721Speter (protocol, protocol_memory_error, outbuf_memory_error, 350317721Speter do_cvs_command, server_updated): Rewrite for new buffering code. 350417721Speter (input_memory_error): New function. 350517721Speter (server): Put Rcsbin at start of PATH in environment. 350617721Speter * Makefile.in: Add @includeopt@ to DEFS. 350717721Speter 350817721SpeterFri May 20 08:13:10 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 350917721Speter 351017721Speter * cvs.h, classify.c (Classify_File): New argument update_dir. 351117721Speter Include it in user messages. 351217721Speter * commit.c (check_fileproc), status.c (status_fileproc), update.c 351317721Speter (update_file_proc): Pass update_dir to Classify_File. 351417721Speter * commit.c (check_fileproc), update.c (checkout_file): 351517721Speter Include update_dir in user messages. 351617721Speter * commit.c (check_fileproc) update.c (update_file_proc): Re-word 351717721Speter "unknown status" message. 351817721Speter 351917721Speter * server.c (server_checked_in): Deal with the case where 352017721Speter scratched_file is set rather than entries_line. 352117721Speter 352217721Speter * entries.c (Register): Write file even if server_active. 352317721Speter * add.c (add): Add comment about how we depend on above behavior. 352417721Speter 352517721SpeterTue May 17 08:16:42 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 352617721Speter 352717721Speter * mkmodules.c: Add dummy server_active and server_cleanup, to go 352817721Speter with the dummy Lock_Cleanup already there. 352917721Speter 353017721Speter * server.c (server_cleanup): No longer static. 353117721Speter 353217721SpeterSat May 7 10:17:17 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 353317721Speter 353417721Speter Deal with add and remove: 353517721Speter * commit.c (checkaddfile): If CVSEXT_OPT or CVSEXT_LOG file does 353617721Speter not exist, just silently keep going. 353717721Speter (remove_file): If server_active, remove file before creating 353817721Speter temporary file with that name. 353917721Speter * server.c (serve_remove, serve_add): New functions. 354017721Speter (requests): Add them. 354117721Speter * server.c (server_register): If options is NULL, it means there 354217721Speter are no options. 354317721Speter * server.c, server.h (server_scratch_entry_only): New function. 354417721Speter New variable kill_scratched_file. 354517721Speter (server_scratch, server_updated): Deal with kill_scratched_file. 354617721Speter * commit.c (commit_fileproc): If server_active, call 354717721Speter server_scratch_entry_only and server_updated. 354817721Speter * add.c (add): Add client_active code. 354917721Speter (add): If server_active, call server_checked_in for each file added. 355017721Speter * remove.c (remove): Add client_active code. 355117721Speter (remove_fileproc): If server_active, call server_checked_in. 355217721Speter * main.c (cmds), client.c, client.h: New functions client_add and 355317721Speter client_remove. 355417721Speter * Move declarations of add, cvsremove, diff, and cvslog from 355517721Speter main.c to cvs.h. 355617721Speter * client.c (call_in_directory): Update comment regarding Root and 355717721Speter Repository files. 355817721Speter (send_fileproc): Only send Entries line if Version_TS really finds 355917721Speter an entry. If it doesn't find one, send Modified. 356017721Speter (update_entries): If version is empty or starts with 0 or -, 356117721Speter create a dummy timestamp. 356217721Speter 356317721SpeterThu May 5 19:02:51 1994 Per Bothner (bothner@kalessin.cygnus.com) 356417721Speter 356517721Speter * recurse/c (start_recursion): If we're doing rtag, and thus 356617721Speter have cd'd to the reporsitory, add ,v to a file name before stat'ing. 356717721Speter 356817721SpeterWed Apr 20 15:01:45 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) 356917721Speter 357017721Speter * client.c (client_commit): Call ign_setup. 357117721Speter (client_update, client_checkout): Likewise. 357217721Speter * diff.c (diff): If client, call ign_setup. 357317721Speter * log.c (cvslog): Likewise. 357417721Speter * update.h (ignlist): Change definition to declaration to avoid 357517721Speter depending upon common semantics (not required by ANSI C, and not 357617721Speter the default on Irix 5). 357717721Speter * update.c (ignlist): Define. 357817721Speter 357917721SpeterTue Apr 19 00:02:54 1994 John Gilmore (gnu@cygnus.com) 358017721Speter 358117721Speter Add support for remote `cvs log'; clean up `cvs diff' a bit. 358217721Speter 358317721Speter * client.c (send_arg): Make external. 358417721Speter (send_option_string): New function. 358517721Speter (client_diff_usage): Remove, unused. 358617721Speter (client_diff): Just call diff, not do_diff. 358717721Speter (client_log): Add. 358817721Speter * client.h (client_log, send_arg, send_option_string): Declare. 358917721Speter * cvs.h (cvslog): Declare. 359017721Speter * diff.c (do_diff): Fold back into diff(), distinguish by checking 359117721Speter client_active. 359217721Speter (diff): Remove `-*' arg parsing crud; use send_option_string. 359317721Speter * log.c (cvslog): If a client, start the server, pass options 359417721Speter and files, and handle server responses. 359517721Speter * main.c (cmds): Add client_log. 359617721Speter (main): Remove obnoxious message every time CVS/Root is used. 359717721Speter Now CVS will be quiet about it -- unless there is a conflict 359817721Speter between $CVSROOT or -d value versus CVS/Root. 359917721Speter * server.c (serve_log): Add. 360017721Speter (requests): Add "log". 360117721Speter 360217721SpeterMon Apr 18 22:07:53 1994 John Gilmore (gnu@cygnus.com) 360317721Speter 360417721Speter Add support for remote `cvs diff'. 360517721Speter 360617721Speter * diff.c (diff): Break guts out into new fn do_diff. 360717721Speter Add code to handle starting server, writing args, 360817721Speter sending files, and retrieving responses. 360917721Speter (includes): Use PARAMS for static function declarations. 361017721Speter * client.c (to_server, from_server, rsh_pid, 361117721Speter get_responses_and_close, start_server, send_files, 361217721Speter option_with_arg): Make external. 361317721Speter (send_file_names): New function. 361417721Speter (client_diff): New function. 361517721Speter * client.h (client_diff, to_server, from_server, 361617721Speter rsh_pid, option_with_arg, get_responses_and_close, start_server, 361717721Speter send_file_names, send_files): Declare. 361817721Speter * cvs.h (diff): Declare. 361917721Speter * main.c (cmds): Add client_diff to command table. 362017721Speter * server.c (serve_diff): New function. 362117721Speter (requests): Add serve_diff. 362217721Speter (server): Bug fix: avoid free()ing incremented cmd pointer. 362317721Speter * update.h (update_filesdone_proc): Declare with PARAMS. 362417721Speter 362517721SpeterSat Apr 16 04:20:09 1994 John Gilmore (gnu@cygnus.com) 362617721Speter 362717721Speter * root.c (Name_root): Fix tyop (CVSroot when root meant). 362817721Speter 362917721SpeterSat Apr 16 03:49:36 1994 John Gilmore (gnu@cygnus.com) 363017721Speter 363117721Speter Clean up remote `cvs update' to properly handle ignored 363217721Speter files (and files that CVS can't identify), and to create 363317721Speter CVS/Root entries on the client side, not the server side. 363417721Speter 363517721Speter * client.c (send_fileproc): Handle the ignore list. 363617721Speter (send_dirent_proc): New function for handling ignores. 363717721Speter (send_files): Use update_filesdone_proc and send_dirent_proc 363817721Speter while recursing through the local filesystem. 363917721Speter * update.h: New file. 364017721Speter * update.c: Move a few things into update.h so that client.c 364117721Speter can use them. 364217721Speter 364317721SpeterFri Mar 11 13:13:20 1994 Ian Lance Taylor (ian@tweedledumb.cygnus.com) 364417721Speter 364517721Speter * server.c: If O_NDELAY is not defined, but O_NONBLOCK is, define 364617721Speter O_NDELAY to O_NONBLOCK. 364717721Speter 364817721SpeterWed Mar 9 21:08:30 1994 Jim Kingdon (kingdon@lioth.cygnus.com) 364917721Speter 365017721Speter Fix some spurious remote CVS errors caused by the CVS/Root patches: 365117721Speter * update.c (update_filesdone_proc): If server_active, don't try to 365217721Speter create CVS/Root. 365317721Speter * root.c (Name_Root): Make error messages which happen if root is 365417721Speter not an absolute pathname or if it doesn't exist a bit clearer. 365517721Speter Skip them if root contains a colon. 365617721Speter 365717721SpeterMon Nov 1 15:54:51 1993 K. Richard Pixley (rich@sendai.cygnus.com) 365817721Speter 365917721Speter * client.c (client_commit): dynamically allocate message. 366017721Speter 366117721SpeterTue Jun 1 17:03:05 1993 david d `zoo' zuhn (zoo at cirdan.cygnus.com) 366217721Speter 366317721Speter * server.h: remove alloca cruft 366417721Speter 366517721Speter * server.c: replace with better alloca cruft 366617721Speter 366717721SpeterMon May 24 11:25:11 1993 Jim Kingdon (kingdon@lioth.cygnus.com) 366817721Speter 366917721Speter * entries.c (Scratch_Entry): Update our local Entries file even if 367017721Speter server_active. 367117721Speter 367217721Speter * server.c (server_scratch, server_register): If both Register 367317721Speter and Scratch_Entry happen, use whichever one happened later. 367417721Speter If neither happen, silently continue. 367517721Speter 367617721Speter * client.c (client_checkout): Initialize tag and date (eichin and 367717721Speter I independently discovered this bug at the same time). 367817721Speter 367917721SpeterWed May 19 10:11:51 1993 Mark Eichin (eichin@cygnus.com) 368017721Speter 368117721Speter * client.c (update_entries): handle short reads over the net 368217721Speter (SVR4 fread is known to be broken, specifically for short 368317721Speter reads off of streams.) 368417721Speter 368517721SpeterTue May 18 15:53:44 1993 Jim Kingdon (kingdon@lioth.cygnus.com) 368617721Speter 368717721Speter * server.c (do_cvs_command): Fix fencepost error in setting 368817721Speter num_to_check. 368917721Speter 369017721Speter * server.c (do_cvs_command): If terminated with a core dump, print 369117721Speter message and set dont_delete_temp. 369217721Speter (server_cleanup): If dont_delete_temp, don't delete it. 369317721Speter 369417721Speter * client.c (get_server_responses): Don't change cmd since we 369517721Speter are going to "free (cmd)". 369617721Speter 369717721Speter * server.c: Rename memmove to my_memmove pending a real fix. 369817721Speter 369917721Speter * server.c (do_cvs_command): Set num_to_check to largest descriptor 370017721Speter we try to use, rather than using (non-portable) getdtablesize. 370117721Speter 370217721SpeterWed May 12 15:31:40 1993 Jim Kingdon (kingdon@lioth.cygnus.com) 370317721Speter 370417721Speter Add CVS client feature: 370517721Speter * client.{c,h}: New files. 370617721Speter * cvs.h: Include client.h. 370717721Speter * main.c: If CVSROOT has a colon, use client commands instead. 370817721Speter * vers_ts.c (Version_TS): If repository arg is NULL, don't worry 370917721Speter about the repository. 371017721Speter * logmsg.c (do_editor): If repository or changes is NULL, just don't 371117721Speter use those features. 371217721Speter * create_adm.c (Create_Admin), callers: Move the test for whether 371317721Speter the repository exists from here to callers. 371417721Speter * repos.c (Name_Repository): Don't test whether the repository exists 371517721Speter if client_active set (might be better to move test to callers). 371617721Speter 371717721Speter Add CVS server feature: 371817721Speter * server.{c,h}: New files. 371917721Speter * cvs.h: Include server.h. 372017721Speter * checkin.c (Checkin): Call server_checked_in. 372117721Speter * update.c (update_file_proc, merge_files): Call server_updated. 372217721Speter * entries.c (Register): Call server_register. 372317721Speter (Scratch_Entry): Call server_scratch. 372417721Speter * main.c: Add server to cmds. 372517721Speter * vers_ts.c (Version_TS): If server_active, call new function 372617721Speter time_stamp_server to set ts_user. 372717721Speter 372817721Speter 372917721SpeterFor older changes, there might be some relevant stuff in the bottom of 373017721Speterthe NEWS file, but I'm afraid probably a lot of them are lost in the 373117721Spetermists of time. 3732