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