PageRenderTime 61ms CodeModel.GetById 36ms app.highlight 8ms RepoModel.GetById 1ms app.codeStats 1ms

/contrib/cvs/src/ChangeLog-97

https://bitbucket.org/freebsd/freebsd-head/
#! | 3249 lines | 2405 code | 844 blank | 0 comment | 0 complexity | 8e1477da70eeee62eff09bdaf26da9c0 MD5 | raw file

Large files files are truncated, but you can click here to view the full file

   11997-12-30  enami tsugutomo  <enami@but-b.or.jp>
   2
   3	* rcs.c (RCS_checkin): Use gmtime() instead of localtime()
   4	(restores behavior from RCS 5.x which was broken with RCS library
   5	-kingdon).
   6
   7Mon Dec 29 12:53:00 1997  Ian Lance Taylor  <ian@cygnus.com>
   8
   9	* modules.c (do_module): Check for a request for a file within a
  10	module which is not a directory.
  11	* sanity.sh (modules): Add test 149b1 for above patch.
  12
  13	* client.c (start_tcp_server): Remove useless assignment, left
  14	behind by Dec 15 patch.
  15
  16Sat Dec 27 17:41:11 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
  17
  18	* client.c, options.h.in, history.c, import.c, main.c, rcs.c,
  19	update.c: Remove !HAVE_RCS5 code.  It had bit-rotted a while ago,
  20	and more to the point is obsolete with the RCS library.
  21
  2227 Dec 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
  23
  24	* zlib.c, server.h (gunzip_and_write): New function.
  25	* client.c (update_entries): Call it instead of a gunzip subprocess.
  26	* zlib.c, server.h (read_and_gzip): New function.
  27	* client.c (send_modified): Call it instead of a gzip subprocess.
  28
  29Sat Dec 27 13:07:38 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
  30
  31	Decrease RCS_deltas memory usage to what we need (approximately
  32	the size of the file we are patching plus the size of the largest
  33	patch).  Previously memory usage had been approximately the size
  34	of the RCS file because we never freed lines until the end.
  35	* rcs.c (linevector_free, linevector_copy, linevector_add,
  36	linevector_delete):
  37	Instead of having all the lines and struct line's in the alloc_*
  38	space, have each line and its struct line in its own malloc'd
  39	space.  Use a refcount to deal with curlines vs. headlines
  40	vs. trunklines in RCS_deltas.
  41	(struct allocblock, blocks, block_alloc, block_free): Remove; no
  42	longer used.
  43	(apply_rcs_changes, RCS_deltas): Don't copy lines into allocated
  44	space; linevector_add now does that for us.
  45	(rcs_change_text, RCS_deltas): Don't call block_free.
  46
  47Tue Dec 23 08:28:44 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
  48
  49	* cvsbug.sh: Change bug-cvs address from prep.ai.mit.edu to gnu.org
  50	per email from Martin Hamilton.
  51
  52Sun Dec 21 21:49:50 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
  53
  54	* rcs.c (RCS_checkin): Disable keyword expansion when generating
  55	the change text.
  56	* sanity.sh: Move tests keyword-24 through keyword-27 into
  57	new section keywordlog and expand greatly.  Note that CVS 1.9.18
  58	passes the new tests both local and remote but the current
  59	version failed them both local and remote before this fix.
  60
  61Sat Dec 20 19:56:00 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
  62
  63	* rcs.c (RCS_delete_revs): Clean up temporary files even if noexec.
  64	Without this fix, basica-o5a in sanity.sh would leave files around.
  65
  66Thu Dec 18 13:05:00 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
  67
  68	* run.c: Fix typo in declaration (evecvp -> execvp) (credit to
  69	Erik Walthinsen for reporting this).  Only declare it if not
  70	HAVE_UNISTD_H.  Move declaration to before the first use.
  71
  72Tue Dec 16 12:59:00 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
  73
  74	* update.c: Collapse two identical declarations for join_file.
  75
  76Mon Dec 15 16:01:49 1997  Ian Lance Taylor  <ian@cygnus.com>
  77
  78	* client.c (start_tcp_server): Remove calls to htons and add one
  79 	call to ntohs (init_sockaddr calls htons on the port argument).
  80
  81Mon Dec 15 00:07:02 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
  82
  83	* client.c (failure_exit): New variable.
  84	(get_server_responses): If it is set, then return
  85	failure.
  86	(updated_seen, updated_fname): New variables.
  87	(update_entries): Use updated_fname if set.  In the "move away
  88	foo.c; it is in the way" case print "C" not "U", and set
  89	failure_exit.
  90	(handle_mt): If we get +updated tagged text, stash it away in
  91	updated_fname rather than printing it immediately.
  92	(handle_mt, get_server_responses): If we stashed a filename and
  93	didn't get around to printing it, go ahead and print it.
  94	* sanity.sh (conflicts2-142d2): Adjust to test for fix.  Remote is
  95	now like local was in terms of exit status and "C aa.c" message.
  96
  97Sun Dec 14 00:27:26 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
  98
  99	Implement tagged text feature:
 100	* update.c (write_letter): Take a single finfo argument rather
 101	than file and update_dir.  While we are at it change it to return
 102	void (since the returned value always had been 0).
 103	* update.c: Update callers.
 104	* server.c, cvs.h (cvs_output_tagged): New function.
 105	* client.c (responses): Add "MT" response.
 106	(handle_mt): New function.
 107	* update.c (write_letter): Output via cvs_output_tagged.
 108
 109Sun Dec 14 14:13:05 1997  Ian Lance Taylor  <ian@cygnus.com>
 110
 111	* recurse.c (do_dir_proc): Only check for CVS/Repository if
 112	W_LOCAL.
 113	* sanity.sh (devcom-t2, devcom-t3): New tests for above patch.
 114
 115Sun Dec 14 00:27:26 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 116
 117	* root.c (parse_cvsroot): Initialize check_hostname (fixes thinko
 118	in GSSAPI changes).
 119
 120Sat Dec 13 13:15:35 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 121
 122	* server.c: Use indentation to indicate nesting of #ifdef's.
 123
 124	* client.c (connect_to_gserver): Reindent (in one place).
 125
 126Fri Dec 12 17:38:15 1997  Chris Provenzano <proven@cygnus.com>
 127	and Ian Lance Taylor  <ian@cygnus.com>
 128
 129	* cvs.h (CVSmethod): Add gserver_method.
 130	* root.c (method_names): Add gserver.
 131	(parse_cvsroot): Handle :gserver:.
 132	* client.h (cvsauthenticate): Declare.
 133	(cvs_gssapi_encrypt): Declare if HAVE_GSSAPI and ENCRYPTION.
 134	(cvs_gssapi_wrap_buffer_initialize): Declare if HAVE_GSSAPI.
 135	(connect_to_pserver): Update declaration.
 136	(pserver_authenticate_connection): Declare when HAVE_GSSAPI and
 137	SERVER_SUPPORT is defined in addition to other case.
 138	* client.c: If HAVE_GSSAPI, include GSSAPI header files.
 139	(gcontext): New static variable if HAVE_GSSAPI.
 140	(connect_to_pserver): Add do_gssapi parameter.  Change all
 141	callers.  Move rejection handling to bottom of function.
 142	(recv_bytes): New static function if HAVE_GSSAPI.
 143	(connect_to_gserver): Likewise.
 144	(start_server): Handle gserver_method.  Handle GSSAPI encryption
 145	and authentication.
 146	* server.c: Include <sys/socket.h> if HAVE_GSSAPI, in addition to
 147	existing cases.  If HAVE_GSSAPI, include GSSAPI header files.
 148	Include <grp.h> even if AUTH_SERVER_SUPPORT is not defined.
 149	(gcontext, cvs_gssapi_wrapping): New static variables if
 150	HAVE_GSSAPI.
 151	(cvs_gssapi_encrypt): New global variable if HAVE_GSSAPI and
 152	ENCRYPTION.
 153	(serve_gssapi_encrypt): New static function if HAVE_GSSAPI and
 154	ENCRYPTION.
 155	(serve_gssapi_authenticate): New static function if HAVE_GSSAPI.
 156	(requests): Add Gssapi-encrypt if HAVE_GSSAPI and ENCRYPTION.  Add
 157	Gssapi-authenticate if HAVE_GSSAPI.
 158	(switch_to_user): Compile if HAVE_GSSAPI, in addition to existing
 159	cases.
 160	(pserver_authenticate_connection): Likewise.  Ifdef out part of
 161	the code for AUTH_SERVER_SUPPORT.  Handle a GSSAPI request.
 162	(gserver_authenticate_connection): New static function if
 163	HAVE_GSSAPI.
 164	(cvsauthenticate): New global variable.
 165	(struct cvs_gssapi_wrap_data): Define if HAVE_GSSAPI.
 166	(cvs_gssapi_wrap_buffer_initialize): New function if HAVE_GSSAPI.
 167	(cvs_gssapi_wrap_input): New static function if HAVE_GSSAPI.
 168	(cvs_gssapi_wrap_output): Likewise.
 169	* main.c (opt_usage): Mention -a.
 170	(main): Handle -a.  Handle pserver if HAVE_GSSAPI, in addition to
 171	existing cases.
 172	* login.c (login): Pass new argument to connect_to_pserver.
 173
 174Fri Dec 12 15:33:19 1997  Ian Lance Taylor  <ian@cygnus.com>
 175
 176	* buffer.c (PACKET_SLOP): Define.
 177	(packetizing_buffer_initialize): Use PACKET_SLOP when allocating
 178	holdbuf.
 179	(packetizing_buffer_input): Allow up to PACKET_SLOP bytes in
 180	stackoutbuf.
 181	(packetizing_buffer_output): Use just BUFFER_DATA_SIZE + 2 for
 182	inbuf.  Allow PACKET_SLOP + 4 extra bytes in stack_outbuf.
 183	Correct >= to > in test of incoming number of bytes.  Use
 184	PACKET_SLOP in other tests.
 185
 186Fri Dec 12 10:27:08 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 187
 188	* client.c (start_tcp_server): Revise comment to reflect
 189	SOCK_STRERROR and SOCK_ERRNO now being in use.
 190
 191Thu Dec 11 15:32:31 1997  Ian Lance Taylor  <ian@cygnus.com>
 192
 193	* client.c (init_sockaddr): Compile if HAVE_KERBEROS, as well as
 194	if AUTH_CLIENT_SUPPORT.  Return a pointer to a struct hostent.
 195	(start_tcp_server): Clean up.  Use init_sockaddr.  Use
 196	SOCK_STRERROR and SOCK_ERRNO.  Don't bind the socket.
 197
 198	Generalize buffering code used by Kerberos encryption routines
 199	into a generic packetizing buffer.  The new code in buffer.c is a
 200	modified version of the code removed from server.c.
 201	* buffer.c (struct packetizing_buffer): Define.
 202	(packetizing_buffer_initialize): New function.
 203	(packetizing_buffer_input): New static function.
 204	(packetizing_buffer_output): New static function.
 205	(packetizing_buffer_flush): New static function.
 206	(packetizing_buffer_block): New static function.
 207	(packetizing_buffer_shutdown): New static function.
 208	* buffer.h (packetizing_buffer_initialize): Declare.
 209	* server.c (struct krb_encrypt_data): Rename from
 210	krb_encrypt_buffer, and remove all fields not related to
 211	encryption.
 212	(krb_encrypt_buffer_initialize): Just call
 213	packetizing_buffer_initialize.
 214	(krb_encrypt_input): New static function.
 215	(krb_encrypt_output): New static function.
 216	(krb_encrypt_buffer_input): Remove.
 217	(krb_encrypt_buffer_output): Remove.
 218	(krb_encrypt_buffer_flush): Remove.
 219	(krb_encrypt_buffer_block): Remove.
 220	(krb_encrypt_buffer_shutdown): Remove.
 221
 222Wed Dec 10 15:39:44 1997  Ian Lance Taylor  <ian@cygnus.com>
 223
 224	* buffer.c (stdio_buffer_initialize): Correct formatting.
 225
 226Sun Dec  7 09:37:19 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 227
 228	* sanity.sh (basicb-0d0): New test, for checkout on existing
 229	directory.
 230
 231Sat Dec  6 00:25:11 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 232
 233	* sanity.sh (binwrap3): Clean up repository too.  Clean up working
 234	directory with "rm -r" not "rm -rf".
 235
 236Thu Dec  4 17:11:18 1997  Larry Jones  <larry.jones@sdrc.com>
 237
 238	* subr.c (check_numeric): Don't reference argv[1] when argc is 1
 239	(should be argv[0]).
 240
 241	* sanity.sh: Fix lines that look like conflict markers but aren't
 242	to prevent problems checking in.
 243	(binwrap3): Remove local CVSROOT when done so that later
 244	tests that expect to create it don't fail.
 245
 246Thu Dec  4 18:19:21 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 247
 248	* cvs.h: Remove mempcpy definition.  I think the polite way to
 249	describe my feelings about mempcpy is something like "we don't
 250	have agreement that it is a good idea".
 251	* rcs.c (truncate_revnum): Don't call it.
 252	* sanity.sh: Run multibranch2 test by default.
 253	(multibranch2): Use ${TESTDIR} a few places.
 254	(multibranch2-9): Accept "P file1" as well as "U file1".
 255
 256	* sanity.sh: Don't add 1997 to the copyright notice.  Add GPL
 257	terms.  Add discussion of copyright issues.
 258	* rcs.c (truncate_revnum, truncate_revnum_in_place,
 259	compare_truncated_revnums): Reindent.
 260
 2611997-12-04  Jim Meyering  <meyering@na-net.ornl.gov>
 262
 263	* subr.c (xstrdup): Use memcpy rather than strcpy.
 264	(compare_revnums): Declare parameters to be `const'.
 265	Remove unnecessary uses of xstrdup and corresponding frees.
 266	(increment_revnum): Declare parameter to be `const'.
 267	Use memcpy rather than strcpy.
 268	(gca): Declare parameters to be `const'.
 269	(check_numeric): Declare REV parameter to be `const'.
 270	(file_has_markers): Declare parameter to be `const'.
 271	(get_file): Declare `char*' parameters to be `const'.
 272	* run.c (run_exec): Declare `char*' parameters to be `const'.
 273	* cvs.h (mempcpy) [! HAVE_MEMPCPY]: Define it.
 274	Add `const' to types in several prototypes.
 275
 276	* rcs.c (truncate_revnum): New function.
 277	(truncate_revnum_in_place): New function.
 278	(compare_truncated_revnums): New function.
 279	(max_rev): New function.
 280	(RCS_addbranch): Make BRANCH parameter `const'.
 281	Use the above functions rather than open-coding them.
 282	When BRANCH is a revision number, insert it *in order*
 283	in the sorted list of branch numbers, not at the end.
 284	Add assertion that insertion succeeds.
 285	* sanity.sh (multibranch2): Test for this.
 286	(Copyright): Add 1997.
 287
 288Dec 1997  Karl Fogel  <kfogel@floss.red-bean.com>
 289
 290	* wrapper.c (wrap_name_has): loop as far as wrap_count +
 291	wrap_temp_count, not wrap_count + wrap_saved_count, otherwise
 292	some wrappers get skipped.
 293	(wrap_matching_entry): same.
 294	* sanity.sh (binwrap3): new test, for import with
 295	CVSROOT/cvswrappers and .cvswrappers specifying -k 'b' options.
 296
 2971997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
 298
 299	* client.c (send_a_repository): Strip trailing slashes from the name
 300	of the update directory.  Otherwise, running `cvs update dir/' provokes
 301	this failure `protocol error: illegal directory syntax in dir/' when
 302	running in client/server mode.
 303
 304	* hash.c (insert_before): New function derived from addnode.
 305	(addnode): Simply return insert_before.
 306	(addnode_at_front): Simply return insert_before.
 307	* hash.h (insert_before): Add prototype.
 308
 309	* server.c (dirswitch): Compute `strlen(dir)' once and save it,
 310	rather than computing it four times.  Also do s/illegal/invalid/ to
 311	this diagnostic: "E protocol error: illegal directory syntax in %s".
 312
 313Sun Nov 30 18:03:02 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 314
 315	* admin.c: Fix comment (no longer a front-end to "rcs").
 316
 317	* error.c, error.h (rcserror): Remove.
 318	* admin.c, rcs.c: Call error instead of rcserror.  This changes
 319	the format of these messages from "rcs: <path>: error" to "cvs
 320	<command>: <path>: error".  The former format wasn't quite what
 321	RCS printed anyway (because RCS would sometimes print "ci", "co",
 322	&c, not "rcs"), and preserving RCS's exact output probably is not
 323	a good idea anyway (because it will make people think that the
 324	error was caused by an external program).  In two cases, I tidied
 325	up the message in a more drastic fashion ("cannot stat" in
 326	RCS_checkin and "could not diff" in RCS_delete_revs).
 327
 328	* sanity.sh (basica-o2b, binfiles2-o1, admin-18, admin-22-o10,
 329	admin-22-o17): Look for "cvs <command>" not "rcs".
 330
 331	* run.c, cvs.h (run_setup): Replace varargs nonsense with a single
 332	argument which gets parsed as the result of the vasprintf
 333	used to.
 334	* client.c, commit.c, logmsg.c, modules.c, rtag.c, tag.c, update.c,
 335	wrapper.c: Update callers, either to do the sprintf themself or to
 336	just call run_arg if it will do the job.
 337	* rcscmds.c: Likewise for call_diff_setup and callers.
 338
 339	* run.c, cvs.h (run_args): Remove; nowhere used.
 340
 341Sat Nov 29 22:15:06 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 342
 343	* options.h.in: Remove declaration of getwd; see lib/ChangeLog for
 344	rationale.
 345
 3461997-11-29  Jim Meyering  <meyering@na-net.ornl.gov>
 347
 348	* update.c (checkout_file): Initialize `backup'.
 349
 350	* diff.c (diff_fileproc): Initialize `tmp' and `fname'.
 351
 352	* modules.c (do_module): Initialize `server_dir_to_restore'.
 353	(do_module): Initialize `value' in an else clause.
 354
 355	* rcs.c (RCS_checkin): Initialize `commitpt'.
 356	(RCS_delete_revs): Initialize `revp'.
 357	(RCS_copydeltas): Always initialize `insertbefore'.
 358
 359	* run.c (run_print): Define `outfn' even in error case.
 360
 361Mon Nov 24 17:28:50 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 362
 363	* rcs.c (RCS_findlock_or_tip): Prototype.
 364	(RCS_checkin): Fix call to pass correct number of arguments.
 365
 366Sun Nov 23 10:34:03 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 367
 368	* recurse.c (do_dir_proc): Move check for CVS/Repository and
 369	CVS/Entries to before where we call the direntproc.
 370	* client.c (send_dirent_proc): Remove code to check for
 371	CVS/Repository, now that recurse.c does it.
 372	* sanity.sh (conflicts3-18 through conflicts3-19): New tests, for this.
 373
 374Sat Nov 22 10:54:16 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 375
 376	* recurse.c (do_dir_proc): Check that CVS/Repository and
 377	CVS/Entries exist.
 378	* sanity.sh (conflicts3-14 through conflicts3-17): New tests, for this.
 379
 380	* client.c (send_fileproc): Send options field from
 381	vers->entdata->options not vers->options.
 382	* cvs.h (struct entnode): Add comment (options and timestamp must
 383	not be NULL).
 384	* sanity.sh (binfiles-9 through binfiles-13, binfiles-sticky5,
 385	keyword-17): Remove kludges for remote; tests for fix.
 386
 387	* update.c (update_fileproc): Fix comment; direct checkout is
 388	still faster than patches for local but not for quite the
 389	same reasons.
 390
 391	* add.c (add): Pass SEND_NO_CONTENTS to send_files.
 392
 393Wed Nov 19 18:25:03 1997  Mike Glendinning  <mikeg@sequent.com>
 394
 395	* update.c (patch_file_write): Missing cast provided.
 396
 397Wed Nov 19 15:57:59 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 398
 399	* rcs.c (RCS_deltas): Solve trigraph problem (once and for all, I
 400	hope) with 3 calls to cvs_output.
 401
 402Wed Nov 19 01:52:57 1997  Andy Piper <andyp@parallax.co.uk>
 403	and Jim Kingdon  <kingdon@harvey.cyclic.com>
 404
 405	* classify.c (Classify_File), cvs.h (struct vers_ts), vers_ts.c
 406	(Version_TS): Clarify NULL versus "" for options in comments.
 407	* vers_ts.c (Version_TS): Treat "" the same way as NULL in options
 408	and vers_ts->options.
 409	* sanity.sh: New tests binfiles-sticky5 through binfiles-17 test
 410	for this.
 411
 4121997-11-16  Karl Fogel  <kfogel@floss.red-bean.com>
 413
 414	* client.c (update_entries): parse server-sent entries line even
 415	in the case of "cvs export", because we need to know if -kb option
 416	is set.
 417	Init `options' to NULL like anything else.
 418
 419Tue Nov 18 09:20:29 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 420
 421	* version.c: Change version number to 1.9.21.
 422
 423	* Version 1.9.20.
 424
 425Mon Nov 17 14:35:31 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 426
 427	* server.c (server_updated): If scratched_file and noexec are set,
 428	clean up so we don't get a "duplicate Scratch_Entry" warning
 429	later.
 430	* sanity.sh: New tests conflicts3-10 to conflicts3-13, for this.
 431
 432	* sanity.sh (conflicts3): Don't allow "file1 was lost" messages
 433	here; I don't think CVS actually produced them, and they don't
 434	belong.
 435
 436Sun Nov 16 23:19:41 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 437
 438	* sanity.sh: Accept either "U file1" or "P file1".
 439
 440Fri Nov 14 12:32:05 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 441
 442	* rcs.c: Add comment about cleaning up ,foo, file on ^C.
 443
 444Fri Nov 14 11:56:29 1997  Andy Piper <andyp@parallax.co.uk>
 445	and Jim Kingdon  <kingdon@harvey.cyclic.com>
 446
 447	* filesubr.c (unlink_file_dir): Don't print trace message in the
 448	server.
 449
 450Fri Nov 14 11:28:55 1997  Jim Meyering and Jim Kingdon
 451
 452	* rcs.c (RCS_getdatebranch): If the branch we are looking for
 453	doesn't exist, return a revision which matches the date, not
 454	just NULL.
 455	* sanity.sh (tagdate): New test, for this.
 456
 457Thu Nov 13 10:11:48 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 458
 459	* sanity.sh (basicb-21): Fix comment which described a behavior
 460	which no longer exists.
 461
 462Wed Nov 12 16:24:45 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 463
 464	Clean up infrastructure made unnecessary by RCS library:
 465	* rcscmds.c (diff_exec, diff_execv): Use literal "diff" not DIFF.
 466	* options.h.in (DIFF), rcs.h (RCS, RCS_CI, RCS_DIFF,
 467	RCS_RCSMERGE): Removed; no longer used.
 468	* commit.c (commit), patch.c (patch_fileproc),
 469	rcscmds.c (RCS_exec_rcsdiff), start of rcscmds.c: Update comments
 470	to reflect librarification of RCS.
 471	* options.h.in (RCSBIN_DFLT): Removed.
 472	* main.c, cvs.h (Rcsbin, free_Rcsbin): Removed.
 473	* main.c (main): Don't check RCSBIN environment variable.  -b
 474	global option is now a noop.
 475	* cvs.h (RCSBIN_ENV): Removed.
 476	* expand_path.c (expand_variable): $RCSBIN is now an error.
 477	* mkmodules.c (config_contents): Remove RCSBIN.
 478	* parseinfo.c (parse_config): RCSBIN now a noop.
 479	* server.c (server): Don't put Rcsbin in PATH.
 480
 481Mon, 10 Nov 1997  Jim Kingdon
 482
 483	* rcs.c (RCS_checkin): Actually, when we get a change text
 484	for a text file using get_file, we want text mode, although
 485	the reasons are kind of subtle (see comment).
 486
 487	* rcs.c (RCS_checkin): Pass correct mode to get_file for
 488	binary files.
 489
 490	* rcscmds.c: Declare vasprintf.
 491
 492Mon Nov 10 11:11:17 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 493
 494	This fixes problems with windows-NT/run.c improperly quoting, and
 495	is cleaner anyway.
 496	* rcscmds.c (call_diff_setup, call_diff_arg, call_diff_add_arg,
 497	call_diff_argv, call_diff_argc, call_diff_argc_allocated): New
 498	functions/variables, lightly adapted from src/run.c.
 499	* cvs.h, run.c (call_diff, call_diff3): Move from here...
 500	* rcscmds.c: ...to here.
 501
 502Sun, 9 Nov 1997  Jim Kingdon
 503
 504	* rcs.c (rcs_internal_unlockfile): Call rename_file not rename.
 505	This makes it work on NT again.
 506
 507Sun Nov  9 16:54:28 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 508
 509	* sanity.sh (diffmerge2): Protect keywords against unwanted
 510	expansion.  They got clobbered and the testcase stopped working
 511	when I checked it in.
 512
 513Fri Nov  7 13:23:38 1997  Karl Fogel  <kfogel@floss.red-bean.com>
 514	and Jim Kingdon  <kingdon@harvey.cyclic.com>
 515
 516	* sanity.sh (diffmerge1, diffmerge2): new tests, for bugs, or
 517	potential bugs, in ../diff/analyze.c which were fixed by Paul
 518	Eggert's patch.
 519
 520Sun Nov  9 10:28:43 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 521
 522	* rcs.c (RCS_settag): Reindent.
 523
 524	* rcs.c (rcs_internal_lockfile): Fix typo (thow -> throw).
 525
 526Sat Nov  8 15:58:53 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 527
 528	* sanity.sh (cvsadm): Remove most of the tests which tested
 529	CVS/Root.  This takes the run time for the cvsadm tests from
 530	about 5 minutes 15 seconds to about 4 minutes 10 seconds with no
 531	significant loss in coverage.
 532
 533	* rcs.c (rcs_internal_lockfile): Check for errors from system
 534	calls.  If open() gives an error, don't muck with stat and errno
 535	(I don't know what the RCS code that this comes from was trying to
 536	do, but it clearly isn't accomplishing anything here).
 537	(RCS_rewrite, RCS_delete_revs): Check for errors from system calls.
 538
 539Sat Nov  1 14:21:29 1997  Michael L.H. Brouwer  <michael@thi.nl>
 540
 541	* rcs.c (RCS_checkin): Change type of bufsize from int to size_t.
 542	(RCS_delete_revs): Change type of bufsize and len from int to size_t.
 543	(RCS_getdeltatext): Change type of textlen from int to size_t.
 544	* rcs.h (struct deltatext): Change len from int to size_t to keep
 545	the compiler happy on systems where size_t is unsigned int.
 546	[This goes well beyond keeping the compiler happy; if sizeof
 547	(size_t) != sizeof (int), the old code was quite broken -kingdon]
 548
 549Sat Nov  1 14:21:29 1997  Michael L.H. Brouwer  <michael@thi.nl>
 550	and Jim Kingdon  <kingdon@harvey.cyclic.com>
 551
 552	* rcs.c (RCS_checkin): When checking if we were holding the lock
 553	use delta->author instead of user since the latter might have been
 554	clobbered by a call to getcaller.  This resulted in the failure of
 555	test basica-7.
 556	[I don't completely follow the scenario where it gets clobbered,
 557	it but sounds vaguely plausible and the replacement seems
 558	cleaner, precisely because it avoids allocation issues -kingdon]
 559
 560Wed Nov  5 20:16:12 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 561
 562	* checkin.c, checkout.c, commit.c, cvs.h, import.c, login.c,
 563	main.c, update.c: Change FALSE to 0 and TRUE to 1 and replace
 564	monstrosities like "cvswrite == TRUE" with just "cvswrite".  FALSE
 565	and TRUE sometimes conflicted with system headers (NextStep3.3?),
 566	but more to the point, good old 1 and 0 are fine and were used by
 567	most of CVS already.
 568
 569Tue Nov  4 12:19:28 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 570
 571	* rcs.c (RCS_checkin, RCS_lock, RCS_unlock): Rename local variable
 572	quiet to checkin_quiet or some such, to avoid confusion with
 573	global variable quiet.
 574
 575	* lock.c: Update comment to refer to add_rcs_file rather than "rcs
 576	-i".
 577
 578	* rcs.h (struct rcsnode): Add comments for all fields.
 579	* rcs.c (RCS_delete_revs): Refuse to delete revisions which have
 580	symbolic names.  Fix fencepost bug which caused us to sometimes
 581	check one more revision than we should for locks, branches, and
 582	this.
 583	(findtag): New function, to help above code.
 584
 585	* admin.c (admin): Take out writelocks not readlocks.  This has
 586	been a bug "forever", but may become more noticeable with
 587	rcs_internal_lockfile relying on the writelocks.
 588
 589Mon Nov  3 10:17:19 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 590
 591	* rcs.c (RCS_rewrite): Don't write the file if noexec.
 592	* sanity.sh (basica, branches): Test for this.
 593
 594Sat Nov  1 10:01:56 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 595
 596	* rcs.h (struct deltatext): Comment text and log fields.
 597
 598	* admin.c (admin_fileproc): Call RCS_reparsercsfile not
 599	RCS_fully_parse.  Don't muck with ->other field in RCSVers (it
 600	doesn't need to be set).
 601	* rcs.h, rcs.c (RCS_reparsercsfile): No longer static.  No point
 602	in having this static when RCS_rewrite and RCS_fully_parse are not.
 603	* rcs.c (getdelta): Remove obsolete comment about not storing the
 604	newphrases from the deltas, since we now do.
 605
 606Sat Nov  1 10:01:56 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 607			  and Paul Eggert
 608
 609	* rcs.c (rcs_internal_lockfile): Clarify the comments about O_EXCL
 610	and such matters.
 611
 612Sat Nov  1 10:01:56 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 613
 614	* rcs.c (RCS_delete_revs): Pass force_tag_match to RCS_settag.
 615	* sanity.sh (basica-o2a, basica-o2b): Test for this.
 616
 6171997-11-01  Peter Brandstrom  <d91-pbr@nada.kth.se>
 618
 619	* sanity.sh: Use ${username} more places.
 620
 621Sat Nov  1 00:14:00 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 622
 623	* rcs.c (rcs_internal_lockfile): Add comments about what we are
 624	trying to accomplish here (versus what RCS tries to accomplish).
 625
 626	* rcs.c (RCS_parsercsfile_i): Clarify/expand comment about
 627	the purpose of having both this and RCS_reparsercsfile.
 628	(RCS_rewrite): Add comment about how this works.
 629
 630	* admin.c (admin_fileproc): Add comment about call to
 631	RCS_fully_parse not RCS_reparsercsfile.
 632	* rcs.h: Comment on what delta_pos field of struct rcsnode is.
 633
 634Fri Oct 31 16:38:39 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 635			  and Abe Feldman
 636
 637	* client.c (update_entries): If UTIME_EXPECTS_WRITABLE, if
 638	necessary change the file to be writable temporarily to set its
 639	modification time.
 640
 641Thu Oct 30 17:42:59 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 642
 643	* admin.c (admin): Deal with new :: syntax for ranges.
 644	* rcs.c, rcs.h (RCS_delete_revs): New arg inclusive (set for the old
 645	behavior, clear to enable new code).
 646	* admin.c (admin_fileproc): Set it if :, clear it if ::.
 647	* sanity.sh (basica, head, branches, log): Add tests for this feature.
 648
 649	* admin.c (admin_fileproc): Clean up the error message which
 650	happens if one of the RCS_* functions returns an error status; it
 651	is confusing to say that "rcs" failed now that this is implemented
 652	internally.
 653	* sanity.sh (admin): Update accordingly.
 654
 655Wed Oct 29 07:07:36 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 656
 657	* sanity.sh (admin-22-o24): New test, tests that admin -o
 658	correctly munged the deltatexts on a branch too.
 659
 660	* rcs.c (RCS_delete_revs): If we are deleting an entire branch,
 661	delete the node in ->branches rather than setting the ->key to the
 662	bogus value NULL.
 663	* rcs.c (RCS_delete_revs): If "rev1" equals "branchpoint", then set
 664	"before" to the revision on the trunk that we branch from.
 665	* rcs.c (RCS_delete_revs): Don't set rev2 to revp->version (the
 666	code is missing an xstrdup, but it doesn't matter because rev2
 667	isn't used after this point).
 668	* sanity.sh (binfiles2-o2 to binfiles2-o4): New tests, for this.
 669
 670Tue Oct 28 19:30:05 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 671
 672	* rcs.c (RCS_delete_revs): Restore code which passes rev2 to
 673	RCS_getbranchpoint if rev1 is NULL; it still makes sense for the
 674	non-trunk case.  Fixes admin-22-o22 in testsuite.
 675
 676	* sanity.sh (admin-18): Adjust to reflect "rcs failed" no longer
 677	being suppressed by global -q option.
 678
 679	* rcs.c (RCS_delete_revs): If rev1 == NULL and rev2 is on the
 680	trunk, handle it the same way we do everything else--by swapping
 681	the two.  This replaces the code which tried to kludge what we
 682	passed to RCS_getbranchpoint (which didn't work).
 683	* sanity.sh (binfiles2-o1 to binfiles2-o4): New tests, for this fix.
 684	* admin.c (admin_fileproc): Don't have -q global option suppress
 685	"rcs failed" message.
 686
 6871997-10-28  Jim Kingdon
 688
 689	* log.c (printlock_proc), rcs.c (putlock_proc): Prototype.
 690	* rcs.c (rcs_internal_lockfile): Only try to call fchmod if
 691	HAVE_FCHMOD is defined.
 692
 693Tue Oct 28 10:27:03 1997  Ian Lance Taylor  <ian@cygnus.com>
 694
 695	* rcs.c	(RCS_deltas): Don't use \? in string if __STDC__ is not
 696	defined.
 697
 698	* rcs.c (make_file_label): Remove extraneous `+'.
 699
 700Mon Oct 27 14:40:15 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 701
 702	* status.c (status): Don't pass SEND_NO_CONTENTS to send_files.
 703
 704Sat Oct 25 00:33:57 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 705
 706	* rcs.c (RCS_delete_revs): Use : not - for range in error message.
 707
 708	* rcs.h: Add comment about '\0' in RCS fields.
 709
 710	* rcs.c (getdelta): Add comment about branches and next field
 711	being mandatory.
 712
 713	* rcs.c (RCS_reparsercsfile, RCS_deltas), sanity.sh (reserved):
 714	Reindent sections which were misindented as a result of recent
 715	changes.
 716
 717Fri Oct 24 10:22:15 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 718
 719	* rcs.c (RCS_findlock_or_tip): Don't worry about file ownership
 720	and nonstrict locking when returning the default branch or head.
 721	The most conspicuous problem with the old code is that in the
 722	error case it would examine rstat.st_uid when it had not been
 723	set.  For a discussion of more fundamental reasons, see comment.
 724
 725	* admin.c (admin_fileproc): In handling -A, don't handle relative
 726	pathnames differently from absolute pathnames.  See comment for
 727	rationale.  If problem opening the file, give a nice error not a
 728	coredump.
 729	* sanity.sh (admin-19a-admin, admin-19a-log, admin-19a-fix):
 730	New tests, test for traditional "cvs admin -A" behavior with
 731	relative pathnames.
 732	* sanity.sh (admin-19a-nonexist): Test for the core dump fix.
 733	* sanity.sh (admin-22-o1): Look for ${PROG} not cvs.
 734
 735	* sanity.sh (reserved-16): Remove commitinfo change with "cvs
 736	commit" not "cvs admin -o".  In addition to commit being The Right
 737	Thing on general principles, cvs admin -o doesn't work because it
 738	doesn't rebuild the administrative file database.
 739
 740	* update.c (patch_file): If the first revision does not exist in
 741	the RCS file, fall back to sending entire file.  Fixes
 742	admin-22-o15 in make remotecheck.
 743
 7441997-10-23  enami tsugutomo  <enami@but-b.or.jp>
 745
 746	* rcs.c (RCS_checkin): Unlink temporary files stored in variable
 747	`tmpfile' and `changefile'.
 748
 749Wed Oct 22 12:16:10 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 750
 751	* rcs.c (rcs_lockfilename): Allocate enough memory for terminating
 752	'\0'.
 753
 754	* admin.c (admin_fileproc): Don't support '-' for ranges in "cvs
 755	admin -o".
 756	(admin): Adjust comment.
 757
 758	* rcs.h (RCSVers): New field other_delta.
 759	* rcs.c (free_rcsvers_contents): Also free other_delta.
 760	(getdelta): Read newphrases from deltas into other_delta field.
 761	(putdelta): Write those newphrases.
 762	* sanity.sh (rcs-8a): New test, for this fix.
 763	* admin.c (admin_fileproc): If "-b" without argument, then set
 764	branch to NULL, not "" (uncovered by rcs-8a test).
 765	* rcs.c (putrcsfield_proc): Add comment about how we (mis)handle
 766	values in newphrases.
 767
 768	* sanity.sh (reserved): Instead of looking for rcslock.pl in CVS
 769	distribution, just use our own equivalent.
 770
 771	* rcs.c (RCS_rewrite): Call ferror before fclose to avoid "Invalid
 772	argument" warnings.
 773
 774Mon Oct 20 00:30:16 1997  Tim Pierce  <twp@twp.tezcat.com>
 775
 776	[I removed a ChangeLog entry for a change to sanity.sh (editor),
 777	because the actual change was not made.  With this change, CVS no
 778	longer runs RCS.  I'll be checking in my cleanups shortly. -kingdon]
 779
 780	Librarify `ci'.
 781	* rcscmds.c, cvs.h (RCS_checkin): Removed.
 782	* rcs.c, rcs.h (RCS_checkin, RCS_getbranchpoint, RCS_addbranch,
 783	RCS_findlock_or_tip): New functions.  RCS_checkin completely
 784	rewritten to eliminate RCS 5.7; change `rcs' parameter from string
 785	to RCSNode, so we can update RCSNode without re-reading from
 786	disk.
 787	* checkin.c (Checkin): Updated RCS_checkin caller, moved RCS_parse
 788	call to before RCS_checkin.
 789	* import.c (add_rev): Updated caller.
 790	* commit.c (remove_file): Updated caller.
 791	(checkaddfile): Updated caller.  Parse `rcsfile' after
 792	calling add_rcs_file.  Free `rcsfile' instead of asserting it to
 793	be NULL.
 794
 795	Librarify `rcs'.
 796	* rcscmds.c, cvs.h (RCS_exec_settag, RCS_exec_deltag,
 797	RCS_exec_setbranch, RCS_exec_lock, RCS_exec_unlock): Removed.
 798
 799	* rcs.c (RCS_settag): Rewritten to eliminate RCS 5.7.
 800	* commit.c (checkaddfile): Call RCS_rewrite after calling RCS_settag.
 801	* import.c (add_tags): Same.
 802	* rtag.c (rtag_fileproc): Same.
 803	* tag.c (tag_fileproc): Same.
 804
 805	* rcs.c (RCS_deltag): Rewritten to eliminate RCS 5.7.  Remove
 806	`quiet' parameter, since this function no longer prints any output.
 807	* commit.c (remove_file): Update caller.  Also call RCS_rewrite
 808	after RCS_deltag.
 809	* rtag.c (rtag_delete): Same.
 810	* tag.c (tag_fileproc): Same.
 811
 812	* rcs.c (RCS_setbranch): Rewritten to eliminate RCS 5.7.
 813	* commit.c (remove_file): Call RCS_rewrite after calling RCS_setbranch.
 814	(fixbranch): Same.
 815	(lock_RCS): Same.
 816
 817	* rcs.c (RCS_lock): Rewritten to eliminate RCS 5.7. Change third
 818	arg to mean `quiet' and not `noerr', permitting admin_fileproc to
 819	run RCS_lock verbosely.
 820	* commit.c (lock_RCS): Update callers; call
 821 	RCS_rewrite after RCS_lock.
 822	(remove_file): Same.  Call RCS_lock quietly.
 823	* import.c (add_rev): Same.  Do not print `fork failed' error
 824	message, since we're no longer forking.
 825
 826	* rcs.c (RCS_unlock): Rewritten to eliminate RCS 5.7.  Change
 827	`noerr' arg to mean `quiet', permitting admin_fileproc to run
 828	RCS_unlock verbosely.  Use notify_do when breaking another user's
 829	lock.  Include "edit.h" for notify_do prototype.
 830	* checkin.c (Checkin): Update caller; use RCS_rewrite after RCS_unlock.
 831	* commit.c (unlockrcs): Same.
 832	* import.c (add_rev): Same.
 833
 834	* rcs.c, rcs.h (RCS_getlocks, RCS_addaccess, RCS_delaccess,
 835	RCS_getaccess, RCS_delete_revs): New functions.
 836	(expand_keywords, RCS_lock, RCS_unlock): Use RCS_getlocks.
 837	* log.c (log_fileproc, log_version): Call RCS_getlocks.  Don't add
 838	bogus ";locker" nodes to RCSVers nodes -- walk lock list with
 839	printlock_proc.
 840	(printlock_proc): New function.
 841
 842	* admin.c (admin_fileproc): Largely rewritten: call internal RCS
 843	library functions instead of forking RCS processes.
 844	(admin, admin_fileproc): Obsolete -V option.
 845	(struct admin_data): Remove `version' member.
 846	* sanity.sh (admin-24): Remove -V test case.
 847
 848	New functions for reading and writing RCS files.
 849	* rcs.h (struct deltatext, Deltatext): New types.
 850	(struct rcsversnode): New members `text' and `outdated'.
 851	(struct rcsnode): New members `access', `locks', `strict_locks',
 852	`comment', and `desc'.
 853	* rcs.c (RCS_reparsercsfile, expand_keywords): Use new RCSNode members.
 854	(free_rcsnode_contents): Free them.
 855	* log.c (log_fileproc): Use new RCSNode members instead of ->other.
 856
 857	* rcs.c (getdelta, RCS_getdeltatext, freedeltatext, do_locks,
 858 	RCS_putadmin, RCS_putdtree, RCS_putdesc, putdelta,
 859 	putrcsfield_proc, putsymbol_proc, RCS_copydeltas, putdeltatext,
 860 	RCS_rewrite, getrevnum, rcs_internal_lockfile,
 861 	rcs_internal_unlockfile, rcs_lockfilename): New functions.
 862
 863	(RCS_reparsercsfile): Use getdelta, making sure fp is positioned
 864 	correctly before calling it.  Skip `head' and `branch' nodes: we
 865 	have already parsed them, and they were being added incorrectly to
 866 	rcs->other.  Do not signal error if the RCS file has an empty
 867 	delta tree; this made it impossible for RCS_checkin to perform an
 868 	initial checkin.  Remove `all' parameter; always store all RCS
 869	fields.
 870	(RCS_fully_parse, RCS_gettag, RCS_getbranch, RCS_getdate,
 871	RCS_getdatebranch, RCS_getrevtime, RCS_symbols, translate_symtag,
 872	RCS_isdead, RCS_getexpand, RCS_checkout, annotate_fileproc):
 873	Update all callers to remove `all' parameter.
 874
 875	(getrcskey): Do not append trailing whitespace to a value.  This
 876 	corrupted some log fields and wrecked some sanity.sh test cases.
 877
 878	(free_rcsvers_contents): New function.
 879	(rcsvers_delproc): Call it.
 880
 881	* rcs.h (NODELTA): Removed symbol; now obsolete (since RCSNodes
 882	do not go stale).
 883	* import.c (add_rev): Removed NODELTA reference.
 884	* rcs.c (RCS_reparsercsfile, RCS_checkout, RCS_settag, RCS_deltag,
 885	RCS_setbranch, RCS_lock, RCS_unlock, RCS_deltas): Removed NODELTA
 886	references.
 887
 888	Miscellaneous changes to support RCS librarification and fix some bugs.
 889	* subr.c, cvs.h (line2argv): Add `sepchars' argument.
 890	* modules.c (cat_module, admin_fileproc): Update all callers.
 891
 892	* subr.c, cvs.h (compare_revnums, increment_revnum): New functions.
 893	(make_message_rcslegal): Strip whitespace from end of
 894	lines and end of string, a la `cleanlogmsg' in RCS 5.7.
 895	(get_file): Terminate buf with \0, extending it if
 896	necessary.  Read from stdin if `name' arg is NULL.
 897	* admin.c (admin_fileproc): Call get_file to read -t arg from stdin.
 898
 899	* error.c, error.h (rcserror): New function, used everywhere.
 900
 901	* hash.c, hash.h (addnode_at_front): New function.
 902	* rcs.c (RCS_settag, RCS_lock): Call it.
 903
 904	* import.c, cvs.h (expand_at_signs): Make extern.
 905	* rcs.c (putrcsfield_proc, RCS_putadmin, RCS_putdesc,
 906	putdeltatext): Call it.
 907
 908	* rcs.c (make_file_label): Use last_component to get file's basename.
 909
 910	* sanity.sh (srcdir): New variable.
 911	(rcs-7): Remove newphrase warning, no longer produced by CVS.
 912	(rcs-8): Permit random whitespace around newphrase fields.
 913	(admin-22): New test cases for -o options: admin-22-o{1..23}.
 914	(reserved): New test cases for rcslock.pl: reserved-{8..16}.
 915
 916Tue Oct 21 16:48:32 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 917
 918	* tag.c (tag_check_valid): Add comment about locking or lack
 919	thereof.
 920
 9211997-10-20  Jim Kingdon  <kingdon@harvey.cyclic.com>
 922
 923	* version.c: Change version number to 1.9.19.
 924
 9251997-10-19  Jim Kingdon
 926
 927	* Version 1.9.18.
 928
 929Wed Oct 15 15:21:43 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 930
 931	* sanity.sh (username): Add '-' to characters allowed in user name.
 932
 933	* rcscmds.c (diff_exec): Remove item about external diff
 934	programs.  It doesn't really belong here now that diff is
 935	librarified and TODO #191 now mentions this.
 936
 937	* checkout.c (checkout_proc): Add comment about assuming '/' is
 938	the only path separator.
 939	* options.h.in: Fix thinko (CVS/Repository -> CVS/Root).
 940
 941Mon Oct 13 22:46:03 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
 942
 943	* commit.c (commit): Add comment about CVS_BADROOT and command
 944	other than "commit".
 945
 9461997-10-11  Noel Cragg  <noel@swish.red-bean.com>
 947
 948	* options.h.in: RELATIVE_REPOS has been checked for bitrot -- it
 949	now works again.  Change the comment before the #define to say
 950	that we'll be switching to it soon.
 951
 952	* sanity.sh (basicb-1, basicb-1a): update dotest strings to match
 953	no matter if we're running with RELATIVE_REPOS defined or not.
 954	(basicb-9b, basicb-9c): same.
 955
 956	* sanity.sh (basicb-9b, basicb-9c): modified tests, since the
 957	checkout.c fix changes the way this test module is checked out.
 958	(basicb-9d, basicb-9e, basicb-9f): new tests, same.
 959	(basicb-18): modify test, same.
 960	(cvsadm): new set of exhaustive tests to check the contents of
 961	CVS/Root and CVS/Repository files under various conditions.  As a
 962	side effect, it tests the behavior of the "-d" flags (command line
 963	and modules file).
 964	(modules3-7e through modules3-7h): removed, since these tests were
 965	a small subset of what is tested in the new cvsadm section.
 966	(modules-1b, modules-1c): same.
 967	(modules-2b, modules-2c): same.
 968	(modules-3b, modules-3c, modules-3e, modules-3f): same.
 969
 970	* create_adm.c (Create_Admin): be a bit more verbose when using
 971	trace mode.
 972
 973	* checkout.c (checkout_proc): rewrote the code that sets the where
 974	variable and the code that matches directory names with repository
 975	directories.  This fixes a long-standing bug in CVS.  (It used to
 976	be the case that "cvs co -d foo <mod1> <mod2>" would not properly,
 977	where <mod1> and <mod2> where defined in the modules file.  While
 978	the first module would be checked out correctly, the second would
 979	be checked out under the name of the directory to which the module
 980	referred rather than the module name!).  This fix also allows us
 981	to check out things into directories that are more than one deep
 982	(e.g. "cvs -d foo/bar/baz co blah" will now work).
 983	(checkout): remove code that performed a CHDIR if the
 984	number of arguments specified was greater than one, since it's no
 985	longer necessary.  Also remove the code that prevented us from
 986	doing "cvs co -d <dir1>/<dir2>" without <dir1> existing, since
 987	checkout_proc handles things correctly now.
 988
 989	* cvs.h: fix typo.
 990
 991	* rtag.c (rtag): reformat so that we don't run over 80 characters
 992	per line.
 993	(rtag_dirproc): same.
 994
 995	* sanity.sh: change all old test cases to use pass and fail
 996	functions rather than doing some combination of echo and exit
 997	themselves.
 998
 999	* commit.c (commit_direntproc): remove the "warm fuzzy" -- this
1000	code never gets called when running in client/server mode, and we
1001	should have CVS' output match as much as possible between the two
1002	modes.  Moreover, there is no analogous place to put this same
1003	message when we're running in c/s mode.
1004	(find_direntproc): print the same "fuzzy" as in check_direntproc
1005	so that local and c/s mode have the same messages.
1006	* sanity.sh (187a3): update test case to reflect the above.
1007
1008Thu Oct  9 10:57:02 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
1009
1010	* parseinfo.c (parse_config): Add comment about compatibility
1011	issues with adding keywords.
1012
1013Wed Oct  8 16:40:37 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
1014
1015	* recurse.c (do_dir_proc), commit.c (check_direntproc,
1016	commit_direntproc, find_dirent_proc): If this
1017	directory doesn't exist, skip it.
1018	* diff.c (diff_dirproc): Reindent.
1019	* sanity.sh (deep-4b0a, deep-4b0b): Check for this fix.
1020
1021Thu Sep 26 16:30:00 1997  Larry Jones <larry.jones@sdrc.com>
1022	and Jim Kingdon  <kingdon@harvey.cyclic.com>
1023
1024	* update.c (checkout_file): Don't set timestamp in noexec mode.
1025	* vers_ts.c (Version_TS): Add comment about ignoring errors from
1026	utime.
1027	* sanity.sh (conflicts3): New tests, for this fix.
1028
1029Fri Oct  3 09:47:04 1997  Noel Cragg  <noel@swish.red-bean.com>
1030
1031	* sanity.sh (168): use PROG instead of CVSBASE, since they are
1032 	equal.
1033	(importb-2): refer to PROG instead of "cvs" in error message.
1034
1035	* add.c (add): use PROGRAM_NAME in the error message rather than
1036 	"cvs".
1037	* classify.c (Classify_File): same.
1038	* commit.c (find_fileproc): same.
1039	* sanity.sh: change all add notification messages to refer to PROG
1040 	rather than "cvs".  Fixed nasty quoting in several places at the
1041 	same time, replacing older "'command'" forms with newer
1042 	".command." for simplicity.
1043
1044Sat Sep 27 01:37:10 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
1045
1046	* sanity.sh (rcslib-merge-8): Accept "P file1" as well as "U file1".
1047
1048Fri Sep 26 22:24:10 1997  Noel Cragg  <noel@swish.red-bean.com>
1049
1050	* create_adm.c (Create_Admin): assign our duplicate pointer `cp'
1051 	after the xrealloc of `reposcopy' because the latter might have
1052 	changed addresses.
1053
1054Fri Sep 26 14:25:59 1997  Tim Pierce  <twp@twp.tezcat.com>
1055
1056	* run.c (call_diff): Don't reset optind; this is done by diff_run now.
1057
1058	Librarify rcsmerge/diff3.
1059	* rcscmds.c, cvs.h (RCS_merge): Rewritten from scratch: check out
1060	selected files and diff3 them.  Take new `rcs' and `workfile'
1061	arguments, so we can resolve symbolic tags and manipulate the
1062	working file.
1063	* update.c (merge_file, join_file): Update RCS_merge calls.
1064	* run.c, cvs.h (call_diff3): New function.
1065
1066	* sanity.sh (rcslib): New tests, rcslib-merge-{1..13}.
1067
1068Fri Sep 26 22:59:56 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
1069
1070	* create_adm.c (Create_Admin): Fix thinko in Noel's change: keep
1071	track of the originally allocated "cp" and free it, rather than
1072	calling free on a pointer which may point halfway into the allocation.
1073	* repos.c (Sanitize_Repository_Name): Per HACKING, assert that
1074	repository != NULL, rather than just silently returning if NULL.
1075	Reindent a line.
1076
1077Fri Sep 26 15:40:00 1997  Noel Cragg  <noel@swish.red-bean.com>
1078
1079	* sanity.sh (modules): add tests modules-[123]* that make sure the
1080 	administrative files get rebuilt in various cases.
1081
1082	* add.c (combine_dir): removed function, since we no longer need
1083 	to worry about stripping the "." path element out.  Changed the
1084 	two callers to simply concatenate their two arguments.
1085
1086	* recurse.c (do_dir_proc): don't bother trying to strip off "." in
1087 	the repository name since the below changes fix that behavior --
1088 	simply concatenate the repository and directory names together.
1089
1090	* checkout.c (checkout_proc): sanitize the repository name after
1091 	constructing it (we may create "/path/to/repos/.", but we don't
1092 	want that to be passed around).  Remove the code that tacks on
1093 	"/." when constructing top_repository, since the below changes fix
1094 	that behavior.  Added comments to the part of this function that
1095 	builds administrative files.
1096
1097	* sanity.sh (basicb): now that the below weirdness is fixed, the
1098 	extra "." path element in test basicb-0c doesn't appear when a
1099 	top-level file is checked out.  Remove it from the expect string.
1100
1101	* create_adm.c (Create_Admin): now that the repository name isn't
1102 	floating around with "." as the last path element, make creation
1103 	of the top-level administrative files a special case -- save the
1104 	repository name as "/path/to/repos/."  Why?  I considered not
1105 	including the "." but didn't know how it would affect the remote
1106 	protocol when RELATIVE_REPOS was defined (do we have a way of
1107 	sending "" via the protocol?).  After I make sure that the
1108 	RELATIVE_REPOS patches still work, I'll check the "" possibility
1109 	so we don't have to have a this special case.
1110
1111	* repos.c (Sanitize_Repository_Name): new function that removes
1112 	(if present) the trailing slash and "." component from the
1113 	repository name.  Many routines break if we don't guarantee this.
1114  	See the comment before the function for complete information.
1115	(Name_Repository): call Sanitize_Repository_Name before returning
1116 	the value.
1117	* cvs.h: add prototype for Sanitize_Repository_Name.
1118
1119Fri Sep 26 14:19:25 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
1120
1121	* cvs.h (CVS_CMD_USES_WORK_DIR): Fix comment (the sense of the
1122	flag is not reversed from what it would seem; when I thought so it
1123	was because I was misreading the lookup_command_attribute code).
1124
1125Thu Sep 25 23:14:47 1997  Noel Cragg  <noel@swish.red-bean.com>
1126
1127	* parseinfo.c (Parse_Info): fix typo in the trace message.
1128
1129Thu Sep 25 14:22:54 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
1130
1131	* build_src.com: Also link with diff.olb.
1132
1133	* main.c (Make_Date): If gmtime returns NULL, try localtime.
1134
1135Wed Sep 24 19:18:40 1997  Noel Cragg  <noel@swish.red-bean.com>
1136
1137	* checkout.c (checkout): fix typo in comment.
1138
1139Wed Sep 24 08:31:46 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
1140
1141	* update.c (patch_file): Revise comments about diff -a now that
1142	diff is librarified.
1143
1144Sun Sep 21 21:28:26 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
1145
1146	* run.c (call_diff): Sleep for a second, in hopes of helping with
1147	out of order bugs.
1148
1149Sat Sep 20 07:19:18 1997  Tim Pierce  <twp@twp.tezcat.com>
1150
1151	Integrate diff library into CVS.
1152	* run.c, cvs.h (call_diff): New function.
1153	* rcscmds.c (diff_exec, diff_execv): Get diffs from call_diff
1154	instead of running diff as a subprocess.
1155	* Makefile.in (cvs): Add ../diff/libdiff.a.
1156
1157	* diff.c (longopts, diff): Use 131 for --ifdef, fixing Jim's thinko
1158	(using 147 for both --side-by-side and --ifdef).
1159
1160	* sanity.sh (rcslib): Added tests rcslib-diffrgx-*, to test
1161	handling of regex diff options.
1162
11631997-09-21  Jim Kingdon  <kingdon@harvey.cyclic.com>
1164
1165	(Note that this requires that DIFF support -L.  I'll be checking
1166	in a fix to that in a moment, but I wanted separate checkins in
1167	case that helps with clarity).
1168	Tweaks to rcsdiff librarification:
1169	* sanity.sh (rcslib): Change "cvs" to "${PROG}" and subcommand
1170	names (e.g. "add") to "[a-z]*".  Former should deal with ${testcvs}
1171	being "cvs.old" or something; latter fixes make remotecheck.
1172	* rcs.c (make_file_label): Take into account strlen (rev) when
1173	allocating space.  Removes a FIXME and probably fixes a buffer
1174	overrun security hole.
1175	* rcscmds.c (RCS_exec_rcsdiff): Remove #if 0'd code to call
1176	rcsdiff.  Tim says he has compared the new code with rcsdiff code
1177	and is confident that the behavior is preserved, so we need to
1178	nuke the comment which says this has not been done.  #if 0 isn't
1179	really a very good way to document the way it used to work anyway;
1180	the old code is still in CVS.
1181	* diff.c: Add comment about rcsdiff options that we don't support,
1182	which Tim had sent in email.  Remove -T and -y, as the
1183	previous meaning had been very confused.
1184
11851997-09-21  Tim Pierce  <twp@xochi.tezcat.com>
1186
1187	Librarify rcsdiff.
1188
1189	* diff.c (have_rev1_label, have_rev2_label): New variables.
1190	(diff): Generate file labels with make_file_label if necessary;
1191	pass labels, revisions and working file name to RCS_exec_rcsdiff.
1192	* rcscmds.c, cvs.h (RCS_exec_rcsdiff): Completely revised function
1193	to eliminate rcsdiff dependency, based on patch from JimK.
1194	(diff_execv): New function, to exec diff with explicit -L args.
1195	* rcs.c, rcs.h (make_file_label): New function.
1196	(RCS_output_diff_options): New function.
1197	* sanity.sh (rcslib): New test.
1198
1199Fri Sep 19 15:08:08 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
1200
1201	* rcs.c (RCS_nodeisbranch): Assert that RCS is non-NULL.
1202	* commit.c (remove_file), rcs.c (RCS_getversion), rtag.c
1203	(rtag_fileproc), status.c (status_fileproc, tag_list_proc), tag.c
1204	(tag_fileproc): Call RCS_nodeisbranch not RCS_isbranch
1205	in contexts where we know the RCS argument is non-NULL.
1206
1207	* commit.c (find_fileproc): Pass tag not NULL to Version_TS for
1208	the tag.
1209	* vers_ts.c (Version_TS): Improve (somewhat) the introductory
1210	comment.
1211	* sanity.sh (editor): New test editor-9 tests for above fix.
1212	Renumber/tweak surrounding tests to fit.
1213
1214	* log.c (log_version): If p->data is NULL, it is an empty log
1215	message.
1216	* sanity.sh (rcs-14): New test, tests for above fix (previously
1217	this was a coredump).
1218
1219Thu Sep 18 08:45:05 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
1220
1221	* sanity.sh (rcs-7): Fix stupid ${TESTDIR} omission.
1222
1223Wed Sep 17 16:27:41 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
1224
1225	* sanity.sh (rcs): New tests rcs-5 through rcs-13 test for
1226	getdate.y fix (rcs-12 and rcs-13 both failed with the buggy
1227	getdate.y).
1228
1229Tue Sep 16 00:07:17 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
1230
1231	* sanity.sh (editor): Clean up first-dir at end of test.
1232
1233	* sanity.sh (editor): New tests test do_editor.
1234
1235	* commit.c (commit): For the client, if we got the log message
1236

Large files files are truncated, but you can click here to view the full file