diff options
Diffstat (limited to 'contrib/cvs/src/ChangeLog-97')
-rw-r--r-- | contrib/cvs/src/ChangeLog-97 | 3249 |
1 files changed, 0 insertions, 3249 deletions
diff --git a/contrib/cvs/src/ChangeLog-97 b/contrib/cvs/src/ChangeLog-97 deleted file mode 100644 index ce7180b..0000000 --- a/contrib/cvs/src/ChangeLog-97 +++ /dev/null @@ -1,3249 +0,0 @@ -1997-12-30 enami tsugutomo <enami@but-b.or.jp> - - * rcs.c (RCS_checkin): Use gmtime() instead of localtime() - (restores behavior from RCS 5.x which was broken with RCS library - -kingdon). - -Mon Dec 29 12:53:00 1997 Ian Lance Taylor <ian@cygnus.com> - - * modules.c (do_module): Check for a request for a file within a - module which is not a directory. - * sanity.sh (modules): Add test 149b1 for above patch. - - * client.c (start_tcp_server): Remove useless assignment, left - behind by Dec 15 patch. - -Sat Dec 27 17:41:11 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c, options.h.in, history.c, import.c, main.c, rcs.c, - update.c: Remove !HAVE_RCS5 code. It had bit-rotted a while ago, - and more to the point is obsolete with the RCS library. - -27 Dec 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * zlib.c, server.h (gunzip_and_write): New function. - * client.c (update_entries): Call it instead of a gunzip subprocess. - * zlib.c, server.h (read_and_gzip): New function. - * client.c (send_modified): Call it instead of a gzip subprocess. - -Sat Dec 27 13:07:38 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - Decrease RCS_deltas memory usage to what we need (approximately - the size of the file we are patching plus the size of the largest - patch). Previously memory usage had been approximately the size - of the RCS file because we never freed lines until the end. - * rcs.c (linevector_free, linevector_copy, linevector_add, - linevector_delete): - Instead of having all the lines and struct line's in the alloc_* - space, have each line and its struct line in its own malloc'd - space. Use a refcount to deal with curlines vs. headlines - vs. trunklines in RCS_deltas. - (struct allocblock, blocks, block_alloc, block_free): Remove; no - longer used. - (apply_rcs_changes, RCS_deltas): Don't copy lines into allocated - space; linevector_add now does that for us. - (rcs_change_text, RCS_deltas): Don't call block_free. - -Tue Dec 23 08:28:44 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * cvsbug.sh: Change bug-cvs address from prep.ai.mit.edu to gnu.org - per email from Martin Hamilton. - -Sun Dec 21 21:49:50 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcs.c (RCS_checkin): Disable keyword expansion when generating - the change text. - * sanity.sh: Move tests keyword-24 through keyword-27 into - new section keywordlog and expand greatly. Note that CVS 1.9.18 - passes the new tests both local and remote but the current - version failed them both local and remote before this fix. - -Sat Dec 20 19:56:00 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcs.c (RCS_delete_revs): Clean up temporary files even if noexec. - Without this fix, basica-o5a in sanity.sh would leave files around. - -Thu Dec 18 13:05:00 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * run.c: Fix typo in declaration (evecvp -> execvp) (credit to - Erik Walthinsen for reporting this). Only declare it if not - HAVE_UNISTD_H. Move declaration to before the first use. - -Tue Dec 16 12:59:00 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * update.c: Collapse two identical declarations for join_file. - -Mon Dec 15 16:01:49 1997 Ian Lance Taylor <ian@cygnus.com> - - * client.c (start_tcp_server): Remove calls to htons and add one - call to ntohs (init_sockaddr calls htons on the port argument). - -Mon Dec 15 00:07:02 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (failure_exit): New variable. - (get_server_responses): If it is set, then return - failure. - (updated_seen, updated_fname): New variables. - (update_entries): Use updated_fname if set. In the "move away - foo.c; it is in the way" case print "C" not "U", and set - failure_exit. - (handle_mt): If we get +updated tagged text, stash it away in - updated_fname rather than printing it immediately. - (handle_mt, get_server_responses): If we stashed a filename and - didn't get around to printing it, go ahead and print it. - * sanity.sh (conflicts2-142d2): Adjust to test for fix. Remote is - now like local was in terms of exit status and "C aa.c" message. - -Sun Dec 14 00:27:26 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - Implement tagged text feature: - * update.c (write_letter): Take a single finfo argument rather - than file and update_dir. While we are at it change it to return - void (since the returned value always had been 0). - * update.c: Update callers. - * server.c, cvs.h (cvs_output_tagged): New function. - * client.c (responses): Add "MT" response. - (handle_mt): New function. - * update.c (write_letter): Output via cvs_output_tagged. - -Sun Dec 14 14:13:05 1997 Ian Lance Taylor <ian@cygnus.com> - - * recurse.c (do_dir_proc): Only check for CVS/Repository if - W_LOCAL. - * sanity.sh (devcom-t2, devcom-t3): New tests for above patch. - -Sun Dec 14 00:27:26 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * root.c (parse_cvsroot): Initialize check_hostname (fixes thinko - in GSSAPI changes). - -Sat Dec 13 13:15:35 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * server.c: Use indentation to indicate nesting of #ifdef's. - - * client.c (connect_to_gserver): Reindent (in one place). - -Fri Dec 12 17:38:15 1997 Chris Provenzano <proven@cygnus.com> - and Ian Lance Taylor <ian@cygnus.com> - - * cvs.h (CVSmethod): Add gserver_method. - * root.c (method_names): Add gserver. - (parse_cvsroot): Handle :gserver:. - * client.h (cvsauthenticate): Declare. - (cvs_gssapi_encrypt): Declare if HAVE_GSSAPI and ENCRYPTION. - (cvs_gssapi_wrap_buffer_initialize): Declare if HAVE_GSSAPI. - (connect_to_pserver): Update declaration. - (pserver_authenticate_connection): Declare when HAVE_GSSAPI and - SERVER_SUPPORT is defined in addition to other case. - * client.c: If HAVE_GSSAPI, include GSSAPI header files. - (gcontext): New static variable if HAVE_GSSAPI. - (connect_to_pserver): Add do_gssapi parameter. Change all - callers. Move rejection handling to bottom of function. - (recv_bytes): New static function if HAVE_GSSAPI. - (connect_to_gserver): Likewise. - (start_server): Handle gserver_method. Handle GSSAPI encryption - and authentication. - * server.c: Include <sys/socket.h> if HAVE_GSSAPI, in addition to - existing cases. If HAVE_GSSAPI, include GSSAPI header files. - Include <grp.h> even if AUTH_SERVER_SUPPORT is not defined. - (gcontext, cvs_gssapi_wrapping): New static variables if - HAVE_GSSAPI. - (cvs_gssapi_encrypt): New global variable if HAVE_GSSAPI and - ENCRYPTION. - (serve_gssapi_encrypt): New static function if HAVE_GSSAPI and - ENCRYPTION. - (serve_gssapi_authenticate): New static function if HAVE_GSSAPI. - (requests): Add Gssapi-encrypt if HAVE_GSSAPI and ENCRYPTION. Add - Gssapi-authenticate if HAVE_GSSAPI. - (switch_to_user): Compile if HAVE_GSSAPI, in addition to existing - cases. - (pserver_authenticate_connection): Likewise. Ifdef out part of - the code for AUTH_SERVER_SUPPORT. Handle a GSSAPI request. - (gserver_authenticate_connection): New static function if - HAVE_GSSAPI. - (cvsauthenticate): New global variable. - (struct cvs_gssapi_wrap_data): Define if HAVE_GSSAPI. - (cvs_gssapi_wrap_buffer_initialize): New function if HAVE_GSSAPI. - (cvs_gssapi_wrap_input): New static function if HAVE_GSSAPI. - (cvs_gssapi_wrap_output): Likewise. - * main.c (opt_usage): Mention -a. - (main): Handle -a. Handle pserver if HAVE_GSSAPI, in addition to - existing cases. - * login.c (login): Pass new argument to connect_to_pserver. - -Fri Dec 12 15:33:19 1997 Ian Lance Taylor <ian@cygnus.com> - - * buffer.c (PACKET_SLOP): Define. - (packetizing_buffer_initialize): Use PACKET_SLOP when allocating - holdbuf. - (packetizing_buffer_input): Allow up to PACKET_SLOP bytes in - stackoutbuf. - (packetizing_buffer_output): Use just BUFFER_DATA_SIZE + 2 for - inbuf. Allow PACKET_SLOP + 4 extra bytes in stack_outbuf. - Correct >= to > in test of incoming number of bytes. Use - PACKET_SLOP in other tests. - -Fri Dec 12 10:27:08 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (start_tcp_server): Revise comment to reflect - SOCK_STRERROR and SOCK_ERRNO now being in use. - -Thu Dec 11 15:32:31 1997 Ian Lance Taylor <ian@cygnus.com> - - * client.c (init_sockaddr): Compile if HAVE_KERBEROS, as well as - if AUTH_CLIENT_SUPPORT. Return a pointer to a struct hostent. - (start_tcp_server): Clean up. Use init_sockaddr. Use - SOCK_STRERROR and SOCK_ERRNO. Don't bind the socket. - - Generalize buffering code used by Kerberos encryption routines - into a generic packetizing buffer. The new code in buffer.c is a - modified version of the code removed from server.c. - * buffer.c (struct packetizing_buffer): Define. - (packetizing_buffer_initialize): New function. - (packetizing_buffer_input): New static function. - (packetizing_buffer_output): New static function. - (packetizing_buffer_flush): New static function. - (packetizing_buffer_block): New static function. - (packetizing_buffer_shutdown): New static function. - * buffer.h (packetizing_buffer_initialize): Declare. - * server.c (struct krb_encrypt_data): Rename from - krb_encrypt_buffer, and remove all fields not related to - encryption. - (krb_encrypt_buffer_initialize): Just call - packetizing_buffer_initialize. - (krb_encrypt_input): New static function. - (krb_encrypt_output): New static function. - (krb_encrypt_buffer_input): Remove. - (krb_encrypt_buffer_output): Remove. - (krb_encrypt_buffer_flush): Remove. - (krb_encrypt_buffer_block): Remove. - (krb_encrypt_buffer_shutdown): Remove. - -Wed Dec 10 15:39:44 1997 Ian Lance Taylor <ian@cygnus.com> - - * buffer.c (stdio_buffer_initialize): Correct formatting. - -Sun Dec 7 09:37:19 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (basicb-0d0): New test, for checkout on existing - directory. - -Sat Dec 6 00:25:11 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (binwrap3): Clean up repository too. Clean up working - directory with "rm -r" not "rm -rf". - -Thu Dec 4 17:11:18 1997 Larry Jones <larry.jones@sdrc.com> - - * subr.c (check_numeric): Don't reference argv[1] when argc is 1 - (should be argv[0]). - - * sanity.sh: Fix lines that look like conflict markers but aren't - to prevent problems checking in. - (binwrap3): Remove local CVSROOT when done so that later - tests that expect to create it don't fail. - -Thu Dec 4 18:19:21 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * cvs.h: Remove mempcpy definition. I think the polite way to - describe my feelings about mempcpy is something like "we don't - have agreement that it is a good idea". - * rcs.c (truncate_revnum): Don't call it. - * sanity.sh: Run multibranch2 test by default. - (multibranch2): Use ${TESTDIR} a few places. - (multibranch2-9): Accept "P file1" as well as "U file1". - - * sanity.sh: Don't add 1997 to the copyright notice. Add GPL - terms. Add discussion of copyright issues. - * rcs.c (truncate_revnum, truncate_revnum_in_place, - compare_truncated_revnums): Reindent. - -1997-12-04 Jim Meyering <meyering@na-net.ornl.gov> - - * subr.c (xstrdup): Use memcpy rather than strcpy. - (compare_revnums): Declare parameters to be `const'. - Remove unnecessary uses of xstrdup and corresponding frees. - (increment_revnum): Declare parameter to be `const'. - Use memcpy rather than strcpy. - (gca): Declare parameters to be `const'. - (check_numeric): Declare REV parameter to be `const'. - (file_has_markers): Declare parameter to be `const'. - (get_file): Declare `char*' parameters to be `const'. - * run.c (run_exec): Declare `char*' parameters to be `const'. - * cvs.h (mempcpy) [! HAVE_MEMPCPY]: Define it. - Add `const' to types in several prototypes. - - * rcs.c (truncate_revnum): New function. - (truncate_revnum_in_place): New function. - (compare_truncated_revnums): New function. - (max_rev): New function. - (RCS_addbranch): Make BRANCH parameter `const'. - Use the above functions rather than open-coding them. - When BRANCH is a revision number, insert it *in order* - in the sorted list of branch numbers, not at the end. - Add assertion that insertion succeeds. - * sanity.sh (multibranch2): Test for this. - (Copyright): Add 1997. - -Dec 1997 Karl Fogel <kfogel@floss.red-bean.com> - - * wrapper.c (wrap_name_has): loop as far as wrap_count + - wrap_temp_count, not wrap_count + wrap_saved_count, otherwise - some wrappers get skipped. - (wrap_matching_entry): same. - * sanity.sh (binwrap3): new test, for import with - CVSROOT/cvswrappers and .cvswrappers specifying -k 'b' options. - -1997-11-30 Jim Meyering <meyering@na-net.ornl.gov> - - * client.c (send_a_repository): Strip trailing slashes from the name - of the update directory. Otherwise, running `cvs update dir/' provokes - this failure `protocol error: illegal directory syntax in dir/' when - running in client/server mode. - - * hash.c (insert_before): New function derived from addnode. - (addnode): Simply return insert_before. - (addnode_at_front): Simply return insert_before. - * hash.h (insert_before): Add prototype. - - * server.c (dirswitch): Compute `strlen(dir)' once and save it, - rather than computing it four times. Also do s/illegal/invalid/ to - this diagnostic: "E protocol error: illegal directory syntax in %s". - -Sun Nov 30 18:03:02 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * admin.c: Fix comment (no longer a front-end to "rcs"). - - * error.c, error.h (rcserror): Remove. - * admin.c, rcs.c: Call error instead of rcserror. This changes - the format of these messages from "rcs: <path>: error" to "cvs - <command>: <path>: error". The former format wasn't quite what - RCS printed anyway (because RCS would sometimes print "ci", "co", - &c, not "rcs"), and preserving RCS's exact output probably is not - a good idea anyway (because it will make people think that the - error was caused by an external program). In two cases, I tidied - up the message in a more drastic fashion ("cannot stat" in - RCS_checkin and "could not diff" in RCS_delete_revs). - - * sanity.sh (basica-o2b, binfiles2-o1, admin-18, admin-22-o10, - admin-22-o17): Look for "cvs <command>" not "rcs". - - * run.c, cvs.h (run_setup): Replace varargs nonsense with a single - argument which gets parsed as the result of the vasprintf - used to. - * client.c, commit.c, logmsg.c, modules.c, rtag.c, tag.c, update.c, - wrapper.c: Update callers, either to do the sprintf themself or to - just call run_arg if it will do the job. - * rcscmds.c: Likewise for call_diff_setup and callers. - - * run.c, cvs.h (run_args): Remove; nowhere used. - -Sat Nov 29 22:15:06 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * options.h.in: Remove declaration of getwd; see lib/ChangeLog for - rationale. - -1997-11-29 Jim Meyering <meyering@na-net.ornl.gov> - - * update.c (checkout_file): Initialize `backup'. - - * diff.c (diff_fileproc): Initialize `tmp' and `fname'. - - * modules.c (do_module): Initialize `server_dir_to_restore'. - (do_module): Initialize `value' in an else clause. - - * rcs.c (RCS_checkin): Initialize `commitpt'. - (RCS_delete_revs): Initialize `revp'. - (RCS_copydeltas): Always initialize `insertbefore'. - - * run.c (run_print): Define `outfn' even in error case. - -Mon Nov 24 17:28:50 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcs.c (RCS_findlock_or_tip): Prototype. - (RCS_checkin): Fix call to pass correct number of arguments. - -Sun Nov 23 10:34:03 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * recurse.c (do_dir_proc): Move check for CVS/Repository and - CVS/Entries to before where we call the direntproc. - * client.c (send_dirent_proc): Remove code to check for - CVS/Repository, now that recurse.c does it. - * sanity.sh (conflicts3-18 through conflicts3-19): New tests, for this. - -Sat Nov 22 10:54:16 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * recurse.c (do_dir_proc): Check that CVS/Repository and - CVS/Entries exist. - * sanity.sh (conflicts3-14 through conflicts3-17): New tests, for this. - - * client.c (send_fileproc): Send options field from - vers->entdata->options not vers->options. - * cvs.h (struct entnode): Add comment (options and timestamp must - not be NULL). - * sanity.sh (binfiles-9 through binfiles-13, binfiles-sticky5, - keyword-17): Remove kludges for remote; tests for fix. - - * update.c (update_fileproc): Fix comment; direct checkout is - still faster than patches for local but not for quite the - same reasons. - - * add.c (add): Pass SEND_NO_CONTENTS to send_files. - -Wed Nov 19 18:25:03 1997 Mike Glendinning <mikeg@sequent.com> - - * update.c (patch_file_write): Missing cast provided. - -Wed Nov 19 15:57:59 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcs.c (RCS_deltas): Solve trigraph problem (once and for all, I - hope) with 3 calls to cvs_output. - -Wed Nov 19 01:52:57 1997 Andy Piper <andyp@parallax.co.uk> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * classify.c (Classify_File), cvs.h (struct vers_ts), vers_ts.c - (Version_TS): Clarify NULL versus "" for options in comments. - * vers_ts.c (Version_TS): Treat "" the same way as NULL in options - and vers_ts->options. - * sanity.sh: New tests binfiles-sticky5 through binfiles-17 test - for this. - -1997-11-16 Karl Fogel <kfogel@floss.red-bean.com> - - * client.c (update_entries): parse server-sent entries line even - in the case of "cvs export", because we need to know if -kb option - is set. - Init `options' to NULL like anything else. - -Tue Nov 18 09:20:29 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * version.c: Change version number to 1.9.21. - - * Version 1.9.20. - -Mon Nov 17 14:35:31 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * server.c (server_updated): If scratched_file and noexec are set, - clean up so we don't get a "duplicate Scratch_Entry" warning - later. - * sanity.sh: New tests conflicts3-10 to conflicts3-13, for this. - - * sanity.sh (conflicts3): Don't allow "file1 was lost" messages - here; I don't think CVS actually produced them, and they don't - belong. - -Sun Nov 16 23:19:41 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh: Accept either "U file1" or "P file1". - -Fri Nov 14 12:32:05 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcs.c: Add comment about cleaning up ,foo, file on ^C. - -Fri Nov 14 11:56:29 1997 Andy Piper <andyp@parallax.co.uk> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * filesubr.c (unlink_file_dir): Don't print trace message in the - server. - -Fri Nov 14 11:28:55 1997 Jim Meyering and Jim Kingdon - - * rcs.c (RCS_getdatebranch): If the branch we are looking for - doesn't exist, return a revision which matches the date, not - just NULL. - * sanity.sh (tagdate): New test, for this. - -Thu Nov 13 10:11:48 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (basicb-21): Fix comment which described a behavior - which no longer exists. - -Wed Nov 12 16:24:45 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - Clean up infrastructure made unnecessary by RCS library: - * rcscmds.c (diff_exec, diff_execv): Use literal "diff" not DIFF. - * options.h.in (DIFF), rcs.h (RCS, RCS_CI, RCS_DIFF, - RCS_RCSMERGE): Removed; no longer used. - * commit.c (commit), patch.c (patch_fileproc), - rcscmds.c (RCS_exec_rcsdiff), start of rcscmds.c: Update comments - to reflect librarification of RCS. - * options.h.in (RCSBIN_DFLT): Removed. - * main.c, cvs.h (Rcsbin, free_Rcsbin): Removed. - * main.c (main): Don't check RCSBIN environment variable. -b - global option is now a noop. - * cvs.h (RCSBIN_ENV): Removed. - * expand_path.c (expand_variable): $RCSBIN is now an error. - * mkmodules.c (config_contents): Remove RCSBIN. - * parseinfo.c (parse_config): RCSBIN now a noop. - * server.c (server): Don't put Rcsbin in PATH. - -Mon, 10 Nov 1997 Jim Kingdon - - * rcs.c (RCS_checkin): Actually, when we get a change text - for a text file using get_file, we want text mode, although - the reasons are kind of subtle (see comment). - - * rcs.c (RCS_checkin): Pass correct mode to get_file for - binary files. - - * rcscmds.c: Declare vasprintf. - -Mon Nov 10 11:11:17 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - This fixes problems with windows-NT/run.c improperly quoting, and - is cleaner anyway. - * rcscmds.c (call_diff_setup, call_diff_arg, call_diff_add_arg, - call_diff_argv, call_diff_argc, call_diff_argc_allocated): New - functions/variables, lightly adapted from src/run.c. - * cvs.h, run.c (call_diff, call_diff3): Move from here... - * rcscmds.c: ...to here. - -Sun, 9 Nov 1997 Jim Kingdon - - * rcs.c (rcs_internal_unlockfile): Call rename_file not rename. - This makes it work on NT again. - -Sun Nov 9 16:54:28 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (diffmerge2): Protect keywords against unwanted - expansion. They got clobbered and the testcase stopped working - when I checked it in. - -Fri Nov 7 13:23:38 1997 Karl Fogel <kfogel@floss.red-bean.com> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (diffmerge1, diffmerge2): new tests, for bugs, or - potential bugs, in ../diff/analyze.c which were fixed by Paul - Eggert's patch. - -Sun Nov 9 10:28:43 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcs.c (RCS_settag): Reindent. - - * rcs.c (rcs_internal_lockfile): Fix typo (thow -> throw). - -Sat Nov 8 15:58:53 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (cvsadm): Remove most of the tests which tested - CVS/Root. This takes the run time for the cvsadm tests from - about 5 minutes 15 seconds to about 4 minutes 10 seconds with no - significant loss in coverage. - - * rcs.c (rcs_internal_lockfile): Check for errors from system - calls. If open() gives an error, don't muck with stat and errno - (I don't know what the RCS code that this comes from was trying to - do, but it clearly isn't accomplishing anything here). - (RCS_rewrite, RCS_delete_revs): Check for errors from system calls. - -Sat Nov 1 14:21:29 1997 Michael L.H. Brouwer <michael@thi.nl> - - * rcs.c (RCS_checkin): Change type of bufsize from int to size_t. - (RCS_delete_revs): Change type of bufsize and len from int to size_t. - (RCS_getdeltatext): Change type of textlen from int to size_t. - * rcs.h (struct deltatext): Change len from int to size_t to keep - the compiler happy on systems where size_t is unsigned int. - [This goes well beyond keeping the compiler happy; if sizeof - (size_t) != sizeof (int), the old code was quite broken -kingdon] - -Sat Nov 1 14:21:29 1997 Michael L.H. Brouwer <michael@thi.nl> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcs.c (RCS_checkin): When checking if we were holding the lock - use delta->author instead of user since the latter might have been - clobbered by a call to getcaller. This resulted in the failure of - test basica-7. - [I don't completely follow the scenario where it gets clobbered, - it but sounds vaguely plausible and the replacement seems - cleaner, precisely because it avoids allocation issues -kingdon] - -Wed Nov 5 20:16:12 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * checkin.c, checkout.c, commit.c, cvs.h, import.c, login.c, - main.c, update.c: Change FALSE to 0 and TRUE to 1 and replace - monstrosities like "cvswrite == TRUE" with just "cvswrite". FALSE - and TRUE sometimes conflicted with system headers (NextStep3.3?), - but more to the point, good old 1 and 0 are fine and were used by - most of CVS already. - -Tue Nov 4 12:19:28 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcs.c (RCS_checkin, RCS_lock, RCS_unlock): Rename local variable - quiet to checkin_quiet or some such, to avoid confusion with - global variable quiet. - - * lock.c: Update comment to refer to add_rcs_file rather than "rcs - -i". - - * rcs.h (struct rcsnode): Add comments for all fields. - * rcs.c (RCS_delete_revs): Refuse to delete revisions which have - symbolic names. Fix fencepost bug which caused us to sometimes - check one more revision than we should for locks, branches, and - this. - (findtag): New function, to help above code. - - * admin.c (admin): Take out writelocks not readlocks. This has - been a bug "forever", but may become more noticeable with - rcs_internal_lockfile relying on the writelocks. - -Mon Nov 3 10:17:19 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcs.c (RCS_rewrite): Don't write the file if noexec. - * sanity.sh (basica, branches): Test for this. - -Sat Nov 1 10:01:56 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcs.h (struct deltatext): Comment text and log fields. - - * admin.c (admin_fileproc): Call RCS_reparsercsfile not - RCS_fully_parse. Don't muck with ->other field in RCSVers (it - doesn't need to be set). - * rcs.h, rcs.c (RCS_reparsercsfile): No longer static. No point - in having this static when RCS_rewrite and RCS_fully_parse are not. - * rcs.c (getdelta): Remove obsolete comment about not storing the - newphrases from the deltas, since we now do. - -Sat Nov 1 10:01:56 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - and Paul Eggert - - * rcs.c (rcs_internal_lockfile): Clarify the comments about O_EXCL - and such matters. - -Sat Nov 1 10:01:56 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcs.c (RCS_delete_revs): Pass force_tag_match to RCS_settag. - * sanity.sh (basica-o2a, basica-o2b): Test for this. - -1997-11-01 Peter Brandstrom <d91-pbr@nada.kth.se> - - * sanity.sh: Use ${username} more places. - -Sat Nov 1 00:14:00 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcs.c (rcs_internal_lockfile): Add comments about what we are - trying to accomplish here (versus what RCS tries to accomplish). - - * rcs.c (RCS_parsercsfile_i): Clarify/expand comment about - the purpose of having both this and RCS_reparsercsfile. - (RCS_rewrite): Add comment about how this works. - - * admin.c (admin_fileproc): Add comment about call to - RCS_fully_parse not RCS_reparsercsfile. - * rcs.h: Comment on what delta_pos field of struct rcsnode is. - -Fri Oct 31 16:38:39 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - and Abe Feldman - - * client.c (update_entries): If UTIME_EXPECTS_WRITABLE, if - necessary change the file to be writable temporarily to set its - modification time. - -Thu Oct 30 17:42:59 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * admin.c (admin): Deal with new :: syntax for ranges. - * rcs.c, rcs.h (RCS_delete_revs): New arg inclusive (set for the old - behavior, clear to enable new code). - * admin.c (admin_fileproc): Set it if :, clear it if ::. - * sanity.sh (basica, head, branches, log): Add tests for this feature. - - * admin.c (admin_fileproc): Clean up the error message which - happens if one of the RCS_* functions returns an error status; it - is confusing to say that "rcs" failed now that this is implemented - internally. - * sanity.sh (admin): Update accordingly. - -Wed Oct 29 07:07:36 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (admin-22-o24): New test, tests that admin -o - correctly munged the deltatexts on a branch too. - - * rcs.c (RCS_delete_revs): If we are deleting an entire branch, - delete the node in ->branches rather than setting the ->key to the - bogus value NULL. - * rcs.c (RCS_delete_revs): If "rev1" equals "branchpoint", then set - "before" to the revision on the trunk that we branch from. - * rcs.c (RCS_delete_revs): Don't set rev2 to revp->version (the - code is missing an xstrdup, but it doesn't matter because rev2 - isn't used after this point). - * sanity.sh (binfiles2-o2 to binfiles2-o4): New tests, for this. - -Tue Oct 28 19:30:05 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcs.c (RCS_delete_revs): Restore code which passes rev2 to - RCS_getbranchpoint if rev1 is NULL; it still makes sense for the - non-trunk case. Fixes admin-22-o22 in testsuite. - - * sanity.sh (admin-18): Adjust to reflect "rcs failed" no longer - being suppressed by global -q option. - - * rcs.c (RCS_delete_revs): If rev1 == NULL and rev2 is on the - trunk, handle it the same way we do everything else--by swapping - the two. This replaces the code which tried to kludge what we - passed to RCS_getbranchpoint (which didn't work). - * sanity.sh (binfiles2-o1 to binfiles2-o4): New tests, for this fix. - * admin.c (admin_fileproc): Don't have -q global option suppress - "rcs failed" message. - -1997-10-28 Jim Kingdon - - * log.c (printlock_proc), rcs.c (putlock_proc): Prototype. - * rcs.c (rcs_internal_lockfile): Only try to call fchmod if - HAVE_FCHMOD is defined. - -Tue Oct 28 10:27:03 1997 Ian Lance Taylor <ian@cygnus.com> - - * rcs.c (RCS_deltas): Don't use \? in string if __STDC__ is not - defined. - - * rcs.c (make_file_label): Remove extraneous `+'. - -Mon Oct 27 14:40:15 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * status.c (status): Don't pass SEND_NO_CONTENTS to send_files. - -Sat Oct 25 00:33:57 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcs.c (RCS_delete_revs): Use : not - for range in error message. - - * rcs.h: Add comment about '\0' in RCS fields. - - * rcs.c (getdelta): Add comment about branches and next field - being mandatory. - - * rcs.c (RCS_reparsercsfile, RCS_deltas), sanity.sh (reserved): - Reindent sections which were misindented as a result of recent - changes. - -Fri Oct 24 10:22:15 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcs.c (RCS_findlock_or_tip): Don't worry about file ownership - and nonstrict locking when returning the default branch or head. - The most conspicuous problem with the old code is that in the - error case it would examine rstat.st_uid when it had not been - set. For a discussion of more fundamental reasons, see comment. - - * admin.c (admin_fileproc): In handling -A, don't handle relative - pathnames differently from absolute pathnames. See comment for - rationale. If problem opening the file, give a nice error not a - coredump. - * sanity.sh (admin-19a-admin, admin-19a-log, admin-19a-fix): - New tests, test for traditional "cvs admin -A" behavior with - relative pathnames. - * sanity.sh (admin-19a-nonexist): Test for the core dump fix. - * sanity.sh (admin-22-o1): Look for ${PROG} not cvs. - - * sanity.sh (reserved-16): Remove commitinfo change with "cvs - commit" not "cvs admin -o". In addition to commit being The Right - Thing on general principles, cvs admin -o doesn't work because it - doesn't rebuild the administrative file database. - - * update.c (patch_file): If the first revision does not exist in - the RCS file, fall back to sending entire file. Fixes - admin-22-o15 in make remotecheck. - -1997-10-23 enami tsugutomo <enami@but-b.or.jp> - - * rcs.c (RCS_checkin): Unlink temporary files stored in variable - `tmpfile' and `changefile'. - -Wed Oct 22 12:16:10 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcs.c (rcs_lockfilename): Allocate enough memory for terminating - '\0'. - - * admin.c (admin_fileproc): Don't support '-' for ranges in "cvs - admin -o". - (admin): Adjust comment. - - * rcs.h (RCSVers): New field other_delta. - * rcs.c (free_rcsvers_contents): Also free other_delta. - (getdelta): Read newphrases from deltas into other_delta field. - (putdelta): Write those newphrases. - * sanity.sh (rcs-8a): New test, for this fix. - * admin.c (admin_fileproc): If "-b" without argument, then set - branch to NULL, not "" (uncovered by rcs-8a test). - * rcs.c (putrcsfield_proc): Add comment about how we (mis)handle - values in newphrases. - - * sanity.sh (reserved): Instead of looking for rcslock.pl in CVS - distribution, just use our own equivalent. - - * rcs.c (RCS_rewrite): Call ferror before fclose to avoid "Invalid - argument" warnings. - -Mon Oct 20 00:30:16 1997 Tim Pierce <twp@twp.tezcat.com> - - [I removed a ChangeLog entry for a change to sanity.sh (editor), - because the actual change was not made. With this change, CVS no - longer runs RCS. I'll be checking in my cleanups shortly. -kingdon] - - Librarify `ci'. - * rcscmds.c, cvs.h (RCS_checkin): Removed. - * rcs.c, rcs.h (RCS_checkin, RCS_getbranchpoint, RCS_addbranch, - RCS_findlock_or_tip): New functions. RCS_checkin completely - rewritten to eliminate RCS 5.7; change `rcs' parameter from string - to RCSNode, so we can update RCSNode without re-reading from - disk. - * checkin.c (Checkin): Updated RCS_checkin caller, moved RCS_parse - call to before RCS_checkin. - * import.c (add_rev): Updated caller. - * commit.c (remove_file): Updated caller. - (checkaddfile): Updated caller. Parse `rcsfile' after - calling add_rcs_file. Free `rcsfile' instead of asserting it to - be NULL. - - Librarify `rcs'. - * rcscmds.c, cvs.h (RCS_exec_settag, RCS_exec_deltag, - RCS_exec_setbranch, RCS_exec_lock, RCS_exec_unlock): Removed. - - * rcs.c (RCS_settag): Rewritten to eliminate RCS 5.7. - * commit.c (checkaddfile): Call RCS_rewrite after calling RCS_settag. - * import.c (add_tags): Same. - * rtag.c (rtag_fileproc): Same. - * tag.c (tag_fileproc): Same. - - * rcs.c (RCS_deltag): Rewritten to eliminate RCS 5.7. Remove - `quiet' parameter, since this function no longer prints any output. - * commit.c (remove_file): Update caller. Also call RCS_rewrite - after RCS_deltag. - * rtag.c (rtag_delete): Same. - * tag.c (tag_fileproc): Same. - - * rcs.c (RCS_setbranch): Rewritten to eliminate RCS 5.7. - * commit.c (remove_file): Call RCS_rewrite after calling RCS_setbranch. - (fixbranch): Same. - (lock_RCS): Same. - - * rcs.c (RCS_lock): Rewritten to eliminate RCS 5.7. Change third - arg to mean `quiet' and not `noerr', permitting admin_fileproc to - run RCS_lock verbosely. - * commit.c (lock_RCS): Update callers; call - RCS_rewrite after RCS_lock. - (remove_file): Same. Call RCS_lock quietly. - * import.c (add_rev): Same. Do not print `fork failed' error - message, since we're no longer forking. - - * rcs.c (RCS_unlock): Rewritten to eliminate RCS 5.7. Change - `noerr' arg to mean `quiet', permitting admin_fileproc to run - RCS_unlock verbosely. Use notify_do when breaking another user's - lock. Include "edit.h" for notify_do prototype. - * checkin.c (Checkin): Update caller; use RCS_rewrite after RCS_unlock. - * commit.c (unlockrcs): Same. - * import.c (add_rev): Same. - - * rcs.c, rcs.h (RCS_getlocks, RCS_addaccess, RCS_delaccess, - RCS_getaccess, RCS_delete_revs): New functions. - (expand_keywords, RCS_lock, RCS_unlock): Use RCS_getlocks. - * log.c (log_fileproc, log_version): Call RCS_getlocks. Don't add - bogus ";locker" nodes to RCSVers nodes -- walk lock list with - printlock_proc. - (printlock_proc): New function. - - * admin.c (admin_fileproc): Largely rewritten: call internal RCS - library functions instead of forking RCS processes. - (admin, admin_fileproc): Obsolete -V option. - (struct admin_data): Remove `version' member. - * sanity.sh (admin-24): Remove -V test case. - - New functions for reading and writing RCS files. - * rcs.h (struct deltatext, Deltatext): New types. - (struct rcsversnode): New members `text' and `outdated'. - (struct rcsnode): New members `access', `locks', `strict_locks', - `comment', and `desc'. - * rcs.c (RCS_reparsercsfile, expand_keywords): Use new RCSNode members. - (free_rcsnode_contents): Free them. - * log.c (log_fileproc): Use new RCSNode members instead of ->other. - - * rcs.c (getdelta, RCS_getdeltatext, freedeltatext, do_locks, - RCS_putadmin, RCS_putdtree, RCS_putdesc, putdelta, - putrcsfield_proc, putsymbol_proc, RCS_copydeltas, putdeltatext, - RCS_rewrite, getrevnum, rcs_internal_lockfile, - rcs_internal_unlockfile, rcs_lockfilename): New functions. - - (RCS_reparsercsfile): Use getdelta, making sure fp is positioned - correctly before calling it. Skip `head' and `branch' nodes: we - have already parsed them, and they were being added incorrectly to - rcs->other. Do not signal error if the RCS file has an empty - delta tree; this made it impossible for RCS_checkin to perform an - initial checkin. Remove `all' parameter; always store all RCS - fields. - (RCS_fully_parse, RCS_gettag, RCS_getbranch, RCS_getdate, - RCS_getdatebranch, RCS_getrevtime, RCS_symbols, translate_symtag, - RCS_isdead, RCS_getexpand, RCS_checkout, annotate_fileproc): - Update all callers to remove `all' parameter. - - (getrcskey): Do not append trailing whitespace to a value. This - corrupted some log fields and wrecked some sanity.sh test cases. - - (free_rcsvers_contents): New function. - (rcsvers_delproc): Call it. - - * rcs.h (NODELTA): Removed symbol; now obsolete (since RCSNodes - do not go stale). - * import.c (add_rev): Removed NODELTA reference. - * rcs.c (RCS_reparsercsfile, RCS_checkout, RCS_settag, RCS_deltag, - RCS_setbranch, RCS_lock, RCS_unlock, RCS_deltas): Removed NODELTA - references. - - Miscellaneous changes to support RCS librarification and fix some bugs. - * subr.c, cvs.h (line2argv): Add `sepchars' argument. - * modules.c (cat_module, admin_fileproc): Update all callers. - - * subr.c, cvs.h (compare_revnums, increment_revnum): New functions. - (make_message_rcslegal): Strip whitespace from end of - lines and end of string, a la `cleanlogmsg' in RCS 5.7. - (get_file): Terminate buf with \0, extending it if - necessary. Read from stdin if `name' arg is NULL. - * admin.c (admin_fileproc): Call get_file to read -t arg from stdin. - - * error.c, error.h (rcserror): New function, used everywhere. - - * hash.c, hash.h (addnode_at_front): New function. - * rcs.c (RCS_settag, RCS_lock): Call it. - - * import.c, cvs.h (expand_at_signs): Make extern. - * rcs.c (putrcsfield_proc, RCS_putadmin, RCS_putdesc, - putdeltatext): Call it. - - * rcs.c (make_file_label): Use last_component to get file's basename. - - * sanity.sh (srcdir): New variable. - (rcs-7): Remove newphrase warning, no longer produced by CVS. - (rcs-8): Permit random whitespace around newphrase fields. - (admin-22): New test cases for -o options: admin-22-o{1..23}. - (reserved): New test cases for rcslock.pl: reserved-{8..16}. - -Tue Oct 21 16:48:32 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * tag.c (tag_check_valid): Add comment about locking or lack - thereof. - -1997-10-20 Jim Kingdon <kingdon@harvey.cyclic.com> - - * version.c: Change version number to 1.9.19. - -1997-10-19 Jim Kingdon - - * Version 1.9.18. - -Wed Oct 15 15:21:43 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (username): Add '-' to characters allowed in user name. - - * rcscmds.c (diff_exec): Remove item about external diff - programs. It doesn't really belong here now that diff is - librarified and TODO #191 now mentions this. - - * checkout.c (checkout_proc): Add comment about assuming '/' is - the only path separator. - * options.h.in: Fix thinko (CVS/Repository -> CVS/Root). - -Mon Oct 13 22:46:03 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * commit.c (commit): Add comment about CVS_BADROOT and command - other than "commit". - -1997-10-11 Noel Cragg <noel@swish.red-bean.com> - - * options.h.in: RELATIVE_REPOS has been checked for bitrot -- it - now works again. Change the comment before the #define to say - that we'll be switching to it soon. - - * sanity.sh (basicb-1, basicb-1a): update dotest strings to match - no matter if we're running with RELATIVE_REPOS defined or not. - (basicb-9b, basicb-9c): same. - - * sanity.sh (basicb-9b, basicb-9c): modified tests, since the - checkout.c fix changes the way this test module is checked out. - (basicb-9d, basicb-9e, basicb-9f): new tests, same. - (basicb-18): modify test, same. - (cvsadm): new set of exhaustive tests to check the contents of - CVS/Root and CVS/Repository files under various conditions. As a - side effect, it tests the behavior of the "-d" flags (command line - and modules file). - (modules3-7e through modules3-7h): removed, since these tests were - a small subset of what is tested in the new cvsadm section. - (modules-1b, modules-1c): same. - (modules-2b, modules-2c): same. - (modules-3b, modules-3c, modules-3e, modules-3f): same. - - * create_adm.c (Create_Admin): be a bit more verbose when using - trace mode. - - * checkout.c (checkout_proc): rewrote the code that sets the where - variable and the code that matches directory names with repository - directories. This fixes a long-standing bug in CVS. (It used to - be the case that "cvs co -d foo <mod1> <mod2>" would not properly, - where <mod1> and <mod2> where defined in the modules file. While - the first module would be checked out correctly, the second would - be checked out under the name of the directory to which the module - referred rather than the module name!). This fix also allows us - to check out things into directories that are more than one deep - (e.g. "cvs -d foo/bar/baz co blah" will now work). - (checkout): remove code that performed a CHDIR if the - number of arguments specified was greater than one, since it's no - longer necessary. Also remove the code that prevented us from - doing "cvs co -d <dir1>/<dir2>" without <dir1> existing, since - checkout_proc handles things correctly now. - - * cvs.h: fix typo. - - * rtag.c (rtag): reformat so that we don't run over 80 characters - per line. - (rtag_dirproc): same. - - * sanity.sh: change all old test cases to use pass and fail - functions rather than doing some combination of echo and exit - themselves. - - * commit.c (commit_direntproc): remove the "warm fuzzy" -- this - code never gets called when running in client/server mode, and we - should have CVS' output match as much as possible between the two - modes. Moreover, there is no analogous place to put this same - message when we're running in c/s mode. - (find_direntproc): print the same "fuzzy" as in check_direntproc - so that local and c/s mode have the same messages. - * sanity.sh (187a3): update test case to reflect the above. - -Thu Oct 9 10:57:02 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * parseinfo.c (parse_config): Add comment about compatibility - issues with adding keywords. - -Wed Oct 8 16:40:37 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * recurse.c (do_dir_proc), commit.c (check_direntproc, - commit_direntproc, find_dirent_proc): If this - directory doesn't exist, skip it. - * diff.c (diff_dirproc): Reindent. - * sanity.sh (deep-4b0a, deep-4b0b): Check for this fix. - -Thu Sep 26 16:30:00 1997 Larry Jones <larry.jones@sdrc.com> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * update.c (checkout_file): Don't set timestamp in noexec mode. - * vers_ts.c (Version_TS): Add comment about ignoring errors from - utime. - * sanity.sh (conflicts3): New tests, for this fix. - -Fri Oct 3 09:47:04 1997 Noel Cragg <noel@swish.red-bean.com> - - * sanity.sh (168): use PROG instead of CVSBASE, since they are - equal. - (importb-2): refer to PROG instead of "cvs" in error message. - - * add.c (add): use PROGRAM_NAME in the error message rather than - "cvs". - * classify.c (Classify_File): same. - * commit.c (find_fileproc): same. - * sanity.sh: change all add notification messages to refer to PROG - rather than "cvs". Fixed nasty quoting in several places at the - same time, replacing older "'command'" forms with newer - ".command." for simplicity. - -Sat Sep 27 01:37:10 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (rcslib-merge-8): Accept "P file1" as well as "U file1". - -Fri Sep 26 22:24:10 1997 Noel Cragg <noel@swish.red-bean.com> - - * create_adm.c (Create_Admin): assign our duplicate pointer `cp' - after the xrealloc of `reposcopy' because the latter might have - changed addresses. - -Fri Sep 26 14:25:59 1997 Tim Pierce <twp@twp.tezcat.com> - - * run.c (call_diff): Don't reset optind; this is done by diff_run now. - - Librarify rcsmerge/diff3. - * rcscmds.c, cvs.h (RCS_merge): Rewritten from scratch: check out - selected files and diff3 them. Take new `rcs' and `workfile' - arguments, so we can resolve symbolic tags and manipulate the - working file. - * update.c (merge_file, join_file): Update RCS_merge calls. - * run.c, cvs.h (call_diff3): New function. - - * sanity.sh (rcslib): New tests, rcslib-merge-{1..13}. - -Fri Sep 26 22:59:56 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * create_adm.c (Create_Admin): Fix thinko in Noel's change: keep - track of the originally allocated "cp" and free it, rather than - calling free on a pointer which may point halfway into the allocation. - * repos.c (Sanitize_Repository_Name): Per HACKING, assert that - repository != NULL, rather than just silently returning if NULL. - Reindent a line. - -Fri Sep 26 15:40:00 1997 Noel Cragg <noel@swish.red-bean.com> - - * sanity.sh (modules): add tests modules-[123]* that make sure the - administrative files get rebuilt in various cases. - - * add.c (combine_dir): removed function, since we no longer need - to worry about stripping the "." path element out. Changed the - two callers to simply concatenate their two arguments. - - * recurse.c (do_dir_proc): don't bother trying to strip off "." in - the repository name since the below changes fix that behavior -- - simply concatenate the repository and directory names together. - - * checkout.c (checkout_proc): sanitize the repository name after - constructing it (we may create "/path/to/repos/.", but we don't - want that to be passed around). Remove the code that tacks on - "/." when constructing top_repository, since the below changes fix - that behavior. Added comments to the part of this function that - builds administrative files. - - * sanity.sh (basicb): now that the below weirdness is fixed, the - extra "." path element in test basicb-0c doesn't appear when a - top-level file is checked out. Remove it from the expect string. - - * create_adm.c (Create_Admin): now that the repository name isn't - floating around with "." as the last path element, make creation - of the top-level administrative files a special case -- save the - repository name as "/path/to/repos/." Why? I considered not - including the "." but didn't know how it would affect the remote - protocol when RELATIVE_REPOS was defined (do we have a way of - sending "" via the protocol?). After I make sure that the - RELATIVE_REPOS patches still work, I'll check the "" possibility - so we don't have to have a this special case. - - * repos.c (Sanitize_Repository_Name): new function that removes - (if present) the trailing slash and "." component from the - repository name. Many routines break if we don't guarantee this. - See the comment before the function for complete information. - (Name_Repository): call Sanitize_Repository_Name before returning - the value. - * cvs.h: add prototype for Sanitize_Repository_Name. - -Fri Sep 26 14:19:25 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * cvs.h (CVS_CMD_USES_WORK_DIR): Fix comment (the sense of the - flag is not reversed from what it would seem; when I thought so it - was because I was misreading the lookup_command_attribute code). - -Thu Sep 25 23:14:47 1997 Noel Cragg <noel@swish.red-bean.com> - - * parseinfo.c (Parse_Info): fix typo in the trace message. - -Thu Sep 25 14:22:54 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * build_src.com: Also link with diff.olb. - - * main.c (Make_Date): If gmtime returns NULL, try localtime. - -Wed Sep 24 19:18:40 1997 Noel Cragg <noel@swish.red-bean.com> - - * checkout.c (checkout): fix typo in comment. - -Wed Sep 24 08:31:46 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * update.c (patch_file): Revise comments about diff -a now that - diff is librarified. - -Sun Sep 21 21:28:26 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * run.c (call_diff): Sleep for a second, in hopes of helping with - out of order bugs. - -Sat Sep 20 07:19:18 1997 Tim Pierce <twp@twp.tezcat.com> - - Integrate diff library into CVS. - * run.c, cvs.h (call_diff): New function. - * rcscmds.c (diff_exec, diff_execv): Get diffs from call_diff - instead of running diff as a subprocess. - * Makefile.in (cvs): Add ../diff/libdiff.a. - - * diff.c (longopts, diff): Use 131 for --ifdef, fixing Jim's thinko - (using 147 for both --side-by-side and --ifdef). - - * sanity.sh (rcslib): Added tests rcslib-diffrgx-*, to test - handling of regex diff options. - -1997-09-21 Jim Kingdon <kingdon@harvey.cyclic.com> - - (Note that this requires that DIFF support -L. I'll be checking - in a fix to that in a moment, but I wanted separate checkins in - case that helps with clarity). - Tweaks to rcsdiff librarification: - * sanity.sh (rcslib): Change "cvs" to "${PROG}" and subcommand - names (e.g. "add") to "[a-z]*". Former should deal with ${testcvs} - being "cvs.old" or something; latter fixes make remotecheck. - * rcs.c (make_file_label): Take into account strlen (rev) when - allocating space. Removes a FIXME and probably fixes a buffer - overrun security hole. - * rcscmds.c (RCS_exec_rcsdiff): Remove #if 0'd code to call - rcsdiff. Tim says he has compared the new code with rcsdiff code - and is confident that the behavior is preserved, so we need to - nuke the comment which says this has not been done. #if 0 isn't - really a very good way to document the way it used to work anyway; - the old code is still in CVS. - * diff.c: Add comment about rcsdiff options that we don't support, - which Tim had sent in email. Remove -T and -y, as the - previous meaning had been very confused. - -1997-09-21 Tim Pierce <twp@xochi.tezcat.com> - - Librarify rcsdiff. - - * diff.c (have_rev1_label, have_rev2_label): New variables. - (diff): Generate file labels with make_file_label if necessary; - pass labels, revisions and working file name to RCS_exec_rcsdiff. - * rcscmds.c, cvs.h (RCS_exec_rcsdiff): Completely revised function - to eliminate rcsdiff dependency, based on patch from JimK. - (diff_execv): New function, to exec diff with explicit -L args. - * rcs.c, rcs.h (make_file_label): New function. - (RCS_output_diff_options): New function. - * sanity.sh (rcslib): New test. - -Fri Sep 19 15:08:08 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcs.c (RCS_nodeisbranch): Assert that RCS is non-NULL. - * commit.c (remove_file), rcs.c (RCS_getversion), rtag.c - (rtag_fileproc), status.c (status_fileproc, tag_list_proc), tag.c - (tag_fileproc): Call RCS_nodeisbranch not RCS_isbranch - in contexts where we know the RCS argument is non-NULL. - - * commit.c (find_fileproc): Pass tag not NULL to Version_TS for - the tag. - * vers_ts.c (Version_TS): Improve (somewhat) the introductory - comment. - * sanity.sh (editor): New test editor-9 tests for above fix. - Renumber/tweak surrounding tests to fit. - - * log.c (log_version): If p->data is NULL, it is an empty log - message. - * sanity.sh (rcs-14): New test, tests for above fix (previously - this was a coredump). - -Thu Sep 18 08:45:05 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (rcs-7): Fix stupid ${TESTDIR} omission. - -Wed Sep 17 16:27:41 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (rcs): New tests rcs-5 through rcs-13 test for - getdate.y fix (rcs-12 and rcs-13 both failed with the buggy - getdate.y). - -Tue Sep 16 00:07:17 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (editor): Clean up first-dir at end of test. - - * sanity.sh (editor): New tests test do_editor. - - * commit.c (commit): For the client, if we got the log message - from do_editor and there was an error, don't toss the message. - -Mon Sep 15 14:27:54 1997 martin.sjoelin@ubs.com - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcs.c (RCS_checkout): fwrite in bite-size pieces, not the whole - file in one fwrite. - -Sun Sep 14 12:23:15 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * commit.c (check_fileproc): If the file has "conflict - indicators", spit a warning and proceed with the checkin. - * sanity.sh (conflicts): Adjust tests conflicts-132, - conflicts-status-3, conflicts-133, and conflicts-status-4 - for new behavior. - -Fri Sep 12 11:12:34 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * add.c, admin.c, checkin.c, checkout.c, classify.c, commit.c, - create_adm.c, cvsrc.c, diff.c, entries.c, find_names.c, hash.c, - import.c, lock.c, log.c, logmsg.c, main.c, modules.c, myndbm.c, - no_diff.c, parseinfo.c, patch.c, rcs.c, rcscmds.c, recurse.c, - remove.c, repos.c, root.c, rtag.c, status.c, subr.c, tag.c, - update.c, vers_ts.c, hash.h, rcs.h, options.h.in: Change "CVS 1.4 - kit" to "CVS source distribution". - - * sanity.sh: Comment out call to "whoami". - -Thu Sep 11 10:09:04 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * commit.c (classify_file_internal): Add comment about saving - quiet vs. saving really_quiet. - - * sanity.sh (newb-123j0): Use two regexps instead of assuming that - expr has "\(", "\|", and "\)". If we want to require the latter, - we should check for it up front, rather than let people get - halfway through and wonder why the test failed. - -Tue Sep 9 19:22:44 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * expand_path.c (expand_path): If GETPWNAM_MISSING is defined, - just give an error instead of calling getpwnam. - - * subr.c (getcaller): If SYSTEM_GETCALLER is defined, call it - instead of all the getlogin/getpwuid/etc. - * wrapper.c (wrap_setup): Call get_homedir not getpwuid. - -Mon Sep 8 17:54:14 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (basicc): Change ls -1 to echo *; according to - larry.jones@sdrc.com, ls -1 isn't portable. - -Sun Sep 7 07:45:35 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (basic2): In test basic2-64, match usernames with - ${username}. - - * root.c: Reindent a few things. - * root.c, cvs.h (same_directories): Remove. Never used, - portability hassle. - - * add.c (add_directory): When checking for CVSADM, call fncmp not - strcmp. I actually suspect this code doesn't do much these days, - but fncmp clearly will make more sense than strcmp. - - * rtag.c (rtag_usage), tag.c (tag_usage): Reword to hopefully be - clearer that -r takes either numeric or symbolic revision. - - * ignore.c (ign_dir_add, ignore_directory): Reindent. Tweaks to - comments. - - * update.c (checkout_file): Only ignore existence_error from - unlink_file_dir, not all errors. - - * checkout.c (safe_location): Check for errors from xgetwd. - * create_adm.c (Create_Admin): Remove call to xgetwd; it is just - debugging code anyway and it wasn't checking for errors. - - * sanity.sh: Add comment about default value for TESTDIR. - - * server.c (serve_log): Change "cvslog" to "log". This - (accidental, I presume) error had made it impossible for anonymous - users to run "cvs log". - - * classify.c (sticky_ck): Change to take an finfo argument rather - than several arguments taken from there. Cleans up the way the - calling convention had depended on SERVER_SUPPORT. - (Classify_File): Change callers. - - * version.c: Change version number to 1.9.17. - - * Version 1.9.16. - - * recurse.c (do_dir_proc): In combining repository and dir, omit - trailing "/." from repository. - * sanity.sh (modules3): Adjust test modules3-4 so we test for - this fix (this is not just cosmetic; the bug prevented the - "Rebuilding administrative file database" from happening). - modules2 already tests the "co CVSROOT/modules" usage. - - * checkout.c (checkout_proc): When building top-level CVSADM - directory, continue the process of walking up the repository one - more level, rather than putting in the same repository as for the - first-level directory. - * sanity.sh: Adjust tests basicb-1b, basicb-9b, modules3-7f, - toplevel-9, and toplevel-11 to test for this fix. - - (For reference, this takes CVS's text segment from 344460 to - 344140 bytes. I know, this may seem unimportant, but it is so - unusual for programs to shrink and I think it is so cool when they - do without losing functionality/clarity/etc). - * checkout.c, cvs.h (emptydir_name): New function. - * checkout.c (checkout, checkout_proc), modules.c (do_module): - Call it instead of duplicating the code to do that. - - * sanity.sh (basicc): Clean up first-dir at end of test. - -Sat Sep 6 09:48:39 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (join): Fix cut and paste error in join-28 - (/home/kingdon/... -> ${TESTDIR}). - - * recurse.c (start_recursion): If there is no CVSADM and no - subdirectories, give an error. - * sanity.sh (basicc): New tests, test for this fix. - - * sanity.sh (join): New tests join-25 through join-29 test merging - from one branch to a different branch. - - * release.c: In comment about CVSROOTADM_IGNORE, also mention - comment just added to entries.c. - * entries.c: Expand this comment, especially the part about - CVS/Template. - - Keep track of what revisions CVS/Base correspond to: - * cvs.h (CVSADM_BASEREV, CVSADM_BASEREVTMP): Added. - * entries.c, cvs.h (base_register, base_deregister, base_get, - base_walk): New functions. - * edit.c (edit_fileproc): Call base_register when setting up CVS/Base. - (unedit_fileproc): When taking a file out of CVS/Base, put its - revision back into entries, and base_deregister it. - * sanity.sh (watch4): New tests watch4-10 through watch4-18 test - for above fix. - -Fri Sep 5 09:14:10 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c: Only declare start_rsh_server if we are going to - define it (!NO_EXT_METHOD). - - * subr.c, cvs.h (check_numeric): New function. - * admin.c (admin): Call it. - * sanity.sh (admin): New tests admin-10a and admin-10b test for fix. - -Thu Sep 4 15:55:39 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (binwrap2): New tests, test for the ability to specify - all files are binary except certain patterns. - - * sanity.sh (modules3): New tests modules3-16 and modules3-17 test - for another behavior involving '/' in a module name. - -Sun Aug 31 12:03:15 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * add.c (add): Remove checks for '/' in pathnames. - (add): Move code which handles entries and repository inside loop, - since these now might be different for each argument. Add code to - set finfo.update_dir, finfo.file, and finfo.fullname appropriately - even if pathname contains '/'. Replace user variable with - finfo.file or finfo.fullname, depending on which is meant. chdir - into update_dir for each argument. Likewise for the client code - which creates directories. - (add_directory): Replace arguments with a single finfo argument. - Replace dir with finfo->fullname as needed. - (add): Update call to add_directory. - * client.c, client.h (send_a_repository): No longer static. - * sanity.sh (errmsg2): Adjust tests to test for '/' in pathname. - - * sanity.sh (errmsg2): New tests errmsg2-13 through errmsg2-16 - test the status quo with respect to '/' in cvs add argument. - -Sat Aug 30 17:37:29 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * run.c (run_popen): Add comment on return value. - * release.c (release): Check for NULL return from popen. - -Fri Aug 29 17:49:20 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (get_server_responses): Add comment about "ok^M". - -Thu Aug 28 13:35:12 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * edit.c (edit_fileproc): If file doesn't exist, give an error. - * sanity.sh (devcom2): Tests devcom2-12 through devcom2-17 test - for above fix. - -Tue Aug 26 16:42:28 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * subr.c (xmalloc): Reword error message to clarify that memory, - not disk space or some other resource, is in question. - -Tue Aug 26 01:04:48 1997 Steve Ralston <sralston@ppdpost.ks.symbios.com> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * add.c (add_directory): In allocating message, also allocate - enough for tag and date related text. - -Tue Aug 26 01:04:48 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * update.c (update_dirent_proc): Use update_dir not dir in "new - directory" message. - * find_names.c (find_dirs): Skip CVSNULLREPOS. - (Find_Directories): Add comment about find_dirs skipping CVSATTIC - and CVSLCK in working directories. - * sanity.sh (basicb): New tests basicb-edir-* test for find_dirs - fix. Change other tests to test that Emptydir is not special in - non-CVSNULLREPOS contexts. - -Sun Aug 17 14:44:57 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * import.c (add_rcs_file): Add comment about -k overriding wrappers. - -Sat Aug 16 18:09:05 1997 Martin Sjoelin <martin.sjoelin@ubs.ch> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * import.c (add_rcs_file): Before opening the input file - when importing, if options is binary, open the file in - binary mode. - -1997-08-16 enami tsugutomo <enami@ba2.so-net.or.jp> - - * sanity.sh (mcopy): Unset CVSWRAPPERS last of all. - -Fri Aug 15 11:11:44 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * add.c (add_directory): Copy default file attributes from the - parent directory to the directory we are creating. - * fileattr.h, fileattr.c (fileattr_getall, fileattr_setall): - New functions, in support of above. - * fileattr.c (fileattr_free): Add comment about fileattr_write - maybe not clearing attrs_modified. - * sanity.sh (watch4): New test, tests for above fix. - -Thu Aug 14 11:08:40 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * update.c (merge_file, join_file): If wrap_merge_is_copy, treat - files as nonmergeable (as we had been treating binary files). - (join_file, update_fileproc): Remove previous wrap_merge_is_copy - cruft. - * sanity.sh (mcopy): New tests, test for above fix. - (binfiles2): New tests binfiles2-9a-* correct an oversight. - (binfiles, binfiles2): Adjust to reflect wording change from - "binary file" to "nonmergeable file". - (mwrap): Adjust tests mwrap-8 through mwrap-10 for new behavior. - - * main.c (main): Reword copyright notices to include the latest - year, to refer to "other authors" in addition to the ones listed, - and to be more concisely formatted. - -Wed Aug 13 13:50:00 1997 Larry Jones <larry.jones@sdrc.com> - - * sanity.sh: Replace hard-coded directory with ${TESTDIR}, add - join3 to default tests - -Wed Aug 13 11:42:24 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcscmds.c: Adjust comment to reflect progress on removing RCS - execs outside this file. - -Mon Aug 11 10:14:47 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * vers_ts.c (Version_TS): If vers_ts->vn_rcs == NULL, skip setting - modification time in server case as well as local case. - * server.c (server_modtime): Add assertion to clarify that caller - must assure that vers_ts->vn_rcs != NULL. - * sanity.sh (join3): Add file "file2" to test for above fix. - - * modules.c (save_d): When parsing -s option, don't assume that - we will hit a space before we hit the '\0'. - (struct sortrec): Document allocation policies (status quo except - status field is now malloc'd). - (cat_module): No longer need to set the '\0' at the end of the - status field back to ' ', as it no longer shares storage with the - rest field. - * sanity.sh (modules): Add "statusmod" to test for above fix. - -Sun Aug 10 12:18:31 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh: Remove TODO item about more keyword expansion tests. - The keyword test and others cover it pretty well, and such an item - isn't useful unless it is specific. - - * sanity.sh (importb): New tests test "cvs import -b". - - * mkmodules.c: Update comment with more reasons why having - CVSROOT/passwd be a regular administrative file would be a Bad - Idea. - - * server.c (switch_to_user): Add comment about checking for errors - from setuid and friends. - -Wed Aug 6 13:48:29 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * main.c (main): Add comment about errors writing CVS/Root in - need_to_create_root code. - -Tue Aug 5 22:05:20 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * entries.c (write_entries): If trouble writing Entries.Backup, - make it a warning not an error. - -Wed Jul 30 08:42:04 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * parseinfo.c (parse_config): If AUTH_SERVER_SUPPORT is not - defined, don't set system_auth. - - * version.c: Change version number to 1.9.15. - - * Version 1.9.14. - - * create_adm.c, cvs.h (Create_Admin): If new argument WARN is set, - then make creating the CVS directory itself a warning not a fatal - error. New return value indicates whether we did this. - * checkout.c (build_one_dir), client.c (call_in_directory): - Pass WARN as one. - * add.c, client.c, checkout.c, modules.c, update.c: Pass WARN as - zero for all other Create_Admin callers. - * sanity.sh (toplevel): New test toplevel-12 tests for this fix. - * filesubr.c (mkdir_if_needed): Also check EACCES/isdir. Needed - to make toplevel-12 test work. - - * sanity.sh (toplevel): New test toplevel-11 and friends test for - another variation of the toplevel-9 bug. - -Tue Jul 29 12:11:16 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * login.c (construct_cvspass_filename): Revert this change. The - main reason is procedural; Karl is not a current CVS developer. - The other thing is that the new text doesn't say anything about - HOMEDRIVE and HOMEPATH. - -Tue Jul 29 11:36:22 1997 Karl Fogel <kfogel@harvey.cyclic.com> - - * login.c (construct_cvspass_filename): error message informs user - she may need to set HOME environment variable by hand. - -Sun Jul 27 15:36:44 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * admin.c (admin): Remove comment "XXX send -ko too with i = 0". - It turns out to be a description of a bugfix which was applied on - 8 Oct 1995, and never should have been in a comment in the first - place. - - * admin.c (admin, admin_fileproc): Parse options ourself rather - than blindly passing them to RCS. - Accordingly, add struct admin_data and function arg_add, and delete - global variables ac and av. - * sanity.sh (admin): Change admin-3 test to reflect cvs admin -i - now being an error. - (basicb): Change basicb-21 test to relect the improved error - message here. - -Sat Jul 26 11:34:51 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (join3): New tests, test a new branch topology and - greatest common ancestor. - -Fri Jul 25 09:51:49 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * server.c (serve_directory): Repository must start with - CVSroot_directory rather than some random pathname. - - * remove.c (remove_fileproc): If there is a numeric sticky tag, - don't allow the remove. - * commit.c (check_fileproc): Add comment about this case. - * sanity.sh (sticky): New tests sticky-15 through sticky-23 - test for this behavior and the analogous behavior with - non-branch sticky tags (which is unchanged). - - * client.c (update_entries): Clear the stored mode, modtime, and - checksum even on an error. - * sanity.sh (contents2-142d*): Also test cvs status. Also test - the case in which the contents of the file are unchanged. Also - test running diff to see the conflict, and resolving the conflict. - Without the fix above, the new contents2-142d2 test would get a - "duplicate Mod-time" warning. - -Thu Jul 24 13:29:15 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * server.c (pserver_authenticate_connection): Call parse_config - here too. - * parseinfo.c (parse_config): If we are called several times, the - times beyond the first do nothing. - * cvs.h, parseinfo.c (parse_config): New argument cvsroot. - * server.c, main.c: Update callers. - * server.c, server.h (system_auth): New variable. - * parseinfo.c (parse_config): Parse new keyword SystemAuth. - * mkmodules.c (config_contents): Add comments for SystemAuth. - * server.c (check_password): If !system_auth, then skip the check - for a system username/password. - - * main.c (main): No fatal error if parse_config returned an error. - * server.c (serve_root): Likewise. - * error.c (error): Add comment about calling from the server. - * parseinfo.c, cvs.h (parse_config): Remove NOERR crock. - Closer reading of server.c makes it seem like calling error - here is OK after all. - * sanity.sh (config): New test, tests for above fix. - - * server.c (serve_root): Fix typo ("doign" -> "doing"). - -Wed Jul 23 13:55:09 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * vers_ts.c (Version_TS): If entdata is for a directory, don't set - vn_user and friends. - * server.c (dirswitch): Add comment about why Subdir_Register is - sometimes a noop here. - * cvs.h (struct vers_ts): Fix comments about NULL vs. "" in vn_user. - * sanity.sh (errmsg2): New tests errmsg2-10 through errmsg2-12 test - for above fix. - * add.c (add_directory): Call cvs_output not printf. This fixes - an out-of-order bug which was showing up in the testcase. - -21 Jul 1997 Jim Kingdon - - * subr.c (get_file): Put st_size into an unsigned variable to - avoid signed/unsigned warnings. - -Mon Jul 21 00:19:30 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * version.c: Change version number to 1.9.13. - - * Version 1.9.12. - - * sanity.sh (toplevel, head): Delete our files from the repository - when done with them. - -Sun Jul 20 15:53:08 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (admin, reserved): New tests, test most cvs admin - behaviors. - (log2): New tests log2-5 through log2-10 test setting the - description via cvs admin. - -Thu Jul 17 12:39:27 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (socket_buffer_input, socket_buffer_output): Add - comment regarding size of of buffer we pass to send and recv. - -Sat Jul 12 15:21:24 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * import.c, rcs.h (add_rcs_file): New argument key_opt replaces - access to global variable keyword_opt. New arguments desctext and - desclen allow one to set the description. If add_vhead is NULL, - then omit a revision, like rcs -i. - * import.c (process_import_file), mkmodules.c (init): Change - callers. - * subr.c, cvs.h (get_file): New function, adapted from code in - update_entries. - * client.c (update_entries): Call it. - * commit.c (checkaddfile): Create new RCS files with add_rcs_file - rather than rcs -i. - -Fri Jul 11 12:14:54 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * update.c (join_file): Handle binary files ourself rather than - passing them to RCS_merge (which sort of tries to handle binary - files, but does so badly). - * sanity.sh (binfile2): New "brmod", "brmod-trmod", and - "brmod-wdmod" tests test for this fix. - - * add.c (add): Exit status is now nonzero if any of the arguments - failed (already was mostly true, make it true for the new sanity - check). Move check for '/' (now ISDIRSEP) up to sanity check, so - the client does it too. - * sanity.sh (errmsg2): Test for this fix. - -Thu Jul 10 00:02:54 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * add.c (add): Check for CVSADM, ".", and "..", and skip any - attempt to add them. - * sanity.sh (errmsg2): New tests, tests for above fix. - - * main.c (main): In text printed upon --version, also refer - people to --help. - - * rcscmds.c (RCS_exec_rcsdiff): Add comment about timezones. - - * server.c, cvs.h (cvs_output_binary): New function. - * rcs.c (RCS_checkout): For a binary file, call cvs_output_binary - rather than cvs_output. - * client.c (handle_mbinary): New function. - (responses): Add "Mbinary". - -Tue Jul 8 12:18:16 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * filesubr.c (get_homedir): Add comment about root vs. user - directory in pserver server. - -Mon Jul 7 14:39:33 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (big): Also test Rcs-diff case. - - * client.c (update_entries): Reindent a line. - - * sanity.sh (death2): Add comment about Sun diff. Thanks to - Warren Jones <wjones@TC.FLUKE.COM> for reporting this. - - * client.c (update_entries): If DONT_USE_PATCH, then just treat a - Patched response as an indication to try again with complete files. - * update.c (update): Remove DONT_USE_PATCH ifdefs, since a CVS - with DONT_USE_PATCH defined can still handle Rcs-diff. - * sanity.sh (serverpatch): Add comment about this coming up in - real life if the user modifies the file while CVS is running. - - * client.c (start_server): Add comment about logfiles if there are - several connections to the server. - (log_buffer_shutdown): Close the logfile after shutting down the - underlying buffer. This way at least we get the last set of - logfiles rather than a bizarre mishmash. - -1997-07-06 enami tsugutomo <enami@but-b.or.jp> - - * logmsg.c (do_verify): Unlink temporary file before call error(). - Remove unneeded `return' statement. Fix comment. - -Sun Jul 6 13:36:32 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * diff.c (diff_fileproc): Change message from "during rcsdiff of" - to "while diffing". For a while now, that message might be - printed after a call to DIFF instead of rcsdiff. - - * diff.c (diff_fileproc): Call cvs_output not printf. Remove - calls to fflush (should be handled now by call to cvs_outflush in - recurse.c). - * patch.c (patch_fileproc): Likewise. - - * rcscmds.c, cvs.h (diff_exec): New function. - * diff.c (diff_fileproc), patch.c (patch_fileproc), - update.c (patch_file): Call it. - - * rcscmds.c: Adjust comments concerning diff library to point to - new, expanded comments at diff_exec. Remove comments concerning - patch library; Rcs-diff should be adequate. - - * client.c (update_entries): Add comment about GNU patch usage (-b - option and so on). - -Sat Jul 5 04:13:28 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcscmds.c, cvs.h (RCS_exec_rcsdiff): New function. - * diff.c (diff_fileproc): Call it. - -Thu Jul 3 09:50:07 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * main.c (main): Add comment about how long we should keep the - deprecated "cvs rlog" alias. - - * server.c (cvs_output): Add comment about whether to fflush. - -Wed Jul 2 18:57:29 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (join2): New tests join2-19 and friends test for a - case that we can't readily get right (see comments). - -Tue Jul 1 09:52:09 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * main.c (cmd_usage): Say "specify" --help rather than the vague - "use". - (opt_usage, cmd_synonyms): Mention --help here too. - * add.c, admin.c, checkout.c, commit.c, diff.c, edit.c, import.c, - log.c, login.c, mkmodules.c, patch.c, rcs.c, release.c, remove.c, - rtag.c, status.c, tag.c, update.c, watch.c: Likewise, for all the - other help messages. - - * sanity.sh (join2): New tests. - - * repos.c (Name_Repository): Check for errors from fclose. - -Fri Jun 27 10:27:48 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * scramble.c, login.c: Reindent. - - * client.c (connect_to_pserver): Check for errors from send(). - If socket() fails, include SOCK_STRERROR (SOCK_ERRNO) in message. - -Wed Jun 25 11:21:52 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * main.c: New option --help-options, with much of the text - from --help. Fix a few capitalization and punctuation problems. - Rewrite text for --help to be an intro to all the --help-* - options. - - * sanity.sh (head): New tests, concerning meaning of HEAD. - -Tue Jun 24 10:14:18 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (recv_line): New function. - (connect_to_pserver): Call it, and rewrite accordingly. Also - accept new "E" and "error" responses. Change \n to \012. - * server.c (pserver_authenticate_connection): Adjust comment - accordingly, concerning sending I HATE YOU not "error". - -Sun, 22 Jun 1997 Jim Kingdon - - * main.c (main): Move setting of server_active inside #ifdef - SERVER_SUPPORT; otherwise the variable doesn't exist. - * main.c (main): Call return after exit to shut up warning. - -Fri Jun 20 22:56:34 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (connect_to_pserver): On "I HATE YOU", give - "authorization failed" fatal error regardless of verify_only. - * login.c (login): Don't print that "incorrect password" message; - it now is possible with an --allow-root failure as well as an - incorrect password. cvsclient.texi doesn't really specify what I - HATE YOU means in any detail, and it seems a little silly for - login to give different messages than the other commands. - * client.c, client.h (connect_to_pserver): Return type now void. - -Thu Jun 19 12:16:10 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * server.c (serve_root): Give error on duplicate Root request. - Call parse_config. - * parseinfo.c, cvs.h (parse_config): New function. - * cvs.h (CVSROOTADM_CONFIG): Added. - * main.c (main): Set server_active here... - * server.c (server): ...not here. That seems cleaner than - strcmp's between command_name and "server" in main.c. - * main.c (main): Call parse_config. - * main.c, cvs.h (free_Rcsbin): Make global. - * mkmodules.c (filelist): Add CVSROOTADM_CONFIG. - -Wed Jun 18 11:24:31 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * version.c: Change version number to 1.9.11. - - * Version 1.9.10. - -Tue Jun 17 22:48:00 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * main.c (main): Add --allow-root=ROOT argument; call - root_allow_add for each time it is specified. Call - root_allow_free before exiting. - * root.c, cvs.h (root_allow_add, root_allow_free, root_allow_ok): - New function. - * server.c (pserver_authenticate_connection): If root_allow_ok - doesn't like the CVSROOT directory, don't allow access. - -Tue Jun 17 14:30:14 1997 Jim Kingdon (unknown@beezley) - - * client.c: Add "copyright" notice. If NO_EXT_METHOD, omit - start_rsh_method. - * client.c (update_entries): Cast argument to MD5Update from - char * to unsigned char *. - -Mon Jun 16 16:46:28 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * run.c (piped_child, filter_stream_through_program): - If USE_SETMODE_BINARY, then put the pipes into binary mode. - * find_names.c, ignore.c, lock.c, wrapper.c: Change fnmatch to - CVS_FNMATCH. - * client.c (start_server): If NO_EXT_METHOD, then give a fatal - error on any use of :ext:. - -Sun Jun 15 22:30:27 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (toplevel): Match U CVSROOT/* lines with DOTSTAR in - test toplevel-9. - -Thu Jun 12 10:27:51 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (toplevel): Remove Emptydir before starting. - - * sanity.sh: Change "rm -rf" to "rm -r" when deleting working - directories (except a few watches cases). Helps detect cases - where the testsuite has cd'd to somewhere other than where we - think it has. - (basic2): Remove "rm -r first-dir" between tests 49 and 50. The - directory was already deleted in test 45.5. - (rcs): Add "cd .." at end of tests. - (stamps): No longer cd to TESTDIR; shouldn't be necessary with - fix to "rcs" test. - -Wed Jun 11 22:28:38 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (basicb): Also remove CVSROOT/Emptydir at end of - test. Otherwise it affects the toplevel-9 test for remote. - -Tue Jun 10 14:03:32 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (toplevel): Change "update" and "checkout" to "[a-z]*" - as these read "server" instead for "make remotecheck". Change - expect strings for toplevel-9 to accept the behavior of remote CVS - (see comments for more discussion). - - * sanity.sh: New tests stamps-9 through stamps-11 test timestamp - behavior on cvs update. - -Mon Jun 9 22:42:50 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh: Remove "#! /bin/zsh" line at end. I assume it was - added accidentally. - -Tue Jun 10 03:08:46 1997 Norbert Kiesel <nk@psycho.de> - - * sanity.sh: new tests "toplevel" for the new toplevel CVS - directory creation (including one test which shows an error in - this area). - -Sun Jun 8 20:52:00 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcs.c (getrcsrev): Before printing error, check whether it was - feof or ferror. - - * rcs.h, import.c (add_rcs_file): No longer static. New arguments - add_vbranch, add_vhead, and add_logfp replace access to static - variables vbranch, vhead, and logfp. - * mkmodules.c: Call it instead of RCS_CI. - * import.c (process_import_file): Adjust call to add_rcs_file. - -Tue Jun 3 10:18:33 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (basicb): Match "." with "\." not ".". - -Tue Jun 3 13:02:37 1997 Norbert Kiesel <nk@cosa.de> - - * checkout.c (checkout): Removed restriction of not sending -k in - remote export (I think this was introduced while the -k handling - was still broken in remote mode). Give better error texts - regarding -c and -s options. Use error() instead of usage() for - reporting errors in all places. Reindented some lines. Free - xmalloc'd space of options. - -Thu May 29 16:32:47 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcscmds.c (RCS_checkin), mkmodules.c (init): Pass -w option to - "ci", specifying getcaller (). - * server.h, server.c (CVS_Username): Now extern. - * subr.c (getcaller): Return CVS_Username if it is set. - -Wed May 28 22:31:38 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * update.c (update_fileproc): If wrap_merge_is_copy and we would - like to do a merge, give a fatal error. See comment for why. - * sanity.sh (mwrap): New tests, tests for above fix. - -Tue May 27 21:59:32 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (stamps): cd to ${TESTDIR} before starting. - -Mon May 26 15:31:30 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (handle_mod_time): New function. - (responses): Add "Mod-time". - (stored_modtime_valid, stored_modtime): New variables. - (update_entries): If it is set, change the file's modtime. - * server.c, server.h (server_modtime): New function. - * vers_ts.c (Version_TS): Call it. - * patch.c (patch_fileproc): Add comment about why we don't. - * sanity.sh (stamps): Added, tests for above fix. - -Fri May 16 13:14:30 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * subr.c (free_names): Update documentation to reflect fact that - free_names is now called to free vectors allocated by expand_wild - as well as by line2argv. - - * main.c (main): Use "xstrdup (foo)" not "xstrdup(foo)" as - specified in HACKING. - -Fri May 16 15:10:37 1997 Norbert Kiesel <nk@cosa.de> - - * modules.c (do_module): initialize optind to 0. use local copies - of optarg's (because they might me freed within free_names). - -Thu May 15 11:50:15 1997 Norbert Kiesel <nk@cosa.de> - - * main.c (main): initialize optind to 0. use local copies of - optarg's (because they might me freed within read_cvsrc). - - * cvsrc.c (read_cvsrc): free old argv after constructing a new - one. This fixes a memory leak. - - * recurse.c (start_recursion): use free_names() instead of - reimplementing it - - * rcs.c (RCS_deltas): free branchversion (memory leak). - - * parseinfo.c (Parse_Info): free some vars (3 memory leaks). - - * logmsg.c (logfile_write): free str_list_format (memory leak). - - * watch.c (watch_addremove), (watchers), update.c (update), tag.c - (cvstag), status.c (status), rtag.c (rtag), remove.c (cvsremove), - release.c (release), patch.c (patch), log.c (cvslog), import.c - (import), history.c (history), edit.c (watch_onoff), (edit), - (unedit), (editors), diff.c (diff), commit.c (commit), checkout.c - (checkout), add.c (add): initialize optind to 0 - - * diff.c (diff_fileproc): cosmetic change (whitespace added). - - * checkout.c (checkout): move local variable definition into the - block where the variable is used. - - * client.c (update_entries): initialize some local variables to shut up - gcc -O -Wall. - - * buffer.c (buf_read_line): initialize a local variable to shut up - gcc -O -Wall. - - -Wed May 14 16:29:50 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * admin.c (admin): When sending options to server, don't try to - send av[ac]. It may contain one of the names that we'll send in - send_file_names (which caused tests like keyword-6 to work, - sort of accidentally), or it may contain NULL (which would tend to - cause a coredump). - * sanity.sh (basicb): New test basicb-21 tests for above fix. - -Mon May 12 16:22:00 1997 Larry Jones <larry.jones@sdrc.com> - - * add.c (add): Free message and repository in client code. - * checkout.c (checkout): Don't free repository unless allocated. - * client.c (start_rsh_server): Free command. - -Sun May 11 11:43:54 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c: Remove all references to USE_DIRECT_TCP; see - ../ChangeLog for rationale. - -Fri May 9 22:19:36 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * main.c (main): Add comment explaining why we call exit. Pass 0 - not EXIT_SUCCESS, because lib/system.h has portability cruft for - EXIT_FAILURE but not EXIT_SUCCESS. - -Fri May 9 17:25:00 1997 Larry Jones <larry.jones@sdrc.com> - - Fix miscellaneous memory allocation problems: - * add.c (add): Free repository. - * client.c (notified_a_file): Free getline buffer. - * edit.c (notify_check): Free getline buffer. - * hash.c (dellist): Free header node when not caching. - * login.c (login): Don't continually free & allocate getline - buffer, use xstrdup instead of xmalloc/strcpy, free getline - buffer before returning. - * main.c (main): Call exit instead of returning so tools like - Purify won't consider permanently allocated memory as leaks. - * mkmodules.c (mkmodules): Free getline buffer. - * modules.c (cat_module): Call close_module. - * rcs.c (rcsvers_delproc): Free state. - * recurse.c (start_recursion): Free files_by_dir. - (unroll_files_proc): NULL out p->data after using it to set - filelist to avoid multiple frees. - * server.c (check_command_legal_p): Don't continually free & - allocate getline buffer, free getline buffer before returning. - (check_repository_password): Ditto, use xstrdup instead of - xmalloc/strcpy. - * wrapper.c (wrap_add_file): Free getline buffer. - -Thu May 8 14:21:00 1997 Larry Jones <larry.jones@sdrc.com> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * checkout.c (checkout_proc): Free finfo.rcs (memory leak). - -8 May 1997 Larry Jones <larry.jones@sdrc.com> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * hash.c: Add #ifdef's to disable caching. This makes it easier - to track down memory allocation problems. - -Thu May 8 11:40:39 1997 Larry Jones <larry.jones@sdrc.com> - - * sanity.sh: In setting "tests" use a number of statements rather - than one very long line. - -Thu May 8 11:40:39 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * cvsbug.sh: Remove $Id; we decided to get rid of these some time - ago. - -Thu May 8 11:34:02 1997 Larry Jones <larry.jones@sdrc.com> - - * cvsbug.sh: Put separate statements on separate lines, so it - works if awk is AT&T nawk. - -Tue May 6 16:56:00 1997 Larry Jones <larry.jones@sdrc.com> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * cvsrc.c (read_cvsrc): Fix various memory allocation problems: - rearrange code to avoid leaks, use xrealloc instead of xmalloc/ - copy/free, make sure there's room for the remaining args before - appending them. - -Tue May 6 14:20:00 1997 Larry Jones <larry.jones@sdrc.com> - - * edit.c (watch_onoff, edit, unedit, editors): Add -R like - other things with -l. - * watch.c (watch_addremove, watchers): Ditto. - -Mon May 5 18:10:37 1997 larry.jones@sdrc.com - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh: Change all /tmp/cvs-sanity to TESTDIR. If TESTDIR - environment variable is set, use it instead of /tmp/cvs-sanity. - * sanity.sh: Make TMPPWD the pwd equivalent of TESTDIR, not of /tmp. - -4 May 1997 Larry jones <larry.jones@sdrc.com> - and Jim Kingdon - - * checkout.c, diff.c, patch.c, rcs.c: Update usage messages. - * rcs.c (annotate): Add -R like other things with -l. - -Sat May 3 14:57:40 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (basic1): Rewrite test (use dotest, unroll the loops - which IMHO makes the test a zillion times more understandable, and - only do the variant which tests for 4 files at a time--we test one - file at a time lots of places). - -2 May 1997 Ziv Gigus <ziv@rest.home.net> - and Jim Kingdon - - * client.c, client.h (client_process_import_file): New argument - all_files_binary means treat all files as binary. - * import.c (import_descend): Pass it if -kb is specified. - * client.c (client_process_import_file): In the - non-all_files_binary case, call wrap_rcsoption to determine - whether the file is binary. - -Thu May 1 13:44:51 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (binfiles2): New tests, for update -j and binary files. - -Wed Apr 30 11:18:36 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * recurse.c (start_recursion): Also free reposfile. - Don't look in repository if client_active (latter bug reported by Paul - Sanders <p.sanders@dial.pipex.com>). - -Mon Apr 28 22:36:39 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * diff.c (diff_file_nodiff): Remove SERVER_SUPPORT ifdefs. They - were not based on server_active, which doesn't really make any - sense (it meant that compiling --disable-server could affect the - behavior of the non-client/server CVS). This affected the output - in tests death2-diff-11 and death2-diff-12 in the testsuite. - * sanity.sh (newb-123j0): Also accept "Needs Checkout", for a - --disable-server CVS. - - * main.c (cmd_usage): Change "run diffs" to "show differences"; - the former is jargon. - * edit.c (edit_usage): Fix typo ("." -> ","). - * edit.c (editors_usage), watch.c (watchers_usage): Mention -l. - * checkout.c (export_usage): Say what -P does. - * history.c (history_usg): Add comment about message wording. - -Mon Apr 28 14:47:45 1997 Norbert Kiesel <nk@cosa.de> - - * checkin.c (Checkin): use filename without path when calling - wrapper (bug found by Michal Schmitz <ms@cosa.de>). - -Fri Apr 25 13:28:55 1997 Ian Lance Taylor <ian@cygnus.com> - - * client.c (update_entries): In UPDATE_ENTRIES_RCS_DIFF case, - write to a temporary file and then rename it. - -Thu Apr 24 11:35:40 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * subr.c, cvs.h (pathname_levels): New function, from a piece of - send_file_names. - * client.c (send_file_names): Call pathname_levels in place of the - code which was moved there. - * server.c, server.h (server_pathname_check): New function. - * recurse.c (start_recursion): Call it. - * sanity.sh (modules3): New test modules3-11b tests for above fix. - - * filesubr.c: Do not define L_tmpnam. It is in ANSI and SunOS4, - so I don't think there will be a problem with it being missing. - Defining it too small can cause memory corruption. - (cvs_temp_name): Do not use L_tmpnam in the mktemp code; this - could cause a buffer overflow if the -T global option was in use. - -Thu Apr 24 13:21:15 1997 Norbert Kiesel <nk@cosa.de> - - * filesubr.c (cvs_temp_name): Use tempnam if available, else - mktemp, else tmpnam. See the comment for rationale. - - * sanity.sh: use "tar cf - ." instead of "tar cf - *" for - directory copies. - -Wed Apr 23 23:41:47 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * server.c (serve_update_prog): If in readonly mode, give an error. - -Wed Apr 23 19:07:41 1997 Norbert Kiesel <nk@cosa.de> - - * subr.c (line2argv): Allocate at least 4 slots for argv. - - * checkout.c (checkout_proc): Add a comment which says why the - above change was necessary to avoid writing to unallocated memory. - -Wed Apr 23 11:20:40 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * entries.c (ParseTag): Always set *NONBRANCHP. - -21 Apr 1997 Jim Kingdon - - * client.c (update_entries), rcs.c (expand_keywords): Rewrite - test to avoid signed/unsigned warning. - -Mon Apr 21 09:02:22 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * update.c (patch_file): Add comment about whether auto-detecting - features of the DIFF program is a good idea. - -Mon Apr 21 00:03:34 1997 Ian Lance Taylor <ian@cygnus.com> - - Don't require the patch program: - * client.c (struct update_entries_data): Add - UPDATE_ENTRIES_RCS_DIFF to contents enum. - (update_entries): Handle UPDATE_ENTRIES_RCS_DIFF. - (handle_rcs_diff): New static function. - (responses): Add "Rcs-diff". - * server.c (server_updated): Handle SERVER_RCS_DIFF. - (server_use_rcs_diff): New function. - * server.h (enum server_updated_arg4): Add SERVER_RCS_DIFF. - (server_use_rcs_diff): Declare. - * update.c (rcs_diff_patches): New static variable. - (update): Set rcs_diff_patches. - (update_fileproc): If rcs_diff_patches, pass SERVER_RCS_DIFF - rather than SERVER_PATCHED to server_updated. - (patch_file): Correct initial comment to say diff rather than - rcsdiff. If rcs_diff_options, pass -n to diff rather than -c. - * rcs.c (rcs_change_text): New function. - * rcs.h (rcs_change_text): Declare. - -Mon Apr 21 00:08:59 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * diff.c (diff_fileproc): Add comment concerning updating the - client timestamp. - -Sun Apr 20 23:20:37 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * commit.c (commit): Add comment regarding SEND_FORCE rationale. - -Sat Apr 19 17:10:36 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * server.c (dirswitch): If directory ends in '/', complain. - -Fri Apr 18 18:09:57 1997 Ian Lance Taylor <ian@cygnus.com> - - * rcs.c (apply_rcs_changes): New static function, broken out of - RCS_deltas. - (RCS_deltas): Call it. - (linevector_add): Change return type to int. Return an indication - of an error for an invalid add, rather than calling error. - -Fri Apr 18 11:24:26 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * version.c: Change version number to 1.9.9. - - * version.c: Version 1.9.8. - - * commit.c (struct find_data): Add field force. - (find_fileproc, commit): Use it instead of force_ci to decide - whether to send files to server. - (commit): Set it if either -f or -r is specified. - * sanity.sh (basica): Add tests basica-8a0, basica-8a1, and - basica-8a2; tests for above fix. - -Wed Apr 16 11:50:59 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * zlib.c: Remove paragraph with Free Software Foundation address. - See 2 Jan 1997 entry in ../ChangeLog for rationale. - -Tue Apr 15 00:36:23 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * update.c (patch_file_write): Always assign to final_nl, so that - it ends up reflecting whether the data from the last call had a - newline, not whether the data from any of the calls ended in a - newline. Doesn't matter with the current RCS_checkout - implementation, but it will if RCS_checkout is changed to pass - less than the entire file. - - * rcs.c (RCS_cmp_file): Change NULL to RUN_TTY in passing sout to - RCS_checkout, for clarity. - - * import.c (update_rcs_file): Remove unused variable ierrno. - - * add.c, checkout.c, commit.c, diff.c, edit.c, import.c, - history.c, log.c, main.c, patch.c, release.c, remove.c, rtag.c, - status.c, tag.c, update.c, watch.c: Pass "+" to all calls to - getopt. This ensures that we maintain existing behavior even with - glibc2. - - * filesubr.c (fopen_case): Don't set *PATHP if we return an - error. Since the 9 Apr 1997 change, the behavior has been to - sometimes set it and sometimes not. - * rcs.c (RCS_parse): Adjust callers to not free it. Without this - change, they could call free() on an uninitialized variable. - - * checkout.c (checkout): Add comment about export -k. - - * root.c (check_root_consistent): Add comment about wording of - message. - -Mon Apr 14 11:51:49 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (call_in_directory): If rdirp reaches the end of - reposdirname, then just set it to NULL. If server does not create - directories one at a time, give a warning. - * sanity.sh (modules3): Enable tests modules3-8 through - modules3-11 for remote; tests for above fix. - - * client.c (call_in_directory): Don't set short_pathname to - pathname for a while; just use pathname itself (cleans up a relic - of the old "Repository" (not "Directory") code). Add comment - explaining short_pathname. - -Sun Apr 13 18:07:50 1997 Ian Lance Taylor <ian@cygnus.com> - - * rcs.c (RCS_checkout): Add pfn and callerdat parameters. Change - all callers. Move setting of expand after retrieval of file - data. - (struct cmp_file_data): Define. - (RCS_cmp_file): New function. - (cmp_file_buffer): New static function. - * rcs.h (RCSCHECKOUTPROC): Define type. - (RCS_checkout): Update declaration. - (RCS_cmp_file): Define. - * diff.c (diff_file_nodiff): Call RCS_cmp_file rather than - RCS_checkout and xcmp. - * import.c (update_rcs_file): Likewise. - * no_diff.c (No_Difference): Likewise. - * update.c (struct patch_file_data): Define. - (patch_file): Just return if noexec, or if binary file. Pass - patch_file_write to RCS_checkout. Don't check for newlines or - compute checksums here. Stat RCS file to set modes. - (patch_file_write): New static function. - - * update.c (patch_file): Checkout directly to file2, rather than - to finfo->file followed by rename. Remove check for whether - result of checkout is readable; that was for an old, obsolete, - form of death support. - -Sun Apr 13 13:16:40 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * checkout.c (build_one_dir): New function. - (struct dir_to_build): New structure. - (build_dirs_and_chir): Rewritten to accept a linked list of struct - dir_to_build rather than the silly string processing we had been - doing before. - (checkout_proc): Rewrite code that calls build_dirs_and_chdir - accordingly. - * sanity.sh: Enable tests modules3-10 and modules3-11 for local CVS; - tests for above fix. - - * rcs.h (RCS_CO): Removed; no longer used. - -Sun Apr 13 00:04:34 1997 Ian Lance Taylor <ian@cygnus.com> - - Expand RCS keywords internally; never call co: - * rcs.h (struct rcsversnode): Add state field. - * rcs.c (kflags): Move out of RCS_check_kflag, and make file - static. - (enum kflag): Define. - (RCS_reparsercsfile): Always save lock information. Save state in - new state field, rather than other field. - (struct rcs_keyword): Define. - (keywords): New static variable. - (enum keyword): Define. - (printable_date, escape_keyword_value): New static functions. - (expand_keywords): New static function. - (RCS_checkout): Call expand_keywords. Don't call - RCS_exec_checkout. - (RCS_deltas): Add log and loglen parameters. Change all callers. - * log.c (log_version_requested): Use new state field. - (log_version): Likewise. - * cvs.h (RCS_exec_checkout): Don't declare. - * rcscmds.c (RCS_exec_checkout): Remove. - -Sat Apr 12 17:32:59 1997 Ian Lance Taylor <ian@cygnus.com> - - * sanity.sh (modules3): Remove second-dir at end of tests. - (sticky): Correct removal of directories at end of tests. - - * sanity.sh (keyword): New tests for RCS keyword expansion. - -Sat Apr 12 16:47:13 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (basicb): New tests basicb-1b, basicb-1c, basicb-9b, - basic-9c test current build_dirs_and_chdir behavior. - -Fri Apr 11 23:54:56 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (modules3): New tests modules3-7* test for ability to - supply a path in -d in modules. Similar to modules3-8 through - modules3-11 except because the nesting is different, these ones - work. - -Thu Apr 10 00:14:47 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (modules3): New tests modules3-12 through modules3-15 - test use of a module name which contains a slash. - - * sanity.sh (basicb): New tests basicb-14 to basicb-20 test use of - co -d with two or more arguments. - - * rcscmds.c: Refer to doc/RCSFILES in comment. - -Wed Apr 9 09:49:17 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (basicb): New tests basicb-11 through basicb-13 test - ability to specify several directory levels in co -d (commented - out). - - * filesubr.c (fopen_case): If CVS_OPENDIR gives an - existence_error, return it to the caller instead of giving a fatal - error. - - * client.c (update_entries): Fix typo in call to error (1 -> errno). - -Tue Apr 8 23:02:22 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * error.h, error.c: Test for #ifdef __STDC__, not #if __STDC__. - This is consistent with other parts of CVS; it means that the - declaration for fperror will match the definition even if __STDC__ - is defined to 0 as the SunPro 4.0 compiler does. Reported by - Richard Smith <rjsmith@cisco.com>. - -2 Apr 1997 Jim Kingdon - - * entries.c (ParseTag): Add "break;" after "default:" to avoid - error from Visual C++. - -Wed Apr 2 12:06:44 1997 Vince Del Vecchio <vdelvecc@spd.analog.com> - and Jim Kingdon - - * client.c: In reporting errors from socket calls, use - SOCK_STRERROR and SOCK_ERRNO since strerror(errno) doesn't work - for Win32. - -Tue Apr 8 10:45:32 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (modules3): Add tests modules3-8 to modules3-11, to - test for ability to supply a path to -d in modules. Mostly - commented out as CVS is buggy in this area. - -Mon Apr 7 12:41:44 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * add.c (add): Add comment about SEND_NO_CONTENTS. - -Sun Apr 6 21:46:32 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * update.c (update): Add comment about noexec and SEND_NO_CONTENTS. - -Sun Apr 6 17:34:08 1997 Robert Bihlmeyer <robbe@orcus.priv.at> - - * Pass +f not f to getopt_long to prevent options from being - permuted with glibc 2.0.1. - -Sun Mar 30 00:07:05 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * cvs.h (struct vers_ts): Adjust comment regarding ts_user. - * server.c (serve_is_modified): New function. Set entries to show - that the file is modified but we don't know the contents. - * server.c (requests): Add "Is-modified" request. - * vers_ts.c (time_stamp_server): If the timestamp in entdata is - "M" or "D", just copy that over into ts_user. - * vers_ts.c (Version_TS): If timestamp is "D", use the entries - line for the sole purpose of passing it to time_stamp_server. - * no_diff.c (No_Difference): If ts_user is "M", conclude the files - are different. - * client.h, client.c (send_files): Replace arguments build_dirs - and force with argument flags. Add flag SEND_NO_CONTENTS and add - to struct send_data. - (send_fileproc): If no_contents, then send Is-modified instead of - Modified. - * add.c, admin.c, client.c, commit.c, diff.c, edit.c, log.c, - rcs.c, remove.c, status.c, tag.c, update.c, watch.c: Change all - send_files callers. - -Fri Mar 28 22:32:25 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * server.c (requests): Change "Repository" to rq_optional. I'm - not sure whether I overlooked this when I removed support for - Repository, or whether I was thinking that servers would need to - support it anyway, for CVS 1.5 to 1.9 clients, but making it - optional doesn't prevent the server from supporting it and it - seems silly for the client to complain about absence of a request - that it never will use. - -Fri Mar 28 10:06:59 1997 Steven Miller <Miller@wingra.com> - - * entries.c (Subdirs_Known): Don't create Entries.Log if noexec. - -Thu Mar 27 18:14:12 1997 Ian Lance Taylor <ian@cygnus.com> - - * sanity.sh (death2): Remove commented out test death2-21. It - would now pass, but it duplicates the new test sticky-11. - -Thu Mar 27 10:21:19 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (dotest_internal): Write test output to logfile even - if test succeeds. This was the behavior prior to 30 Sep 1996. - See the comment for rationale. - -Tue Mar 25 13:26:52 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * cvs.h, entries.c (WriteTag): Add arguments nonbranch, - update_dir, and repository. Move the server_set_sticky call from - callers to here. - * cvs.h, create_adm.c (Create_Admin): New argument nonbranch. - * cvs.h, entries.c (ParseTag): Add argument nonbranchp. - * cvs.h (struct stickydirtag): Add field nonbranch. - * entries.c (Entries_Open): Set it. - * cvs.h (Vers_TS): Add field nonbranch. - * vers_ts.c (Version_TS): Copy it from struct stickydirtag. - * server.c, server.h (server_set_sticky): Add argument nonbranch. - * add.c, client.c, checkout.c, modules.c, update.c, create_adm.c, - commit.c: Update callers. - * add.c (add): If nonbranch, don't add the file on that "branch". - * commit.c (write_dirnonbranch): New variable. - (commit_fileproc, commit): Set it. - (commit_dirleaveproc): Pass it to WriteTag. - * update.c (rewrite_tag, nonbranch): New variables. - (update, update_dirent_proc, update_fileproc): Set them. - (update_filesdoneproc): If rewrite_tag, call WriteTag. - * sanity.sh (sticky): New tests, test for above fix. - - * version.c: Change version number to 1.9.7. - - * version.c: Version 1.9.6. - -Mon Mar 24 13:02:04 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * entries.c (ParseTag): Add comment about unrecognized characters - in CVS/Tag file. - - * classify.c (Classify_File): Add comment about how specifying a - tag (bogusly?) suppresses certain messages. - -Fri Mar 21 13:37:46 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * rcs.h (struct rcsnode): Add comment about case of PATH. - * rcs.c (RCS_parse): If ign_case, then try opening the file with - fopen_case. - * ignore.c (ign_case): Adjust comment. - * cvs.h, filesubr.c (cvs_casecmp, fopen_case): New functions. - -20 Mar 1997 Jim Kingdon - - * client.c (send_repository): When sending Directory request, - send any ISDIRSEP character as '/'. Fixes - "cvs log foo\bar\baz.c" on NT & friends. - - * client.c (send_file_names): Don't try to read Entries file if - CVSADM directory does not exist. Fixes fairly serious regression - (warning on all fresh checkouts) introduced by 1997-01-08 change. - -Tue Mar 18 13:03:33 1997 Jim Meyering <meyering@totoro.cyclic.com> - - * sanity.sh (RCSINIT): Define to be empty and export, to hide any - existing value that might cause spurious failures. - - * Makefile.in: (install): Depend on installdirs. - Remove `CYGNUS LOCAL' comment saying not to. - -Tue Mar 18 09:36:26 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * recurse.c (struct recursion_frame): Reindent. - (do_dir_proc): Print message if we try to recurse into a CVSADM - directory. - * sanity.sh (basicb): New test basicb-4a tests for above fix. - -Sun Mar 16 10:18:28 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (death2): Replace regexp matching temporary file name - with new variable ${tempname}. For most of the tests this is a - cosmetic change, but death2-diff-6 had been missing _ which caused - it to fail on Solaris (at least sometimes). - - * sanity.sh (modes): Don't use export -n; it doesn't seem - to be sufficiently portable. - - * version.c: Change version number to 1.9.5. - - * version.c: Version 1.9.4. - - * rcscmds.c (RCS_checkin): Preserve the mode of the rcsfile. - RCS_CI usually, but not always, does this for us. - * commit.c (fix_rcs_modes): Replace algorithm with a more - CVSUMASK-friendly one. - * sanity.sh (modes): Update tests modes-5, modes-7, modes-10, and - modes-15 so they test that CVSUMASK is honored. - -Sun Mar 16 10:18:28 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (modes): New tests modes-7a and modes-7b test behavior - if one manually changes the modes in the repository. - - * server.c (server): Revise code which checks for errors creating - temporary directory. This won't solve the intermittent - can't create temporary directory - Unknown error -1 - but it will mean (a) the right message based on errno gets - printed, instead of "unknown error -1", and (b) the message says - that it happened in chmod instead of mkdir_p. - -Sat Mar 15 16:47:12 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (modes): New tests. Note that (for now) these are - just testing how CVS already behaves; I want to record that before - I move on to changing CVS's behavior with modes of RCS files. - -13 Mar 1997 Jim Kingdon - - * subr.c (line2argv): Change argv_allocated from size_t to int. - -Wed Mar 12 22:16:44 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * add.c (add_directory): If repository has an extraneous "." - directory at the end, strip it off. This fixes a bug which was - introduced when strip_path was nuked (this fix is much more - limited in scope than strip_path was; I _think_ that is a good - thing). - (add): Likewise, for client. - (combine_dir): New function, helps with above. - * sanity.sh (modules3): Reenable tests for this behavior. - (basica-0b, basicb-0e): Adjust test to reflect "foo/bar" instead - of "foo/./bar" in message. As with the rest of this, I believe - this is just restoring the behavior prior to the strip_path nuking - (I tried it with CVS 1.9). - -Sun Mar 9 10:06:29 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * root.c (parse_cvsroot), server.c (serve_root, serve_init): - If CVSroot_directory is not an absolute pathname, give a fatal error. - * sanity.sh (crerepos): New tests crerepos-6* test for above fixes. - -Sat Mar 8 22:06:17 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - This cleans up the last known code which can overflow its buffers - (except the Mac client). I've skimmed through much of CVS looking - for other such places; but I didn't read everything. If I missed - any please report it to bug-cvs. - * logmsg.c (logfile_write, title_proc): Realloc str_list as - needed; don't assume MAXLISTLEN is enough. - * cvs.h (MAXLISTLEN, MAXFILEPERDIR): Removed; no longer used. - * add.c, myndbm.c, parseinfo.c, update.c: Nuke MAXLINELEN limit. - * parseinfo.c, update.c, mkmodules.c: Check for errors reading file. - * cvs.h (MAXLINELEN): Removed; no longer used. - * logmsg (MAXHOSTNAMELEN): Removed; not used. - * main.c (cmd_synonyms): Allocate based on fullname, nick1, and - nick2, just in case someone makes those big enough so that 100 - bytes is not enough. - (Make_Date): Use MAXDATELEN rather than our own fixed size. - * mkmodules.c (mkmodules): Nuke arbitrary limit on line length. - * rcs.c (ALLOCINCR): Remove; not used. - (RCS_check_kflag): Add comment concerning karg size. - * run.c: Allocate run_prog to the needed size, rather than - allocating a fixed size buffer. - -Fri Mar 7 22:39:08 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * logmsg.c (logfile_write): Allocate prog to needed length rather - than assuming MAXPROGLEN is enough. - * cvs.h (MAXPROGLEN): Removed; no longer used. - * subr.c (MIN_INCR): Update comment to reflect MAXPROGLEN's demise. - - * subr.c (free_names): Fix comment: this function is not used to - free memory allocated by Find_Names (at least it hasn't for a long - time). - * subr.c, cvs.h (line2argv): Change calling convention so that we - allocate argv array rather than the caller. The previous one had - no way of checking whether we overflowed the passed-in buffer. - * subr.c (free_names): Free the argv array too. - * modules.c (do_module, cat_module): Update callers. - -Thu Mar 6 12:44:42 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * import.c: Allocate vhead and vbranch dynamically; removes - arbitrary limit. - * history.c: Likewise (since_rev, since_tag, backto, rec_types). - * ignore.c: Likewise (line). Also check for errors from getline - and add 'copyright' notice to top of file. - * wrapper.c (wrap_add_file): Likewise (line). Also check for - errors from various calls and add 'copyright' notice to top of file. - -Tue Mar 4 17:39:15 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (update_entries): Add comment about "move away <file>" - message. - -Mon Mar 3 21:51:40 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (basicb): Clean up topfile,v at end of test. Fixes - failure in modules-155b. - -Sun Mar 2 18:11:09 1997 Dan Wilder <dan@gasboy.com> - and Jim Kingdon - - * admin.c (admin): Arrange to perform recursion if "cvs admin" - is passed only options. - -Sun Mar 2 18:11:09 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (basicb): New tests basicb-0* test for files at top - level. - - * error.c (error): Add newline to "out of memory" message. I think - that its omission probably could cause the message to be lost in - the bowels of server.c and never passed to the user. - - * client.c (start_rsh_server): Add comment about "remsh" vs. "rsh". - - * cvs.h: Move copyright notice to top of file. - -Sun Mar 2 13:44:36 1997 Ian Lance Taylor <ian@cygnus.com> - - * sanity.sh: Use -n when testing whether rsh works. - - * server.c (serve_root): Free path. - -Sun Mar 2 13:12:46 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - The following are things that I noticed in the process of trying - to track down: - can't create temporary directory - Unknown error -1 - FAIL: test 28 - from nightly testing. I'm not sure that either item explains that - message however. - * server.c (server): Allocate pending_error_text; - print_pending_error will try to free it so - pending_error_text = "foo" - won't work. - (mkdir_p): Don't assume that isdir will leave errno unmolested. - -Thu Feb 27 15:29:58 1997 Ian Lance Taylor <ian@cygnus.com> - - * remove.c (cvsremove): When forcing removal in client mode, use - start_recursion rather than calling CVS_UNLINK on each argument. - (remove_force_fileproc): New static function. - * sanity.sh (deep): Add tests deep-rm7 through deep-rm10 for above - patch. - - * sanity.sh (death): Enable death-76a0 and death-76a1 tests for - remote, since they now work. - -Wed Feb 26 16:13:26 1997 Ian Lance Taylor <ian@cygnus.com> - - * client.c (add_prune_candidate): Skip adding this directory if - it is the same as the first directory already on the list. - -Mon Feb 24 21:36:43 1997 Noel Cragg <noel@gargle.rain.org> - - * main.c (lookup_command_attribute): Add the "init" command to the - list of commands that don't use the current working directory. - -Sun Feb 23 09:54:49 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (devcom3): Clean up at end of test. - - * sanity.sh (basicb): Add commented out test basicb-8a0, for - whether CVS can print an error on bad numeric revision to diff. - Commented out until we get around to fixing CVS. - * diff.c (diff_file_nodiff): Add comment about this case. - - * fileattr.c (fileattr_read): If a filename is duplicated, - continue to ignore subsequent lines but free the node so that we - don't leak memory. - * sanity.sh (devcom3): New tests devcom3-8 and devcom3-9 test for - behavior on duplicated filenames. - - * fileattr.h: Add comment about unrecognized ENT-TYPE and order of - lines in fileattr file. - * fileattr.c (struct unrecog, unrecog_head): New variables, to - record unrecognized lines. - (fileattr_startdir): Assert that unrecog_head == NULL. - (fileattr_read): Record unrecognized lines in unrecog_head linked - list rather than ignoring them. - (fileattr_write): Also write out unrecognized lines, if any. - * sanity.sh (devcom3): New tests, test for above fix. - - * fileattr.h (fileattr_modify): Fix example in comment. - -Sat Feb 22 08:30:27 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh: Add variable username. - (basica rdiff multibranch log log2): Use it instead of our own - (inconsistent) ways of matching an author name. - - * filesubr.c, root.c, rtag.c, server.c, subr.c, update.c, - wrapper.c: Nuke PATH_MAX. - * cvs.h, wrapper.c (wrap_fromcvs_process_file): Now returns void - (return value had been unused). - * cvs.h: Adjust comment to reflect the fact that PATH_MAX is - gone, at least from src/*.c (except safe_location, as noted). - -22 Feb 1997 patch by Tom Hageman <tom@basil.icce.rug.nl> (4 Jun 1996) - updated and commented by Jim Kingdon <kingdon@harvey.cyclic.com> - - * update.c (checkout_file): Call unlink_file_dir on backup, not - unlink_file. - -Fri Feb 21 16:40:03 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * Makefile.in (DISTFILES): Remove NOTES. - - * NOTES: Removed. bcopy->memcpy is done. "static buffers" I - assume refers to what is covered by reentrancy text in HACKING. - Obstack idea moved to comment in hash.c (at nodecache). Checking - system calls for error returns largely done, and isn't a very - helpful suggestion unless you know where the bogus calls are - anyway. Sizing limits--we're in the progress of removing them - (assuming it meant things like PATH_MAX and earlier, already - nuked, limits). Removed various items about changes which were - done a long time ago (I realize that the ChangeLog's probably - aren't reliable that far back, but I'm not convinced anyone cares - anymore). CONFIRM_DIRECTORY_ADDS: I assume this is a - reference to the #if 0'd code in add_directory which asks for - confirmation--a better way of making it harder to accidentally add - directories would be to have to add and commit directories like - for files. I don't know what FORCE_MESSAGE_ON_ADD meant. - - * rcs.c (RCS_getrevtime): Fix documentation (in particular, the - size of the array that DATE must point to, but many other things - too). - * patch.c, recurse.c, release.c, remove.c, repos.c: Nuke PATH_MAX. - (patch_fileproc): Use MAXDATELEN not hardcoded 50. - -Sun Feb 16 12:00:44 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (client_process_import_file): New variable fullname; - pass it to send_modified. This finishes the job of untangling the - old short_pathname variable into update_dir vs. fullname. - - * client.c (client_process_import_file): Nuke first_time. If - toplevel_repos were ever NULL here, the code would dump core in - strncmp a few lines down. And client_import_setup ensures - toplevel_repos is not NULL. - -Sun Feb 16 08:16:48 1997 Ian Lance Taylor <ian@cygnus.com> - - * client.c (client_process_import_file): Rename short_pathname to - update_dir (to reflect its function) and make sure that it doesn't - point to uninitialized memory if repository and toplevel_repos - contain the same string. - -Sun Feb 16 08:16:48 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (start_rsh_server): Nuke comment about weirdnesses with - pre-1.5 versions of CVS and .bashrc/.cshrc. The remote protocol - is interoperable only back to 1.5, and people who need to know are - unlikely to see this comment anyway. - -Sun Dec 15 13:12:30 1996 Michael Douglass <mikedoug@texas.net> - and Jim Kingdon <kingdon@harvey.cyclic.com> - - * main.c (cmds): Added an entry for new logout command. - (cmd_usage): Added an entry for new logout command. - (lookup_command_attribute): Added 'logout' to list of commands - that set need_to_crate_root to 1. - * login.c, cvs.h (logout): New command for removing entries from - the .cvspass file. - (logout_usage): Usage information on the logout command. - -Wed Feb 12 11:19:42 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (struct send_data): Fix indentation. - -Wed Feb 12 08:48:04 1997 Greg A. Woods <woods@most.weird.com> - - * mkmodules.c (loginfo_contents): add missing comma in - initializer statement (caused syntax error on SunOS-4). - -Tue Feb 11 21:14:28 1997 Ian Lance Taylor <ian@cygnus.com> - - * commit.c (find_fileproc): If force_ci is set, set the status to - T_MODIFIED even if the file hasn't changed. - (commit): Pass force_ci to send_files as new force argument. - * client.c (struct send_data): Define. - (send_fileproc): The callerdat parameter now points to a send_data - struct. If force is set, always call send_modified. - (send_dirent_proc): The callerdat parameter now points to a - send_data struct. - (send_files): Add force parameter. Change all callers. Set up a - send_data struct and pass it to start_recursion as callerdat. - * client.h (send_files): Update declaration. - * sanity.sh (basica): Add a simple test for the above patch. - -Sun Feb 9 12:58:59 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * tag.c (cvstag), rtag.c (rtag): Pass -f to server if specified in - the client. I haven't tried to come up with a test case because - the fix seems obvious. - - * import.c (add_rcs_file): Change size of altdate1 and altdate2 to - MAXDATELEN. - * cvs.h (MAXDATELEN): Fix comments; describe what this is for. - - * diff.c (diff_usage): Document --ifdef and try to briefly say - what "rcsdiff-options" means. - - * update.c (update): If update had a nonzero status and we haven't - yet tried to fetch unpatchable files, go ahead and try it again. - The previous behavior was to quit, which meant that updates would - keep failing until you hacked around the problem. Patch and bug - report by Ian; comment, ChangeLog entry, and willingness to take - the flak if checking it is premature by Jim. - - * server.c (alloc_pending): New function. - * server.c: Call it. Fixes places where we had neglected to - check for NULL return from malloc. - - * sanity.sh (binwrap): Add test binwrap-0, tests for import.c fix - below. - -Sun, 9 Feb 1997 (submitted 19 Jul 1996) John Polstra <jdp@polstra.com> - - * import.c (import): Give error if the same tag is specified more - than once. The previous behavior was to write an RCS file which - had the same tag listed twice, once pointing to each revision, - which is not legal. - -Sun Feb 9 12:37:09 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * checkin.c (Checkin): Use cvs_output to print message (should - make out of order bugs no worse, as it merely substitues a - protocol_pipe vs. stderr_pipe race instead of a stdout_pipe - vs. stderr_pipe race). Add comment about stdout vs. stderr. - -Fri Feb 7 08:29:52 1997 Josef Nelissen <josef.nelissen@munich.ixos.de> - - * server.c (check_command_legal_p): Don't use ANSI-style definition. - -Thu Feb 6 10:55:37 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * patch.c (patch): Give a fatal error for -V option (see comment - for rationale). - - * diff.c (diff): Also send "options" to server. Pretty much the - patch submitted independently by josef.nelissen@munich.ixos.de and - Ronald Khoo <ronald@demon.net>. - -Wed Feb 5 18:57:14 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * modules.c (do_module): Fix typo in 30 Jan 97 PATH_MAX nuking - (free -> free_cwd). Testsuite test 151 gets credit for catching - this one. - -Mon Feb 3 16:14:54 1997 Ian Lance Taylor <ian@cygnus.com> - - * main.c (lookup_command_attribute): Don't use an ANSI prototype - when defining the function. - -Fri Jan 31 12:49:02 1997 Ian Lance Taylor <ian@cygnus.com> - - * modules.c (do_module): Actually goto found if is_found is set - (fixes thinko in PATH_MAX nuking of 30 Jan 97). - -Fri Jan 31 12:49:02 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh: Add modules3 and big to list of tests to run - by default; they were omitted by accident. - -Thu Jan 30 11:46:33 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * logmsg.c, main.c, mkmodules.c, modules.c, parseinfo.c, patch.c: - Nuke more PATH_MAX. - - * server.c (server_updated): After we send Created or - Update-existing for a file, mark it as unchanged, in case we - process it again. - * sanity.sh (modules3): New tests, test for above fix. - - * logmsg.c (do_verify): Error return from fopen is NULL, not -1. - Pass errno to error(). - - * login.c [_CRAY]: Don't declare getpass. - -Mon Jan 27 17:25:27 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * import.c (process_import_file): Fix freeing of rcs (Don't free - it before we are done using it, and don't free it twice). - - * modules.c (cat_module): Allocate line right before we use - it. The previous code was wrong because the length of the - s_h->rest changes between the time we allocate line and the time we - sprintf s_h->rest into it. - -Sun Jan 26 21:58:16 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * expand_path.c (expand_path): Revise to call expand_string as - needed. Nuke PATH_MAX. - * find_names.c (find_dirs): Likewise. - * import.c, lock.c: Nuke more PATH_MAX. - - * server.c (mkdir_p): Set retval to 0 at start of function. - Previously it had been uninitialized for some cases. Thanks are - due to nightly testing for catching this one. - -Sat Jan 25 21:34:19 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * subr.c, cvs.h (expand_string): New function. - * rcs.c (getrcskey, getrcsrev): Call it. This greatly reduces the - number of calls to realloc if there is a very large file in the - RCS file. Credit goes to Mike Heath <mike@pswtech.com> for - pointing out the problem and the basic solution (MIN_INCR, - MAX_INCR); I adapted it into the separate function expand_string. - * sanity.sh (big): New test helps insure this hasn't broken - anything obvious. - -Wed Jan 22 10:06:13 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * status.c (status_fileproc): Change message which is printed for - T_MODIFIED and ts_conflict set, so that it doesn't say "unresolved - confict". This message occurs whether the conflict is resolved or - not. - * sanity.sh (conflicts): Add tests conflicts-status-* to test - output of "cvs status" in the context of conflicts. Tests for - above fix. - - * rtag.c (rtag): Send -n if run_module_prog is NOT true. - -Thu Jan 16 00:06:00 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * version.c: Change version number to 1.9.3. - - * version.c: Version 1.9.2. - -Wed Jan 15 09:14:38 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * client.c (call_in_directory): Take code that creates CVSADM at - top level, move it before the CVS_CHDIR (dir_name) call, and do it - regardless of whether dir_name is ".". Pass "." not dir_name to - Create_Admin (when the code was written they were always the - same). Don't add reposdirname to the repository we pass to - Create_Admin (when the code was written, I think reposdirname - probably would always be "."). Don't create CVSADM if - reposdirname_absolute. - * sanity.sh (basicb): Enable tests basicb-1a and basicb-9a for - remote; tests for above fix. - (basic1): Do entire test within a "1" directory to deal with - creation of CVS directories at top level. Support --keep. - (conflicts): In test conflicts-136, only update first-dir. - (basica): Uncomment the part that tests "cvs co -l .". That tests - the existing functionality which I might have (but hopefully did not) - perturbed with the call_in_directory changes. - -Mon Jan 13 11:04:32 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * server.c (check_command_legal_p): Do not call error (1, ...) - here; that will always cause a protocol violation by shutting down - the connection prematurely. Remove croak_on_illegal arg. - (do_cvs_command): Move call to check_command_legal_p until after - the call to print_pending_error. Print the error message ourself. - - * mkmodules.c (filelist): Add readers and writers. Add comment - about why passwd is not included. Add comment about meaning of - NULL contents field. - -Fri Jan 10 13:23:09 1997 Norbert Kiesel <nk@col.sw-ley.de> - - * release.c (release): Initialize delete_flag before reading it - (found by running purify) - - * logmsg.c (do_verify): Fix reading unallocated memory (found by - running purify) - -Thu Jan 9 16:32:47 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * checkout.c (build_dirs_and_chdir): Partially revert 3 Jan - change--move call to Subdir_Register back above the CVS_CHDIR call - (we need to register in the old, not the new, directory). Instead - of calling CVS_MKDIR and ignoring errors, call mkdir_if_needed; - this is an effort to catch errors there rather than catching them - in the CVS_CHDIR. This makes test 27-add-add in sanity.sh work - again. - - * find_names.c (Find_Directories): Remove code inside - #ifdef ATTIC_DIR_SUPPORT and replace it with a comment explaining - why we don't look in the attic. ATTIC_DIR_SUPPORT was never defined. - - * find_names.c (find_dirs): Add comment about tmp being unset. - - * commit.c (checkaddfile): Report errors with errno and specific - error messages. - - * rcs.c, commit.c, create_adm.c, entries.c, find_names.c, - ignore.c, history.c: Nuke PATH_MAX arbitrary limits. - -Wed Jan 8 23:07:41 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * add.c (add): Reindent a portion which needed it. - -1997-01-08 Jim Kingdon - - * client.c (send_file_names): When looking name up in Entries, - call Entries_Open and Entries_Close. This has two effects: - (1) we look at Entries.Log, and (2) we don't skip 'D' entries, - both of which are needed to make us get the right (command - line) name for a directory we are adding. - -Wed Jan 8 14:50:47 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * Makefile.in, cvs.h, hash.h, myndbm.h, rcs.h: Remove CVSid; we - decided to get rid of these some time ago. - -Tue Jan 7 12:56:10 1997 Karl Fogel <kfogel@ynu38.ynu.edu.cn> - - * root.c (check_root_consistent): new func, compares below new - global var with CVSroot_directory, assuming both set. - (set_local_cvsroot): use above new func for security check. - (parse_cvsroot): same. - But do all of above only #ifdef AUTH_SERVER_SUPPORT. - - * server.c: (Pserver_Repos): new global var, init to NULL. - (pserver_authenticate_connection): set above new global. - (check_repository_password): be a good scout and use - CVSROOTADM and CVSROOTADM_PASSWD, now that they are the standard. - Make sure all of above is in #ifdef AUTH_SERVER_SUPPORT. - (check_command_legal_p): wrap most of body in #ifdef - AUTH_SERVER_SUPPORT. - Everywhere: wrap all references to CVS_Username in #ifdef - AUTH_SERVER_SUPPORT. - - * cvs.h (Pserver_Repos): new var, used in consistency [security] - check. Defined only #ifdef AUTH_SERVER_SUPPORT. - (CVSROOTADM_PASSWD): new #define, trying to get with the program. - -Fri Jan 3 18:10:39 1997 Ian Lance Taylor <ian@cygnus.com> - - * checkout.c (build_dirs_and_chdir): Move call to Subdir_Register - until after we know that the directory exists. - -Thu Jan 2 13:30:56 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * Makefile.in, cvsbug.sh, edit.c, edit.h, error.c, error.h, - fileattr.c, fileattr.h, filesubr.c, run.c, update.h, watch.c, - watch.h: Remove "675" paragraph; see ../ChangeLog for rationale. - -Thu Jan 2 12:27:46 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * sanity.sh (info): New test info-cleanup-verifymsg gets rid of - verifymsg when we are done with it. - - * sanity.sh (basicb): Skip tests basicb-1a and basicb-9a for remote. - * sanity.sh (modules-155a4): It is OK if a CVS directory exists. - * sanity.sh (ignore): Do everything inside a "1" directory. The - change to create CVS directories at top-level causes messages such as - "? home" otherwise. In test 191, specify -I CVS so that new CVS - directory is ignored. - * sanity.sh (crerepos): Manually remove CVS directory which had not - existed before. - -Thu Jan 2 09:06:20 1997 Karl Fogel <kfogel@ynu38.ynu.edu.cn> - - * server.c: Changes for pserver read-only repository access: - (check_command_legal_p): new func. Right now, just checks if - repository modification is permitted, and that only if pserver is - active. - (do_cvs_command): take new parameter `cmd_name', a string. All - callers changed. Pass it on to new func check_command_legal_p() - before executing the command. - (CVS_Username): new global, init to NULL. Used by - check_command_legal_p(), set in check_password(). - (check_password): set above new global CVS_Username; reorganized a - bit to facilitate this. - (check_repository_password): give *host_user_ptr permanent - storage iff success. - - * main.c: Changes for pserver read-only repository access: - (lookup_command_attribute): new func. - (main): use new func lookup_command_attribute() to establish if - CVS_CMD_IGNORE_ADMROOT and CVS_CMD_USES_WORK_DIR. - - * cvs.h: Changes for pserver read-only repository access: - (CVSROOTADM_READERS, CVSROOTADM_WRITERS): new #defines. - Prototype lookup_command_attribute(). - (CVS_CMD_IGNORE_ADMROOT, CVS_CMD_USES_WORK_DIR, - CVS_CMD_MODIFIES_REPOSITORY): new #defines for - lookup_command_attribute() and its callers. - -Wed Jan 1 19:50:38 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * options.h.in: Reword comment for TMPDIR_DFLT to make it clear - that this isn't specific to the pserver server. - - * modules.c (do_module): Give an error message if one tries to - specify -a together with another option. - * sanity.sh (modules2): New tests modules2-a* test for above fix. - - * sanity.sh (devcom): Add tests devcom-a-nonexist and - devcom-t-nonexist for "cvs watchers" on nonexistent argument. - -1997-01-01 Fred Fish <fnf@ninemoons.com> - - * run.c (piped_child, filter_stream_through_program): Actually - install these HAVE_VFORK patches that got missed. - (There was a log entry for these changes for 29 Nov 1996 but it - seems I accidentally forgot to actually check them in -kingdon). - -Wed Jan 1 18:32:44 1997 Jim Kingdon <kingdon@harvey.cyclic.com> - - * Makefile.in: Add ChangeLog-96. - * ChangeLog-96: New file, contains former contents of ChangeLog. - * ChangeLog: Now just contains 1997 changes. - - -For older changes see ChangeLog-96. |