/contrib/cvs/src/ChangeLog-97
https://bitbucket.org/freebsd/freebsd-head/ · #! · 3249 lines · 2405 code · 844 blank · 0 comment · 0 complexity · 8e1477da70eeee62eff09bdaf26da9c0 MD5 · raw file
Large files are truncated click here to view the full file
- 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…