summaryrefslogtreecommitdiffstats
path: root/contrib/cvs/src/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/cvs/src/ChangeLog')
-rw-r--r--contrib/cvs/src/ChangeLog485
1 files changed, 485 insertions, 0 deletions
diff --git a/contrib/cvs/src/ChangeLog b/contrib/cvs/src/ChangeLog
index de2f535..96e1701 100644
--- a/contrib/cvs/src/ChangeLog
+++ b/contrib/cvs/src/ChangeLog
@@ -1,5 +1,490 @@
+1998-03-04 Jim Kingdon <kingdon@harvey.cyclic.com>
+
+ * entries.c, cvs.h (Entries_Open): New argument update_dir; use it
+ in error message.
+ * add.c, checkout.c, client.c, find_names.c, import.c, recurse.c,
+ update.c: Pass it (as NULL except in call_in_directory).
+ * entries.c (Subdirs_Known): Just return if there is no CVSADM
+ directory (as in subdir_record).
+ * sanity.sh (conflicts3): New tests conflicts3-20a and
+ conflicts3-23 test for these fixes.
+
+ * commit.c (commit): Only set up hardlist if preserve_perms.
+
+ * commit.c, import.c, no_diff.c, parseinfo.c, rcs.c, rcscmds.c,
+ update.c: Omit the preserve_perms code if
+ PRESERVE_PERMISSIONS_SUPPORT is not defined. Much of that code
+ won't even compile on non-unix systems.
+
+ * hardlink.c, hardlink.h: Use the 'standard' copyright (as found
+ in server.c).
+ * commit.c, rcs.c: Minor whitespace changes to Tim's submission.
+ * commit.c (check_fileproc), update.c (get_linkinfo_proc): Remove
+ unused variable delta.
+ * hardlink.c (set_hardlink_field_proc), update.c
+ (get_linkinfo_proc): Return a value rather than falling off the
+ end of the function.
+
+1998-03-02 Tim Pierce <twp@skepsis.com>
+
+ * update.c (special_file_mismatch): Compare the hard links of the
+ two revisions.
+
+ * rcs.c (RCS_checkout):
+
+ * hardlink.c, hardlink.h: New files.
+ (hardlink_info): New struct.
+ (hardlist, working_dir): New variables.
+ (list_files_proc, cache_hardlinks_proc, set_hardlink_field_proc,
+ lookup_file_by_inode, update_hardlink_info, list_files_linked_to):
+ New functions.
+
+ * Makefile.in (SOURCES): Add hardlink.c.
+ (OBJECTS): Add hardlink.o.
+ (HEADERS): Add hardlink.h.
+ * commit.c: Include hardlink.h.
+ (commit): Save the working directory before recursing. Walk the
+ hardlink list, calling set_hardlink_field_proc on each node.
+ (check_fileproc): Add each file's link information to hardlist.
+ * rcs.c: Include hardlink.h.
+ (RCS_checkin): Save list of hardlinks in delta node.
+ (RCS_checkout): Look up the file's `hardlinks' delta field, and
+ see if any of the files linked to it have been checked out
+ already. Link to one of those files if so.
+ * update.c: Include hardlink.h.
+ (get_linkinfo_proc): New function.
+ (do_update): Extra recursion to collect hardlink info.
+ (special_file_mismatch): Reparse the RCS file if necessary.
+
+ fsortcmp is now used by several files, so let's make it extern.
+ * hash.c, hash.h (fsortcmp): New function.
+ * find_names.c (fsortcmp): Removed.
+ * lock.c (fsortcmp): Removed.
+
+1998-03-03 Jim Kingdon <kingdon@harvey.cyclic.com>
+
+ * sanity.sh (conflicts3): New tests conflicts3-14a,
+ conflicts3-14b, and conflicts3-21, conflicts3-22 test that we can
+ skip over a working directory with a CVSADM directory missing.
+
+1998-02-26 Jim Kingdon <kingdon@harvey.cyclic.com>
+
+ * sanity.sh (conflicts3): Tests conflicts3-16 and conflicts3-20
+ test that we include update_dir in messages. Rename test
+ conflicts3-14 to fix typo.
+
+Sun Feb 22 23:14:25 1998 Steve Cameron <steve.cameron@compaq.com>
+ and Ian Lance Taylor <ian@cygnus.com>
+
+ * update.c (tag_update_dir): New static variable.
+ (update_dirent_proc): If no tag or date were specified when
+ creating a subdirectory, use the tag and/or date of the parent
+ directory.
+ (update_dirleave_proc): If we set the tag and/or date in
+ update_dirent_proc, reset them when we leave the directory.
+ * sanity.sh (branches2): New set of tests for above patch, and
+ related behaviour.
+
+Sun Feb 22 13:31:51 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * commit.c (lock_RCS): Don't call RCS_rewrite.
+
+ * update.c (patch_file): If the revision is dead, let
+ checkout_file handle it.
+ * sanity.sh (death2): Add test for above patch: add
+ death2-10a, death2-10b, death2-13a, and adjust
+ death2-{2,4,5,11,14,diff-11,diff-12,19}.
+
+ * cvs.h (RCS_FLAGS_KEEPFILE): Define.
+ * rcs.c (RCS_checkin): If RCS_FLAGS_KEEPFILE is set in the flags
+ parameter, don't unlink the working file.
+ * checkin.c (Checkin): Don't copy the file. Instead pass
+ RCS_FLAGS_KEEPFILE to RCS_checkin, and only check the file out
+ again if it has changed.
+
+1998-02-21 Jim Kingdon <kingdon@harvey.cyclic.com>
+
+ * rcs.c (rcs_internal_unlockfile, RCS_rewrite): Don't assume errno
+ means anything just because ferror is set.
+
+Sat Feb 21 20:02:24 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * Makefile.in (clean): Change "/bin/rm" to "rm".
+
+ * buffer.c (buf_append_buffer): Correct typo in comment.
+ * rcs.c (RCS_putadmin): Likewise.
+
+Fri Feb 20 17:53:06 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * rcs.c (rcs_internal_unlockfile): Pass errno when calling error
+ because ferror is true.
+
+1998-02-20 Jim Kingdon <kingdon@harvey.cyclic.com>
+
+ * sanity.sh (abspath): Don't assume that we can't write to /; this
+ is the kind of thing that is sure to break sooner or later
+ (especially on Windows).
+
+ * sanity.sh: Add summary of which modules tests are which (at
+ "modules"). Move cvsadm, abspath, and toplevel next to modules.
+ Add comments to clarify the structure (such as it is).
+
+Fri Feb 20 12:47:14 1998 Larry Jones <larry.jones@sdrc.com>
+
+ * admin.c (admin_fileproc): Better fix for -b.
+
+ * rcs.c (RCS_whatbranch): Back out previous change.
+ (RCS_getversion): Ditto.
+ (RCS_setbranch): Treat an empty revision string like a null pointer.
+
+1998-02-18 Jim Kingdon <kingdon@harvey.cyclic.com>
+
+ * rcs.c (RCS_whatbranch): Fix indentation.
+
+ * patch.c (patch_fileproc): Check for errors from fclose; check
+ for errors from fopen properly.
+
+Wed Feb 18 16:03:37 1998 Larry Jones <larry.jones@sdrc.com>
+
+ * admin.c (admin_fileproc): Convert -b argument from symbolic name
+ to revision number before storing in the RCS file.
+ * rcs.c (RCS_whatbranch): Allow numeric as well as symbolic revision.
+ (RCS_getversion): Take advantage of above.
+ * sanity.sh (admin): Add/revise/renumber admin-10c, admin-11a,
+ admin-12, and admin-12a to check above.
+
+ * commmit.c (lock_RCS): Minor clean-up.
+
+ * sanity.sh (abspath-6a): Don't depend on the sepcific contents of
+ CVSROOT, it depends on which other tests have been run.
+
+Wed Feb 18 01:56:04 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * rcs.c (putsymbol_proc): Use putc and fputs rather than fprintf.
+ (RCS_putadmin): Don't call RCS_symbols if the symbols have not yet
+ been converted to a list.
+
+ * rcs.c (rcsbuf_cache, rcsbuf_cache_open, rcsbuf_cache_close): New
+ static functions to avoid closing and reopening the RCS file.
+ (cached_rcs, cached_rcsbuf): New static variables.
+ (RCS_parse): Call rcsbuf_cache_close. Don't call fclose.
+ (RCS_parsercsfile): Likewise.
+ (RCS_parsercsfile_i): Call rcsbuf_cache rather than
+ rcsbuf_close. Call fclose on error. Remove comment about
+ inefficiency of opening file twice.
+ (RCS_reparsercsfile): Call rcsbuf_cache_open rather than fopen and
+ rcsbuf_open. Call rcsbuf_cache rather than rcsbuf_close and
+ fclose.
+ (RCS_fully_parse, RCS_checkout, RCS_deltas): Likewise.
+ (RCS_rewrite): Likewise.
+ (RCS_checkin): Call rcsbuf_cache_close.
+
+ * rcs.c (RCS_copydeltas): Fix code which checks for an extra
+ newline in buffered data.
+
+ * rcs.c (rcsbuf_getkey): Save an indirection by using start rather
+ than *valp when trimming trailing whitespace from value.
+
+ * rcs.c (rcsbuf_get_buffered): New static function.
+ (RCS_copydeltas): After we have done all the required special
+ actions, and inserted any new revision, just copy the file bytes
+ directly, rather than interpreting all the data.
+ (count_delta_actions): New static function.
+ * sanity.sh (rcs): Add rcs-6a and rcs-6b to commit a new branch
+ revision, to force CVS to interpret all the data, rather than just
+ copying it. Adjust rcs-5 to add a branch tag. Adjust rcs-8a and
+ rcs-14 for the changes created by rcs-6b.
+
+Tue Feb 17 18:34:01 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * sanity.sh (cvsadm, diffmerge2): Remove directories at the end of
+ the test.
+
+ * import.c (expand_at_signs): Rewrite to use memchr and fwrite
+ rather than putc.
+
+ Rewrite RCS file reading routines for speed:
+ * rcs.c (struct rcsbuffer): Define.
+ (rcsbuf_open, rcsbuf_close, rcsbuf_getkey, rcsbuf_getrevnum,
+ rcsbuf_fill, rcsbuf_valcopy, rcsbuf_valpolish,
+ rcsbuf_valpolish_internal, rcsbuf_ftell): New static functions.
+ (getrcskey, getrcsrev, getrevnum): Remove.
+ (many functions): Change to use new rcsbuf functions instead of
+ old getrcskey/getrcsrev/getrevnum functions.
+ (RCS_reparsercsfile): Add rcsbufp parameter. Change all callers.
+ (RCS_deltas): Add rcsbuf parameter. Change all callers.
+ (getdelta): Change fp parameter to rcsbuf parameter. Change all
+ callers.
+ (RCS_getdeltatext): Add rcsbuf parameter. Change all callers.
+ (RCS_copydeltas): Add rcsbufin parameter. Change all callers.
+ * rcs.h (RCS_reparsercsfile): Update declaration.
+ * admin.c (admin_fileproc): Update calls to RCS_reparsercsfile for
+ new parameters.
+
+1998-02-17 Jim Kingdon <kingdon@harvey.cyclic.com>
+
+ * sanity.sh (toplevel): Also clean up second-dir (not a new
+ bug, but triggered by running tests as "toplevel abspath").
+
+ * create_adm.c (Create_Admin): Just print update_dir to tell the
+ user where we are; not the whole xgetwd. Cleaner than
+ Noel's change (which also had problems in errno handling).
+ * sanity.sh (toplevel-12): Update accordingly.
+
+Tue Feb 17 02:32:21 1998 Noel Cragg <noel@swish.red-bean.com>
+
+ [These mods make "checkout" work with "-d /absolute/pathname"
+ once again.]
+
+ * checkout.c (checkout_proc): the -d flag on the command line
+ should override the -d flag in the modules file if the latter is
+ an absolute path. The loop that assembles the list of directories
+ to build has been reorganized slightly to prepare for rewriting
+ with last_component rather than assuming '/' as a path separator.
+ Also added to that loop was some code to handle absolute
+ pathnames.
+ (build_dirs_and_chdir): add a new argument that tells this routine
+ whether or not to check before it creates and populates
+ directories or not.
+
+ * filesubr.c (last_component): return the top-level directory when
+ asked about the top-level directory.
+
+ * sanity.sh (toplevel-12): change test to reflect the new style of
+ this error message.
+
+ * create_adm.c (Create_Admin): include the directory in the error
+ message.
+
+1998-02-16 Jim Kingdon <kingdon@harvey.cyclic.com>
+
+ * diff.c (diff_fileproc), import.c (import, add_rcs_file), rcs.c
+ (RCS_cmp_file): Don't ignore errors from CVS_UNLINK and fclose.
+
+ * patch.c (patch_fileproc): Check for errors from fclose; if we
+ get -1 from getline check for end of file vs. error.
+
+ * rcs.c (RCS_checkout): Comment return value (0/1, not -1).
+ * commit.c, diff.c, mkmodules.c, patch.c, rcs.c, update.c: Update
+ to match this convention. Don't suppress errors based on
+ quiet or really_quiet variables.
+
+ Fix a longstanding bug which also makes stamps-8kw in make
+ remotecheck work again (it stopped working with Ian's 8 Feb 98
+ checkin):
+ * client.c, client.h (change_mode): If new argument respect_umask
+ is set, then honor the umask.
+ * client.c, server.c: Update callers.
+
+ Cleanups to Tim's checkin:
+ * rcs.c (RCS_checkout): Use existence_error not ENOENT.
+ * commit.c (checkaddfile): Remove comment about whether we want to
+ check for errors from fclose; there is no reason not to.
+ * rcs.c (RCS_checkout), update.c (special_file_mismatch): sscanf
+ on %ld requires an unsigned long, not a dev_t.
+ * update.c (special_file_mismatch): Remove unused variable
+ check_devnums.
+ * mkmodules.c (config_contents): Between two settings, use a blank
+ line not a "#" line.
+
+1998-02-15 Tim Pierce <twp@skepsis.com>
+
+ [This is the code as submitted. I'll be checking in my cleanups
+ shortly. This work sponsored by Abbott Labs. -kingdon]
+
+ Support for device special files, symbolic links, user and group
+ ownerships, and file permissions.
+
+ * parseinfo.c: (parse_config): Handle new config variable
+ `PreservePermissions'.
+ * mkmodules.c (config_contents): Add new PreservePermissions var.
+
+ * rcs.c, rcs.h (preserve_perms): New variable.
+ (RCS_checkout, RCS_checkin): Support for newphrases `owner',
+ `group', `permissions', `special', `symlink'.
+ (RCS_checkout): If `workfile' and `sout' are symlinks, remove them
+ before attempting to open them for writing.
+ * import.c (add_rcs_file): Support for newphrases. Do not attempt
+ to read data from special files or symlinks. Error message
+ `cannot fstat' is now `cannot lstat'.
+
+ New metrics for deciding when two files are different:
+
+ * update.c, cvs.h (special_file_mismatch): New function.
+ (merge_file, join_file): Call it.
+ * no_diff.c (No_Difference): Call it.
+
+ * filesubr.c (xcmp): Consider files to be different if they are of
+ different types; if they are symlinks which link to different
+ pathnames; or if they are devices with different device numbers.
+ Error message is now `cannot lstat'.
+ * rcs.c (RCS_cmp_file): Use `xcmp' to compare files, simplifying
+ the special handling for nonregular files.
+
+ * rcscmds.c (diff_exec, diff_execv): If asked to obtain diffs for
+ special files, report no differences.
+
+ Miscellaneous changes to make special file support possible:
+
+ * commit.c (fix_rcs_modes): Don't attempt to `fix' permissions on
+ a symlink.
+
+ * import.c (add_rcs_file): Don't try to close fpuser if it was
+ never opened (e.g. when operating on a symlink).
+
+ * filesubr.c, cvs.h (isdevice, xreadlink): New functions.
+ * filesubr.c (copy_file): Handle special files and symlinks.
+ (xchmod): Do nothing if `preserve_perms' is set.
+
+ * commit.c (checkaddfile): Replace `copy_file (DEVNULL, ...)' with
+ fopen/fclose calls. Copy_file no longer attempts to read data
+ from device files.
+
+ * filesubr.c (islink): Use CVS_LSTAT, not lstat.
+ * vers_ts.c (time_stamp, time_stamp_server): Use CVS_LSTAT, not stat,
+ to get symlinks right.
+ * subr.c (get_file): Same. Don't attempt to read from special
+ files or symlinks.
+
+ * classify.c (Classify_File): Doc fix.
+
+Fri Feb 13 17:07:32 1998 Eric Mumpower <nocturne@cygnus.com>
+ and Ian Lance Taylor <ian@cygnus.com>
+
+ Fix some file system ordering problems found on Irix 6.4:
+ * sanity.sh (basic2): Use dotest_sort for test 56.
+ (importb): Use dotest_sort for tests importb-1 and importb-2.
+ (head): Use dotest_sort for test head-1.
+
+Thu Feb 12 15:15:33 1998 Jim Kingdon <kingdon@harvey.cyclic.com>
+
+ * import.c (add_rcs_file): If add_logfp is NULL, don't call fperror.
+
+11 Feb 1998 Andy Piper
+
+ * server.c (cvs_output_binary): Use OPEN_BINARY not _O_BINARY.
+
+Mon Feb 9 18:34:39 1998 Jim Kingdon <kingdon@harvey.cyclic.com>
+
+ Tweaks to Ian's checkin:
+ * update.c (merge_file): Remove comment about sending file to
+ client before the message. It doesn't apply to this code any more
+ (it does apply to checkout_file, but I'm not sure it is important
+ to have such a comment anyway).
+ * buffer.c (buf_default_memory_error, buf_length): Reindent.
+ * server.h: Declare struct buffer before use.
+
+Mon Feb 9 21:05:28 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * rcs.c (RCS_fully_parse): Call getrevnum rather than getrcsrev.
+ Don't bother with ungetc.
+
+ * rcs.c (getrcsrev): Rewrite to simply call getrevnum.
+
+Sun Feb 8 15:49:39 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ Don't have the server check out a revision into a file and then
+ immediately read the file; just read into a buffer instead.
+ * update.c: Include buffer.h.
+ (update_fileproc): Let checkout_file call server_updated.
+ (checkout_file): Add merging and update_server parameters. Change
+ all callers. If server_active, don't mess with backup files. If
+ server_active, copy the revision into a buffer rather than a file
+ when possible. If update_server, call server_updated. Fix
+ handling of error status.
+ (checkout_to_buffer): New static function used by checkout_file.
+ (merge_file): Let checkout_file call server_updated.
+ (join_file): Likewise.
+ * server.c (server_updated): Change file_info parameter to mode
+ parameter. Add filebuf parameter. Change all callers. If
+ filebuf is not NULL, don't read the file.
+ * server.h (server_updated): Update declaration.
+ * buffer.c (buf_free): New function.
+ (buf_append_buffer): New function.
+ (buf_length): New function.
+ * buffer.h (buf_free, buf_append_buffer, buf_length): Declare.
+
+ * buffer.c: (buf_initialize): If the memory parameter is NULL, use
+ buf_default_memory_error.
+ (buf_default_memory_error): New static function.
+ * buffer.h (BUFMEMERRPROC): Define typedef.
+ * client.c (buf_memory_error): Remove.
+ (start_server): Pass NULL rather than buf_memory_error as buffer
+ memory error function.
+
+Sat Feb 7 16:27:30 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * rcs.c (RCS_parsercsfile_i): Read the expand keyword from the RCS
+ file. We do this because Version_TS calls RCS_getexpand in many
+ common cases, and we don't want to reopen the file just for that.
+ (RCS_reparsercsfile): Skip the expand keyword.
+ (RCS_getexpand): Don't call RCS_reparsercsfile.
+
+ * rcs.c (STREQ): New macro. In all string equality tests in the
+ file, replace strcmp with STREQ.
+
+Fri Feb 6 16:14:49 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * update.c (checkout_file): If we've already removed the backup
+ file once, don't try to remove it again.
+
+ * filesubr.c (unlink_file_dir): Call stat rather than isdir, and
+ don't call unlink if the file does not exist.
+
+ * myndbm.c (mydbm_load_file): Rename line_len to line_size. Call
+ getstr rather than getline, to avoid any confusion between \n and
+ \012. Use the line length returned by getstr rather than calling
+ strlen. Remove local variable len.
+
+Fri Feb 6 13:23:46 1998 Jim Kingdon <kingdon@harvey.cyclic.com>
+
+ * rcs.c (RCS_parsercsfile_i): Don't suppress errors on
+ really_quiet.
+ (RCS_parsercsfile_i, RCS_reparsercsfile, RCS_fully_parse,
+ RCS_deltas, getdelta, getrcskey, RCS_getdeltatext):
+ Check for errors. Include errno in error messages. Include
+ filename in error messages. Pass new argument to getrcskey.
+ (getrcskey): New argument NAME, so we can report errors ourself.
+
+Fri Feb 6 12:10:18 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * rcs.c (RCS_reparsercsfile): Don't use ftell/fseek; just keep
+ track of whether we've already read a key/value pair. Use sizeof
+ rather than strlen for a constant string. Pass the current key
+ and value to getdelta, and get them back as well.
+ (getdelta): Add keyp and valp parameters. Don't use ftell/fseek;
+ just return the key/value pair to the caller. Don't allocate
+ vnode before we know we need it. Check one getrcskey return
+ value. Use sizeof rather than strlen for a constant string.
+
+ * rcs.c (getrcskey): Correct comment describing return value.
+
+Thu Feb 5 22:51:13 1998 Ian Lance Taylor <ian@cygnus.com>
+
+ * subr.c (getcaller): Cache the result, so that we don't keep
+ searching the password file.
+
+Wed Feb 4 23:31:08 1998 Jim Kingdon <kingdon@harvey.cyclic.com>
+
+ * rcs.c (max_rev): Don't prototype. Interesting that noone
+ complained about this until now.
+
+4 Feb 1998 Jim Kingdon
+
+ * rcs.c (RCS_checkin): When adding a new file, read it
+ with "rb" if binary.
+
+Fri Jan 30 11:32:41 1998 Jim Kingdon <kingdon@harvey.cyclic.com>
+
+ * sanity.sh: Also test "first-dir" as the regexp in loginfo in
+ addition to ALL.
+
+ * main.c (main): Update year in copyright notice to 1998.
+
Thu Jan 29 00:01:05 1998 Jim Kingdon <kingdon@harvey.cyclic.com>
+ * version.c: Change version number to 1.9.25.
+
* Version 1.9.24.
* sanity.sh (multibranch2): File file2 and tests multibranch2-13
OpenPOWER on IntegriCloud