diff options
Diffstat (limited to 'contrib/cvs/src/ChangeLog-96')
-rw-r--r-- | contrib/cvs/src/ChangeLog-96 | 4434 |
1 files changed, 0 insertions, 4434 deletions
diff --git a/contrib/cvs/src/ChangeLog-96 b/contrib/cvs/src/ChangeLog-96 deleted file mode 100644 index 6c3a2a12d6427..0000000000000 --- a/contrib/cvs/src/ChangeLog-96 +++ /dev/null @@ -1,4434 +0,0 @@ -Mon Dec 30 15:43:48 1996 Abe Feldman <feldman@harvey.cyclic.com> - - * checkout.c (build_dirs_and_chdir): Reproduced block containing - Create_Admin, placing it before Subdir_Register. - * sanity.sh (basicb): Added tests 1a and 9a to test above changes - to the checkout command. - -Mon Dec 30 13:29:14 1996 uz@wuschel.ibb.schwaben.com (Ullrich von Bassewitz) - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * cvs.h (CVSEDITPREFIXLEN): New define. - * logmsg.c (do_editor): Use CVSEDITPREFIXLEN when deciding whether - to strip off CVSEDITPREFIX and when telling the user what we will - strip off. - -Sun Dec 22 22:06:49 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * logmsg.c (do_verify): If noexec, skip the verification *without* - printing a message. Use cvs_output not printf. Skip verification - for client_active. - -Wed Dec 18 12:27:35 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * repos.c (Name_Repository): Add comment regarding wording of - "*PANIC*" error message. - -1996-12-18 Jim Kingdon - - * client.c (call_in_directory): If the directory we are about - to create is the same as CVSADM as seen by fncmp (for example, - it is "cvs" and filenames are case-insensitive), then give a - fatal error. - -Tue Dec 17 13:14:22 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * options.h.in: Add comments about SETXID security holes. - - * logmsg.c (do_verify): Reindent comments. Check errno if return - code from run_exec is -1, not if it is 1. - * sanity.sh (info): Move tests info-4 and info-8 to end and rename - them. Add verifymsg tests. Instead of forcibly removing loginfo, - remove it nicely (test info-11). - -Tue Dec 17 12:45:32 1996 Abe Feldman <feldman@cyclic.com> - - * commit.c, import.c: Call do_verify as well as do_editor. - * cvs.h (CVSROOTADM_VERIFYMSG): Define. - * logmsg.c, cvs.h (do_verify, verifymsg_proc): New functions. - (verifymsg_script): New variable. - * mkmodules.c (filelist): Add CVSROOTADM_VERIFYMSG. - -Mon Dec 16 13:24:47 1996 Ian Lance Taylor <ian@cygnus.com> - - * lock.c (remove_locks): New static function, copied from part of - Lock_Cleanup. - (Lock_Cleanup): Call remove_locks. - (Writer_Lock): Call remove_locks rather than Lock_Cleanup when - waiting for a lock. - -Thu Dec 12 10:36:37 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * login.c (get_cvs_password): If CVS_PASSWORD is set, print a - warning (and then proceed to ignore it). It was a documented - feature, so we should point people who were using it to the - replacement. - -Mon Dec 9 12:35:43 1996 Ian Lance Taylor <ian@cygnus.com> - - * server.c (server_updated): Change comment to only worry about - umask in the rsh case. - (server): Create the temporary directory, and change the mode to - S_IRWXU. - (switch_to_user): Set the umask to 0, not 077. - -Mon Dec 9 10:58:28 1996 Jim Blandy <jimb@floss.cyclic.com> - - * login.c (get_cvs_password): Remove code to check for value of - CVS_PASSWORD. Keeping cleartext passwords in environment - variables is a really bad idea on Unix, since anyone can print - out a processes' environment using 'ps' (on BSD variants - anyway). Update help message. - -Fri Dec 6 15:59:40 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh: When matching "use .cvs commit. to remove this file - permanently" messages, change "cvs" to "${PROG}". - (rdiff, binfiles): Likewise. - This fixes testing a program named something other than "cvs", e.g. - $ cp cvs cvs-test - $ /bin/sh <srcdir>/sanity.sh `pwd`/cvs-test - -1996-12-02 Jim Kingdon - - * client.c: In comment saying that socket buffers don't - implement the blocking routine, say they are blocking. - * buffer.h (struct buffer): In description of input function, - describe blocking, non-blocking, and NEED more fully. Say - what happens if we read a nonzero amount less than NEED and - then get end of file. - * client.c (socket_buffer_input): If NEED == 0, still call - recv (once). Handle the case where recv returns 0. - -Sat Nov 30 15:10:07 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * subr.c, cvs.h (file_has_markers): New function. - * rcs.h (RCS_MERGE_PAT): Now a fixed string not a regexp. - * options.h.in (GREP): Removed; no longer used. - * update.c (update_fileproc), commit.c (check_fileproc): Call - file_has_markers rather than GREP. - * rcscmds.c (RCS_merge): Just give a fatal error in the case where - we had been calling GREP. I suspect noone is using this code - any more. - * sanity.sh (conflicts): Rewrite tests 131, 132, and 133 to use - dotest; tests that the above changes didn't break anything. - -Fri Nov 29 09:06:41 1996 fnf@ninemoons.com (Fred Fish) - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * checkout.c (safe_location): Only call readlink if HAVE_READLINK. - - * run.c (piped_child, filter_stream_through_program): If - HAVE_VFORK, call vfork not fork. - * run.c (run_exec): Add comment about why we use vfork. - -Mon Nov 25 12:48:31 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * release.c (release): Don't return after processing the first - argument; that kind of defeats the purpose of having a loop, eh? - For client, close the connection after we've processed them all. - * sanity.sh: Remove workaround for modules2-8 test; tests for - above fix. Adjust modules2-6 test to answer both questions. - - * login.c: Reindent (all of get_cvs_password, a handful of lines - elsewhere). - - Cleanups to release, mostly cosmetic: - * release.c (release_server): New function; breaks out server code - from the release function. - * release.c: Move delete_flag inside the release function. - * release.c (release): Reindent. Rewrite comments about how the - implementation could be improved. Don't declare variables as - "register". Include errno in error message. Don't cast result of - printf to void. Remove unused variable srepos. - * release.c: Remove comments at top of file about what it does. - They were not particularly coherent and they were also out of date - (I think). Likewise for comment in release function about "if we - are in a repository". - * release.c: Change "module" to "directory" in a few messages - since that is what is meant. - * sanity.sh: In tests ignore-195 and ignore-193, change expected - message accordingly. - -Sun Nov 24 11:30:55 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh: Clarify a few items in the todo list. - - * log.c (log_parse_date): Use the "end" of the epoch not "next - week" as the time which means "no end time". - * sanity.sh (rcs): New test, tests dates and importing RCS files. - -1996-11-19 Jim Kingdon - - Visual C++ lint: - * hash.c: Declare qsort_comp. - * update.c: Declare isremoved. - -1996-11-19 Jim Kingdon <kingdon@harvey.cyclic.com> - - * root.c, repos.c, modules.c, create_adm.c: Change all calls to - strip_path to strip_trailing_slashes. Basically strip_path is - just an unneeded complication (we should keep the pathname the way - the user specifies it, and the system can worry about things like - consecutive /'s if it wants to). Stripping trailing slashes is - potentially dubious for the same reason, but it is a somewhat - different case which I won't try to tackle now. - * cvs.h (strip_path): Remove declaration. - -Tue Nov 19 15:18:13 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - There are a lot of details to this change, but the concept is - relatively simple: make it so that for every CVSLCK lock that we - might take out, there is a flag which is set iff we have created - the CVSLCK directory. - * lock.c (struct lock): New structure. - * lock.c: Remove static variables repository and cleanup_lckdir. - They are replaced by global_readlock.repository and - global_readlock.have_lckdir, respectively (except insofar as the - rest of these changes change the concept of cleanup_lckdir). - New static variable global_readlock. - (Reader_Lock, Lock_Cleanup): Use global_readlock in place of - repository. - (lock_simple_remove, set_lock, clear_lock, write_lock): Take a - struct lock * instead of just a repository. Set/clear - lock->have_lckdir instead of cleanup_lckdir. - (set_writelock_proc, unlock_proc): Pass ->data, not ->key, to - write_lock or lock_simple_remove. - (lock_filesdoneproc,lock_dir_for_write): Allocate a struct lock, - put it in the ->data field, and fill in its fields. - (lock_simple_remove): Use lock->have_lckdir as the sole test for - whether the CVSLCK directory needs to be removed. Add - comments about why readlock and writelock variables don't tell us - for sure whether locks exist. - (lock_simple_remove, clear_lock): Use SIG_beginCrSect and - SIG_endCrSect to ensure that ->have_lckdir is set to 0 iff the - CVSLCK directory was really removed. - (lock_simple_remove): Check for errors removing CVSLCK directory. - (lock_simple_remove, Check_Owner, set_lock): Remove all code which - checks userids (including all of Check_Owner and all the AFCVS - code). It was bogus if several CVS processes with the same userid - were running (common if several users share a userid; a common - practice with remote CVS), and with the rest of the changes here - should not be needed. - -1996-11-16 Paul Eggert <eggert@twinsun.com> - - * rcs.c (RCS_deltas): Fix unintended trigraphs. - -Fri Nov 15 13:06:03 1996 Tom Hageman <tom@basil.icce.rug.nl> - - * diff.c (diff_fileproc): In printing error messages, use the - correct filename for which the error occurred. - -Sun Nov 10 21:13:38 1996 Paul Sanders <p.sanders@dial.pipex.com> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * server.c: Use all the right cruft which goes along with - including sys/time.h. - - * server.c: Include a "copyright" notice. - - * server.c: If HAVE_WINSOCK_H, include winsock.h. - - * server.c (server): Only set a handler for SIGHUP if it is - defined. Likewise for all the other signals. - - * server.c (do_cvs_command): Use DEVNULL not /dev/null. - -Fri Nov 08 12:14:20 1996 Jim Kingdon - - IBM ICC (OS/2) lint: - * add.c (add): Only declare begin_added_files if - SERVER_SUPPORT. - * client.c (init_sockaddr): Change port argument from - unsigned short to unsigned int. Change hostname - argument from const char * to char *. - -Sun Nov 3 18:24:28 1996 Noel Cragg <noel@gargle.rain.org> - - * sanity.sh (info): add new tests that check behavior of format - string substitution in loginfo file. - -Sat Nov 2 09:39:09 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (do_deferred_progs): Don't access memory once it is - freed (we already did it right for checkin_progs; do the same - thing for update_progs). - - * update.c, client.c, classify.c, client.h, diff.c, commit.c, - create_adm.c: Nuke more PATH_MAX. - -Fri Nov 1 18:22:32 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * error.h: Define PROTO if it is not defined. - -Wed Oct 30 08:53:20 1996 jalving@ibm.net - - * patch.c (patch_fileproc): Set line1 and line2 to NULL up-front - (before the first "goto out") so we don't try to free them. - -Wed Oct 30 08:53:20 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * commit.c (remove_file, commit_filesdoneproc), run.c (run_print, - run_exec), modules.c (open_module, cat_module, do_module), update.c - (update_dirleave_proc), tag.c (tag_fileproc): Call cvs_out* rather - than stdio. - * server.c (serve_expand_modules): Remove comment about do_module - writing to stdout/stderr; above changes should fix this. - -Tue Oct 29 17:23:59 1996 Ian Lance Taylor <ian@cygnus.com> - - * status.c (tag_list_proc): When printing the tag name, don't - truncate it to 25 characters. - -Tue Oct 29 12:49:07 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * add.c, checkin.c, checkout.c, filesubr.c: Nuke arbitrary limit - of PATH_MAX. Many more such limits surely remain. - - * fileattr.c (fileattr_set): Set attrs_modified *after* we might - call fileattr_read, because fileattr_read clears it. - * sanity.sh (devcom2): New tests, test for above fix and other - behaviors I discovered in the process of looking into it. - -Mon Oct 28 08:55:57 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - The following changes are to ensure that SYSTEM_CLEANUP is always - called. - * error.c, cvs.h, main.c: Remove error_set_cleanup and related - machinery. It was for a time when error.c was intended to be - shared with other programs, but that is no longer true. - * error.c, error.h (error_exit): New function; like error_cleanup - from main.c but also calls SYSTEM_CLEANUP and exit (EXIT_FAILURE). - * error.c (error, fperror): Call error_exit instead of doing it - ourself. - * server.c (server, serve_valid_responses, switch_to_user, - check_password, pserver_authenticate_connection, - kserver_authenticate_connection): Call SYSTEM_CLEANUP before exit. - * add.c, client.c, import.c, main.c, mkmodules.c, modules.c, - recurse.c, server.c, tag.c, update.c: Call error_exit () - instead of exit (EXIT_FAILURE). - -Sun Oct 27 08:34:16 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (conflicts): New test 128.5 tests "cvs co -p" in an empty - directory (like 126.5), but when the file has nonempty contents. - * rcs.c (RCS_checkout): If writing to stdout, use cvs_output - rather than fwrite. - * update.c (checkout_file): Call cvs_stderr not fprintf. - These changes should fix some out-of-order bugs which show up in - situations like conflicts-126.5 and conflicts-128.5. - - * mkmodules.c (checkout_file): Call RCS_checkout rather than - run_exec on RCS_CO. - -Sat Oct 26 18:29:46 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (rdiff): cd out of testimport directory and remove it - when done. - - * sanity.sh (info): Adjust tests to reflect fact that loginfo was - created by cvs init. - - * sanity.sh (ignore): Change test 187a1 to allow any number of - files in CVSROOT, not just modules. - - * sanity.sh (modules): In tests 148a0 and 148a1, don't expect a - module which defines CVSROOT to itself, since we don't define one - any more. Also change test to rewrite modules rather than append - to it (in case any previous tests are changed to do something with - modules). Change test 155b to allow any number of files in - CVSROOT, not just modules. - - * add.c (add_directory): Set rev_old and rev_new fields of struct - logfile_info to NULL (prevents us from trying to free them later). - * commit.c (find_fileproc), import.c (import): Likewise. - - * sanity.sh (crerepos): New tests, to test alternate ways of - creating a repository and related matters. - * sanity.sh: Remove tests 1 through 3 and related cruft; replace - them with a new test 1 which merely tests "cvs init". By doing - the obscure stuff in crerepos we avoid having to do all this stuff - any time we run any single test. - -Sat Oct 26 16:19:48 1996 Jim Blandy <jimb@totoro.cyclic.com> - - * main.c (main): If HAVE_TZSET is #defined, call tzset. This is - harmless on all systems I know of, and required on some. - -Fri Oct 25 13:20:44 1996 Ian Lance Taylor <ian@cygnus.com> - - * diff.c (diff_file_nodiff): When setting use_rev1, only return - DIFF_SAME if empty_file is DIFF_DIFFERENT and ts_user is not - NULL. Don't get confused by a vn_user field of "0" or one - starting with '-'. - * sanity.sh (death2): Add new death2-diff-{1,2,7,8} tests for - above patch. Renumber existing death2-diff tests to make room. - -Fri Oct 25 12:38:29 1996 Jim Wilson <wilson@cygnus.com> - - * sanity.sh (death2): In tests death2-diff-{2,4,6,8,10}, allow "_" - in temp file names. The system (tmpnam or whatever) generates - these names so they vary from system to system. - -Fri Oct 25 07:52:44 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * logmsg.c (logfile_write): Give an error for several cases which - should not be legal. Adjust comments accordingly. - * mkmodules.c (loginfo_contents): Make description of loginfo much - more concise. This should be a reminder, not full documentation. - -Tue Oct 22 10:37:37 1996 Noel Cragg <noel@gargle.rain.org> - - * commit.c (update_delproc): free structure members rev_old and - rev_new if they have been allocated. - - * mkmodules.c: change loginfo_contents to include a description of - the new format string. - - * logmsg.c (logfile_write): change syntax of format string. - -Sat Oct 19 16:09:55 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - For reference, this takes CVS's text segment from 348348 bytes to - 347420 bytes. - * server.c (requests): Change Directory to rq_essential - per change in doc/cvsclient.texi. - * client.c: Remove use_directory and all code which executed if - it wasn't set. This includes the get_short_pathname function. - * server.c: Likewise, for use_dir_and_repos. - (serve_repository): Give a fatal error. - * server.c (requests): Remove Lost. Change Unchanged to rq_essential. - (serve_lost): Removed. - * server.c, server.h, client.c, vers_ts.c: Remove use_unchanged, - code to set it, and all code which executed if it wasn't set. - -Sat Oct 19 12:44:08 1996 J. Richard Sladkey <jrs@world.std.com> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * hash.c (sortlist, new function qsort_comp): Rewrite to use qsort - instead of insert sort. Changes algorithm from n^2 to n log n - (assuming qsort is implemented with quicksort or similar). - -Sat Oct 19 12:44:08 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (basic2): In test basic2-64, use -x and specify types - which exclude E; the test is not built to deal with E (or any - other new types). - -Sat Oct 19 12:00:00 1996 Mark Mitchell <mmitchell@usa.net> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * update.c (isemptydir, new function isremoved): Avoid pruning - directories that contain files marked for removal but not - comitted. - * update.c, update.h (isemptydir): Now extern, not static. - * update.c (isemptydir): New parameter might_not_exist handles - difference in functionality from old client_isemptydir. Bring - over the improved error checking from client_isemptydir. - * client.c (client_isemptydir): Removed; isemptydir now suffices. - * update.c (update_dirleave_proc), client.c - (process_prune_candidates): Update callers. - * sanity.sh (deep): Add tests deep-rm* for above fix. - -Fri Oct 18 15:53:41 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (devcom): Add tests devcom-some* to test watching just - a single file. - - * root.c (Name_Root): Use isabsolute to test whether a pathname is - absolute instead of checking for the first character being '/'. - (Reported by Antoine P. Brusseau <brusseau@jprc.com>). - - * commit.c (checkaddfile): Free rev only if it is non-NULL (thanks - to cwong@world.std.com (Christopher Wong) for diagnosing this; the - death2-15 test in sanity.sh hits it). - -Thu Oct 17 15:21:56 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh: Reenable rdiff tests. Delete rdiff-9 test to reflect - the fact that the change to add a -K option has not been - incorporated. Adjust rdiff-8 test to reflect the fact that the - change to change the default keyword expansion for the first - revision has not been incorporated. - * patch.c (patch_fileproc): Pass the symbolic revision to - RCS_checkout so that Name can be expanded correctly. Reinstates - one of the 30 Sep 96 changes and fixes a bug which the sanity.sh - rdiff test tests for. - - Reinstate change from 30 Sep 96: - * patch.c (patch): CLIENT_SUPPORT: send '-f' if NOT force_tag_match - - * client.c (process_prune_candidates): Do not ignore errors from - unlink_file_dir. - - * filesubr.c (deep_remove_dir): If rmdir returns an error other - than ENOTEMPTY or EEXIST, return -1 not 0. Add workaround for AIX - header bug. - -Tue Apr 30 08:21:27 1996 Mike Sutton <mike_sutton@dayton.saic.com> - - * checkout.c, history.c: added logging/reporting of cvs export - command - -Wed Oct 16 10:16:57 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh: Remove tests 4, 4.5, and 4.75; this functionality is - already tested by 45, 45.5 and other tests. - (ignore): New tests ignore-192, ignore-193, ignore-194, and - ignore-195 test output from "cvs release". - (modules2): New tests modules2-6, modules2-7, and modules2-8 test - ability of cvs release to handle multiple arguments. Since it - currently doesn't, the tests are kludged. - - * server.c, cvs.h (cvs_flushout): New function. - * recurse.c (do_file_proc): Call it. - * server.c (cvs_outerr): Call fflush (stdout) in non-server case. - * main.c (main): Don't call setvbuf. The code was incorrectly - checking for "patch" (it really is "rdiff"); the concern about - slowing down large amounts of output is not specific to rdiff - (it applies to "log" for example); and the above changes should - meet the need. - -Tue Oct 15 10:22:10 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - This is intended to facilitate some future cleanups to the - locking, but by itself it is a simple, conversative rearrangement: - * tag.c (locked_dir, locked_list): Move from here... - * lock.c: ...to here. - * lock.c (Lock_Cleanup): If locked_dir is set clean it up too. - * tag.c (tag_unlockdir): Removed; with the above change - Lock_Cleanup suffices. - * tag.c (tag_lockdir): Move from here... - * lock.c (lock_dir_for_write): ...to here. - * tag.c (tag_fileproc), rtag.c (rtag_fileproc): Update callers. - Move comments concerning why we are locking what we are from - tag_lockdir to here. - * tag.c (tag_filesdoneproc), rtag.c (rtag_filesdoneproc): - Update callers. - * lock.c (Writer_Lock): Made static. - * cvs.h: Update declarations. - * server.c (server_notify): Call lock_dir_for_write rather than - calling Writer_Lock ourselves. - - This is intended to facilitate some future cleanups to the - locking, but by itself it is a simple, conversative rearrangement: - * lock.c (Lock_Cleanup): Also dellist (lock_tree_list). - * lock.c, cvs.h (lock_tree_cleanup): Removed; with the above change - Lock_Cleanup suffices. - * commit.c, edit.c, watch.c: Change callers. - -Sat Oct 12 21:41:46 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (deep): Add comment about whether the deep-4b behavior - is considered desirable. - -Sat Oct 12 20:36:36 1996 Ian Lance Taylor <ian@cygnus.com> - - * client.c (client_send_expansions): Add build_dirs parameter. - Change all callers. - (send_dirent_proc): Get build_dirs from callerdat; if it is - zero, don't send a nonexistent directory to the server. - (send_files): Add build_dirs parameter. Change all callers. - * client.h (send_files): Update prototype. - (send_files_contents): Remove prototype for nonexistent function. - (client_send_expansions): Update prototype. - * sanity.sh (deep): Add deep-4b test for above patch. - -Fri Oct 11 14:07:12 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - gcc -Wall lint: - * logmsg.c (title_proc): Remove unused variables title and comma. - - * sanity.sh (modules2): Don't be picky about whether we are - checking in 1.3 or 1.2 of modules; it depends on whether we are - running all the tests or just some. - -Thu Oct 10 14:52:06 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * server.c, server.h (server_dir): New variable. - (output_dir): If it is set, send it before the directory name. - * modules.c (do_module): Set it, in the case of & modules, and - restore it when done. - * sanity.sh (modules): Don't clean up first-dir before starting; - tests now clean up for themselves at the end. - (modules2): New tests, for above fix. - -Wed Oct 9 15:52:34 1996 Jim Blandy <jimb@totoro.cyclic.com> - - * sanity.sh: Barf immediately if run as root. - - * rcs.c (RCS_getrevtime): When giving a date to get_date, use the full - year, not the year - 1900, so that dates after 1999 are parsed - correctly. (Change thanks to Paul Eggert.) - -Wed Oct 9 10:59:11 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - Clean up gcc -Wmissing-prototypes lint: - * cvs.h (admin, add, checkout, commit, diff, history, import, - cvslog, login, patch, release, cvsremove, rtag, status, tag): - Declare. - * server.c, main.c: Don't declare them here. Don't declare update - either (which is already declared in cvs.h). - * tag.c, cvs.h, main.c, server.c: Rename tag to cvstag to avoid - name conflicts. - * client.c (init_sockaddr, auth_server_port_number), entries.c - (Entnode_Create, Entnode_Destroy), hash.c (nodetypestring), - login.c (construct_cvspass_filename), server.c - (supported_response), wrapper.c (wrap_matching_entry): Make static; - prototype. - * hash.c (printlist): Prototype. - * myndbm.c (mydbm_load_file): Change declaration to prototype. - -Tue Oct 8 22:35:34 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (log2): Re-add these tests; they were deleted for 1.9 - (because they were thought to be destabilizing and/or due to - confusion/accident), but they can be put back now. - - * sanity.sh (death2): In tests death2-diff-{2,4,6,8,10}, allow "-" - or "%" in temp file names. The system (tmpnam or whatever) - generates these names so they vary from system to system. - -Tue Oct 8 12:37:09 1996 Ian Lance Taylor <ian@cygnus.com> - - * options.h.in (HAD_RCS4): Remove; no longer used. - -Sun Oct 6 15:58:11 1996 Noel Cragg <noel@gargle.rain.org> - - * The following changes address problem #56 in the GNATS database - on harvey.cyclic.com: - - * logmsg.c (str_list_format): new global -- contains the format - for items to be placed in str_list. - (Update_Logfile): move code that creates the "title" string... - (logfile_write): ...to here. Pull apart the filter program and - look for a format string, extracting it if there is one. - (title_proc): write a given filename/value based on the format - string. - - * commit.c (classify_file_internal): new routine, old code (needed - to use the code in more than one place). Determines the status - and version information about a file. - (check_fileproc): use classify_file_internal. Fill in the rev_old - field for the struct logfile_info. - (commit_fileproc): Fill in the rev_new field. - - * cvs.h (struct logfile_info): add two new fields -- rev_old and - rev_new -- that keep track of revision numbers across commits. - -Fri Sep 27 15:21:47 1996 Peter Wemm <peter@spinner.dialix.com> - - * logmsg.c (do_editor): Do not use editinfo if running on the client. - -Fri Oct 4 15:11:46 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * server.c (server_cleanup): Temporarily clear noexec when calling - unlink_file_dir. This is so we clean up the temp directory even - when the -n global option is specified. - -Wed Oct 2 10:47:33 1996 Norbert Kiesel <nk@col.sw-ley.de> - - * client.c (send_repository): initialize some variables before - first usage - -Tue Oct 1 13:01:24 1996 Jim Blandy <jimb@floss.cyclic.com> - - Revert some of Greg's changes; they're welcome later, but we're - trying to keep CVS stable for pre-release testing at the moment. - * checkin.c, commit.c, cvs.h, diff.c, import.c, main.c, no_diff.c, - options.h.in, patch.c, rcs.c, rcs.h, rcscmds.c, sanity.sh, update.c: - Revert changes of Sep 29 and 30. - -Tue Oct 1 13:17:31 1996 Ian Lance Taylor <ian@cygnus.com> - - Make sure the server temporary directory is removed even if - Max-dotdot is used. - * server.c (orig_server_temp_dir): New static variable. - (serve_max_dotdot): Don't free server_temp_dir if it is the same - as orig_server_temp_dir. - (do_cvs_command): Use orig_server_temp_dir in error message. - (server_cleanup): Remove orig_server_temp_dir. - (server): Set orig_server_temp_dir. Remove incorrect indentation - of error message. - - * import.c (update_rcs_file): Restore new argument to - RCS_checkout, removed in last patch. - -Tue Oct 1 00:32:55 1996 Jim Blandy <jimb@floss.cyclic.com> - - * import.c: Revert Greg Woods' changes of Sep 30. We may want - them later, but not before 1.9. - -Mon Sep 30 23:31:01 1996 Jim Blandy <jimb@floss.cyclic.com> - - * log.c (log_fileproc): Now that we might actually find a "desc" - node in rcsfile->other, thanks to Ian's change below, we had - better deal correctly if we find a null pointer in it. - -Mon Sep 30 13:55:03 1996 Greg A. Woods <woods@most.weird.com> - - * main.c (main): don't set need_to_create_root for "cvs init" - either, just in case it's run from within a valid working - directory. - - * sanity.sh (testcvs): oops, forgot to comment out test version I - was using... - - * diff.c (diff_fileproc): use Diffbin instead of DIFF (3). - * patch.c (patch_fileproc): use Diffbin instead of DIFF. - * commit.c (check_fileproc): use Grepbin instead of GREP. - * rcscmds.c (RCS_merge): use Grepbin instead of GREP. - * update.c (patch_file): use Diffbin instead of DIFF. - (update_fileproc): use Grepbin instead of GREP. - * cvs.h (Diffbin): new declaration. - (Grepbin): new declaration. - (DIFFBIN_ENV): new manifest to name DIFFBIN environ var. - (GREPBIN_ENV): new manifest to name GREPBIN environ var. - * option.h.in (DIFFBIN_DFLT): renamed from DIFF. - (GREPBIN_DFLT): renamed from GREP. - * main.c (main): new variables diffbin_update_env and - grepbin_update_inv, ala rcsbin_update_env. - (main): new options -D diffbin and -g grepbin - (usg): describe new options -D diffbin and -g grepbin. - (Diffbin): new global variable for DIFF path. - (Grepfbin): new global variable for GREP path. - - * options.h.in (RCSBIN_DFLT): mention this needs to be set if - your PATH isn't set properly by rshd. - - * sanity.sh (rdiff): re-do Jim's change, but with the original - keywords I had intended (should be a bit more like real life), and - Jim's better RCS date and user matching form. - [I guess that's what I get for checking things in at 3am! ;-)] - -Mon Sep 30 17:00:20 1996 Ian Lance Taylor <ian@cygnus.com> - - * rcs.c (RCS_reparsercsfile): Store desc field value in main RCS - node data, not in version specific data. - * sanity.sh: Enable log2 test (for local CVS only). - -Mon Sep 30 13:01:45 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (log2): New test, tests cvs add -m. Not yet enabled - in "tests" because CVS currently flunks this test. - - * sanity.sh (rdiff, basic2): Allow "cvs server" as well as "cvs - checkout" and friends in messages. In testing output of cvs - status, don't require a tab which isn't there for remote. Skip - test rdiff-9 for remote. In test basic2-64, add missing slash in - the pattern which gets used for remote. - - * sanity.sh (rdiff): Fix strings we were matching against which - got keyword-expanded in checking in sanity.sh. - -Mon Sep 30 03:21:37 1996 Greg A. Woods <woods@most.weird.com> - - * sanity.sh: change all regexpr literal '.' to '\.' - (basic2): why are tests 34 & 42 commented out (because - of 'diff -u'?)? - add tests 56[abc], 57a, and 58a to test import to the main - branch (i.e. branch '1'). - (rdiff): new test section for rdiff -K, etc. - (dotest): remove dotest.ex? before running a new test. - (dotest_fail): remove dotest.ex? before running a new test. - (dotest_internal): write expected output to dotest.exp, or if $4 - also used, to dotest.ex1 and dotest.ex2. - (patch): renamed this test to 'serverpatch'. - (dotest_lit): rename dotest.res to dotest.exp ala dotest(). - remove dotest.ex? before running a new test. - (DOTSTAR): mention the bug exists up to 1.12 - (ENDANCHOR): mention the bug exists up to 1.12 - (dotest_all_in_one): new function for debugging. - (dotest_line_by_line): new function for debugging. - (dotest_internal_debug): new function for debugging. - (dotest_internal): stop emulating the ancient tests and don't spew - the dotest.tmp contents onto $LOGFILE -- it's just too much - meaningless noise. Only do this if the test fails. Many tests - don't use dotest() yet, so this isn't quite so helpful as it might - otherwise be. - (TODO): mention CVS/* files, especially CVS/Root. - - * main.c (main): add a commented out piece of code to suggest that - there should be a function lookup_command_attribute() that could - tell us various things about internal commands, such as whether - they use CVS/Root, or if they're repository-only, or if they need - a working directory, etc.... - (main): don't set need_to_create_root if command doesn't use a - local working directory. - - * patch.c (patch): CLIENT_SUPPORT: send '-f' if NOT force_tag_match - - * error.c (fperror): protect declaration for un-defined __STDC__ - - * import.c (import): permit imports to a branch with zero dots, - i.e. the trunk. - (update_rcs_file): don't detect conflicts if importing to the - trunk. - (import): add hint that we should allow a module name, instead of - just a pathname relative to $CVSROOT. - (add_rcs_file): if importing to trunk, do it with ci(1). - - * import.c: XXX the following are all #if 0'ed out until a full - implementation can be designed.... - (cbranch): new variable to support conflict detection on another - branch set by -c. - (import): truncate -b and -c optarg if to fit in static storage. - (import_usage): describe -c - - * rcscmds.c (RCS_checkout): add new argument 'rcsver'. If rcsver - is set, turn on 'keywords' to force call to RCS_exec_checkout. - * rcs.c (RCS_exec_checkout): add new argument 'rcsver'. Pass - 'rcsver' to "co" with run_arg(). - * cvs.h: (RCS_checkout): add new argument 'rcsver' to prototype. - (RCS_exec_checkout): add new argument 'rcsver' to prototype. - * commit.c (remove_file): supply new argument to RCS_checkout. - * checkin.c (Checkin): supply new argument to RCS_checkout. - * diff.c (diff_fileproc): supply new argument to RCS_checkout. - (diff_file_nodiff): supply new argument to RCS_checkout. - * no_diff.c (No_Difference): supply new argument to RCS_checkout. - * update.c (checkout_file): supply new argument to RCS_checkout. - (patch_file): supply new argument to RCS_checkout. - (join_file): supply new argument to RCS_checkout. - - * patch.c: (o_options): new variable for -K - (rcsver): new variable for -V. - (patch): add -K flag which sets o_options, change -V to set - rcsver, send o_options and rcsver if in client mode. - (patch_fileproc): use RCS_checkout instead of RCS_fast_checkout in - order to ensure $Name is expanded, use o_options if set, or - options if set, or by default "-ko" when getting "old" file. - -Sun Sep 29 16:43:28 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcscmds.c: Replace comment at top of file concerning RCS library - with a reworded version based on discussion between me, Ian, Paul - Eggert, and JimB. - -Sun Sep 29 13:09:45 1996 Noel Cragg <noel@kiva.rain.org> - - * main.c (main): don't create/update CVS/Root when doing the "cvs - login" command. Consider: if the user executes "cvs login" with - the working directory inside an already checked out module, we'd - incorrectly change the CVS/Root file to reflect the CVSROOT of the - "cvs login" command. - - * login.c (login): if we're re-logging into a server for which a - .cvspass entry already exists, copy the temporary file to its home - location rather than renaming. Renaming doesn't work between - filesystems. After copying, unlink the temporary file. - -Fri Sep 27 05:24:56 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * diff.c: Add comment about --brief option. - - * README-rm-add: Removed; the information which was here is now in - cvs.texinfo. - * Makefile.in (DISTFILES): Remove README-rm-add. - -Wed Sep 25 10:00:00 1996 Larry Jones <larry.jones@sdrc.com> - - * Makefile.in (cvsbug): Add dependency on version.c. - -Wed Sep 25 09:01:48 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * filesubr.c (get_homedir), update.c (update): Reindent. - -Wed Sep 25 04:44:54 1996 Jim Blandy <jimb@totoro.cyclic.com> - - * version.c (version_string): Bump to 1.8.86. - -Wed Sep 25 05:17:50 1996 Jim Blandy <jimb@floss.cyclic.com> - - * update.c (update): Don't neglect to pass the -kmumble options - to the server. - * sanity.sh (binfiles-sticky): New tests for above. - - * cvsrc.c (read_cvsrc): Deal correctly with lines that specify a - command, but no options; don't corrupt argv. - - * sanity.sh: When testing rsh, use the program specified by - the CVS_RSH environment variable, if it's set. Move test to top - of file, so it runs before all other tests (it's really a - meta-test). - - * filesubr.c (get_homedir): Use getpwuid to find the home - directory, if the HOME environment variable isn't set. - * ignore.c (ign_add_file): Call get_homedir to find the user's - home directory; this is more portable than calling getpwuid. - -Tue Sep 24 09:08:17 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * log.c (log_tree): When walking through branches, follow the - ->prev field rather than following ->next which insures that the - loop only executes once and we only see the last branch. - * sanity.sh (multibranch): Test "cvs log" too; tests for above fix. - -Mon Sep 23 09:55:22 1996 Norbert Kiesel <nk@col.sw-ley.de> - - * options.h.in: Fixed some typos in the comments and reindented - them. - -Sat Sep 21 02:33:26 1996 Jim Blandy <jimb@totoro.cyclic.com> - - * sanity.sh: If we're testing remote CVS, make sure rsh itself is - working before running any tests. It's confusing when basica-1 - fails just because you don't have the local host in your .rhosts - file. - - * version.c (version_string): Bump to 1.8.85. - -Thu Sep 19 09:15:41 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * options.h.in: Define SERVER_FLOWCONTROL, SERVER_HI_WATER, - SERVER_LO_WATER. Several large sites (FreeBSD, Cygnus) have been - pounding on this code without problems, and it doesn't seem to - have any significant downsides. - -Tue Sep 17 01:13:41 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * status.c (status_fileproc): Instead of a default case, set sstat - before the switch. This way gcc -Wall can detect a missed case. - Add explicit T_TITLE case. - -Tue Sep 17 00:09:44 1996 Assar Westerlund <assar@pdc.kth.se> - - * login.c (login): Print usage if argc < 0. - -Tue Sep 17 00:09:44 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * lock.c: In comment, mention one more function of readlocks - (fileattr not updated atomically). Note similarity between - solutions #2 and #5. - - * checkout.c (safe_location): Do not reject a location merely - because it textually starts with hardpath; insist that it be - hardpath or a subdirectory thereof. - -Mon Sep 16 11:46:36 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * server.c (server_cleanup): Add comment about ignoring errors - from unlink_file_dir. - -Mon Sep 16 10:31:48 1996 Norbert Kiesel <nk@col.sw-ley.de> - - * main.c: Add support for -T <tmpdir> command line option. This - is needed for servers started via inetd. - (usg): Added line for -T. Improved -z documentation. - (main): Read default for tmpdir from the environment. Test for 'T' - in getopt loop. Use '/tmp' as ultimative fallback. Update - environment if possible. - - * cvs.h (TMPDIR_ENV): Added for -T <tmpdir> command line option. - - * options.h.in: Add TMPDIR_DFLT - - * import.c (update_rcs_file): Use global variable Tmpdir instead - of reading the environment. - - * server.c (server_cleanup): Use global variable Tmpdir instead of - reading the environment. Also, replace system("rm -rf") with - unlink_file_dir. - (server): Use global variable Tmpdir instead of reading the - environment. - -Thu Sep 12 1996 Jim Kingdon <kingdon@cyclic.com> - - * main.c (main): If ARGV0_NOT_PROGRAM_NAME, then just set - program_name to "cvs" rather than argv[0]. - -Thu Sep 12 12:06:56 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (update_entries): If we can't write the file, don't - make it a fatal error. - -Wed Sep 11 12:46:23 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (start_server): Move START_SERVER_RETURNS_SOCKET code - so that it is only run for server_method. It is wrong for - pserver_method (in which connect_to_pserver sets server_sock). - - * login.c (construct_cvspass_filename): If NO_SLASH_AFTER_HOME, - don't put a '/' between $HOME and .cvspass. Reindent function. - * build_src.com: Add zlib.c, login.c, and scramble.c. - - * rcs.c (RCS_deltas): When looking for our branch in ->branches, - check the branch number. - * sanity.sh (multibranch): New tests test for above fix. - - * commit.c (precommit_list_proc): Fix typo in last change - (->status to ->type). - -Tue Sep 10 23:05:41 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * Makefile.in (DISTFILES): Add build_src.com. - * build_src.com: Add buffer.c, buffer.obj, and zlib.olb. - -Tue Sep 10 20:35:23 1996 Juergen Renz <renz@conware.de> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * commit.c (precommit_list_proc): Update to reflect Jul 22 change - in which p->data was changed from a Ctype to a struct - logfile_info *. This means that commitinfo scripts again get - passed the file list like they should. - -Tue Sep 10 20:35:23 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (auth_server_port_number): Change name of service from - "cvs" to "cvspserver". The latter is what the manual has always - recommended, and it is also officially registered with IANA. - -Tue Sep 10 11:12:42 1996 Mark A. Solinski <markso@mcs.com> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (socket_buffer_output): Change ifdef VMS to ifdef - SEND_NEVER_PARTIAL. - (start_server): Change ifdef VMS to ifdef START_SERVER_RETURNS_SOCKET. - -Tue Sep 10 17:15:21 1996 Jim Blandy <jimb@totoro.cyclic.com> - - * client.c (auth_server_port_number): Look up "cvs" in the - services database, and use the value it returns; fall back to - CVS_AUTH_PORT if no entry is present. - (connect_to_pserver): Use the correct port number in any error - messages. - -Tue Sep 10 11:12:42 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (newb): New test newb-123j0 tests for another "cvs - status" case. - -Sun Sep 8 15:20:37 1996 Ian Lance Taylor <ian@cygnus.com> - - * rcs.c (RCS_checkout): Clarify handling of options parameter. - - * rcs.c (RCS_checkout): Free buffer allocated by RCS_deltas. - -Sat Sep 7 21:28:27 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * main.c (struct cmd): Add comment concerning recognizing unique - abbreviations. - -Fri Sep 6 22:31:52 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcs.c (RCS_checkout): Fix indentation. - -Fri Sep 6 11:48:08 1996 Ian Lance Taylor <ian@cygnus.com> - - * rcs.c (RCS_checkout): Replace tag parameter with rev and nametag - parameters. Change all callers. - * rcs.h (RCS_checkout): Update declaration. - - * rcs.c (RCS_getversion): Replace return_both parameter with - simple_tag. Change all callers. - (RCS_gettag): Likewise. - * rcs.h (RCS_getversion, RCS_gettag): Update declarations. - * vers_ts.c (Version_TS): Simplify vn_tag initialization using new - simple_tag rather than old return_both. - * cvs.h (struct vers_ts): Clarify vn_tag comment a bit. - - * main.c (usg): Only mention -x if ENCRYPTION is defined. - (main): Mention ENCRYPTION define in comment for -x. - * client.h (krb_encrypt_buffer_initialize): Only declare if - ENCRYPTION is defined. - * client.c (start_server): Only encrypt if ENCRYPTION is defined. - * server.c (serve_kerberos_encrypt): Only define if ENCRYPTION is - defined. - (requests): Only include Kerberos-encrypt is ENCRYPTION is - defined. - (krb_encrypt_*): Only define if ENCRYPTION is defined. - -Thu Sep 5 17:32:39 1996 Ian Lance Taylor <ian@cygnus.com> - - * sanity.sh: When testing remote, use :ext: instead of :server: to - match change made earlier today. - -Thu Sep 5 13:57:47 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (start_tcp_server): Don't allow :kserver: to mean - "direct tcp" (root.c already takes care of this, but I want to - make it clear what is intended, and not intended, here). - (start_server): Handle ext_method (external rsh program) and - server_method (internal rsh client) separately. - * client.c: Take rsh_pid and start_rsh_server out of - RSH_NOT_TRANSPARENT ifdefs. It is useful for things like SSH on NT. - * cvs.h (CVSmethod), root.c (method_names): Add ext_method. - * root.c (parse_cvsroot): Recognize "ext" access method. - If access method is not specified and CVSROOT contains a colon, - use either ext_method or server_method depending on - RSH_NOT_TRANSPARENT. - -Thu Sep 5 00:09:49 1996 Ian Lance Taylor <ian@cygnus.com> - - * rcs.c (RCS_checkout): Remove flags parameter, which was not - serving any useful purpose. Change all callers. - * rcscmds.c (RCS_exec_checkout): Likewise. - - * rcscmds.c (RCS_exec_checkout): Rename from RCS_checkout. Change - all callers. - * rcs.c (RCS_checkout): Rename from RCS_fast_checkout. Change all - callers. - -Wed Sep 4 14:42:28 1996 Ian Lance Taylor <ian@cygnus.com> - - * rcs.c (RCS_fast_checkout): If tracing, output a message. If - noexec, and workfile is not NULL, just return immediately. Assert - that sout is RUN_TTY or workfile is NULL, rather than using it as - a conditional. Replace found variable with two variables--gothead - and keywords--reflecting what it actually means. - - * rcs.c (RCS_fast_checkout): Don't handle the case of workfile set - to "". - * rcscmds.c (RCS_checkout): Likewise. - * checkin.c (Checkin): Pass explicit file name, not "", to - RCS_fast_checkout. - * update.c (join_file): Likewise. - * commit.c (remove_file): Pass explicit file name to - RCS_fast_checkout and RCS_checkin. - - * rcs.c (RCS_reparsercsfile): Always continue after seeing - RCSSYMBOLS, even if the value is NULL. Clear the NODELTA flag - after setting delta_pos. - (free_rcsnode_contents): New static function. - (freercsnode): Call free_rcsnode_contents. - (RCS_fast_checkout): If NODELTA is set, reparse the RCS file. - (RCS_settag): New function. Change all callers to old function. - (RCS_deltag, RCS_setbranch): Likewise. - (RCS_lock, RCS_unlock): Likewise. - (RCS_deltas): If NODELTA is set, reparse the RCS file. - * rcs.h (NODELTA): Define. - (RCS_settag, RCS_deltag, RCS_setbranch): Declare. - (RCS_lock, RCS_unlock): Declare. - * rcscmds.c (RCS_exec_settag): Rename from RCS_settag. Don't - check tag against BASE or HEAD (now done in new RCS_settag). - (RCS_exec_deltag): Rename from RCS_deltag. - (RCS_exec_setbranch): Rename from RCS_setbranch. - (RCS_exec_lock): Rename from RCS_lock. - (RCS_exec_unlock): Rename from RCS_unlock. - * cvs.h: Update declarations of renamed functions. - * checkin.c (Checkin): Remove rcscopy variable (no longer needed - because of change in RCS_unlock call). - * commit.c: Include <assert.h>. - (remove_file): Update RCSNode path if the file is renamed. - (unblockrcs): Change rcs parameter to RCSNode. Change all - callers. - (fixbranch): Likewise. - (lock_RCS): Likewise. Don't call RCS_parsercsfile. - (checkaddfile): Update RCSNode path if the file is renamed. After - creating a new file, call RCS_parse. When stubbing a branch, use - the passed in RCSNode if there is one, rather than calling - RCS_Parse. Don't call RCS_Parse again after calling RCS_settag. - Free head and magicrev even if RCS_settag fails. - * import.c (add_rev): Change rcs parameter to RCSNode. Change all - callers. - (add_tag): Likewise. - - * rcs.c (RCS_fast_checkout): Amend last patch: if workfile is - NULL, but sout is not NULL, use sout in error message. - -Wed Sep 4 13:35:09 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * version.c: Increment version number to 1.8.8. - - * Version 1.8.7. - -Wed Sep 4 1996 Jim Kingdon <kingdon@cyclic.com> - - * client.c (send_file_names): Look for the name to send in - Entries even if the file doesn't exist; we should send the - name as it appears in Entries in the "rm foo; cvs update FOO" - case. - -Tue Sep 3 20:50:11 1996 William A. Hoffman <hoffman@albirio.crd.ge.com> - - * rcs.c (RCS_fast_checkout): If workfile is NULL, don't try to - include it in error message. - -Mon Aug 26 12:27:38 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * mkmodules.c (mkdir_if_needed): Move from here ... - * filesubr.c, cvs.h (mkdir_if_needed): ... to here. Have it - return a value saying whether the directory was created. - * client.c (call_in_directory), edit.c (edit_fileproc): Call it. - -Fri Aug 23 19:19:44 1996 Ian Lance Taylor <ian@cygnus.com> - - * checkin.c (Checkin): Copy rcs parameter in case it is freed when - finfo->rcs is freed. - -Fri Aug 23 14:55:41 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * remove.c (remove_fileproc): Revert change of 23 Aug to print - getwd and finfo->file in message. The latter is redundant with - fullname and the former is redundant with fullname and the working - directory when CVS was invoked. The implementation was also - lacking as the getwd call could overflow the buffer. - -Fri Aug 23 18:40:35 1996 Norbert Kiesel <nk@col.sw-ley.de> - - * remove.c (cvsremove): fix remove -f for client/server - -Fri Aug 23 11:28:27 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * wrapper.c, cvs.h: Remove conflictHook field of WrapperEntry, - WRAP_CONFLICT in WrapMergeHas, and 'c' option in wrap_add; they - are never used. - -Fri Aug 23 11:41:46 1996 Norbert Kiesel <nk@col.sw-ley.de> - - * server.c (switch_to_user): use #ifdef SETXID_SUPPORT instead of - #if SETXID_SUPPORT - -Thu Aug 22 14:18:43 1996 Ian Lance Taylor <ian@cygnus.com> - - * checkin.c (Checkin): Remove local variable xfinfo. Reparse the - RCS file after the checkin. Call RCS_fast_checkout rather than - RCS_checkout. - - * cvs.h (RCS_FLAGS_LOCK): Don't define. - (RCS_FLAGS_*): Adjust values to fill in hole left by removal of - RCS_FLAGS_LOCK. - * rcs.c (RCS_fast_checkout): Don't check for RCS_FLAGS_LOCK. - * rcscmds.c (RCS_checkout): Likewise. - * commit.c (commit_fileproc): Remove rcs local variable. If - status is T_MODIFIED, require that finfo->rcs be set, call - Lock_RCS directly, and don't call locate_rcs. If adding to a tag, - require that finfo->rcs be set, and don't call locate_rcs. - (remove_file): Remove rcs local variable. Require that finfo->rcs - be set. Don't call locate_rcs. Don't pass RCS_FLAGS_LOCK to - RCS_checkout; use RCS_lock instead. Call RCS_fast_checkout rather - than RCS_checkout. - (unlockrcs): Use a single rcs parameter rather than two parameters - for file and repository. Change all callers. Don't call - locate_rcs. - (fixbranch): Likewise. - (lockrcsfile): Remove; no more callers. - -Tue Aug 20 10:13:59 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * buffer.c, rcs.c: Don't use inline. It wasn't being used in a - loop or any such place where it would matter for performance, and - it was a (minor) portability hassle. - - * server.c (server): Change "Dummy argument 0" to "cvs server" and - add comment explaining why. - - * rcs.c (linevector_add): Add comment regarding changing \n to \0. - -Tue Aug 20 09:19:19 1996 Norbert Kiesel <nk@col.sw-ley.de> - - * checkout.c (checkout_proc): Call RCS_parse to get the default - options from the RCS file. - - * sanity.sh (binfiles): Add tests 5.5b0 and 5.5b1 for the above fix - -Mon Aug 19 18:13:32 1996 Ian Lance Taylor <ian@cygnus.com> - - * rcs.c (linevector_init): Make inline. Set lines_alloced to 0, - not 10. Set vector to NULL. - (linevector_add): Remove assertion that lines_alloced is greater - than zero. Initialize lines_alloced if necessary. - (linevector_copy): Initialize lines_alloced if necessary. - (linevector_free): Only free vector if it is not NULL. - (RCS_deltas): Always call linevector_init and linevector_free on - curlines, headlines, and trunklines. - (RCS_fast_checkout): Remove #if 0 around code that calls - RCS_deltas. - -Fri Aug 16 17:52:54 1996 Ian Lance Taylor <ian@cygnus.com> - - * rcs.c (linevector_add): Handle zero length correctly. - (RCS_deltas): In RCS_FETCH case, the data is in headlines, not - curlines. - (RCS_fast_checkout): Update comment about RCS_deltas: the - testsuite now passes. - - * rcs.c (RCS_fully_parse): Use the length of the value, rather - than assuming that there are no embedded zero bytes. - (struct line): Add len field. - (linevector_add): Add len parameter. Change all callers. Use - len, rather than assuming that there are no embedded zero bytes. - Set the len field in new lines. - (RCS_deltas): Use the length of the value, rather than assuming - that there are no embedded zero bytes. Use the line length when - outputting it and when copying it. - (RCS_fast_checkout): Update comment about RCS_deltas to remove - note about supporting zero bytes correctly. - -Thu Aug 15 23:38:48 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * commit.c, import.c: Revise comments regarding the fact that we - call start_server before do_editor. - -Thu Aug 15 11:30:55 1996 Ian Lance Taylor <ian@cygnus.com> - - * server.c: Include <sys/socket.h> if AUTH_SERVER_SUPPORT. - (pserver_authenticate_connection): Set SO_KEEPALIVE on - STDIN_FILENO. - (kserver_authenticate_connection): Likewise. - -Thu Aug 15 10:26:41 1996 Norbert Kiesel <nk@col.sw-ley.de> - - * server.c (switch_to_user): Fix previous patch to compile it for - both HAVE_KERBEROS and AUTH_SERVER_SUPPORT - -Wed Aug 14 14:02:00 1996 Norbert Kiesel <nk@col.sw-ley.de> - - * server.c (check_password): if available use getspnam instead of - getpwnam when reading system passwords. This allows cvs pserver - to run on systems with shadow passwords. - (switch_to_user): new static function. Contains the extracted - common tail of kserver_authenticate_connection and - pserver_authenticate_connection. If compiled with SETXID_SUPPORT, - honor the setgid bit if it is set. - (check_repository_password): turn into a static function - (check_password): ditto - (pserver_authenticate_connection): little code cleanup - -Wed Aug 14 01:07:10 1996 Greg A. Woods <woods@most.weird.com> - - * history.c (history): apply fix posted by Steven Meyer - <steve@blacksmith.com> to info-cvs to correct handling of '-D' - argument. Message-Id: <9608122335.AA01385@nijel.blacksmith.com> - -Tue Aug 13 13:42:36 1996 Ian Lance Taylor <ian@cygnus.com> - - * log.c (cvslog): Remove comment about calling rlog. - * rcs.c (translate_symtag): Correct typo in comment (l ist -> - list). - * server.c (server_write_entries): Add omitted word (lists) in - comment. - -Tue Aug 13 14:01:49 1996 Norbert Kiesel <nk@col.sw-ley.de> - - * wrapper.c (wrap_rcsoption): fix memory access error - - * rcs.c (RCS_fast_checkout): fix memory access error (triggered - by an empty option string) - -Mon Aug 12 17:45:15 1996 Jim Kingdon (unknown@beezley) - - * buffer.c, zlib.c: If EIO is not defined, try to define it. - -Mon Aug 12 10:33:27 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * import.c (comtable): Add comment concerning applicability with - RCS 5.7. - - * server.c (server): If TMPDIR is not an absolute pathname, give - an error. - -Mon Aug 12 10:34:43 1996 Norbert Kiesel <nk@col.sw-ley.de> - - * main.c: add synonym "ann" for "annotate" again - -Sun Aug 11 17:54:11 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcs.h (RCS_RLOG): Removed; no longer used. - -Fri Aug 9 20:16:20 1996 Ian Lance Taylor <ian@cygnus.com> - - * server.c (dirswitch): Open the Entries file with mode "a" rather - than "w+". - (server_write_entries): Open the Entries file with mode "a" rather - than "w". - * sanity.sh (modules): Add topfiles module and 155cN tests for - above patch. - -Fri Aug 9 12:11:25 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * main.c (cmd): Add comment regarding synonyms. - -Thu Aug 8 14:40:10 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * main.c: Remove synonyms for "cvs annotate". Synonyms create - user confusion. - -Thu Aug 8 10:24:04 1996 Norbert Kiesel <nk@col.sw-ley.de> - - * main.c: Revert (undocumented) change to rename the cvs history - alias "his" to "hist" - -Wed Aug 7 18:26:25 1996 Ian Lance Taylor <ian@cygnus.com> - - * server.c (cvs_output): Change str parameter to const char *. - Correct loop to print from p, not str. - (cvs_outerr): Likewise. - * cvs.h (cvs_output, cvs_outerr): Update declarations. - - * server.c (receive_partial_file): Read and discard remaining file - data on a write error. - (serve_modified): Discard data while size > 0, not >=. - -Wed Aug 7 15:11:40 1996 Norbert Kiesel <nk@col.sw-ley.de> - - * main.c (cmds): Add some aliases for "annotate". - (usg): Improve usage message text - (cmd_synonyms): New function to print the command synonym list - (main): Add new option --help-synonyms - -Wed Aug 7 00:07:31 1996 Ian Lance Taylor <ian@cygnus.com> - - Keep track of subdirectories in the Entries file. - * cvs.h (enum ent_type): Define. - (struct entnode): Add type field. - (struct stickydirtag): Add subdirs field. - (Subdirs_Known, Subdir_Register, Subdir_Deregister): Declare. - (ignore_files): Update declaration for new parameter. - (FILESDONEPROC): Add entries parameter. - (DIRENTPROC, DIRLEAVEPROC): Likewise. - * entries.c (Entnode_Create): Add type parameter. Change all - callers. - (write_ent_proc): If closure is not NULL, treat it as a pointer to - an int, and set it to 1 if a node is seen which is not ENT_FILE. - (write_entries): If subdirectory information is known, but no - subdirectories were written, write an unadorned D to the file. - (Scratch_Entry): Write an R command to Entries.Log. Don't rewrite - the Entries file. - (Register): Set entfilename. Write an A command rather than an - unadorned entries line. - (fgetentent): Add cmd and sawdir parameters. Change all callers. - If CMD is not NULL, expect and return a single character command. - Handle an initial D by setting the type to ENT_SUBDIR. - (fputentent): Output an initial D for an ENT_SUBDIR entry. - (Entries_Open): Handle removal commands in Entries.Log. Record - whether subdirectory information is known in the list private - data. - (Subdirs_Known): New function. - (subdir_record): New static function. - (Subdir_Register, Subdir_Deregister): New functions. - * find_names.c (add_entries_proc): Skip entries that are not - ENT_FILE. - (add_subdir_proc): New static function. - (register_subdir_proc): New static function. - (Find_Directories): If the Entries file has subdirectory - information, get the directories out of it. Otherwise, call - find_dirs, and add the information to the Entries file. - * recurse.c (struct frame_and_entries): Define. - (do_recursion): Don't call Entries_Close until after processing - dirlist. Pass entries to filesdoneproc. Pass a frame_and_entries - structure to do_dir_proc via walklist. - (do_dir_proc): Expect a frame_and_entries structure in closure, - not a recursion_frame. Pass entries to direntproc and - dirleaveproc. - * ignore.c (ignore_files): Add entries parameter. Change all - callers. If we have subdirectory information, check for - directories in entries. - * add.c (add): If client_active, call Subdir_Register on each new - directory. - (add_directory): Add entries parameter. Change caller. Call - Subdir_Register. - * checkout.c (build_dirs_and_chdir): Call Subdir_Register. - * client.c (call_in_directory): Call Subdir_Register for newly - created directories. Call Subdirs_Known or Find_Directories after - calling Entries_Open. - (process_prune_candidates): Call Subdir_Deregister. - * commit.c (findmaxrev): Skip entries that are not ENT_FILE. - * server.c (dirswitch): Call Subdir_Register. - * update.c (update_dirent_proc): Call Subdir_Register. - (update_dirleave_proc): Call Subdir_Deregister. - * Several files: Change direntproc, dirleaveproc, and - filesdoneproc routines to expect an entries argument. - - * rcs.c (translate_symtag): New static function. - (RCS_gettag): Use translate_symtag rather than RCS_symbols. - (RCS_nodeisbranch, RCS_whatbranch): Likewise. - -Tue Aug 6 15:36:09 1996 Ian Lance Taylor <ian@cygnus.com> - - Finish the conversion of cvs log so that it never invokes rlog. - * log.c (struct log_data): Remove dorlog field. Add nameonly, - header, long_header, statelist, and authorlist fields. - (log_usage): Remove rlog-options. Add -R, -h, -t, -b, -s, -w. - (cvslog): Don't clear opterr. Handle -h, -R, -s, -t, -w. If an - unrecognized option is seen, call usage. - (log_parse_list): New static function. - (log_fileproc): Remove code that called rlog. Check nameonly, - header, and long_header fields in log_data. - (log_version_requested): Check statelist and authorlist. - - * log.c (struct datelist): Define. - (struct log_data): Add datelist and singledatelist fields. - (log_usage): Add -d. - (cvslog): Handle -d. - (log_parse_date): New static function. - (log_fileproc): Do special single date handling. - (log_version_requested): Check datelist and singledatelist. - (log_fix_singledate): New static function. - -Mon Aug 5 23:48:16 1996 Ian Lance Taylor <ian@cygnus.com> - - * log.c (struct option_revlist): Define. - (struct revlist): Define. - (struct log_data): Add default_branch and revlist fields. - (struct log_data_and_rcs): Define. - (log_usage): Add -N and -r. - (cvslog): Handle -N and -r. - (log_parse_revlist): New static function. - (log_fileproc): Call log_expand_revlist and log_free_revlist. - Pass log_data_and_rcs structure to log_count_print via walklist. - (log_expand_revlist, log_free_revlist): New static functions. - (log_version_requested): New static function. - (log_count_print): New static function. - (log_tree): Add log_data and revlist parameter. Change all - callers. - (log_abranch): Likewise. - (log_version): Likewise. Call log_version_requested. - (version_compare): New static function. - * sanity.sh (log): New tests for -r, -b, and -N options to log. - -Sun Aug 4 11:19:30 1996 Ian Lance Taylor <ian@cygnus.com> - - Handle simple cases of cvs log without invoking rlog. - * log.c (struct log_data): Define. - (cvslog): Use getopt to parse options. Set up a log_data - structure, and pass it to start_recursion. - (log_fileproc): Get arguments form callerdat rather than static - variables. In simple cases, print the log information directly, - rather than invoking rlog. - (log_symbol, log_count, log_tree): New static functions. - (log_abranch, log_version, log_branch): New static functions. - * rcs.h (struct rcsnode): Add other field. - (struct rcsversnode): Add other field. - (RCS_fully_parse): Declare. - * rcs.c (getrcsrev): Move declaration to start of file. - (RCS_reparsercsfile): Add all parameter. Change all callers. - (RCS_fully_parse): New function. - (freercsnode): Free other list. - (rcsvers_delproc): Free other list. - * hash.h (enum ntype): Add RCSFIELD. - * hash.c (nodetypestring): Handle RCSFIELD. - -Sat Aug 3 19:39:54 1996 Ian Lance Taylor <ian@cygnus.com> - - * log.c (cvslog): Correct position of CLIENT_SUPPORT #endif. - -Thu Jul 25 12:06:45 1996 Ian Lance Taylor <ian@cygnus.com> - - * update.c (join_file): If merging a branch, and the branch - revision does not exist, just return without doing anything. - * sanity.sh (join): Add cases file7 and file8 to test above - patch. - - * server.c (cvsencrypt): Rename from encrypt, to avoid conflict - with NetBSD unistd.h. Rename all uses. - - * server.c (krb_encrypt_buffer_output): Fix typo in comment (reply - -> replay). - -Thu Jul 25 10:37:32 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * server.c (krb_encrypt_buffer_output): Fix typo in comment - (krb_recv_auth -> krb_recvauth). - -Wed Jul 24 09:28:33 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * lock.c (set_lock): Adjust comment regarding why we call stat. - -Wed Jul 24 15:06:08 1996 Ian Lance Taylor <ian@cygnus.com> - - Add encryption support over a Kerberos connection. - * main.c (usg): Mention -x if CLIENT_SUPPORT. - (main): Handle -x. - * client.h (encrypt): Declare. - (krb_encrypt_buffer_initialize): Declare. - * client.c (kblock, sched): New static variables if - HAVE_KERBEROS. - (start_tcp_server): Remove sched local variable. Copy - cred.session into kblock. - (start_server): Turn on encryption if requested. - * server.c (kblock, sched): New static variables if - HAVE_KERBEROS. - (serve_kerberos_encrypt): New static function. - (requests): Add "Kerberos-encrypt" if HAVE_KERBEROS. - (kserver_authenticate_connection): Remove sched local variable. - Copy auth.session into kblock. - (encrypt): New global variable. - (struct krb_encrypt_buffer): Define. - (krb_encrypt_buffer_initialize): New function. - (krb_encrypt_buffer_input): New static function. - (krb_encrypt_buffer_output): New static function. - (krb_encrypt_buffer_flush): New static function. - (krb_encrypt_buffer_block): New static function. - (krb_encrypt_buffer_shutdown): New static function. - -Wed Jul 24 09:28:33 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * recurse.c (do_recursion): Add comment about calling - Name_Repository in !(which & W_LOCAL) case. - - * expand_path.c (expand_variable): Fix typo (varaible -> variable). - -Tue Jul 23 15:05:01 1996 Ian Lance Taylor <ian@cygnus.com> - - * update.c (update_fileproc): In T_REMOVE_ENTRY case, only call - server_scratch_entry_only if ts_user is NULL. - * sanity.sh (death2): Add death2-20 test for above patch. - - * diff.c (diff_fileproc): If a file is not in the working - directory, check that the tag is present before warning that no - comparison is possible. - * sanity.sh (death2): Add death2-diff-9 and death2-diff-10 tests - for above patch. - -Tue Jul 23 12:05:42 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * tag.c (tag_check_valid): Fix indentation. - - * client.c (handle_e): Flush stdout before writing to stderr. - (handle_m): Flush stderr before writing to stdout. - -Fri Jul 19 16:02:11 1996 Mike Ladwig <mike@twinpeaks.prc.com> - - * client.c: Added NO_CLIENT_GZIP_PROCESS to deal with the MacOS - client where Gzip-stream is supported, but "gzip-file-contents" is - not. - -Fri Jul 19 16:02:11 1996 Mike Ladwig <mike@twinpeaks.prc.com> - - * repos.c: Fixed recent patch which added plain fopen rather than - CVS_FOPEN - -Mon Jul 22 22:25:53 1996 Ian Lance Taylor <ian@cygnus.com> - - * logmsg.c (tag): New static variable. - (setup_tmpfile): Don't print the prefix before calling fmt_proc. - Free tag if it is set. - (find_type): Get type from logfile_info struct. - (fmt_proc): Likewise. Print tag information. Handle all prefix - printing. - (revision): Remove static variable. - (Update_Logfile): Remove xrevision parameter. Change all - callers. - (title_proc): Get type from logfile_info struct. - (logfile_write): Remove revision parameter. Change all callers. - * cvs.h (struct logfile_info): Define. - (Update_Logfile): Update prototype. - * commit.c (find_fileproc): Set logfile_info information. - (check_fileproc): Likewise. - (commit_filesdoneproc): Don't call ParseTag. - (update_delproc): Free logfile_info information. - * add.c (add_directory): Set logfile_info information. - * import.c (import): Likewise. - - * tag.c (tag_check_valid): The special BASE and HEAD tags are - always valid. - * sanity.sh (basica): Add basica-6.3 test for above patch. - -Mon Jul 22 14:41:20 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * update.c (merge_file): Pass 0 not NULL to checkout_file (20 Jul - 96 change changed other calls to checkout_file but missed this one). - -Sat Jul 20 00:21:54 1996 Ian Lance Taylor <ian@cygnus.com> - - * update.c (join_file): Check whether the target of the merge is - the same as the working file revision before checking whether the - file was added during the merge. - - * update.c (scratch_file): Remove existing parameters, and add a - single parameter of type struct file_info. Change all callers. - Warn if unlink_file fails. - (checkout_file): Remove resurrecting_out parameter. Add adding - parameter. Change all callers. Remove joining code. - (join_file): Remove resurrecting parameter. Rewrite to handle - joining dead or added revisions. - * classify.c (Classify_File): If there is no user file, and the - RCS file is dead, return T_UPTODATE rather than T_CHECKOUT. - * checkout.c (checkout_proc): Set W_ATTIC if there is a join tag. - * sanity.sh (join): New set of tests for above patches. - (death): Adjust tests 86, 89, 89a, 92.1c, 95 for above patches. - (import): Adjust test 113 for above patches. - -Thu Jul 18 19:24:08 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * lock.c: Add comment explaining what locks are for. Also discuss - various changes to locking which get proposed from time to time. - - * sanity.sh (death2): Change a number of test names from death-* - to death2-*. - - * wrapper.c (wrap_setup): Don't look in repository if client_active. - * wrapper.c, cvs.h (wrap_send): New function. - * update.c (update), import.c (import): Call it. - * sanity.sh (binwrap): Do binwrap tests for remote as well as - local; tests for above fixes. - - * wrapper.c: Add a few FIXME comments. - -Thu Jul 18 18:43:50 1996 Ian Lance Taylor <ian@cygnus.com> - - * sanity.sh (patch): Fix names of a couple of tests to say patch - rather than death2. - -Thu Jul 18 16:19:21 1996 Bill Bumgarner <bbum@friday.com> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * add.c (add), import.c (add_rcs_file): Check for options from - wrappers and use them if specified. - * cvs.h (WrapMergeHas): Add WRAP_RCSOPTION. - * wrapper.c (WrapperEntry): Add rcsOption field. - (wrap_add): Allow a single character argument to an option. - (wrap_add): Handle -k option. - (wrap_add_entry): Handle rcsOption field. - (wrap_name_has): Handle WRAP_RCSOPTION. - * wrapper.c, cvs.h (wrap_rcsoption): New function. - * add.c, import.c, wrapper.c: Minor beautification (mostly - removing trailing spaces). - * sanity.sh (binwrap): New tests test for this feature. - -Wed Jul 17 10:14:20 1996 Ian Lance Taylor <ian@cygnus.com> - - * checkout.c (checkout): Remove extraneous else accidentally - inserted in last checkin. - -Tue Jul 16 11:37:41 1996 Ian Lance Taylor <ian@cygnus.com> - - * sanity.sh (import): Use quoting to avoid expansion of RCS ID - strings. - - * sanity.sh (import): Use dotest to examine the output of test - 113, and the actual contents of the file in test 116. - - * update.c (join_file): Always skip rcsmerge if the two revisions - are the same (the old code always did the rcsmerge when two -j - options were specified). - - * checkout.c (history_name): New static variable. - (checkout): Permit both tag and date to be specified. Set - history_name. - (checkout_proc): Use history_name when calling history_write. - * rcs.c (RCS_getversion): If both tag and date are set, use - RCS_whatbranch to get the branch revision number of a symbolic - tag. - (RCS_getdatebranch): If the branch revision itself is early - enough, then use it if the first branch is not early enough. Add - comment for invalid RCS file. Don't bother to check for NULL - before calling xstrdup, since xstrdup checks anyhow. - - * client.h (file_gzip_level): Declare. - * client.c (file_gzip_level): Define. - (start_server): Don't set gzip_level to zero after sending - Gzip-stream command. Set file_gzip_level after sending - gzip-file-contents command. - (send_modified): Use file_gzip_level rather than gzip_level. - * server.c (server_updated): Likewise. - (serve_gzip_contents): Likewise. - - * sanity.sh (patch): New tests. Test remote CVS handling of - unpatchable files. - - * sanity.sh (death2): Accept a '.' in the temporary file name - printed by diff. - - * rcscmds.c (RCS_checkin): Remove noerr parameter. Change all - callers. - * cvs.h (RCS_checkin): Update declaration. - * commit.c (remove_file): Pass RCS_FLAGS_QUIET to RCS_checkin. - - * history.c (history): Cast sizeof to int to use correct type in - error printf string. - (report_hrecs): Cast strlen result to int to use correct type in - printf string. - - * server.c (cvs_flusherr): Correct typo in comment. - - * rcs.c (getrcskey): Hoist three constant strcmp calls out of the - value reading loop. - - * fileattr.c (fileattr_get): Change parameter types from char * to - const char *. - (fileattr_get0, fileattr_modify, fileattr_set): Likewise. - (fileattr_newfile): Likewise. - * fileattr.h (fileattr_get): Update declaration. - (fileattr_get0, fileattr_modify, fileattr_set): Likewise. - (fileattr_newfile): Likewise. - -Thu May 16 11:12:18 1996 Mark P. Immel <immel@radix.net> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.h, client.c, checkout.c (client_send_expansions): - Pass an additional parameter indicating where the checkout is - to occur, to avoid passing the wrong information to send_files(). - * sanity.sh (basicb): New test basicb-cod-1 tests for above fix. - -Mon Jul 15 18:26:56 1996 Ian Lance Taylor <ian@cygnus.com> - - * recurse.c (do_recursion): Require a repository before calling - Find_Names. - * repos.c (Name_Repository): Remove sanity checks which spend time - examining the filesystem. - -Mon Jul 15 1996 Jim Kingdon <kingdon@cyclic.com> - - * client.c (send_file_names): Send file names as they appear - in CVS/Entries, rather than as specified (in cases where they - might differ in case). - (send_fileproc): Use file name from CVS/Entries (vers->entdata->user) - rather than file name as specified (finfo->file) when available. - -Sun Jul 14 15:39:44 1996 Mark Eichin <eichin@cygnus.com> - and Ian Lance Taylor <ian@cygnus.com> - - Improve diff -N handling of nonexistent tags and removed files. - * diff.c (enum diff_file): New definition for whole file, moving - unnamed enum out of diff_fileproc, renaming DIFF_NEITHER to - DIFF_DIFFERENT, and adding DIFF_SAME. - (diff): Look through the repository even if only one revision is - given. - (diff_fileproc): Change empty_file to be enum diff_file. If there - is no user revision, but there is a repository file, treat it as a - removed file. Pass empty_file to diff_file_nodiff, and set it - from the return value. - (diff_file_nodiff): Change return type to enum diff_file. Replace - just_set_rev parameter with enum diff_file empty_file parameter. - Change handling of a missing tag to return an enum diff_file value - if empty_files is set, rather than reporting an error. Free tmp - if xcmp returns 0. - * sanity.sh (death2): Add tests for above patches. - -Sat Jul 13 19:11:32 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcs.c (annotate): In sending options to server, reverse sense of - test so that we send -f iff -f was specified, rather than iff -f was - not specified. - -Fri Jul 12 20:23:54 1996 Greg A. Woods <woods@most.weird.com> - - * zlib.c (compress_buffer_input): add a couple of casts for - uses of z_stream's next_in and next_out - -Fri Jul 12 18:55:26 1996 Ian Lance Taylor <ian@cygnus.com> - - * zlib.c: New file. - * client.c (log_buffer_block): Call set_block and set_nonblock, - rather than lb->buf->block. - (log_buffer_shutdown): New static function. - (get_responses_and_close): Call buf_shutdown on to_server and - from_server. - (start_server): If "Gzip-stream" is supported, use it rather than - "gzip-file-contents". - * server.c (print_error): Call buf_flush rather than - buf_send_output. - (print_pending_error, serve_valid_responses): Likewise. - (serve_expand_modules, serve_valid_requests): Likewise. - (do_cvs_command): Call buf_flush rather than buf_send_output - before the fork, and in the parent after the child has completed. - In the child, set buf_to_net and buf_from_net to NULL. - (serve_gzip_stream): New static function. - (requests): Add "Gzip-stream". - (server_cleanup): Don't do anything with buf_to_net if it is - NULL. Call buf_flush rather than buf_send_output. Call - buf_shutdown on buf_to_net and buf_from_net. Call error for an - malloc failure rather than buf_output to buf_to_net. - * buffer.h (struct buffer): Add shutdown field. - (buf_initialize): Update declaration for new shutdown parameter. - (compress_buffer_initialize): Declare. - (buf_shutdown): Declare. - * buffer.c (buf_initialize): Add shutdown parameter. Change all - callers. - (buf_shutdown): New function. - * Makefile.in (SOURCES): Add zlib.c - (OBJECTS): Add zlib.o. - ($(PROGS)): Depend upon ../zlib/libz.a. - (cvs): Link against ../zlib/libz.a. - (zlib.o): New target. - -Fri Jul 12 1996 Jim Kingdon <kingdon@cyclic.com> - - * client.c (log_buffer_input, log_buffer_output): Use size_t - to avoid Visual C++ signed/unsigned warnings. - -Thu Jul 11 22:01:37 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (handle_f): Reindent. - - * client.c (mode_to_string, handle_m, handle_e, - auth_server_port_number, get_responses_and_close), server.c - (pserver_authenticate_connection, serve_modified, - serve_enable_unchanged, wait_sig, server_cleanup): Reindent. - * server.c: Remove #if 0'd block of code above - check_repository_password; it was yanked out of some unknown - context and didn't seem to be very useful. - -Thu Jul 11 20:10:21 1996 Ian Lance Taylor <ian@cygnus.com> - - * server.c (do_cvs_command): Pass new special parameter to - buf_copy_counted. If it gets set to -1, send an 'F' response if - the client supports it, and call cvs_flusherr. - (cvs_flusherr): New function. - * cvs.h (cvs_flusherr): Declare. - * client.c (handle_f): New static function. - (responses): Add "F". - * buffer.c (buf_send_special_count): New function. - (buf_copy_counted): Add special parameter. Handle negative counts - specially. - * buffer.h (buf_send_sepcial_count): Declare. - (buf_copy_counted): Update declaration. - * lock.c (lock_wait, lock_obtained): Call cvs_flusherr. - - Change the client to use the buffer data structure. - * client.c: Include "buffer.h". - (to_server): Change to be struct buffer *. - (to_server_fp): New static variable. - (from_server): Change to be struct buffer *. - (from_server_fp): New static variable. - (from_server_logfile, to_server_logfile): Remove. - (buf_memory_error): New static function. - (struct log_buffer): Define. - (log_buffer_initialize, log_buffer_input): New static functions. - (log_buffer_output, log_buffer_flush): New static functions. - (log_buffer_block): New static function. - (struct socket_buffer): Define if NO_SOCKET_TO_FD. - (socket_buffer_initialize): New static function if - NO_SOCKET_TO_FD. - (socket_buffer_input, socket_buffer_output): Likewise. - (socket_buffer_flush): Likewise. - (read_line): Rewrite to use buf_read_line. Remove eof_ok - parameter (it was always passed as 0); change all callers. - (send_to_server): Rewrite to use buf_output. - (try_read_from_server): Rewrite to use buf_read_data. - (get_responses_and_close): Use from_server_fp and to_server_fp for - the streams. Check buf_empty_p when checking for dying gasps. - (start_server): Don't set from_server_logfile and - to_server_logfile; instead, call log_buffer_initialize. If - NO_SOCKET_TO_FD and use_socket_style, call - socket_buffer_initialize; otherwise, call - stdio_buffer_initialize. - * buffer.c: Compile if CLIENT_SUPPORT is defined. - (buf_flush): Fix comment to describe return value. - (buf_read_line): Add lenp parameter. Change all callers. Look - for a line terminated by \012 rather than \n. - * buffer.h: Compile if CLIENT_SUPPORT is defined. - (buf_read_line): Update declaration. - - * server.c (server): Initialize buf_to_net, buf_from_net, - saved_output, and saved_outerr before setting error_use_protocol. - (pserver_authenticate_connection): Don't set error_use_protocol. - Errors before the authentication is complete aren't handled - cleanly anyhow. Change error call after authentication to use - printf. - -Thu Jul 11 1996 Jim Kingdon <kingdon@cyclic.com> - - * client.c (start_server): Open logfiles in binary, not text, mode. - -Wed Jul 10 19:24:22 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * server.c (print_pending_error, print_error): Remove comments - about deadlocks; they don't apply here. Add comments saying - that these functions must only be called when it is OK to - send output (which is why the deadlock concern doesn't apply). The - comments remain for server_cleanup and serve_valid_responses, - where they are an example of the "print a message and exit" - behavior which is noted in cvsclient.texi and which also exists - places like kserver_authenticate_connection. - -Wed Jul 10 18:24:46 1996 Ian Lance Taylor <ian@cygnus.com> - - * server.c (print_error): Add comment warning about potential - deadlock. - (print_pending_error, serve_valid_responses): Likewise. - (server_cleanup): Likewise. - (serve_directory): Don't call buf_send_output. - (serve_modified, serve_notify, server, cvs_outerr): Likewise. - (serve_expand_modules): Call buf_send_output. - (serve_valid_requests): Likewise. - -Wed Jul 10 15:51:29 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * main.c (main): Print a warning for rlog command. - -Wed Jul 10 15:00:55 1996 Ian Lance Taylor <ian@cygnus.com> - - Abstract the buffer data structure away from the underlying - communication medium. - * buffer.h (struct buffer): Remove fd and output fields. Add - input, output, flush, block, and closure fields. - (buf_initialize, buf_nonio_initialize): Declare. - (stdio_buffer_initialize, buf_flush): Declare. - (buf_read_line, buf_read_data): Declare. - * buffer.c: Include <assert.h>. Don't include <fcntl.h>. - (O_NONBLOCK, blocking_error): Don't define. - (buf_initialize, buf_nonio_initialize): New functions. - (buf_send_output): Use output function, rather than write. - (buf_flush): New function. - (set_nonblock, set_block): Use block function, rather than calling - fcntl. - (buf_send_counted): Don't check output. - (buf_input_data): Call input function, rather than read. - (buf_read_line, buf_read_data): New functions. - (buf_copy_lines, buf_copy_counted): Don't check output. - (stdio_buffer_initialize): New function. - (stdio_buffer_input, stdio_buffer_output): New static functions. - (stdio_bufer_flush): New static function. - * server.c: Include "getline.h". - (buf_to_net): Change to be a pointer. Change all uses. - (protocol, saved_output, saved_outerr): Likewise. - (buf_from_net): New static variable. - (no_mem_error, NO_MEM_ERROR, read_line): Remove. - (struct fd_buffer): Define. - (fd_buffer_initialize, fd_buffer_input): New static functions. - (fd_buffer_output, fd_buffer_flush): New static functions. - (fd_buffer_block): New static function. - (serve_directory): Call buf_read_line rather than read_line. - (serve_notify, server): Likewise. - (receive_partial_file): Call buf_read_data rather than fread. - (serve_modified): Call buf_read_line rather than read_line. Call - buf_read_data rather than fread. - (do_cvs_command): Initialize buffers with fd_buffer_initialize. - Change stdoutbuf, stderrbuf, and protocol_inbuf to be pointers. - (server): Initialize buffers using fd_buffer_initialize, - stdio_buffer_initialize, and buf_nonio_initialize. - (check_repository_password): Call getline rather than read_line. - -Wed Jul 10 15:51:29 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * commit.c (find_fileproc): Add comments describing a few cases - that we aren't handling. - -Tue Jul 9 04:33:03 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcs.c (RCS_deltas): New function, created from guts of old - annotate_fileproc. - (annotate_fileproc): Call RCS_deltas. - (RCS_fast_checkout): Call it (commented out for now; see comment - for reasons). - - * cvs.h, recurse.c (start_recursion): Add callerdat argument. - * cvs.h: Add callerdat argument to recursion processor callbacks. - * recurse.c: add it to struct recursion_frame and pass it to all - the callbacks. - * admin.c, client.c, commit.c, diff.c, edit.c, lock.c, log.c, - patch.c, rcs.c, remove.c, rtag.c, status.c, tag.c, update.c, - watch.c: Update all the functions used as callbacks. Update calls - to start_recursion. - * commit.c (find_filesdoneproc, find_fileproc, find_dirent_proc, - commit), tag.c (val_fileproc, tag_check_valid): Use callerdat - instead of a static variable. - - * recurse.c (do_recursion): Make static and move declaration to here... - * cvs.h: ...from here. - * recurse.c (do_recursion): Replace plethora of arguments with - single struct recursion_frame *. Change callers. - * recurse.c: New structure frame_and_file. Use it and existing - struct recursion_frame structures to pass info to do_file_proc and - do_dir_proc. Remove globals fileproc, filesdoneproc, direntproc, - dirleaveproc, which, flags, aflag, readlock, and dosrcs. - -Tue Jul 9 11:13:29 1996 Ian Lance Taylor <ian@cygnus.com> - - * modules.c (do_module): Call cvs_outerr rather than fprintf. - -Mon Jul 8 1996 Jim Kingdon <kingdon@cyclic.com> - - * rcs.c (RCS_fast_checkout): If -kb is not in use, open the - working file in text, not binary, mode. - -Sun Jul 7 10:36:16 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcscmds.c (RCS_settag): Add comment regarding moving check for - reserved tag names to RCS_check_tag. - - * rcscmds.c: Add comment regarding librarifying RCS and related - issues. This is a lightly edited version of a message I sent to - the CVS developers and didn't get flamed for, so it would appear - to be relatively uncontroversial. - - * rcs.c (annotate): Remove comment suggesting -r option and - related functionality; it is done. - -Fri Jul 5 17:19:57 1996 Ian Lance Taylor <ian@cygnus.com> - - * client.c (last_entries): Make file static, rather than function - static within call_in_directory. - (get_responses_and_close): If last_entries is not NULL, pass it to - Entries_Close. - - * server.c (server_pause_check): Check for errors when reading - from flowcontrol_pipe. - - * client.c (call_in_directory): If dir_name is ".", call - Create_Admin if there is no CVS directory. - (send_dirent_proc): If there is no CVS subdirectory, pretend that - the directory does not exist (i.e., don't try to send any files in - the directory). - * server.c (dirswitch): If dir is "." in the top level repository, - add "/." after the Repository entry. - * sanity.sh (modules): Add test 155b for above patches. - -Thu Jul 4 15:57:34 1996 Ian Lance Taylor <ian@cygnus.com> - - * server.c (buf_to_net): Move definition near top of file. - (read_line): Call buf_send_output rather than fflush. - (print_error): Output information to buf_to_net buffer rather than - stdout. - (print_pending_error, serve_valid_responses): Likewise. - (server_notify, do_cvs_command, server_co): Likewise. - (expand_proc, serve_expand_modules, server_prog): Likewise. - (serve_valid_requests, server_cleanup, server): Likewise. - (server_notify): Don't call fflush on stdout. - (do_cvs_command): Flush saved_output and saved_outerr to - buf_to_net before fork. Flush buf_to_net before fork. In child, - just initialize memory_error field of saved_output and - saved_outerr. - (server_cleanup): Flush buf_to_net. - (server): Initialize saved_output and saved_outerr. - (cvs_output): Add support for error_use_protocol case. - (cvs_outerr): Likewise. - * error.c (error): In HAVE_VPRINTF case, just call cvs_outerr. - - * buffer.c: New file; buffer support functions taken from - server.c. - * buffer.h: New file; declarations for buffer.c. - * server.c: Move buffer support functions into buffer.c and - buffer.h. Include "buffer.h". - * Makefile.in (SOURCES): Add buffer.c. - (OBJECTS): Add buffer.o. - (HEADERS): Add buffer.h. - -Thu Jul 4 00:12:45 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * version.c: Increment version number to 1.8.6. - -Wed Jul 3 22:31:16 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * version.c: Version 1.8.5. - -Wed Jul 3 21:51:23 1996 Ian Lance Taylor <ian@cygnus.com> - - * server.c (blocking_error): Define macro. - (buf_send_output, buf_input_data): Use blocking_error rather than - #ifdef EWOULDBLOCK. - -Tue Jul 2 20:38:41 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * add.c (add): Change message which said "version 1.2 of foo.c - will be resurrected"; the message was confusing because it made - people think that the old contents of the file would come back - instead of the contents in the working directory. - -Mon Jul 1 01:38:57 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * find_names.c (find_dirs): Add comment explaining why we bother - with the entries stuff. - -Sat Jun 29 20:23:50 1996 Ian Lance Taylor <ian@cygnus.com> - - * find_names.c (Find_Directories): Add entries parameter, and pass - it to find_dirs. - (find_dirs): Add entries parameter, and skip all files it names. - * cvs.h (Find_Directories): Update declaration. - * recurse.c (start_recursion): Pass NULL to Find_Directories. - (do_recursion): Pass entries to Find_Directories. - - * client.c (send_modified): Add trace output. - - * diff.c (diff_fileproc): Always call diff_file_nodiff. Handle - dead versions correctly. Handle diffs between a specified - revision to a dead file correctly. - (diff_file_nodiff): Add just_set_rev parameter. Change caller. - * patch.c (patch_fileproc): Check for dead versions. - * sanity.sh (death2): Add tests for above patches. - -Fri Jun 28 20:30:48 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - For reference, this takes CVS's text segment from 271136 bytes to - 270352 bytes, a saving of 784. Not as good as I had hoped (oh well, - the source *seems* simpler at least). - * checkin.c (Checkin), commit.c (finaladd, remove_file), update.c - (join_file, checkout_file, patch_file), no_diff.c - (No_Differences), server.c (server_updated), classify.c - (Classify_File), vers_ts.c (Version_TS), diff.c (diff_file_nodiff): - Use a single struct file_info * argument instead of a bunch of - separate arguments for each of its fields. Remove local fullname - emulations. Use fullname in error messages where file had - erroneously been used. - * cvs.h: Update declarations of above functions and move them to - after the struct file_info declaration. - * server.h: Update declarations. - * add.c, admin.c, checkin.c, checkout.c, classify.c, client.c, - commit.c, diff.c, history.c, import.c, update.c, status.c, - remove.c, rtag.c, tag.c: Change callers. - - * diff.c (diff): Remove -q and -Q command options. This somehow - slipped through the cracks of the general removal of -q and -Q - command options on Jul 21 1995. Note that there is no need to - accept and ignore these options in server mode, like there is for - some of the commands, because the client has never sent -q and -Q - command options for "cvs diff". - -Fri Jun 28 16:50:18 1996 Ian Lance Taylor <ian@cygnus.com> - - * add.c (add): Pass force_tag_match as 1 when calling Version_TS. - * sanity.sh (death2): Add test for above patch. Also add - commented out test for adding a file on a nonbranch tag, which CVS - currently, mistakenly, permits. - -Thu Jun 27 23:20:49 1996 Ian Lance Taylor <ian@cygnus.com> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * diff.c (longopts): New static array. - (diff): Handle long options and new short options in diff 2.7. - Fix arbitrary limit associated with the tmp variable. - * client.c (send_option_string): Parse options as space separated, - rather than requiring all options to be single characters. - * diff.c, options.h.in: Remove CVS_DIFFDATE; the need for it is gone - now that we have --ifdef (the new behavior is the behavior which - was the default, which is that -D specifies a date). - -Wed Jun 26 22:36:29 1996 Ian Lance Taylor <ian@cygnus.com> - - * commit.c (check_fileproc): If there is a tag, permit adding a - file even if the RCS file already exists. - (checkaddfile): If there is a tag, use the file in the regular - repository, rather than the Attic, if it exists. - * sanity.sh (death2): New set of tests for above patch. - -Tue Jun 25 23:34:13 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * update.c (checkout_file): Add comments about two cases which - seem fishy. - - * sanity.sh (basic2, death): Add comments encouraging people to - stop making these sections bigger and more complex. I'm not (yet - at least) trying to figure out the ideal size for a section (my - current best estimate is 10-20 tests), but surely these - two sections are pushing the limit, whatever it is. - -Tue Jun 25 19:52:02 1996 Ian Lance Taylor <ian@cygnus.com> - - * update.c (checkout_file): Rewrite handling of dead files when - joining. Avoid space leaks. Avoid unnecessary file - resurrections. - (join_file): Add checks to skip merging a dead revision onto a - dead revision, and to skip merging a common ancestor onto a dead - revision. Move check for non-existent working file after new - checks. - * sanity.sh (death): Use dotest for tests 86 and 95, and add test - death-file2-1, to test above changes. - -Mon Jun 24 11:27:37 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * update.c (merge_file): Replace file, repository, entries, and - update_dir arguments with finfo argument. Use fullname field - instead of locally emulating it. - (update_fileproc): Update caller. - (merge_file): If -kb is in effect, call it a conflict, leave - the two versions in the file and the backup file, and tell the - user to deal with it. The previous behavior was that the merge - would fail and then there was no way to do a checkin even once you - resolved the conflict (short of kludges like moving the file - aside, updating, and then moving it back). - * sanity.sh (binfiles): New tests binfiles-con* test for above - behavior. Adjust remaining tests to reflect changes in revision - numbers. - -Mon Jun 17 15:11:09 1996 Ian Lance Taylor <ian@cygnus.com> - - * sanity.sh (import): Remove sleep. Requiring it was a bug, and - it is fixed in the current sources. - -Mon Jun 17 1996 Ian Lance Taylor <ian@cygnus.com> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (TMPPWD): Set to real name of /tmp directory. - (basic2-64, conflicts-126.5): Use ${TMPPWD}. - -Mon Jun 17 1996 Ian Lance Taylor <ian@cygnus.com> - - * rcscmds.c (RCS_checkout): Remove noerr parameter. Change all - callers. - * rcs.c (RCS_fast_checkout): Likewise. - -Mon Jun 17 1996 Ian Lance Taylor <ian@cygnus.com> - - Cleaner implementation of tag locking code added Jun 13 1996: - * cvs.h (tag_lockdir, tag_unlockdir): Declare. - * rtag.c (locked_dir, locked_list): Remove. - (rtag_fileproc): Don't lock here; just call tag_lockdir. - (rtag_filesdoneproc): Don't unlock here; just call tag_unlockdir. - * tag.c (locked_dir, locked_list): Move farther down in file. - (tag_fileproc): Don't lock here; just call tag_lockdir. - (tag_filesdoneproc): Don't unlock here; just call tag_unlockdir. - (tag_lockdir, tag_unlockdir): New functions. - -Wed Jun 15 07:52:22 1996 Mike Ladwig <mike@twinpeaks.prc.com> - - * client.c (send_modified, update_entries): Fixed bug which didn't - handle binary file transfers in BROKEN_READWRITE_CONVERSION. - -Thu Jun 13 1996 Ian Lance Taylor <ian@cygnus.com> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * update.c (checkout_file): Call server_scratch_entry_only when a - non-pertinent file is found that does not exist. - * sanity.sh (newb): Add test case for above patch. - -Thu Jun 13 1996 Ian Lance Taylor <ian@cygnus.com> - - * update.c (update_fileproc): Call server_scratch_entry_only when - handling T_REMOVE_ENTRY on the server. - * sanity.sh (conflicts2): Remove special case for remote server - bug fixed by above patch. - -Thu Jun 13 21:16:26 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (basica-9): Update to reflect change to "sufficient - access" message. - -Thu Jun 13 20:13:55 1996 Ian Lance Taylor <ian@cygnus.com> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * recurse.c, cvs.h (start_recursion): Remove wd_is_repos argument; - add comment about meaning of which argument. Use !(which & - W_LOCAL) instead of wd_is_repos. - * admin.c, client.c, commit.c, diff.c, edit.c, lock.c, log.c, - patch.c, rcs.c, remove.c, rtag.c, status.c, tag.c, update.c, - watch.c: Change callers. This is a semantic change in only two - cases: (1) tag_check_valid, where repository was not "", and (2) - the pipeout case in checkout_proc. In both of those cases the - previous setting of wd_is_repos did not reflect whether we - actually were cd'd into the repository. - * recurse.c (start_recursion): Only check for the CVS subdirectory - if which & W_LOCAL. - * sanity.sh (devcom): Add test case fixed by above patch. - -Thu Jun 13 1996 Ian Lance Taylor <ian@cygnus.com> - - * ignore.c (ignore_files): Skip based on the file name before - calling lstat. - - * client.c (last_register_time): New static variable. - (update_entries): Set last_register_time when calling Register. - (get_responses_and_close): If the current time is the same as - last_register_time, sleep for a section to avoid timestamp races. - -Thu Jun 13 17:24:38 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (supported_request): Reindent. - -Thu Jun 13 1996 Mark H. Wilkinson <mhw@minster.york.ac.uk> - - * options.h.in, mkmodules.c: Corrections to allow compilation of - non-client-server version. - -Thu Jun 13 1996 Ian Lance Taylor <ian@cygnus.com> - - * tag.c (tag_check_valid_join): New function. - * cvs.h (tag_check_valid_join): Declare. - * checkout.c (join_tags_validated): New static variable. - (checkout_proc): Check validity of join tags. - * update.c (update): Likewise. - - * tag.c (tag_check_valid): Correct sizeof CVSROOTADM_HISTORY to - use CVSROOTADM_VALTAGS. - - * lock.c (Writer_Lock): If we called lock_wait to wait for a lock, - then call lock_obtained when we get it. - (set_lock): Likewise. - (lock_obtained): New static function. - -Thu Jun 13 13:55:38 1996 Ian Lance Taylor <ian@cygnus.com> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * main.c (main): If we can't read cvs root, don't say "you don't - have sufficient access"; just print the message from errno. It - might be "No such file or directory" or something else for which - "you don't have sufficient access" doesn't make any sense. - -Thu Jun 13 1996 Ian Lance Taylor <ian@cygnus.com> - - * commit.c (remove_file): Pass noerr as 0 to RCS_checkout. - -Thu Jun 13 12:55:56 1996 Ian Lance Taylor <ian@cygnus.com> - - * patch.c: Initialize rev1_validated and rev2_validated to 0, not 1. - -Thu Jun 13 12:55:56 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rtag.c (locked_dir): Revise comments regarding locking; the rtag - and tag situations are different (changing from readlocking one - directory at a time to writelocking one directory at a time does - not do everything we might want, but it does fix simultaneous tags - and it doesn't make anything worse). - -Thu Jun 13 1996 Ian Lance Taylor <ian@cygnus.com> - - Prevent simultaneous tag operations from interfering with each - other. - * rtag.c (rtag_proc): Pass rtag_filesdoneproc to start_recursion, - and pass readlock as 0. - (locked_dir, locked_list): New static variables. - (rtag_fileproc): Write lock the repository if it is not already - locked. - (rtag_filesdoneproc): New static function to unlock the - repository. - * tag.c (tag): Pass tag_filesdoneproc to start_recursion, and pass - readlock as 0. - (locked_dir, locked_list): New static variables. - (tag_fileproc): Write lock the repository if it is not already - locked. - (tag_filesdoneproc): New static function. - -Thu Jun 13 11:42:25 1996 Mike Sutton <mws115@llcoolj.dayton.saic.com> - - * sanity.sh: Allow digits in usernames. - -Wed Jun 12 16:23:03 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (send_modified, update_entries): Reindent and add - comments to BROKEN_READWRITE_CONVERSION code. - -Wed Jun 12 16:23:03 1996 Mike Ladwig <mike@twinpeaks.prc.com> - - * client.c (send_modified, update_entries): Add - BROKEN_READWRITE_CONVERSION code. - -Mon Jun 10 20:03:16 1996 J.T. Conklin <jtc@cygnus.com> - - * rcs.c (RCS_gettag): No longer set p to NULL if rcs is also NULL. - rcs will never be null, thanks to the assertion at top of function. - -Mon Jun 10 16:28:14 1996 Ian Lance Taylor <ian@cygnus.com> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * main.c (main): Ignore CVS/Root file when doing an import. - -Fri Jun 7 18:20:01 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * status.c (status_fileproc, tag_list_proc): Use cvs_output rather - than writing to stdout directly. - -Wed Jun 5 13:54:57 1996 Ian Lance Taylor <ian@cygnus.com> - - * rcs.c (force_tag_match, tag, date): New static variables. - (annotate_fileproc): Redo the loop to look for the version - specified by tag/date/force_tag_match, and handle branches - correctly. - (annotate_usage): Mention -f, -r, and -D. - (annotate): Handle -f, -r, and -D. - -Tue Jun 4 13:38:17 1996 Ian Lance Taylor <ian@cygnus.com> - - * rcs.c (annotate_fileproc): Skip unrelated branch deltas. - -Fri Jun 7 13:04:01 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * main.c (main): Change INITIALIZE_SOCKET_SUBSYSTEM to - SYSTEM_INITIALIZE and pass it pointers to argc and argv. Rename - CLEANUP_SOCKET_SUBSYSTEM to SYSTEM_CLEANUP. - -Wed Jun 05 10:07:29 1996 Mike Ladwig <mike@twinpeaks.prc.com> - - * import.c (add_rcs_file): make buf char[] not unsigned char[] - -Wed Jun 05 10:07:29 1996 Mike Ladwig <mike@twinpeaks.prc.com> - and Jim Kingdon <kingdon@cyclic.com> - - * main.c (main): Add CLEANUP_SOCKET_SUBSYSTEM hook at end. Revise - comments regarding INITIALIZE_SOCKET_SUBSYSTEM. - -Wed Jun 05 10:07:29 1996 Mike Ladwig <mike@twinpeaks.prc.com> - and Jim Kingdon <kingdon@cyclic.com> - - * main.c (main): Don't mess with signals if DONT_USE_SIGNALS is - defined. - -Thu Jun 6 15:32:41 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * modules.c (cat_module): Always format for 80 columns rather than - trying to determine how wide the screen is. The code we had for - the latter didn't cover all cases, was a portability headache, and - didn't work client/server. - -Wed Jun 05 10:07:29 1996 Mike Ladwig <mike@twinpeaks.prc.com> - - * error.c: Don't declare strerror if it is #defined. - -Wed Jun 05 10:07:29 1996 Mike Ladwig <mike@twinpeaks.prc.com> - and Jim Kingdon <kingdon@cyclic.com> - - * cvs.h: If ENUMS_CAN_BE_TROUBLE, typedef Dtype to int not an enum. - -Wed Jun 05 10:07:29 1996 Mike Ladwig <mike@twinpeaks.prc.com> - and Jim Kingdon <kingdon@cyclic.com> - - * update.c (update): If DONT_USE_PATCH, don't request patches. - Also call supported_request rather than reimplementing it. - -Wed Jun 05 10:07:29 1996 Mike Ladwig <mike@twinpeaks.prc.com> - - * client.c (read_line): Changed an occurence of '\n' to '\012'. - -Wed Jun 5 17:18:46 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * add.c (add_directory): Don't create the directory if noexec. - * sanity.sh (basica): New tests basica-1a10, basica-1a11 test for - above fix. - * sanity.sh (basicb): New tests basicb-2a10, basicb-2a11, - basicb-3a1 test for analogous situation with files rather than - directories. - -Tue Jun 4 13:38:17 1996 Ian Lance Taylor <ian@cygnus.com> - - * sanity.sh: When doing a remote check, use :server: in CVSROOT. - -Wed Jun 5 13:32:40 1996 Larry Jones <larry.jones@sdrc.com> - and Jim Kingdon <kingdon@cyclic.com> - - * ignore.c: Set ign_hold to -1 when not holding instead of 0 so - that holding an empty list works correctly. - * sanity.sh (ignore): New tests 190 & 191 for above fix. - -Wed Jun 5 1996 Jim Kingdon <kingdon@cyclic.com> - - Visual C++ lint: - * client.c (update_entries): Copy the size to an unsigned variable - before comparing it with unsigned variables. - (handle_created, handle_update_existing): Prototype. - -Tue Jun 4 10:02:44 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (responses): Add Created and Update-existing responses. - * server.c (server_updated): If they are supported, use them - instead of Updated. - * client.c (struct update_entries_data): Add existp field. - (handle_checked_in, handle_updated, handle_new_entry, - handle_merged, handle_patched): Set it. - (handle_update_existing, handle_created): New functions, - for new responses. - (update_entries): Based on existp, check for - existence/nonexistence of file. - (try_read_from_server): Expand comment. - * server.c, server.h (server_updated): New argument vers. - * checkin.c (Checkin), commit.c (commit_fileproc), update.c - (update_fileproc, merge_file, join_file): Pass it. - * cvs.h: Move include of server.h after Vers_TS declaration. - * sanity.sh (conflicts2): New tests conflicts2-142d* test for - above fix. - - * sanity.sh (ignore): Fix typo in comment. - - * tag.c (tag_check_valid): Add comment clarifying when val-tags - entries are created. - -Mon Jun 3 07:26:35 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * version.c: Increment version number to 1.8.4. - -Mon Jun 3 02:20:30 1996 Noel Cragg <noel@gargle.rain.org> - - * version.c: version 1.8.3. - -Thu May 30 10:07:24 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * main.c (cmds): Fix typo ("bdif" -> "dif") which was accidentally - introduced 24 May 96. - - * main.c (main_cleanup): Add comment stating default case will - never be reached. - -Wed May 29 21:43:43 1996 noel <noel@BOAT_ANCHOR> - - * main.c (main_cleanup): check to see if SIGHUP, SIGINT, SIGQUIT, - SIGPIPE, and SIGTERM are defined before using them. Also add a - default case to print out those errors numerically which are not - found. - -Wed May 29 18:43:45 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * expand_path.c (expand_path): Document LINE == 0 and allocation - of return value. - * modules.c (do_module): Pass 0, not -1, to indicate line number - not known. Free value returned from expand_path. Deal with NULL - return from expand_path. - -Wed May 29 15:56:47 1996 Greg A. Woods <woods@most.weird.com> - - * modules.c (do_module): call expand_path() on the program name - specfied by one of '-o', '-t', or '-e' in the modules file before - passing it to run_setup(). This makes it possible to use $CVSROOT - (or indeed ~user or any other user-specified variable) to specify - pathnames for programs not installed in the normal execution path. - -Sun May 26 21:57:09 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (start_server): Don't include %s in error message; - there is no argument to go with it. Do include "internal error" - in error message since that might not be clear to the user otherwise. - -Sun May 26 11:58:13 1996 Greg A. Woods <woods@most.weird.com> - - * root.c (set_local_cvsroot): enforce a wee bit of portability - (parse_cvsroot): same.... - (DEBUG main): same, plus style guidelines - (DEBUG error): deleted -- not necessary here (use fprintf instead) - - * mkmodules.c (modules_contents): updated notes about what must be - done if you change any of the options for a module. - (loginfo_contents): fixed grammar, re-pargraphed, and added 'echo - %s;' to the example. - (editinfo_contents): minor grammar fix. - -Sun May 26 17:51:18 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * vers_ts.c (Version_TS): Remove case where we get options from - sdtp->options. Whatever case that was intended to handle is - probably lost in the mists of time, but sdtp->options isn't set - anywhere, and I think that has been true for a long time. - * cvs.h (struct stickydirtag): remove options field. - * entries.c (freesdt): Don't free ->options. - * sanity.sh (binfiles): New tests binfiles-13a* test for above fix. - - * tag.c (check_fileproc): Use fullname not file in error message. - Say "locally modified" not "up-to-date"; the file need not match - the head revision it only need match some revision. - -Sun May 26 16:57:02 1996 Norbert Kiesel <nk@col.sw-ley.de> - - * tag.c: added support for new option -c to make sure all tagged - files are up-to-date - (tag): check for option and set check_uptodate - (check_fileproc): check status of file if check_uptodate is set - -Sat May 25 15:22:26 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * main.c (main): Revert change to look for a -H command option; - command option parsing should be up to each subcommand and the -H - global option works fine. - -Mon May 23 1996 Ian Lance Taylor <ian@cygnus.com> - - * client.c (process_prune_candidates): Set prune_candidates to - NULL at the end of the function. - -Mon May 23 1996 Ian Lance Taylor <ian@cygnus.com> - - * checkout.c (checkout): In code to handle multiple arguments, - pass preload_update_dir, not where, to Create_Admin. - (checkout_proc): Pass preload_update_dir, not where, to - Create_Admin. - -Thu May 23 19:14:35 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * server.c (server_set_sticky): Assert that update_dir != NULL. - * sanity.sh (basicb): New test; tests for Ian's fix to checkout.c - above. - -Thu May 23 1996 Ian Lance Taylor <ian@cygnus.com> - - * patch.c (patch_fileproc): Don't ignore a file just because it is - in the Attic directory. - -Thu May 23 10:40:24 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (death): New tests death-{72a,76a0,76a1} test for bug - fixed by Ian's patch_fileproc change above. - - * sanity.sh (death): Remove "temporary hack" in test 89. - - * rcs.c (RCS_fast_checkout): If error closing file, and workfile - is NULL, use sout in error message instead of workfile. - -Thu May 23 1996 Ian Lance Taylor <ian@cygnus.com> - - * rcs.c (RCS_fast_checkout): Do a fast checkout in the case where - workfile is NULL and sout is a file name. - -Wed May 22 19:06:23 1996 Mark Immel <immel@centerline.com> - - * update.c (checkout_file): New arg resurrecting_out, to provide - resurrecting flag to caller. - (join_file): New arg resurrecting. Register with "0" if we are - the server and are resurrecting. - (update_fileproc): Pass the flag from checkout_file to join_file. - -Wed May 22 19:06:23 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (death): Test for above fix, in test 89 and new test 89a. - -Tue May 21 09:49:04 1996 Greg A. Woods <woods@most.weird.com> - - * update.c (update_usage): oops -- fix my spelling typo. - -Mon May 20 10:53:14 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * commit.c (find_fileproc): Call freevers_ts. - - * commit.c (find_*): Keep an ignlist, like update.c and client.c do. - * commit.c (commit): Process the files from the ignlists, once we - are connected to the server. - * sanity.sh (ignore): New tests 189e and 189f test for new - commit.c behavior (and client.c behavior, which is unchanged). - * sanity.sh (conflicts): Remove dir1 and sdir in parts of the test - where we aren't prepared for "? dir1" and similar output. - -Mon May 20 13:23:36 1996 Greg A. Woods <woods@most.weird.com> - - * main.c (cmd_usage): minor corrections to descriptions of status, - rtag, tag, and rdiff. Sort alphabetically by command name. - -Mon May 20 10:36:07 1996 Ian Lance Taylor <ian@cygnus.com> - - * client.c (call_in_directory): Move the call to Entries_Close - before the call to chdir, since Entries_Close examines files in - the current directory. - -Fri May 17 12:13:09 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (start_tcp_server, start_server, start_rsh_server, - read_line, filter_through_gzip, filter_through_gunzip, - call_in_directory): Reindent as needed. - - * main.c (main): Add missing #endif. Use indentation to indicate - nesting. - -Thu May 16 17:15:01 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * main.c (cmd_usage): Add "init" command. - -Thu May 16 16:45:51 1996 Noel Cragg <noel@gargle.rain.org> - - * client.c (start_tcp_server): Error message modified to tell the - user to use ":server:" instead of setting CVS_CLIENT_PORT to a - negative number. - - * main.c (main): Add #ifdefs for turning off buffering of - stdio/stderr, so we don't get it by default. - -Thu May 16 01:29:47 1996 noel <noel@BOAT_ANCHOR> - - * commit.c (commit_filesdoneproc): Print the repository and root - directories as part of the error message. - - * main.c (main): Don't buffer stdout or stderr. It's inefficient, - but it then produces the right output for sanity.sh. - -Thu May 16 09:44:47 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * fileattr.c (fileattr_set): In the case where we are about to - call delproc, don't free ->data; delproc does that. - * sanity.sh (devcom): New tests devcom-b* test for this fix. - - * sanity.sh (conflicts): Remove redundant clean up from previous - tests at the beginning of the test. Use dotest a few more places. - (conflicts2): New test, tests for Ian's fix to Classify_File. - - * client.c (remove_entry_and_file): Add comment about - existence_error's. - -Sat May 16 1996 Ian Lance Taylor <ian@cygnus.com> - - * update.c (update_dirleave_proc): Don't try to chdir .. and check - for an empty directory if there is a slash in the directory name. - -Thu May 16 09:02:59 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (deep): New tests deep-4a* test for Ian's fix to - update_dirleave_proc. - -Sat May 16 1996 Ian Lance Taylor <ian@cygnus.com> - - * main.c (main_cleanup): Report signal name before dying. - -Wed May 15 23:47:59 1996 Noel Cragg <noel@gargle.rain.org> - - * main.c (usg): revert usage strings for `-H' flag change. - -Sat May 15 1996 Ian Lance Taylor <ian@cygnus.com> - - * server.c (serve_static_directory): Return immediately if there - is a pending error. - (serve_sticky): Likewise. - (serve_modified): Read the file data even if there is a pending - error. - -Wed May 15 14:26:32 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * main.c (main): If -d and CVS/Root both specified, after writing - the value from -d into CVS/Root, use the value from -d, not the - old value from CVS/Root. Don't write CVS/Root with value from -d - until we have verified that it works. - * sanity.sh: Reenable test basica-9 and adjust for new behavior. - -Tue May 14 1996 Jim Kingdon <kingdon@cyclic.com> - - * logmsg.c (do_editor): If user aborts the commit, still remove the - temporary file. - -Tue May 14 11:45:41 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * filesubr.c, cvs.h (cvs_temp_name): New function. Move L_tmpnam - define from cvs.h to filesubr.c. - * client.c, diff.c, import.c, login.c, logmsg.c, no_diff.c, - patch.c, wrapper.c: Call cvs_temp_name not tmpnam. - * login.c (login): Reindent function. - -Tue May 14 10:56:56 1996 Ian Lance Taylor <ian@cygnus.com> - - * rcs.c (RCS_fast_checkout): If workfile is NULL, don't call chmod. - -Mon May 13 10:52:10 1996 Greg A. Woods <woods@most.weird.com> - - * checkout.c (export_usage): note which options cause a sticky - version to be set, and which option avoids this. - * update.c (update_usage): likewise - -Sat May 11 18:57:07 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh: Comment out test basica-9 until I get around to - actually fixing it (the -d vs. CVS/Root change broke it). - -Fri May 10 09:39:49 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * main.c (main): -d now overrides CVS/Root. - -Thu May 9 19:45:24 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * main.c: Remove comment listing commands at beginning. It was - out of date and redundant with the help. - -Thu May 9 09:33:55 1996 Greg A. Woods <woods@most.weird.com> - - * main.c: add 'init' to opening comment listing commands - - * mkmodules.c (init): fix to recognize argc==-1 as hint to call - usage() [should make "cvs init -H" work as expected] - -Wed May 8 15:02:49 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh: Set EXPR in the case that the expr in the path is the - one that we want. - -Wed May 8 14:06:24 1996 Greg A. Woods <woods@most.weird.com> - - * sanity.sh (test): - convert all '[' to test ala GCD - -Wed May 8 13:46:56 1996 Greg A. Woods <woods@most.weird.com> - - * sanity.sh (expr): - make a valiant attempt to find GNU expr - - Patch from Larry Jones: - sanity test deep-4 failed with "expr: arg list too long" - sanity test 56 failed because the stderr and stdout output was not - interleaved as expected. - sanity test modules-155a4 failed with "ls: illegal option -- 1" - - * main.c (main): - Patch from Larry Jones for SysV setvbuf - -Tue May 7 16:41:16 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * version.c: Increment version number to 1.8.2 to work around fact - that CVS 1.8 (confusingly) calls itself 1.8.1 not 1.8. - -Tue May 7 10:44:20 MET DST 1996 Norbert Kiesel <nk@col.sw-ley.de> - - * rcs.c (rcsvers_delproc): fix memory leak by freeing author - field. - -Mon May 6 10:40:05 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (conflicts): New test conflicts-126.5 tests for bug - which Ian fixed May 5 in update.c - -Mon May 6 06:00:10 1996 Benjamin J. Lee <benjamin@cyclic.com> - - * Version 1.8.1 - -Sun May 5 21:39:02 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * vers_ts.c (Version_TS): If sdtp is NULL, go ahead and check - RCS_getexpand for options. Fixes binaries and non-unix clients. - * sanity.sh: Fix binfiles-5.5 to test for the correct behavior - rather than the buggy behavior which existed when the binfiles-5.5 - test was written. - (binfiles-14c,binfiles-14f): Likewise. - -Sun May 5 17:38:21 1996 Benjamin J. Lee <benjamin@cyclic.com> - - Integrated changes submitted by Ian Taylor <ian@cygnus.com> - - * update.c (update_dirent_proc): cvs co -p doesn't print - anything when run from an empty directory. - - * import.c (import_descend_dir): Check for a file in the - repository which will be checked out to the same name as the - directory. - -Sat May 4 12:33:02 1996 Ian Lance Taylor <ian@cygnus.com> - - Extract the head revision directly from the RCS file when - possible, rather than execing co. - * rcs.c (RCS_reparsercsfile): Set delta_pos field. - (getrcskey): Add lenp parameter. Change all callers. - (RCS_fast_checkout): New function. - (annotate_fileproc): If PARTIAL is not set, just fseek to - delta_pos. - * rcs.h (struct rcsnode): Add delta_pos field. - (RCS_fast_checkout): Declare. - * diff.c (diff_file_nodiff): Call RCS_fast_checkout rather than - RCS_checkout. - * import.c (update_rcs_file): Likewise. - * no_diff.c (No_Difference): Likewise. - * patch.c (patch_fileproc): Likewise. - * update.c (checkout_file): Likewise. - (patch_file): Likewise. - (join_file): Likewise. - -Sat May 4 12:33:02 1996 Ian Lance Taylor <ian@cygnus.com> - - * classify.c (Classify_File): Don't report a conflict for a - pending remove if somebody else has already removed the file. - -Thu May 2 13:34:37 1996 Benjamin J. Lee <benjamin@cyclic.com> - - * Version 1.7.88 - -Thu May 2 01:40:55 1996 Benjamin J. Lee <benjamin@cyclic.com> - - * server.c (HAVE_INITGROUPS): Use initgroups() only if - located by configure, in the event a system has crypt(), but - no initgroups() - -Wed May 01 21:08:21 1996 noel <noel@BOAT_ANCHOR> - - * client.c (filter_through_gunzip): use "gzip -d" instead of - "gunzip," since there's no good reason (on NT at least) to have an - extra copy of gzip.exe copied to gunzip.exe (Arrrrgh! No symbolic - links!). - - * mkmodules.c (init): check to see that we have the correct number - of arguments or print out the usage message (used to be argc > 1, - should be argc != 1, because help forces argc == -1 as a special - case). - -Wed May 1 18:05:02 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (basica): When testing rejection of reserved tag name, - use BASE instead of RESERVED. - -Wed May 1 15:15:11 1996 Tom Jarmolowski <tjj@booklink.com> - - * rcs.c (linevector_delete): Only copy up to vec->nlines - nlines, - not to vec->nlines. - -Wed May 1 15:43:21 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcscmds.c (RCS_settag): Instead of reserving all tag names - containing only uppercase letters, reserve only BASE and HEAD. - * sanity.sh (mflag): Revert 26 Mar change; use all-uppercase tag - name again. - -Wed May 1 15:15:11 1996 Tom Jarmolowski <tjj@booklink.com> - - * rcs.c (linevector_add): Move increment of i out of larger - statement, to avoid assumptions about evaluation order. - -Tue Apr 30 15:46:03 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * Version 1.7.87. - - * server.c (check_password): Don't use ANSI string concatenation. - Reindent function. - -Mon Apr 29 10:48:38 1996 Noel Cragg <noel@gargle> - - * root.c (parse_cvsroot): removed "rsh" as an alias to "server" in - the method section. - - * main.c (main): new variable help so we can support the `cvs -H - cmd' convention. Reverts change of 26 Apr 96 which removed this - feature. - -Sun Apr 28 14:57:38 1996 Noel Cragg <noel@gargle> - - * main.c (main): update error message if parse_cvsroot fails. - * server.c (serve_root): same. - (serve_init): same. - - * client.c (start_tcp_server): get rid of the "fall through" - stuff, now that we have access methods. - (start_server): switch off the access method to choose routine - that starts the server. - (start_tcp_server): tofd wasn't getting set to -1 early enough, - because a call to error for bind or gethostbyname might fail and - the subsequent error check to see if the connection had been made - would fail. - - * root.c: new variable method_names for error reporting purposes. - -Sun Apr 28 17:22:15 1996 Noel Cragg <noel@occs.cs.oberlin.edu> - - * server.c: moved kerberos #includes from main.c for the - kserver_authenticate_connection routine. - -Fri Apr 26 07:59:44 1996 Noel Cragg <noel@gargle> - - * server.c (serve_init): use the new return value from - parse_cvsroot. - (serve_root): same. - * main.c (main): same. - - * root.c (parse_cvsroot): fix indentation, add a return value - which tells whether the command succeeded or failed. - - * main.c (main): move the setting of the UMASK environment - variable inside the stuff that gets done if the user is NOT asking - for help, so we don't signal any errors prematurely (don't want to - give an error because we can't parse an environment variable - correctly if the user asks for help). Similar mods for the code - that tries to get the working directory. - - Also make CVSADM_Root a local variable instead of a global, since - its scope is only about 20 lines here! - - * server.c (kserver_authenticate_connection): moved code from - main.c to clean up MAIN. Makes sense, since we already have a - pserver_authenticate_connection. - (pserver_authenticate_connection): rename from - authenticate_connection. - - * main.c (main): reorganized the routine to eliminate variables - help, help_commands, and version_flag. Now the routine is much - clearer, since we don't have to be checking to see if these - variables are set. One behavior that was a bug/feature which is - now gone is an invocation like "cvs -H rtag" -- previously this - would give usage for rtag, but now gives usage for cvs itself. - The first behavior didn't make sense, especially since we say in - the docs that command-line flags are position-specific. *Reverted - Above* - -Thu Apr 25 20:05:10 1996 Noel Cragg <noel@gargle> - - * main.c (main): make sure we have a valid command name before we - do anything else (moved the thing that looks for a command in CMDS - to right after the GETOPT loop). Added `kserver' and `pserver' to - the table so they will be recognized; set their functions to - SERVER so that help will be given when asked for. - - * expand_path.c (expand_variable): return CVSroot_original rather - than CVSroot_directory. - - * main.c (main): save CVSroot in the env rather than - CVSroot_original, since we might not have called PARSE_CVSROOT - (this can happen if we use the -H option to a command). - - * root.c (parse_cvsroot): the parsing method was bogus for - guessing when we had hostnames vs. directories specified. Any - ambiguity should be removed by having the user specify the access - method. If the access method isn't specified, choose - server_method if the string contains a colon or local_method - otherwise. - - * Changed CVSroot_remote back to client_active since the code - reads better. - -Wed Apr 24 17:27:53 1996 Norbert Kiesel <nk@col.sw-ley.de> - - * vers_ts.c (Version_TS): xmalloc enough space (1 more - byte). Thanks to purify! - -Mon Apr 22 00:38:08 1996 Noel Cragg <noel@gargle> - - * create_adm.c (Create_Admin): pass CVSroot_original instead of - CVSroot_directory (oops!). - * update.c (update_filesdone_proc): same. - - * server.c (serve_root): modify to use parse_cvsroot rather than - goofing around with other variables. Will need to fix - parse_cvsroot to have a return value so we can return an error and - quit gracefully if in server mode. - (serve_init): same. - - * main.c: modify command table to remove client_* routines, since - they no longer exist. - (main): don't try to switch off non-existent field in command - table! ;-) - - * client.h (client_*): removed prototypes for now non-existent - functions. - - * client.c: remove proto for get_cvs_password, since it is now in - cvs.h. Modify routines to use new globals that describe CVSROOT - rather than client_active, server_host, server_user, and - server_cvsroot. - (parse_cvsroot): removed function, since a more generic version - now lives in root.c. - (connect_to_pserver): remove call to parse_cvsroot, since main.c - has already done it for us. - (client_*): removed all of these routines, since they only call - parse_cvsroot and then their respective operation functions. - Since main.c has already called parse_cvsroot, we shouldn't bother - with the extra function call, since client-server diffs are - already handled in the core routines themselves. - - * main.c: remove CVSroot as a global variable. Remove - use_authenticating_server variable since we have a new - `CVSroot_method' variable instead. - (main): add `CVSroot' as a local variable. Call parse_cvsroot - after we're sure we have the right setting for `CVSroot.' - - * login.c (login): update to use new global variables. Instead of - old behavior which let the user type in user@host when prompted, - it makes them do it in CVSROOT proper. The routine still lets the - user type the password, however. - (get_cvs_password): make sure that CVSROOT is fully qualified - before trying to find the entry in the .cvspass file. - * cvs.h: add prototype for get_cvs_password. - - * add.c: use new globals that describe CVSROOT. - * admin.c: same. - * checkout.c: same. - * commit.c: same. - * create_adm.c: same. - * diff.c: same. - * edit.c: same. - * expand_path.c: same. - * history.c: same. - * ignore.c: same. - * import.c: same. - * log.c: same. - * mkmodules.c: same. - * modules.c: same. - * parseinfo.c: same. - * patch.c: same. - * rcs.c: same. - * recurse.c: same. - * release.c: same. - * remove.c: same. - * repos.c: same. - * rtag.c: same. - * status.c: same. - * tag.c: same. - * update.c: same. - * watch.c: same. - * wrapper.c: same. - - * root.c (Name_Root): remove error message that reports missing - CVSROOT, since new code in main.c will catch it and also print out - an error. - (parse_cvsroot): new function -- takes a CVSROOT string and breaks - it up into its component parts -- method, hostname, username, and - repository directory. Sets new global variables that describe the - repository location more precisely: CVSroot_original, - CVSroot_remote, CVSroot_method, CVSroot_username, - CVSroot_hostname, CVSroot_directory for use by all other - functions. Checks for obvious errors in format of string. - (main): a short routine to test parse_cvsroot from the command - line. - * cvs.h: add prototype for parse_cvsroot and extern definitions - for new globals. - - * cvs.h: removed CVSroot variable, since we don't want other - routines using the raw CVSROOT (also helped to find all of the - refs to the variable!). - -Fri Apr 19 11:22:35 1996 Benjamin J. Lee <benjamin@cyclic.com> - - * Version 1.7.86 - -Thu Apr 18 1996 Jim Kingdon <kingdon@cyclic.com> - - * client.c (try_read_from_server): Compare return value from fwrite - with a size_t not an int (Visual C++ lint). - -Wed Apr 17 11:56:32 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (try_read_from_server): New function. - (read_from_server): Use it. - (read_counted_file): New function. - * client.c, server.c: Add Template response. - * cvs.h (CVSADM_TEMPLATE): Added. - * logmsg.c (do_editor): If repository is NULL, use CVSADM_TEMPLATE - file in place of rcsinfo. - * server.c, server.h (server_template): New function. - * create_adm.c (Create_Admin): Call it. - -Tue Apr 16 13:56:06 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * repos.c (Name_Repository): Fix comments. - * create_adm.c (Create_Admin): Fix indentation. - -Wed Apr 10 16:46:54 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * options.h.in: Include relevant information here rather than - citing (former) FAQ. - - * ChangeLog-9395: Fix typo in introductory paragraph. - -Wed Apr 10 14:55:10 1996 code by Mike Spengler mks@msc.edu - comments by Jim Kingdon <kingdon@harvey.cyclic.com> - - * filesubr.c (unlink_file_dir,deep_remove_dir): Don't call unlink - on something which might be a directory; check using isdir instead. - -Wed Apr 10 14:55:10 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * checkout.c (build_dirs_and_chdir): Pass path, not cp, to - Create_Admin. The former is the correct update dir. - * sanity.sh (modules): New tests modules-155* test, for above fix. - -Mon Apr 8 13:53:27 1996 Samuel Tardieu <sam@inf.enst.fr> - - * rcs.c (annotate_fileproc): If the file is not under CVS control, - return instead of dumping a core. Don't bug on files with an empty - first revision. - -Fri Mar 29 16:08:28 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcs.c (annotate_fileproc): If last line of add-chunk is not - newline terminated, end the loop when we find that out. - -Fri Mar 29 16:59:34 1996 Norbert Kiesel <nk@col.sw-ley.de> - - * rcs.c (annotate_fileproc): allow last line of add-chunk not to - be newline terminated - -Thu Mar 28 10:56:36 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - Add more diff tests: - * sanity.sh (basic2): Use dotest for test 61. - (basica): Add test basica-6.2. - (branches): Add tests branches-14.4 and branches-14.5. - (basic1): Remove tests 19, 20, 25, and 26. The only thing this - might miss out on is diff's interaction with added and removed - files, but those tests didn't test that very well anyway. - - * rcs.c (RCS_getrevtime): Add comment regarding years after 1999. - - * rcs.c: Add "cvs annotate" command and related code. - (getrcskey): Move special handling of RCSDESC from here to - callers. Handle those keys (desc, log, text) which do not - end in a semicolon. - * rcs.h (RCSVers): Add author field. - * rcs.c (RCS_reparsercsfile): Set it. - * cvs.h (annotate), main.c (cmd_usage, cmds), client.h client.c - (client_annotate), server.c (serve_annotate, requests): Usual - machinery to add a new command. - * sanity.sh (basica): Test cvs annotate. - - * sanity.sh (branches): More tests, of things like adding files on - the trunk after a branch has been made. - -Tue Mar 26 09:48:49 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * expand_path.c: Don't declare free and xmalloc; cvs.h already - takes care of that. - - * sanity.sh (mflag): Don't use tag name reserved to CVS. - - NT local changes plus miscellaneous things noticed in the process: - * import.c (add_rcs_file): Use binary mode to write RCS file. Use - \012 where linefeed is intended. Copy data a small block at a - time, until we hit EOF, rather than trying to read the whole file - into memory at once. - * client.c (send_modified): Add comments regarding st_size. - * commit.c (commit): Add comments regarding binary mode and read(). - * logmsg.c (do_editor): Add comments regarding st_size. - * server.c (server_updated): Use binary mode to read file we are - sending. - - * rcscmds.c (RCS_settag): Complain if user tries to add a tag name - reserved to CVS. - * sanity.sh (basica): Test for this behavior. - - * sanity.sh (binfiles): New tests test ability to change keyword - expansion. - -Mon Mar 25 1996 Jim Kingdon <kingdon@cyclic.com> - - * cvs.h, filesubr.c (expand_wild): New function. - * recurse.c (start_recursion): Call expand_wild at beginning and - free its results at the end. - * cvs.h, subr.c (xrealloc): Make argument and return value void *. - * client.h, client.c (send_file_names): Add flags argument. If - SEND_EXPAND_WILD flag is passed, call expand_wild at beginning and - free its results at the end. - * admin.c, add.c, log.c, tag.c, status.c, edit.c, watch.c, - update.c, commit.c, remove.c, client.c, diff.c: Update callers. - -Fri Mar 22 10:09:55 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * error.c (error, fperror): Exit with status EXIT_FAILURE rather - than STATUS. We had been neglecting to check for 256, and the - value of providing a count of errors is probably minimal anyway. - * add.c, modules.c, mkmodules.c, tag.c, server.c, main.c, - import.c, client.c, scramble.c, recurse.c: Exit with status - EXIT_FAILURE rather than 1. On VMS, 1 is success, not failure. - * main.c (main): Return EXIT_FAILURE or 0. The value of providing - a count of errors is minimal. - - * client.c (init_sockaddr): Exit with status 1 rather than - EXIT_FAILURE. The latter apparently doesn't exist on SunOS4. - Reindent function. - -Mon Mar 18 14:28:00 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * cvs.h, ignore.c: New variable ign_case. - * ignore.c (ign_name): If it is set, match in a case-insensitive - fashion. - * server.c (serve_case): New function. - (requests): Add Case request. - * client.c (start_server): If FILENAMES_CASE_INSENSITIVE is - defined, send Case request. - -Sat Mar 16 08:20:01 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - For reference, this change takes cvs's text segment from 315392 - bytes to 311296 bytes (one 4096 byte page). - * cvs.h (struct file_info): Add fullname field. - * recurse.c (do_file_proc): Set it. - * commit.c (find_fileproc), client.c (send_fileproc), commit.c - (check_fileproc), diff.c (diff_fileproc), edit.c - (unedit_fileproc), patch.c (patch_fileproc), remove.c - (remove_fileproc), rtag.c (rtag_fileproc), tag.c (tag_fileproc), - update.c (update_fileproc), watch.c (watchers_fileproc): Use it - instead of computing it each time. - * diff.c (diff_fileproc), remove.c (remove_fileproc): Use fullname - where we had been (bogusly) omitting the directory from user - messages. - * edit.c (unedit_fileproc, edit_fileproc): If we cannot close - CVSADM_NOTIFY, mention CVSADM_NOTIFY rather than finfo->file in - error message. - * rtag.c (rtag_fileproc), tag.c (tag_fileproc): Reindent. - -Fri Mar 15 15:12:11 1996 Norbert Kiesel <nk@col.sw-ley.de> - - * server.h: fix prototype of server_pause_check (was - server_check_pause) - -Thu Mar 14 1996 Jim Kingdon <kingdon@cyclic.com> - - * vers_ts.c (Version_TS), entries.c (Scratch_Entry, AddEntryNode): - Change findnode to findnode_fn. - - * main.c: Depending on HAVE_WINSOCK_H, include winsock.h or - declare gethostname. - * cvs.h: Don't declare it here. - -Thu Mar 14 07:06:59 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * commit.c (find_fileproc): If vn_user is NULL and ts_user is not, - print an error rather than silently succeeding. - * sanity.sh (basica-notadded): New test, for above fix. - (dotest_internal): New function. - (dotest,dotest_fail): Call it instead of duplicating code between - these two functions. - - * sanity.sh: Skip tests binfiles-9 through binfiles-13 for remote. - - * options.h.in: Adjust comment to reflect kfogel change. - -Thu Mar 14 01:38:30 1996 Karl Fogel <kfogel@floss.red-bean.com> - - * options.h.in (AUTH_CLIENT_SUPPORT): turn on by default. - -Wed Mar 13 09:25:56 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * vers_ts.c (Version_TS): Don't try to override options from rcs - file if there isn't an rcs file (e.g. called from send_fileproc). - This fixes a bug detected by test 59 in "make remotecheck". - - * rcs.c (RCS_reparsercsfile, RCS_getexpand): Assert that argument - is not NULL. - - Fix a gcc -Wall warning: - * rcs.c, rcs.h (RCS_getexpand): New function. - * vers_ts.c (Version_TS): Call it. - * rcs.c (RCS_reparsercsfile): Make static. - - Add a "cvs init" command. This is needed because cvsinit.sh - invoked mkmodules which doesn't exist any more. - * mkmodules.c: Break filelist out of mkmodules function, rename - struct _checkout_file to struct admin_file (for namespace - correctness), and add contents field. - (init,mkdir_if_needed): New functions. - * cvs.h (init): Declare. - * main.c (cmds): Add init. - (main): If command is init, don't require cvsroot to exist. - * client.c, client.h (client_init, send_init_command): New functions. - * client.c (start_server): Don't send Root request if command is init. - * server.c (serve_init): New function. - (requests): Add "init". - -Wed Mar 13 09:51:03 MET 1996 Norbert Kiesel <nk@col.sw-ley.de> - - * vers_ts.c (Version_TS): set options to default option if the - file if no -k option but -A was given. This avoids the (wrong) - update message for binary files which are up-to-date when - running 'cvs -A'. - - * update.c (checkout_file): remove test of -k option stored in the - file itself because it was moved to vers_ts.c - - * sanity.sh: added tests for the above fix. - -Tue Mar 12 13:47:09 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * hash.c (findnode): Adjust comment regarding errors. - - * hash.c (findnode, findnode_fn): Assert that key != NULL. This - way the check still happens even if the function is later - rewritten to not start out by calling hashp. - -Mon Mar 11 10:21:05 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh: If expr accepts multi-line patterns but is too - liberal in matching them, print a warning but keep going. - - * sanity.sh: Add QUESTION variable, analogous to PLUS. Use it - instead of \? to match a question mark. - - * cvs.h (CVSMODULE_OPTS, CVSMODULE_SPEC): Move from here... - * modules.c: ...to here. They are only used here and the code to - handle the syntax of modules files should not be scattered all over. - * modules.c (CVSMODULE_OPTS): Add "+" as first character. - * sanity.sh (modules): New tests 148a0 and 148a1 test for - above-fixed bug. - -Mon Mar 11 13:11:04 1996 Samuel Tardieu <sam@inf.enst.fr> - - * modules.c (cat_module): set optind to 0 to force getopt() to - reinitialize its internal nextchar - -Mon Mar 11 00:09:14 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * hash.c (findnode, findnode_fn): Revert changes of 7-8 Mar 1996. - The correct style is to assert() that key != NULL (see HACKING), - which is already done in the hashp function. - * fileattr.c (fileattr_delproc): Likewise, assert() that - node->data != NULL rather than trying to deal with it being NULL. - -Fri Mar 8 01:31:04 1996 Greg A. Woods <woods@most.weird.com> - - * hash.c (findnode_fn): one more place to avoid calling hashp() - with a NULL key - -Thu Mar 7 17:30:01 1996 Greg A. Woods <woods@most.weird.com> - - * hash.c (findnode): also return NULL if key is not set - [[ reported by Chris_Eich@optilink.optilink.dsccc.com, and - supposedly in a PR that should be marked "fixed"..... ]] - - * fileattr.c (fileattr_set): set node->data to NULL after freeing - it to prevent subsequent accesses - (fileattr_delproc): don't free node->data if it's NULL, and set it - to NULL after freeing - [[ reported by Chris_Eich@optilink.optilink.dsccc.com, and - supposedly in a PR that should be marked "fixed"..... ]] - -Fri Mar 1 14:56:08 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (basica): New test basica-4a tests for bug fixed by - sam@inf.enst.fr on 1 Mar 96. - -Fri Mar 1 18:10:49 1996 Samuel Tardieu <sam@inf.enst.fr> - - * tag.c (check_fileproc): Check for file existence before trying - to tag it. - -Fri Mar 1 07:51:29 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (update_entries): If command is export, set options to - NULL. - -Thu Feb 29 16:54:14 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * lock.c (write_lock, Reader_Lock): Remove - BOGUS_UNLESS_PROVEN_OTHERWISE code. It was pretty bogus, and has - been ifdeffed out for a long time. - * cvs.h (CVSTFL): Removed; no longer used. - - * cvsrc.c, cvs.h (read_cvsrc): Pass in command name rather than - using global variable command_name. - * main.c (command_name): Initialize to "", not "cvs" so that error - messages don't say "cvs cvs". Update calls to read_cvsrc to pass - in command_name or "cvs" as appropriate. - * sanity.sh (basica): New test basica-9 tests for above-fixed bug. - - * lock.c: Rename unlock to lock_simple_remove to avoid conflict - with builtin function on QNX. - -Thu Feb 29 17:02:22 1996 Samuel Tardieu <sam@inf.enst.fr> - - * fileattr.c (fileattr_get): Removed NULL pointer dereference - which occurred in the absence of default attribute. - -Thu Feb 29 07:36:57 1996 J.T. Conklin <jtc@rtl.cygnus.com> - - * rcs.c (RCS_isbranch, RCS_whatbranch): Remove no longer used file - argument, swap order of remaining two arguments to be like other - RCS_* functions. - (RCS_nodeisbranch): swap order of arguments to be like other RCS_* - functions. - * rcs.h (RCS_isbranch, RCS_whatbranch, RCS_nodeisbranch): Update - prototypes for above changes. - * commit.c, rtag.c, status.c, tag.c: Update for above calling - convention changes. - -Thu Feb 29 08:39:03 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (start_server): Revert changes which claimed to fall - back to a different way of connecting. Add comments explaining - why. (I don't think the changes did what they claimed, anyway). - Use indentation rather than comments to line up #if, #else, and - #endif. - - * patch.c (patch, patch_fileproc): Revert change to add optional - arguments to -c and -u. Optional arguments are evil and in - violation of the POSIX argument syntax guidelines. The correct - way to do this is -C and -U. Also change DIFF back to "diff" in - output (see comments). - - gcc -Wall lint: - * client.c (copy_a_file): Declare p inside the #ifdef in which is - it used. - * commit.c (remove_file): Remove unused variable p. - * commit.c (checkaddfile): Remove unused variables p. - * rcs.c (RCS_isbranch): Remove unused variable p. - * rcs.c: Remove unused declarations and definitions of - parse_rcs_proc, rcsnode_delproc, rcslist, and repository. - * rtag.c (rtag_fileproc): Remove unused variable p. - * patch.c (patch_fileproc): Remove unused variable p. - * tag.c (val_fileproc): Remove unused variable node. - * client.c, import.c, lock.c, server.c: Cast pid_t to long before - passing it to %ld. - - * cvs.h: Don't prototype gethostname; merely declare it (on linux, - second argument is size_t not int). - -Thu Feb 29 10:29:25 MET 1996 Norbert Kiesel (nk) <nk@col.sw-ley.de> - - * sanity.sh: added "cat > /dev/null" to loginfo entry to avoid the - SIGPIPE signal - -Thu Feb 29 10:28:25 MET 1996 Norbert Kiesel (nk) <nk@col.sw-ley.de> - - * patch.c: added new variable diff_opt - (patch): allow optional parameter to -c and -u option, send it to - server - (patch_fileproc): cleaned up the code which prints the current - filename. For "-s" option, print the pathname relative to CVSROOT - instead of just the filename. - - * filesubr.c (xchmod): added cast to shut up gcc - - * cvs.h: added prototype for gethostname - -Thu Feb 29 10:27:25 MET 1996 Norbert Kiesel (nk) <nk@col.sw-ley.de> - - * lock.c (write_lock), (Reader_Lock), import.c (update_rcs_file), - client.c (update_entries), (send_modified), server.c (server), - (receive_file), (server_updated): use %ld for printing pid_t - variables - -Thu Feb 29 02:22:12 1996 Benjamin J. Lee <benjamin@cyclic.com> - - * run.c (run_exec): Added VMS return status support. - -Thu Feb 29 01:07:43 1996 Benjamin J. Lee <benjamin@cyclic.com> - - * client.c (send_to_server): wrtn wasn't being declared under - VMS for some reason. - -Wed Feb 28 23:27:04 1996 Benjamin J. Lee <benjamin@cyclic.com> - - * client.c: Changed #ifdef VMS && NO_SOCKET_TO_FD to - #if defined(VMS) && defined(NO_SOCKET_TO_FD) - -Wed Feb 28 22:28:43 1996 Benjamin J. Lee <benjamin@cyclic.com> - - * build_src.com: Added DCL command procedure to build - and link CVS client for VMS. - -Wed Feb 28 22:07:20 1996 Benjamin J. Lee <benjamin@cyclic.com> - - * client.c: VMS CVS client specific changes. - - Added USE_DIRECT_TCP to allow CVS_PORT to be used to specify - a TCP connection port (no Kerberos). Changed - start_kerberos_server() to start_tcp_server(). - - In copy_a_file(): transform a backup file to have a - VMS-friendly name. - - Added HAVE_CONFIG_H to include "config.h". - - start_server() will starts the first successful of any - mutually exclusive methods of starting the CVS server - which might be enabled. - - Initialized use_socket_style and server_sock for VMS in - start_server(). - -Wed Feb 28 21:49:48 1996 Benjamin J. Lee <benjamin@cyclic.com> - - * find_names.c, recurse.c, cvs.h: Changed Find_Dirs() to - Find_Directories(). - * cvs.h: Added VMS filenames enabled through USE_VMS_FILENAMES - VMS POSIX will require to use the regular CVS filenames - while VMS is #define'd. - -Wed Feb 28 21:26:22 1996 Benjamin J. Lee <benjamin@cyclic.com> - - * ignore.c: Added the patterns *.olb *.exe _$* *$ to default - ignore list for VMS. - -Wed Feb 28 13:32:28 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * logmsg.c (do_editor): Fix indentation. - -Wed Feb 28 12:56:49 1996 Benjamin J. Lee <benjamin@cyclic.com> - - * logmsg.c (do_editor): If no editor is defined, exit and print - a message. - -Wed Feb 28 10:40:25 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * vers_ts.c (time_stamp, time_stamp_server): Reindent and revise - comments. - -Tue Feb 27 23:57:55 1996 Benjamin J. Lee <benjamin@cyclic.com> - - * vers_ts.c: gmtime() returns NULL on some systems (VMS) - revert to local time via ctime() if GMT is not avaiable. - -Tue Feb 27 13:07:45 1996 J.T. Conklin <jtc@rtl.cygnus.com> - - The changes listed below cause cvs to parse each rcs file (and - free the associated rcsnode after the file has been processed) - sequentially. cvs used to parse all files in a directory, an - approach that does not scale to huge repositories with lots - of revisions/branches/tags/etc. - - * cvs.h (struct file_info): Removed srcfiles field. Added rcs - (node) field. - * recurse.c (do_recursion): Removed code that pre-parsed all - rcs files in the directory. - (do_file_proc): Parse current rcs file. - * rcs.c (RCS_parsefiles, parse_rcs_proc, RCS_addnode): Removed. - (RCS_isbranch, RCS_whatbranch): Changed srcfiles argument to - rcs (node). - * rcs.h (RCS_parsefiles, RCS_addnode): Removed prototypes. - (RCS_isbranch, RCS_whatbranch): Updated prototypes. - * add.c, admin.c, checkin.c, checkout.c, classify.c, client.c, - commit.c, diff.c, history.c, import.c, log.c, patch.c, remove.c, - rtag.c, status.c, tag.c, update.c, vers_ts: Updated for above - calling convention / data structure changes. - -Mon Feb 26 16:07:56 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * Version 1.7.3. - - * Version 1.7.2. - -Mon Feb 26 1996 Jim Kingdon <kingdon@cyclic.com> - - * recurse.c (start_recursion): Use last_component rather than - checking for '/' directly. - (do_dir_proc): Likewise. - - Visual C++ lint: - * client.c (send_to_server): Change wrtn to size_t. - (connect_to_pserver): Put tofd and fromfd declarations inside - #ifndef NO_SOCKET_TO_FD. - * scramble.c (shifts): Change from array of char to array of - unsigned char. - -Mon Feb 26 13:31:25 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * server.c (check_repository_password): Remove unused variables - linelen, ch. - - * client.c (send_file_names): Translate ISDIRSEP characters to '/'. - -Sat Feb 24 21:25:46 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * checkout.c (safe_location): Re-indent one line. - -Sat Feb 24 10:50:42 1996 Karl Fogel <kfogel@floss.red-bean.com> - - * checkout.c (safe_location): put assignment to hardpath[x] in an - `else'-clause, so we don't do it when x == -1. - -Sat Feb 24 01:40:28 1996 Marcus Daniels <marcus@sayre.sysc.pdx.edu> - via Karl Fogel <kfogel@floss.red-bean.com> - - * server.c (check_repository_password): Return by reference an - optional username, the `host_user', from the passwd file. The - host_user will be the user-id under which the cvs repository is - run. - (check_repository_password): Use `read_line' instead of fgets to - allow for passwords larger than 32 characters, as well as the - optional host user argument. - (check_password): Modify to use host_user. - (authenticate_connection): Modify to use host_user. - -Sat Feb 24 01:05:21 1996 Karl Fogel <kfogel@floss.red-bean.com> - - * scramble.c (descramble): just shift descrambled string to get - rid of tag char, instead of allocating a whole new copy. - (scramble): cast return value of xmalloc to avoid unsightly - compiler warnings. - - * options.h.in (RCSBIN_DFLT): don't refer to AUTH_SERVER_SUPPORT - in comment anymore, now that it's not defined in this file. - -Fri Feb 23 1996 Jim Kingdon <kingdon@cyclic.com> - - * client.c: Ifdef HAVE_WINSOCK_H, include winsock.h - instead of sys/socket.h and friends. - * login.c: Don't include sys/socket.h and friends. - * login.c (login): Only fclose fp in the case where it was - successfully fopen'd. - * login.c: Declare getpass. - * filesubr.c, cvs.h (get_homedir): New function. - * cvsrc.c, expand_path.c, history.c, login.c: Call it instead - of getenv ("HOME"). - -Fri Feb 23 09:23:20 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (connect_to_pserver): Remove unused variable host. - * login.c: Include getline.h. - (login): Remove unused variables i and username. - (get_cvs_password): Move free of linebuf to where it actually will - be called. Add a "return NULL" at the end of the function to shut - up gcc -Wall. - - * options.h.in: Remove AUTH_SERVER_SUPPORT. - * client.h (authenticate_connection): Declare. - * scramble.c (scramble): Cast char to unsigned char before using - it to look up in table (char might be signed). - * server.c [AUTH_SERVER_SUPPORT]: Include grp.h - (authenticate_connection): Remove unused variables len and - server_user. - - * sanity.sh (basica): Add comments regarding creating a top-level - directory. - (basic1): Don't try to remove first-dir and - ${CVSROOT_DIRNAME}/first-dir at start of test; tests are now - responsible for cleaning up at the end. - (PLUS,DOTSTAR,ENDANCHOR): Add comments regarding fixed GNU expr. - -Thu Feb 22 22:34:11 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * cvs.h: Remove alloca cruft. - -Wed Feb 21 07:30:16 1996 J.T. Conklin <jtc@rtl.cygnus.com> - - * modules.c (do_module): call free_cwd before exiting. - - * recurse.c: Removed entries global variable. - (do_recursion): Declare entries. Moved call to Entries_Close so - entries list is closed on all code paths. - (start_recursion): Removed call to Entries_Close, entries list has - been moved to do_recursion only. - -Tue Feb 20 22:10:05 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * update.c (update_dirent_proc): If dir lacks a CVS subdirectory, - don't recurse into it. - * sanity.sh (conflicts): Test for above-fixed bug. - - * update.c (merge_file): Use write_letter not printf. - -Tue Feb 20 12:34:07 EST 1996: Gary Oberbrunner <garyo@avs.com> - and Jim Kingdon <kingdon@cyclic.com> - - * history.c (history_write): Change username to char * and call - getcaller() to set it. Setting username accidentally got deleted - 8 Feb 96. - * sanity.sh: Revise test 64 to test for above-fixed bug. - * sanity.sh (PLUS): New variable, work around yet another GNU expr - bug. - -Tue Feb 20 14:07:50 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh: Merge test rtags into test basic2. They never were - capable of running separately of each other. - - * sanity.sh (deep): New test, to test ability to operate in deeply - nested directories (more quickly than basic2 test did). - (basic2,rtags): Remove directories dir3 and dir4. Remove file8, - file10, file12, file9, file11, file13, file15, file16, file17. - These additional files slowed down the tests considerably without - significantly increasing coverage. - - * sanity.sh (PROG): New variable. Use it instead of "cvs" - to match the name cvs prints out for itself. - -Mon Feb 19 09:00:29 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - This fixes a bug whereby old default attributes would get - clobbered instead of added to on "cvs watch add". - * hash.c (findnode): Don't check for key == NULL; let the - assertion in hashp take care of it. - * fileattr.h, fileattr.c (fileattr_get): If filename is NULL, - return default attributes. - - * client.c (send_repository): Fix indentation. - -Mon Feb 19 01:10:01 1996 Karl Fogel <kfogel@floss.red-bean.com> - - * login.c (login): print out full repos so user knows which server - she's logging into. - - * client.c (send_repository): die if `repos' is NULL. This is a - lame solution; see comments in code. - -Thu Feb 15 15:04:01 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * error.c (error): Free entire and mess when done with them. - - * sanity.sh (info): Correct syntax of .cvsrc file. - - * cvs.h, expand_path.c, edit.c, parseinfo.c, wrapper.c: - expand_path now takes arguments containing file and line for error - message, and it prints the error message itself. - * sanity.sh (info-6a): Test printing of error message. - - * expand_path.c (expand_variable): Add USER internal variable. - * sanity.sh (info): Test USER and CVSROOT internal variables too. - -Wed Feb 14 19:11:08 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * main.c (usg): Add -s option. - -Tue Feb 13 20:26:06 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - gcc -Wall lint: - * mkmodules.c (mkmodules_usage): Remove declaration of - non-existent function. - * cvs.h (mkmodules): Declare. - -Mon Feb 12 12:20:04 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * mkmodules.c: Rename main to mkmodules and remove various pieces - of scaffolding which it used to emulate non-existent parts of CVS. - Change calling convention to just take a char * not argc,argv. - Save and restore working directory. - * commit.c (commit_filesdoneproc): Call it if checking files into - CVSROOT. - * Makefile.in (SOURCES): Add mkmodules.c. - (OBJECTS): Add mkmodules.o. - (MSOURCES,MOBJECTS): Removed. - (COMMON_OBJECTS): Removed; move former contents into OBJECTS. - Update other rules accordingly. - * sanity.sh: Adjust to reflect nonexistence of mkmodules. - - These changes introduce functions cvs_output and cvs_outerr; - eventually all server output will go through them rather than - stdio directly. - * server.c (saved_output, saved_outerr): New variables. - (do_cvs_command): Initialize them. - (buf_output): Don't require that buf->output be set; saved_* use - this to shove some data in a buffer which buf_copy_lines will - later want to get data from. - * server.c, cvs.h (cvs_output, cvs_outerr): New functions. - * mkmodules.c (cvs_outerr): New function, so error() works. - * error.c: Reindent. Don't declare program_name and command_name; - cvs.h declares them. - (error): Use vasprintf and cvs_outerr (or fputs in the - error_use_protocol case) rather than stdio directly. - * import.c (import_descend_dir): Remove kludge which had prevented - messages from error() from being out of order with respect to - messages from printf; cvs_output and cvs_outerr are a cleaner - solution to the problem. - (add_log, import): Use cvs_output not printf. - * update.c (write_letter): Use cvs_output not printf. - (checkout_file): Use write_letter not printf. - * sanity.sh: Use dotest for test 56 (test that output is actually - correct). In theory should test that the import.c bug is fixed, - but I was unable to reproduce the bug (it is timing dependent). - -Mon Feb 12 16:07:45 1996 Norbert Kiesel <nk@col.sw-ley.de> - - * commit.c: define last_register_time - (commit): make sure cvs doesn't exit in the same second it wrote - the last timestamp - (commit_fileproc): set last_register_time - (finaladd): set last_register_time - - * run.c, cvs.h: Changed more Popen() to run_popen() - -Mon Feb 12 03:06:50 1996 Benjamin J. Lee <benjamin@cyclic.com> - - * release.c, rtag.c, tag.c: changed 'delete' to 'delete_flag' - to avoid symbol collision with DEC C RTL function delete() - -Mon Feb 12 03:01:48 1996 Benjamin J. Lee <benjamin@cyclic.com> - - * mkmodules.c: changed 'void Lock_Cleanup()' to 'void static - Lock_Cleanup() to avoid conflict with more substantial - Lock_Cleanup() in lock.c - -Mon Feb 12 02:50:19 1996 Benjamin J. Lee <benjamin@cyclic.com> - - * edit.c, logmsg.c, release.c, run.c: Changed Popen() to - run_popen(). VMS' linker is not case sensitive and considered - popen() and Popen() to be identical symbols. - -Sun Feb 11 10:51:14 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * main.c (main) [!CLIENT_SUPPORT]: Silently ignore gzip level - rather than printing usage message. - - * cvs.h, expand_path.c (variable_list): New variable. - (variable_set): New function. - * hash.h (enum ntype), hash.c (nodetypestring): Add VARIABLE. - * expand_path.c (expand_path, expand_variable): Reindent. - (expand_variable): Use user variables not environment variables - for ${=VAR} syntax. The environment variables didn't work - client/server. - * main.c (main): Process new -s global option. - * client.c (send_variable_proc): New function. - (start_server): Call it, to send user variables. - * server.c (serve_set): New function. - (requests): Add Set request. - * sanity.sh: Revise info test to use user variables rather than - environment variables. - -Sat Feb 10 16:55:37 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - By itself this is only a small cleanup, but in the long run it - will be way cool (for reference, it takes CVS's text segment from - 290816 bytes to 294912, which I expect will be made up by future - changes which this enables): - * cvs.h (struct file_info): Added. - (FILEPROC): Replace 5 args with single struct file_info *. - * recurse.c (do_file_proc): Adjust args to fileproc; passed in - instead of from globals. - (do_recursion): Call do_file_proc accordingly. Remove srcfiles - global variable. - * update.c (update_fileproc): Renamed from update_file_proc. - * admin.c, client.c, commit.c, diff.c, edit.c, log.c, patch.c, - remove.c, rtag.c, status.c, tag.c, update.c, watch.c: Update - fileprocs to new calling convention. - -Fri Feb 9 15:30:32 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * expand_path.c (expand_variable): Accept a variable name starting - with '=' as a way to specify an environment variable. - * sanity.sh (info): New tests, for above behavior. - - * Makefile.in (clean): Also remove check.log check.plog. - - * import.c (comtable): Remove SYSTEM_COMMENT_TABLE; the table - should *not* depend on what kind of machine the server happens to - be. Add "mak", "rc", "dlg", "frm", and "bas" types which were - formerly included via SYSTEM_COMMENT_TABLE. - - * cvs.h, rcs.h, add.c, checkin.c, classify.c, commit.c, diff.c, - import.c, patch.c, rcs.c, update.c, vers_ts.c: Remove - DEATH_SUPPORT ifdefs. They were introduced to facilitate merging - between Cygnus and Berliner variants of CVS, not because it was - intended to subset CVS this way. And they clutter up the code - quite a bit. - * cvs.h, create_adm.c, main.c, update.c: Likewise, remove - CVSADM_ROOT ifdefs (it is still a #define, of course). I believe - they had a more-or-less similar motivation. - - * sanity.sh: Move setting of HOME from ignore test to the start of - the tests so it applies to all tests. - (CVS): Remove -f; the above change takes care of it. - - * rcs.h (RCS_MERGE): Removed; unused. - - * commit.c (checkaddfile): Fix memory leak. - - * admin.c, commit.c, diff.c, log.c, mkmodules.c: Pass -x,v/ to RCS - commands. - - * rcscmds.c, cvs.h (RCS_checkin): New function. - * checkin.c, commit.c, import.c: Call it, rather than run_*. - * cvs.h, commit.c: Remove DEATH_STATE define; the behavior - which used to be the default (DEATH_STATE) is now the only one. - Failing to define DEATH_STATE has been commented as obsolete at - least since CVS 1.5. We still can read repositories created with - such a CVS, however. - * rcs.h, rcs.c: Adjust comments regarding DEATH_STATE. - * subr.c (make_message_rcslegal): Add comment, describing - allocation of returned value. - -Fri Feb 9 09:53:44 MET 1996 Norbert Kiesel <nk@col.sw-ley.de> - - * sanity.sh: use "${testcvs}" instead of "cvs" in devcom tests - - * hash.c: fix "dereferencing a NULL pointer" bug triggered with - "cvs watch add" - (findnode): return NULL if key == NULL - (hashp): assert (key != NULL) - -Fri Feb 9 00:46:47 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcs.c (RCS_reparsercsfile): Remove unused variable date. - - * myndbm.c (mydbm_load_file): Fix typo ('015' -> '\015'). - -Thu Feb 8 13:00:00 1996 Jim Kingdon <kingdon@peary.cyclic.com> - - * rcs.c (RCS_parse, RCS_parsercsfile, RCS_reparsercsfile), - fileattr.c (fileattr_read), myndbm.c (myndbm_open): - Use FOPEN_BINARY_READ. - * fileattr.c (fileattr_write), myndbm.c (myndbm_close): - Use FOPEN_BINARY_WRITE. - * history.c (history_write, read_hrecs): Specify OPEN_BINARY. - * rcs.c: Remove calls to abort. - * myndbm.c (myndbm_load_file): Ignore CRs from ends of lines - if present. - * myndbm.c, fileattr.c: While I am at it, change \n to \012 - a few places where LF is intended. - * history.c (history_write): Use getenv ("HOME"), not getpwnam, - to find home directory. If it isn't set, just keep going; don't - print a message. - * rcscmds.c, cvs.h (RCS_checkout): New function. - * update.c, checkin.c, commit.c, diff.c, import.c, no_diff.c, - patch.c: Call it instead of run_*. - * patch.c (patch_fileproc): Clean up inconsistent handling of - noexec flag. - * rcscmds.c (RCS_*): Pass -x,v/ to RCS commands; elsewhere in - CVS it is assumed that ,v is a suffix. - -Fri Feb 2 14:07:32 1996 J.T. Conklin <jtc@rtl.cygnus.com> - - * rcs.h (struct rcsnode): Remove dates field (list of rcsversnodes - indexed by date). CVS maintained this list for each RCS file even - though it was never used. This resulted in higher then necessary - memory requirements (and run time too). Even if revision info was - needed, CVS' List data structure is inappropriate because can't - handle duplicate keys. The above was discovered by tracking down - a memory leak. - * rcs.c (RCS_reparsercsfile): Don't build dates list. - (freercsnode): Don't delete dates list. - (rcsvers_delproc): Free date field. - (null_delproc): Removed. - -Thu Feb 1 12:28:33 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * remove.c (cvsremove): Don't tell user the name of the program - which they use to remove files; we don't have any way of knowing - that, and besides which they might use a GUI or emacs 'dired' anyway. - * update.c (update_filesdone_proc, update_dirleave_proc): Call - unlink_file_dir instead of rm -rf. - * options.h.in: Remove RM; no longer used. - - * sanity.sh: New tests devcom-a* test "cvs watch add", - "cvs watch remove", and "cvs watchers". - - * sanity.sh: New test 171a0 tests for watch.c bug just fixed by kfogel. - - * Most .c files: Remove rcsids. - * cvs.h: Remove USE macro. - -Thu Feb 1 13:07:15 1996 J.T. Conklin <jtc@rtl.cygnus.com> - - * tag.c, rtag.c: Update various comments to reflect function name - changes. - -Thu Feb 1 14:14:31 1996 Karl Fogel <kfogel@floss.red-bean.com> - - * recurse.c (do_recursion): comment #endif. - - * edit.c (notify_check): surround with #ifdef CLIENT_SUPPORT; else - CVS won't compile if CLIENT_SUPPORT is undefined. - - * edit.h (notify_check): surround declaration with #ifdef - CLIENT_SUPPORT. - - * watch.c (watch): if argc <= 1, then just give usage (previously - was "argc == -1"). - -Thu Feb 1 12:28:33 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * README-rm-add: Remove information which is now in cvs.texinfo. - - * sanity.sh: Remove basic0 tests. Move a few to new tests - basica-1a* (but there is no need to test that *every* command - gracefully does nothing on an empty directory; exhaustive testing - is impractical and the generic recursion processor handles this - anyway). - - * sanity.sh: New tests 69a* test use of update -p to restore old - version of dead file. - -Wed Jan 31 18:32:34 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * ChangeLog-9395: Remove duplicate entries from 1996 which - accidentally got into this file. - - * client.c (read_line, read_from_server): Change "premature end of - file from server" message to "end of file from server (consult - above messages if any)" because 99% of the time it means rsh has - printed an error message and exited. - -Wed Jan 31 15:09:51 1996 J.T. Conklin <jtc@rtl.cygnus.com> - - * edit.c (ncheck_fileproc): Fix memory leak; free line before - returning. - -Tue Jan 30 18:06:12 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * recurse.c (do_recursion): Add comment about the fact that we - don't have locks in place at certain points. - -Tue Jan 30 09:43:34 1996 Vince Demarco <vdemarco@bou.shl.com> - - * edit.c (notify_proc): have notify_proc call expand_path with - the name of the filter program. The user may have used a - cvs environmental variable. (Popen will expand it, but it may not - use the correct value) - -Tue Jan 30 09:43:34 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * ChangeLog: take the pre-1996 changes and put them in a new file - ChangeLog-9395. - * ChangeLog-9194: Renamed from ChangeLog.fsf. - * ChangeLog-9194, ChangeLog-9395, ChangeLog: Add additional text - explaining the difference between all these logs and pointing to - older logs. - * Makefile.in (DISTFILES): Add ChangeLog-9194 and ChangeLog-9395; - remove ChangeLog.fsf. - - * modules.c (do_module): Don't fall through from 'l' to 'o' case - of option processing switch statement. - -Tue Jan 30 06:50:19 1996 J.T. Conklin <jtc@rtl.cygnus.com> - - * client.c (send_repository): Fix memory leak; free adm_name - before returning. - * diff.c (diff_file_nodiff): Fix memory leak; free xvers before - returning. - * rtag.c (rtag_fileproc): Fix memory leak; if branch_mode is set, - free rev before returning. - * status.c (status_fileproc, tag_list_proc): Fix memory leak; free - return value of RCS_whatbranch. - * tag.c (tag_fileproc): Fix memory leak; free vers before - returning. - (val_fileproc): Fix memory leak; free return value of RCS_gettag. - * watch.c (watch_modify_watchers): Fix memory leak; free mynewattr - before returning. - -Tue Jan 30 09:43:34 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * lock.c (readers_exist): If stat gave an error, print an error - message saying it was from stat, rather than from "reading - directory". Skip the message completely if it was an - existence_error. - - * sanity.sh (branches): New tests (branches off of branches, etc.). - -Tue Jan 30 11:55:34 MET 1996 Norbert Kiesel <nk@col.sw-ley.de> - - * main.c (main): Add change to run getopt_long twice again. - -Mon Jan 29 15:59:31 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - gcc -Wall lint: - * client.c: Include edit.h - -Sun Jan 28 09:45:53 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * edit.c, edit.h (mark_up_to_date): New function, to remove file - in CVS/Base. - * client.c (update_entries): Call it if file is up to date. - * checkin.c (Checkin): Call it in non-server (local) case. - * sanity.sh: New test 182.5, tests for above-fixed bug. - -Sun Jan 28 01:07:22 1996 Jim Kingdon (kingdon@beezley) - - * client.c (change_mode): Separate out CHMOD_BROKEN code to parse - mode_string, rather than going through a mode_t. Cleaner than - the previous CHMOD_BROKEN code (which also had a typo of && not &). - -Sat Jan 27 23:29:46 1996 Jim Kingdon (kingdon@beezley) - - * edit.c (edit_fileproc): Check for EACCESS as well as EEXIST. - -Sat Jan 27 16:26:30 1996 Karl Fogel (kfogel@floss.cyclic.com) - - * client.c (notified_a_file): use rename_file() instead of - rename() (but temporarily set `noexec' to 0 so it runs - unconditionally). - (change_mode): deal with CHMOD_BROKEN. - -Fri Jan 26 00:14:00 1996 Karl Fogel <kfogel@floss.red-bean.com> - - * server.c: renamed `dirname' to `dir_name', to avoid conflicts - with system headers. - - * client.c: renamed `dirname' and `last_dirname' to `dir_name' and - last_dir_name' (see above). Not strictly necessary, but - consistency is nice -- as long as you do it all the time. - -Thu Jan 25 00:41:59 1996 Karl Fogel <kfogel@floss.red-bean.com> - - * options.h.in (AUTH_SERVER_SUPPORT, AUTH_CLIENT_SUPPORT): change - comment now that no longer under construction. - -Wed Jan 24 15:25:22 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * Version 1.7.1. - - * Version 1.7. - -Sat Jan 20 00:05:08 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * Version 1.6.87. - -Mon Jan 15 18:14:55 1996 Gary Oberbrunner <garyo@avs.com> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * tag.c (val_direntproc): New function to ignore - nonexistent dirs when recursing to check tag validity. - (tag_check_valid): Pass it to start_recursion. - * sanity.sh (death): New tests 65a0-65a6 cause test 74 to test for - above-fixed bug. - -Mon Jan 15 12:55:37 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * main.c: Revert change to run getopt_long twice. This can go in - after 1.7. - -Mon Jan 15 13:03:28 1996 Norbert Kiesel <nk@col.sw-ley.de> - - * filesubr.c (deep_remove_dir): added test of EEXIST for nonempty - directory (Posix states that both ENOTEMPTY (BSD) and EEXIST - (SYSV) are valid) - - * main.c (main): run getopt_long twice to allow command-line - suppression of reading the cvsrc file - -Fri Jan 12 10:02:43 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * Version 1.6.86. - -Thu Jan 11 23:28:05 1996 J.T. Conklin <jtc@rtl.cygnus.com> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * fileattr.h (fileattr_startdir): Add comment about REPOS == NULL. - * fileattr.c (fileattr_read, fileattr_write): Assert that - fileattr_stored_repos != NULL. - (fileattr_free): If fileattr_stored_repos is NULL, don't free it. - -Thu Jan 11 18:03:21 1996 Karl Fogel <kfogel@floss.red-bean.com> - - * scramble.c (descramble): deal with DIAGNOSTIC better. - -Thu Jan 11 12:04:42 1996 Norbert Kiesel <nk@col.sw-ley.de> - - * main.c: remove CVS_NOADMIN. - - * options.h.in: remove CVS_NOADMIN - -Thu Jan 11 10:28:44 1996 Karl Fogel <kfogel@floss.red-bean.com> - - * scramble.c (descramble): make sure the string returned is safe - to free(). - -Wed Jan 10 01:11:23 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * server.c (serve_notify): Cast return value from malloc. - - * edit.c (notify_do): Use struct assignment, not struct - initialization (which SunOS4 /bin/cc doesn't have). - -Tue Jan 9 09:41:29 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * Version 1.6.85. - - We use version numbers instead of patchlevels. But there was some - confusing patchlevel stuff lying around. Nuke it: - * Makefile.in (HEADERS): Remove patchlevel.h - * patchlevel.h: Removed. - * main.c: Don't include patchlevel.h. - (main): Don't print patch level. - - * server.c (check_repository_password): Check for errors from - system calls; reindent function. - -Tue Jan 9 23:15:30 1996 Karl Fogel <kfogel@floss.red-bean.com> - - * expand_path.c: fix comments (explain expand_path()'s behavior - correctly). - -Tue Jan 9 09:41:29 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * edit.c (notify_proc): After copying in string following %s, - don't clobber it. Instead set up q to end of string. - - * watch.c (watch_modify_watchers), edit.c (editor_set): Fix sense - of test in trying to decide whether attributes are changed. - - * cvs.h (CVSROOTADM_USERS): New macro. - * edit.c (notify_do): Look up notifyee in CVSROOTADM_USERS if it - exists. - -Tue Jan 9 21:39:45 1996 Karl Fogel <kfogel@floss.red-bean.com> - - * expand_path.c: don't redundantly #include things that cvs.h - already #includes (i.e., stdio.h, ctype.h, string[s].h). - -Tue Jan 9 09:41:29 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * ignore.c (ign_default): Add *.obj. - - * server.c: Put /* */ around #endif comment. - -Mon Jan 8 20:37:17 1996 Karl Fogel <kfogel@floss.red-bean.com> - - * client.c (connect_to_pserver): check return value of recv(). - -Mon Jan 8 11:37:57 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (connect_to_pserver): Check for error from connect; - reindent function. - - * sanity.sh (4.75): Use dotest, so we get a PASS if test passes. - - * sanity.sh (dotest): New argument OUTPUT2. - (188a): Use it instead of \|. - - * sanity.sh (import): Avoid using string $ followed by Id followed - by $ in sanity.sh source, in case sanity.sh itself is under CVS. - I hate keyword expansion. - - * sanity.sh: If expr cannot handle multiline expressions, fail and - tell the user to get one which can. - - * release.c (release_delete): Remove unused variable retcode. - -Fri Jan 5 13:30:00 1996 Jim Kingdon <kingdon@peary.cyclic.com> - - * release.c (release_delete): Call unlink_file_dir rather - than "rm -rf". - -Thu Jan 4 09:58:30 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * commit.c (find_fileproc): Print "nothing known about foo" and - return 1 if the file doesn't exist and isn't in CVS/Entries. - (commit): If the recursion over find_fileproc returns an error, - print "correct above errors first!" just like local CVS. - * sanity.sh (basica): Test for above-fixed bug. - - * release.c (release): If we are the client, only unedit if the - server supports it. - - * sanity.sh: Remove STARTANCHOR stuff; expr patterns are - automatically anchored to the start. ENDANCHOR remains. - - * commit.c (commit): Don't start the server until we have - determined that there is something to commit. - -Thu Jan 4 09:48:33 1996 Ben Laurie <ben@gonzo.ben.algroup.co.uk> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (start_server): dup the file descriptor before - fdopening it. - -Wed Jan 3 18:25:25 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh: Remove tests 5, 5.5, and 5.75. All that stuff is - tested elsewhere. - - * ignore.c (ign_default): Change CVS* to CVS CVS.adm. CVS* is too - broad, especially in a case-insensitive filesystem. - - * Makefile.in (cvsbug): version.c is in srcdir. - -Wed Jan 3 17:30:45 1996 Phi-Long Tran <ptran@autodesk.com> - - * modules.c (do_module): Honor error_use_protocol in printing trace. - * server.c (server_register): Move check for options NULL to above - printing of the trace. - -Wed Jan 3 01:19:53 1996 Mark Immel <immel@centerline.com> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * update.c (checkout_file): Do not resurrect file on join if it - doesn't contain the revisions we are joining. Probably not a - perfect test, but should be an improvement. - * sanity.sh (death): New death-file4-* tests, for bug fixed above. - -Wed Jan 3 01:19:53 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * add.c, admin.c, checkout.c, client.c, commit.c, diff.c, edit.c, - history.c, import.c, log.c, patch.c, release.c, remove.c, rtag.c, - status.c, tag.c, update.c, watch.c: In calling send_to_server, - pass \012 not \n. On the Mac \n is CR, not LF, and we want to - send LF. I didn't try to deal with whether files in CVSADM should - contain CR or LF--in fact there is some code in client.c which - reads \n from CVSADM files and passes it to send_to_server; it - needs to be cleaned up one way or the other. - - * entries.c (Entries_Open): Don't try to close fpin twice. - - * client.c (update_entries): Fix typo ("strlen (filename + 10)" - -> "strlen (filename) + 10"). - - * commit.c (checkaddfile): Remove arbitrary limit. - -Tue Jan 2 11:25:22 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * commit.c (commit): Only pass files which were modified, added, - or removed to send_file_names. This has as a side effect a - semantic change--the up-to-date check is now skipped for other - files--but probably a good one, or at least not a bad one. - * sanity.sh (basica): New test; tests for bug fixed above. - * sanity.sh (187a3): Adjust for new 'cvs commit' output. Set up - DOTSTAR to match arbitrary text (another GNU expr bug/misfeature, - sigh). - - * sanity.sh: Test that the commit in test 43 actually worked. - Merge tests basic2 and basic3 and make them independent of basic1. - (pass,fail): Don't insert spurious space. - (45.5): Fix typo in directory name. - -Tue Jan 2 13:00:00 1996 Jim Kingdon <kingdon@peary.cyclic.com> - - Visual C++ lint: - * myndbm.c: Prototype write_item. - -Tue Jan 2 11:25:22 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - gcc -Wall lint: - * client.c (client_expand_modules): Pass error message not "" to error. - * client.c (supported_request), server.c (supported_response): - Return a value (gcc -Wall can't know that error doesn't return). - * commit.c (copy_ulist): Return a value. - * history.c (fill_hrec): Don't make assumptions about whether - time_t is "int" or "long" or what. - * cvs.h: Declare link_file. - * server.c: Include fileattr.h. - * server.c (server_notify): Remove unused variable val. - * tag.c (val_fileproc): Remove unused variable foundtag. - -Mon Jan 1 09:49:16 1996 Jim Kingdon <kingdon@harvey.cyclic.com> - - * Version 1.6.5. - - * Version 1.6.4. - - * filesubr.c (link_file): Add comment about link vs. copy semantics. - - * cvs.h (struct vers_ts): Fix comments. - * commit.c (commit): Before we ask for a log message, figure out - what is modified and what is not and pass the information to - do_editor. - (copy_ulist,find_fileproc): New helper functions for above code. - - * client.c (read_line): When writing to from_server_logfile, write - the \n too. - - * client.c (send_files): No longer call send_file_names. - * client.h: Update comment. - * add.c, admin.c, commit.c, diff.c, edit.c, log.c, remove.c, - status.c, tag.c, update.c, watch.c: Call send_file_names before - send_files. - * client.c: New variables module_argc, module_argv. - (client_expand_modules): Set them, to arguments. - (client_send_expansions): Use them instead of modules_vector to - send arguments. - * sanity.sh (modules): Add test of modules -d flag. - - -For older changes see ChangeLog-9395. |