132785Speter1997-12-30  enami tsugutomo  <enami@but-b.or.jp>
232785Speter
332785Speter	* rcs.c (RCS_checkin): Use gmtime() instead of localtime()
432785Speter	(restores behavior from RCS 5.x which was broken with RCS library
532785Speter	-kingdon).
632785Speter
732785SpeterMon Dec 29 12:53:00 1997  Ian Lance Taylor  <ian@cygnus.com>
832785Speter
932785Speter	* modules.c (do_module): Check for a request for a file within a
1032785Speter	module which is not a directory.
1132785Speter	* sanity.sh (modules): Add test 149b1 for above patch.
1232785Speter
1332785Speter	* client.c (start_tcp_server): Remove useless assignment, left
1432785Speter	behind by Dec 15 patch.
1532785Speter
1632785SpeterSat Dec 27 17:41:11 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
1732785Speter
1832785Speter	* client.c, options.h.in, history.c, import.c, main.c, rcs.c,
1932785Speter	update.c: Remove !HAVE_RCS5 code.  It had bit-rotted a while ago,
2032785Speter	and more to the point is obsolete with the RCS library.
2132785Speter
2232785Speter27 Dec 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
2332785Speter
2432785Speter	* zlib.c, server.h (gunzip_and_write): New function.
2532785Speter	* client.c (update_entries): Call it instead of a gunzip subprocess.
2632785Speter	* zlib.c, server.h (read_and_gzip): New function.
2732785Speter	* client.c (send_modified): Call it instead of a gzip subprocess.
2832785Speter
2932785SpeterSat Dec 27 13:07:38 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
3032785Speter
3132785Speter	Decrease RCS_deltas memory usage to what we need (approximately
3232785Speter	the size of the file we are patching plus the size of the largest
3332785Speter	patch).  Previously memory usage had been approximately the size
3432785Speter	of the RCS file because we never freed lines until the end.
3532785Speter	* rcs.c (linevector_free, linevector_copy, linevector_add,
3632785Speter	linevector_delete):
3732785Speter	Instead of having all the lines and struct line's in the alloc_*
3832785Speter	space, have each line and its struct line in its own malloc'd
3932785Speter	space.  Use a refcount to deal with curlines vs. headlines
4032785Speter	vs. trunklines in RCS_deltas.
4132785Speter	(struct allocblock, blocks, block_alloc, block_free): Remove; no
4232785Speter	longer used.
4332785Speter	(apply_rcs_changes, RCS_deltas): Don't copy lines into allocated
4432785Speter	space; linevector_add now does that for us.
4532785Speter	(rcs_change_text, RCS_deltas): Don't call block_free.
4632785Speter
4732785SpeterTue Dec 23 08:28:44 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
4832785Speter
4932785Speter	* cvsbug.sh: Change bug-cvs address from prep.ai.mit.edu to gnu.org
5032785Speter	per email from Martin Hamilton.
5132785Speter
5232785SpeterSun Dec 21 21:49:50 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
5332785Speter
5432785Speter	* rcs.c (RCS_checkin): Disable keyword expansion when generating
5532785Speter	the change text.
5632785Speter	* sanity.sh: Move tests keyword-24 through keyword-27 into
5732785Speter	new section keywordlog and expand greatly.  Note that CVS 1.9.18
5832785Speter	passes the new tests both local and remote but the current
5932785Speter	version failed them both local and remote before this fix.
6032785Speter
6132785SpeterSat Dec 20 19:56:00 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
6232785Speter
6332785Speter	* rcs.c (RCS_delete_revs): Clean up temporary files even if noexec.
6432785Speter	Without this fix, basica-o5a in sanity.sh would leave files around.
6532785Speter
6632785SpeterThu Dec 18 13:05:00 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
6732785Speter
6832785Speter	* run.c: Fix typo in declaration (evecvp -> execvp) (credit to
6932785Speter	Erik Walthinsen for reporting this).  Only declare it if not
7032785Speter	HAVE_UNISTD_H.  Move declaration to before the first use.
7132785Speter
7232785SpeterTue Dec 16 12:59:00 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
7332785Speter
7432785Speter	* update.c: Collapse two identical declarations for join_file.
7532785Speter
7632785SpeterMon Dec 15 16:01:49 1997  Ian Lance Taylor  <ian@cygnus.com>
7732785Speter
7832785Speter	* client.c (start_tcp_server): Remove calls to htons and add one
7932785Speter 	call to ntohs (init_sockaddr calls htons on the port argument).
8032785Speter
8132785SpeterMon Dec 15 00:07:02 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
8232785Speter
8332785Speter	* client.c (failure_exit): New variable.
8432785Speter	(get_server_responses): If it is set, then return
8532785Speter	failure.
8632785Speter	(updated_seen, updated_fname): New variables.
8732785Speter	(update_entries): Use updated_fname if set.  In the "move away
8832785Speter	foo.c; it is in the way" case print "C" not "U", and set
8932785Speter	failure_exit.
9032785Speter	(handle_mt): If we get +updated tagged text, stash it away in
9132785Speter	updated_fname rather than printing it immediately.
9232785Speter	(handle_mt, get_server_responses): If we stashed a filename and
9332785Speter	didn't get around to printing it, go ahead and print it.
9432785Speter	* sanity.sh (conflicts2-142d2): Adjust to test for fix.  Remote is
9532785Speter	now like local was in terms of exit status and "C aa.c" message.
9632785Speter
9732785SpeterSun Dec 14 00:27:26 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
9832785Speter
9932785Speter	Implement tagged text feature:
10032785Speter	* update.c (write_letter): Take a single finfo argument rather
10132785Speter	than file and update_dir.  While we are at it change it to return
10232785Speter	void (since the returned value always had been 0).
10332785Speter	* update.c: Update callers.
10432785Speter	* server.c, cvs.h (cvs_output_tagged): New function.
10532785Speter	* client.c (responses): Add "MT" response.
10632785Speter	(handle_mt): New function.
10732785Speter	* update.c (write_letter): Output via cvs_output_tagged.
10832785Speter
10932785SpeterSun Dec 14 14:13:05 1997  Ian Lance Taylor  <ian@cygnus.com>
11032785Speter
11132785Speter	* recurse.c (do_dir_proc): Only check for CVS/Repository if
11232785Speter	W_LOCAL.
11332785Speter	* sanity.sh (devcom-t2, devcom-t3): New tests for above patch.
11432785Speter
11532785SpeterSun Dec 14 00:27:26 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
11632785Speter
11732785Speter	* root.c (parse_cvsroot): Initialize check_hostname (fixes thinko
11832785Speter	in GSSAPI changes).
11932785Speter
12032785SpeterSat Dec 13 13:15:35 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
12132785Speter
12232785Speter	* server.c: Use indentation to indicate nesting of #ifdef's.
12332785Speter
12432785Speter	* client.c (connect_to_gserver): Reindent (in one place).
12532785Speter
12632785SpeterFri Dec 12 17:38:15 1997  Chris Provenzano <proven@cygnus.com>
12732785Speter	and Ian Lance Taylor  <ian@cygnus.com>
12832785Speter
12932785Speter	* cvs.h (CVSmethod): Add gserver_method.
13032785Speter	* root.c (method_names): Add gserver.
13132785Speter	(parse_cvsroot): Handle :gserver:.
13232785Speter	* client.h (cvsauthenticate): Declare.
13332785Speter	(cvs_gssapi_encrypt): Declare if HAVE_GSSAPI and ENCRYPTION.
13432785Speter	(cvs_gssapi_wrap_buffer_initialize): Declare if HAVE_GSSAPI.
13532785Speter	(connect_to_pserver): Update declaration.
13632785Speter	(pserver_authenticate_connection): Declare when HAVE_GSSAPI and
13732785Speter	SERVER_SUPPORT is defined in addition to other case.
13832785Speter	* client.c: If HAVE_GSSAPI, include GSSAPI header files.
13932785Speter	(gcontext): New static variable if HAVE_GSSAPI.
14032785Speter	(connect_to_pserver): Add do_gssapi parameter.  Change all
14132785Speter	callers.  Move rejection handling to bottom of function.
14232785Speter	(recv_bytes): New static function if HAVE_GSSAPI.
14332785Speter	(connect_to_gserver): Likewise.
14432785Speter	(start_server): Handle gserver_method.  Handle GSSAPI encryption
14532785Speter	and authentication.
14632785Speter	* server.c: Include <sys/socket.h> if HAVE_GSSAPI, in addition to
14732785Speter	existing cases.  If HAVE_GSSAPI, include GSSAPI header files.
14832785Speter	Include <grp.h> even if AUTH_SERVER_SUPPORT is not defined.
14932785Speter	(gcontext, cvs_gssapi_wrapping): New static variables if
15032785Speter	HAVE_GSSAPI.
15132785Speter	(cvs_gssapi_encrypt): New global variable if HAVE_GSSAPI and
15232785Speter	ENCRYPTION.
15332785Speter	(serve_gssapi_encrypt): New static function if HAVE_GSSAPI and
15432785Speter	ENCRYPTION.
15532785Speter	(serve_gssapi_authenticate): New static function if HAVE_GSSAPI.
15632785Speter	(requests): Add Gssapi-encrypt if HAVE_GSSAPI and ENCRYPTION.  Add
15732785Speter	Gssapi-authenticate if HAVE_GSSAPI.
15832785Speter	(switch_to_user): Compile if HAVE_GSSAPI, in addition to existing
15932785Speter	cases.
16032785Speter	(pserver_authenticate_connection): Likewise.  Ifdef out part of
16132785Speter	the code for AUTH_SERVER_SUPPORT.  Handle a GSSAPI request.
16232785Speter	(gserver_authenticate_connection): New static function if
16332785Speter	HAVE_GSSAPI.
16432785Speter	(cvsauthenticate): New global variable.
16532785Speter	(struct cvs_gssapi_wrap_data): Define if HAVE_GSSAPI.
16632785Speter	(cvs_gssapi_wrap_buffer_initialize): New function if HAVE_GSSAPI.
16732785Speter	(cvs_gssapi_wrap_input): New static function if HAVE_GSSAPI.
16832785Speter	(cvs_gssapi_wrap_output): Likewise.
16932785Speter	* main.c (opt_usage): Mention -a.
17032785Speter	(main): Handle -a.  Handle pserver if HAVE_GSSAPI, in addition to
17132785Speter	existing cases.
17232785Speter	* login.c (login): Pass new argument to connect_to_pserver.
17332785Speter
17432785SpeterFri Dec 12 15:33:19 1997  Ian Lance Taylor  <ian@cygnus.com>
17532785Speter
17632785Speter	* buffer.c (PACKET_SLOP): Define.
17732785Speter	(packetizing_buffer_initialize): Use PACKET_SLOP when allocating
17832785Speter	holdbuf.
17932785Speter	(packetizing_buffer_input): Allow up to PACKET_SLOP bytes in
18032785Speter	stackoutbuf.
18132785Speter	(packetizing_buffer_output): Use just BUFFER_DATA_SIZE + 2 for
18232785Speter	inbuf.  Allow PACKET_SLOP + 4 extra bytes in stack_outbuf.
18332785Speter	Correct >= to > in test of incoming number of bytes.  Use
18432785Speter	PACKET_SLOP in other tests.
18532785Speter
18632785SpeterFri Dec 12 10:27:08 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
18732785Speter
18832785Speter	* client.c (start_tcp_server): Revise comment to reflect
18932785Speter	SOCK_STRERROR and SOCK_ERRNO now being in use.
19032785Speter
19132785SpeterThu Dec 11 15:32:31 1997  Ian Lance Taylor  <ian@cygnus.com>
19232785Speter
19332785Speter	* client.c (init_sockaddr): Compile if HAVE_KERBEROS, as well as
19432785Speter	if AUTH_CLIENT_SUPPORT.  Return a pointer to a struct hostent.
19532785Speter	(start_tcp_server): Clean up.  Use init_sockaddr.  Use
19632785Speter	SOCK_STRERROR and SOCK_ERRNO.  Don't bind the socket.
19732785Speter
19832785Speter	Generalize buffering code used by Kerberos encryption routines
19932785Speter	into a generic packetizing buffer.  The new code in buffer.c is a
20032785Speter	modified version of the code removed from server.c.
20132785Speter	* buffer.c (struct packetizing_buffer): Define.
20232785Speter	(packetizing_buffer_initialize): New function.
20332785Speter	(packetizing_buffer_input): New static function.
20432785Speter	(packetizing_buffer_output): New static function.
20532785Speter	(packetizing_buffer_flush): New static function.
20632785Speter	(packetizing_buffer_block): New static function.
20732785Speter	(packetizing_buffer_shutdown): New static function.
20832785Speter	* buffer.h (packetizing_buffer_initialize): Declare.
20932785Speter	* server.c (struct krb_encrypt_data): Rename from
21032785Speter	krb_encrypt_buffer, and remove all fields not related to
21132785Speter	encryption.
21232785Speter	(krb_encrypt_buffer_initialize): Just call
21332785Speter	packetizing_buffer_initialize.
21432785Speter	(krb_encrypt_input): New static function.
21532785Speter	(krb_encrypt_output): New static function.
21632785Speter	(krb_encrypt_buffer_input): Remove.
21732785Speter	(krb_encrypt_buffer_output): Remove.
21832785Speter	(krb_encrypt_buffer_flush): Remove.
21932785Speter	(krb_encrypt_buffer_block): Remove.
22032785Speter	(krb_encrypt_buffer_shutdown): Remove.
22132785Speter
22232785SpeterWed Dec 10 15:39:44 1997  Ian Lance Taylor  <ian@cygnus.com>
22332785Speter
22432785Speter	* buffer.c (stdio_buffer_initialize): Correct formatting.
22532785Speter
22632785SpeterSun Dec  7 09:37:19 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
22732785Speter
22832785Speter	* sanity.sh (basicb-0d0): New test, for checkout on existing
22932785Speter	directory.
23032785Speter
23132785SpeterSat Dec  6 00:25:11 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
23232785Speter
23332785Speter	* sanity.sh (binwrap3): Clean up repository too.  Clean up working
23432785Speter	directory with "rm -r" not "rm -rf".
23532785Speter
23632785SpeterThu Dec  4 17:11:18 1997  Larry Jones  <larry.jones@sdrc.com>
23732785Speter
23832785Speter	* subr.c (check_numeric): Don't reference argv[1] when argc is 1
23932785Speter	(should be argv[0]).
24032785Speter
24132785Speter	* sanity.sh: Fix lines that look like conflict markers but aren't
24232785Speter	to prevent problems checking in.
24332785Speter	(binwrap3): Remove local CVSROOT when done so that later
24432785Speter	tests that expect to create it don't fail.
24532785Speter
24632785SpeterThu Dec  4 18:19:21 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
24732785Speter
24832785Speter	* cvs.h: Remove mempcpy definition.  I think the polite way to
24932785Speter	describe my feelings about mempcpy is something like "we don't
25032785Speter	have agreement that it is a good idea".
25132785Speter	* rcs.c (truncate_revnum): Don't call it.
25232785Speter	* sanity.sh: Run multibranch2 test by default.
25332785Speter	(multibranch2): Use ${TESTDIR} a few places.
25432785Speter	(multibranch2-9): Accept "P file1" as well as "U file1".
25532785Speter
25632785Speter	* sanity.sh: Don't add 1997 to the copyright notice.  Add GPL
25732785Speter	terms.  Add discussion of copyright issues.
25832785Speter	* rcs.c (truncate_revnum, truncate_revnum_in_place,
25932785Speter	compare_truncated_revnums): Reindent.
26032785Speter
26132785Speter1997-12-04  Jim Meyering  <meyering@na-net.ornl.gov>
26232785Speter
26332785Speter	* subr.c (xstrdup): Use memcpy rather than strcpy.
26432785Speter	(compare_revnums): Declare parameters to be `const'.
26532785Speter	Remove unnecessary uses of xstrdup and corresponding frees.
26632785Speter	(increment_revnum): Declare parameter to be `const'.
26732785Speter	Use memcpy rather than strcpy.
26832785Speter	(gca): Declare parameters to be `const'.
26932785Speter	(check_numeric): Declare REV parameter to be `const'.
27032785Speter	(file_has_markers): Declare parameter to be `const'.
27132785Speter	(get_file): Declare `char*' parameters to be `const'.
27232785Speter	* run.c (run_exec): Declare `char*' parameters to be `const'.
27332785Speter	* cvs.h (mempcpy) [! HAVE_MEMPCPY]: Define it.
27432785Speter	Add `const' to types in several prototypes.
27532785Speter
27632785Speter	* rcs.c (truncate_revnum): New function.
27732785Speter	(truncate_revnum_in_place): New function.
27832785Speter	(compare_truncated_revnums): New function.
27932785Speter	(max_rev): New function.
28032785Speter	(RCS_addbranch): Make BRANCH parameter `const'.
28132785Speter	Use the above functions rather than open-coding them.
28232785Speter	When BRANCH is a revision number, insert it *in order*
28332785Speter	in the sorted list of branch numbers, not at the end.
28432785Speter	Add assertion that insertion succeeds.
28532785Speter	* sanity.sh (multibranch2): Test for this.
28632785Speter	(Copyright): Add 1997.
28732785Speter
28832785SpeterDec 1997  Karl Fogel  <kfogel@floss.red-bean.com>
28932785Speter
29032785Speter	* wrapper.c (wrap_name_has): loop as far as wrap_count +
29132785Speter	wrap_temp_count, not wrap_count + wrap_saved_count, otherwise
29232785Speter	some wrappers get skipped.
29332785Speter	(wrap_matching_entry): same.
29432785Speter	* sanity.sh (binwrap3): new test, for import with
29532785Speter	CVSROOT/cvswrappers and .cvswrappers specifying -k 'b' options.
29632785Speter
29732785Speter1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
29832785Speter
29932785Speter	* client.c (send_a_repository): Strip trailing slashes from the name
30032785Speter	of the update directory.  Otherwise, running `cvs update dir/' provokes
30132785Speter	this failure `protocol error: illegal directory syntax in dir/' when
30232785Speter	running in client/server mode.
30332785Speter
30432785Speter	* hash.c (insert_before): New function derived from addnode.
30532785Speter	(addnode): Simply return insert_before.
30632785Speter	(addnode_at_front): Simply return insert_before.
30732785Speter	* hash.h (insert_before): Add prototype.
30832785Speter
30932785Speter	* server.c (dirswitch): Compute `strlen(dir)' once and save it,
31032785Speter	rather than computing it four times.  Also do s/illegal/invalid/ to
31132785Speter	this diagnostic: "E protocol error: illegal directory syntax in %s".
31232785Speter
31332785SpeterSun Nov 30 18:03:02 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
31432785Speter
31532785Speter	* admin.c: Fix comment (no longer a front-end to "rcs").
31632785Speter
31732785Speter	* error.c, error.h (rcserror): Remove.
31832785Speter	* admin.c, rcs.c: Call error instead of rcserror.  This changes
31932785Speter	the format of these messages from "rcs: <path>: error" to "cvs
32032785Speter	<command>: <path>: error".  The former format wasn't quite what
32132785Speter	RCS printed anyway (because RCS would sometimes print "ci", "co",
32232785Speter	&c, not "rcs"), and preserving RCS's exact output probably is not
32332785Speter	a good idea anyway (because it will make people think that the
32432785Speter	error was caused by an external program).  In two cases, I tidied
32532785Speter	up the message in a more drastic fashion ("cannot stat" in
32632785Speter	RCS_checkin and "could not diff" in RCS_delete_revs).
32732785Speter
32832785Speter	* sanity.sh (basica-o2b, binfiles2-o1, admin-18, admin-22-o10,
32932785Speter	admin-22-o17): Look for "cvs <command>" not "rcs".
33032785Speter
33132785Speter	* run.c, cvs.h (run_setup): Replace varargs nonsense with a single
33232785Speter	argument which gets parsed as the result of the vasprintf
33332785Speter	used to.
33432785Speter	* client.c, commit.c, logmsg.c, modules.c, rtag.c, tag.c, update.c,
33532785Speter	wrapper.c: Update callers, either to do the sprintf themself or to
33632785Speter	just call run_arg if it will do the job.
33732785Speter	* rcscmds.c: Likewise for call_diff_setup and callers.
33832785Speter
33932785Speter	* run.c, cvs.h (run_args): Remove; nowhere used.
34032785Speter
34132785SpeterSat Nov 29 22:15:06 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
34232785Speter
34332785Speter	* options.h.in: Remove declaration of getwd; see lib/ChangeLog for
34432785Speter	rationale.
34532785Speter
34632785Speter1997-11-29  Jim Meyering  <meyering@na-net.ornl.gov>
34732785Speter
34832785Speter	* update.c (checkout_file): Initialize `backup'.
34932785Speter
35032785Speter	* diff.c (diff_fileproc): Initialize `tmp' and `fname'.
35132785Speter
35232785Speter	* modules.c (do_module): Initialize `server_dir_to_restore'.
35332785Speter	(do_module): Initialize `value' in an else clause.
35432785Speter
35532785Speter	* rcs.c (RCS_checkin): Initialize `commitpt'.
35632785Speter	(RCS_delete_revs): Initialize `revp'.
35732785Speter	(RCS_copydeltas): Always initialize `insertbefore'.
35832785Speter
35932785Speter	* run.c (run_print): Define `outfn' even in error case.
36032785Speter
36132785SpeterMon Nov 24 17:28:50 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
36232785Speter
36332785Speter	* rcs.c (RCS_findlock_or_tip): Prototype.
36432785Speter	(RCS_checkin): Fix call to pass correct number of arguments.
36532785Speter
36632785SpeterSun Nov 23 10:34:03 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
36732785Speter
36832785Speter	* recurse.c (do_dir_proc): Move check for CVS/Repository and
36932785Speter	CVS/Entries to before where we call the direntproc.
37032785Speter	* client.c (send_dirent_proc): Remove code to check for
37132785Speter	CVS/Repository, now that recurse.c does it.
37232785Speter	* sanity.sh (conflicts3-18 through conflicts3-19): New tests, for this.
37332785Speter
37432785SpeterSat Nov 22 10:54:16 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
37532785Speter
37632785Speter	* recurse.c (do_dir_proc): Check that CVS/Repository and
37732785Speter	CVS/Entries exist.
37832785Speter	* sanity.sh (conflicts3-14 through conflicts3-17): New tests, for this.
37932785Speter
38032785Speter	* client.c (send_fileproc): Send options field from
38132785Speter	vers->entdata->options not vers->options.
38232785Speter	* cvs.h (struct entnode): Add comment (options and timestamp must
38332785Speter	not be NULL).
38432785Speter	* sanity.sh (binfiles-9 through binfiles-13, binfiles-sticky5,
38532785Speter	keyword-17): Remove kludges for remote; tests for fix.
38632785Speter
38732785Speter	* update.c (update_fileproc): Fix comment; direct checkout is
38832785Speter	still faster than patches for local but not for quite the
38932785Speter	same reasons.
39032785Speter
39132785Speter	* add.c (add): Pass SEND_NO_CONTENTS to send_files.
39232785Speter
39332785SpeterWed Nov 19 18:25:03 1997  Mike Glendinning  <mikeg@sequent.com>
39432785Speter
39532785Speter	* update.c (patch_file_write): Missing cast provided.
39632785Speter
39732785SpeterWed Nov 19 15:57:59 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
39832785Speter
39932785Speter	* rcs.c (RCS_deltas): Solve trigraph problem (once and for all, I
40032785Speter	hope) with 3 calls to cvs_output.
40132785Speter
40232785SpeterWed Nov 19 01:52:57 1997  Andy Piper <andyp@parallax.co.uk>
40332785Speter	and Jim Kingdon  <kingdon@harvey.cyclic.com>
40432785Speter
40532785Speter	* classify.c (Classify_File), cvs.h (struct vers_ts), vers_ts.c
40632785Speter	(Version_TS): Clarify NULL versus "" for options in comments.
40732785Speter	* vers_ts.c (Version_TS): Treat "" the same way as NULL in options
40832785Speter	and vers_ts->options.
40932785Speter	* sanity.sh: New tests binfiles-sticky5 through binfiles-17 test
41032785Speter	for this.
41132785Speter
41232785Speter1997-11-16  Karl Fogel  <kfogel@floss.red-bean.com>
41332785Speter
41432785Speter	* client.c (update_entries): parse server-sent entries line even
41532785Speter	in the case of "cvs export", because we need to know if -kb option
41632785Speter	is set.
41732785Speter	Init `options' to NULL like anything else.
41832785Speter
41932785SpeterTue Nov 18 09:20:29 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
42032785Speter
42132785Speter	* version.c: Change version number to 1.9.21.
42232785Speter
42332785Speter	* Version 1.9.20.
42432785Speter
42532785SpeterMon Nov 17 14:35:31 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
42632785Speter
42732785Speter	* server.c (server_updated): If scratched_file and noexec are set,
42832785Speter	clean up so we don't get a "duplicate Scratch_Entry" warning
42932785Speter	later.
43032785Speter	* sanity.sh: New tests conflicts3-10 to conflicts3-13, for this.
43132785Speter
43232785Speter	* sanity.sh (conflicts3): Don't allow "file1 was lost" messages
43332785Speter	here; I don't think CVS actually produced them, and they don't
43432785Speter	belong.
43532785Speter
43632785SpeterSun Nov 16 23:19:41 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
43732785Speter
43832785Speter	* sanity.sh: Accept either "U file1" or "P file1".
43932785Speter
44032785SpeterFri Nov 14 12:32:05 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
44132785Speter
44232785Speter	* rcs.c: Add comment about cleaning up ,foo, file on ^C.
44332785Speter
44432785SpeterFri Nov 14 11:56:29 1997  Andy Piper <andyp@parallax.co.uk>
44532785Speter	and Jim Kingdon  <kingdon@harvey.cyclic.com>
44632785Speter
44732785Speter	* filesubr.c (unlink_file_dir): Don't print trace message in the
44832785Speter	server.
44932785Speter
45032785SpeterFri Nov 14 11:28:55 1997  Jim Meyering and Jim Kingdon
45132785Speter
45232785Speter	* rcs.c (RCS_getdatebranch): If the branch we are looking for
45332785Speter	doesn't exist, return a revision which matches the date, not
45432785Speter	just NULL.
45532785Speter	* sanity.sh (tagdate): New test, for this.
45632785Speter
45732785SpeterThu Nov 13 10:11:48 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
45832785Speter
45932785Speter	* sanity.sh (basicb-21): Fix comment which described a behavior
46032785Speter	which no longer exists.
46132785Speter
46232785SpeterWed Nov 12 16:24:45 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
46332785Speter
46432785Speter	Clean up infrastructure made unnecessary by RCS library:
46532785Speter	* rcscmds.c (diff_exec, diff_execv): Use literal "diff" not DIFF.
46632785Speter	* options.h.in (DIFF), rcs.h (RCS, RCS_CI, RCS_DIFF,
46732785Speter	RCS_RCSMERGE): Removed; no longer used.
46832785Speter	* commit.c (commit), patch.c (patch_fileproc),
46932785Speter	rcscmds.c (RCS_exec_rcsdiff), start of rcscmds.c: Update comments
47032785Speter	to reflect librarification of RCS.
47132785Speter	* options.h.in (RCSBIN_DFLT): Removed.
47232785Speter	* main.c, cvs.h (Rcsbin, free_Rcsbin): Removed.
47332785Speter	* main.c (main): Don't check RCSBIN environment variable.  -b
47432785Speter	global option is now a noop.
47532785Speter	* cvs.h (RCSBIN_ENV): Removed.
47632785Speter	* expand_path.c (expand_variable): $RCSBIN is now an error.
47732785Speter	* mkmodules.c (config_contents): Remove RCSBIN.
47832785Speter	* parseinfo.c (parse_config): RCSBIN now a noop.
47932785Speter	* server.c (server): Don't put Rcsbin in PATH.
48032785Speter
48132785SpeterMon, 10 Nov 1997  Jim Kingdon
48232785Speter
48332785Speter	* rcs.c (RCS_checkin): Actually, when we get a change text
48432785Speter	for a text file using get_file, we want text mode, although
48532785Speter	the reasons are kind of subtle (see comment).
48632785Speter
48732785Speter	* rcs.c (RCS_checkin): Pass correct mode to get_file for
48832785Speter	binary files.
48932785Speter
49032785Speter	* rcscmds.c: Declare vasprintf.
49132785Speter
49232785SpeterMon Nov 10 11:11:17 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
49332785Speter
49432785Speter	This fixes problems with windows-NT/run.c improperly quoting, and
49532785Speter	is cleaner anyway.
49632785Speter	* rcscmds.c (call_diff_setup, call_diff_arg, call_diff_add_arg,
49732785Speter	call_diff_argv, call_diff_argc, call_diff_argc_allocated): New
49832785Speter	functions/variables, lightly adapted from src/run.c.
49932785Speter	* cvs.h, run.c (call_diff, call_diff3): Move from here...
50032785Speter	* rcscmds.c: ...to here.
50132785Speter
50232785SpeterSun, 9 Nov 1997  Jim Kingdon
50332785Speter
50432785Speter	* rcs.c (rcs_internal_unlockfile): Call rename_file not rename.
50532785Speter	This makes it work on NT again.
50632785Speter
50732785SpeterSun Nov  9 16:54:28 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
50832785Speter
50932785Speter	* sanity.sh (diffmerge2): Protect keywords against unwanted
51032785Speter	expansion.  They got clobbered and the testcase stopped working
51132785Speter	when I checked it in.
51232785Speter
51332785SpeterFri Nov  7 13:23:38 1997  Karl Fogel  <kfogel@floss.red-bean.com>
51432785Speter	and Jim Kingdon  <kingdon@harvey.cyclic.com>
51532785Speter
51632785Speter	* sanity.sh (diffmerge1, diffmerge2): new tests, for bugs, or
51732785Speter	potential bugs, in ../diff/analyze.c which were fixed by Paul
51832785Speter	Eggert's patch.
51932785Speter
52032785SpeterSun Nov  9 10:28:43 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
52132785Speter
52232785Speter	* rcs.c (RCS_settag): Reindent.
52332785Speter
52432785Speter	* rcs.c (rcs_internal_lockfile): Fix typo (thow -> throw).
52532785Speter
52632785SpeterSat Nov  8 15:58:53 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
52732785Speter
52832785Speter	* sanity.sh (cvsadm): Remove most of the tests which tested
52932785Speter	CVS/Root.  This takes the run time for the cvsadm tests from
53032785Speter	about 5 minutes 15 seconds to about 4 minutes 10 seconds with no
53132785Speter	significant loss in coverage.
53232785Speter
53332785Speter	* rcs.c (rcs_internal_lockfile): Check for errors from system
53432785Speter	calls.  If open() gives an error, don't muck with stat and errno
53532785Speter	(I don't know what the RCS code that this comes from was trying to
53632785Speter	do, but it clearly isn't accomplishing anything here).
53732785Speter	(RCS_rewrite, RCS_delete_revs): Check for errors from system calls.
53832785Speter
53932785SpeterSat Nov  1 14:21:29 1997  Michael L.H. Brouwer  <michael@thi.nl>
54032785Speter
54132785Speter	* rcs.c (RCS_checkin): Change type of bufsize from int to size_t.
54232785Speter	(RCS_delete_revs): Change type of bufsize and len from int to size_t.
54332785Speter	(RCS_getdeltatext): Change type of textlen from int to size_t.
54432785Speter	* rcs.h (struct deltatext): Change len from int to size_t to keep
54532785Speter	the compiler happy on systems where size_t is unsigned int.
54632785Speter	[This goes well beyond keeping the compiler happy; if sizeof
54732785Speter	(size_t) != sizeof (int), the old code was quite broken -kingdon]
54832785Speter
54932785SpeterSat Nov  1 14:21:29 1997  Michael L.H. Brouwer  <michael@thi.nl>
55032785Speter	and Jim Kingdon  <kingdon@harvey.cyclic.com>
55132785Speter
55232785Speter	* rcs.c (RCS_checkin): When checking if we were holding the lock
55332785Speter	use delta->author instead of user since the latter might have been
55432785Speter	clobbered by a call to getcaller.  This resulted in the failure of
55532785Speter	test basica-7.
55632785Speter	[I don't completely follow the scenario where it gets clobbered,
55732785Speter	it but sounds vaguely plausible and the replacement seems
55832785Speter	cleaner, precisely because it avoids allocation issues -kingdon]
55932785Speter
56032785SpeterWed Nov  5 20:16:12 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
56132785Speter
56232785Speter	* checkin.c, checkout.c, commit.c, cvs.h, import.c, login.c,
56332785Speter	main.c, update.c: Change FALSE to 0 and TRUE to 1 and replace
56432785Speter	monstrosities like "cvswrite == TRUE" with just "cvswrite".  FALSE
56532785Speter	and TRUE sometimes conflicted with system headers (NextStep3.3?),
56632785Speter	but more to the point, good old 1 and 0 are fine and were used by
56732785Speter	most of CVS already.
56832785Speter
56932785SpeterTue Nov  4 12:19:28 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
57032785Speter
57132785Speter	* rcs.c (RCS_checkin, RCS_lock, RCS_unlock): Rename local variable
57232785Speter	quiet to checkin_quiet or some such, to avoid confusion with
57332785Speter	global variable quiet.
57432785Speter
57532785Speter	* lock.c: Update comment to refer to add_rcs_file rather than "rcs
57632785Speter	-i".
57732785Speter
57832785Speter	* rcs.h (struct rcsnode): Add comments for all fields.
57932785Speter	* rcs.c (RCS_delete_revs): Refuse to delete revisions which have
58032785Speter	symbolic names.  Fix fencepost bug which caused us to sometimes
58132785Speter	check one more revision than we should for locks, branches, and
58232785Speter	this.
58332785Speter	(findtag): New function, to help above code.
58432785Speter
58532785Speter	* admin.c (admin): Take out writelocks not readlocks.  This has
58632785Speter	been a bug "forever", but may become more noticeable with
58732785Speter	rcs_internal_lockfile relying on the writelocks.
58832785Speter
58932785SpeterMon Nov  3 10:17:19 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
59032785Speter
59132785Speter	* rcs.c (RCS_rewrite): Don't write the file if noexec.
59232785Speter	* sanity.sh (basica, branches): Test for this.
59332785Speter
59432785SpeterSat Nov  1 10:01:56 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
59532785Speter
59632785Speter	* rcs.h (struct deltatext): Comment text and log fields.
59732785Speter
59832785Speter	* admin.c (admin_fileproc): Call RCS_reparsercsfile not
59932785Speter	RCS_fully_parse.  Don't muck with ->other field in RCSVers (it
60032785Speter	doesn't need to be set).
60132785Speter	* rcs.h, rcs.c (RCS_reparsercsfile): No longer static.  No point
60232785Speter	in having this static when RCS_rewrite and RCS_fully_parse are not.
60332785Speter	* rcs.c (getdelta): Remove obsolete comment about not storing the
60432785Speter	newphrases from the deltas, since we now do.
60532785Speter
60632785SpeterSat Nov  1 10:01:56 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
60732785Speter			  and Paul Eggert
60832785Speter
60932785Speter	* rcs.c (rcs_internal_lockfile): Clarify the comments about O_EXCL
61032785Speter	and such matters.
61132785Speter
61232785SpeterSat Nov  1 10:01:56 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
61332785Speter
61432785Speter	* rcs.c (RCS_delete_revs): Pass force_tag_match to RCS_settag.
61532785Speter	* sanity.sh (basica-o2a, basica-o2b): Test for this.
61632785Speter
61732785Speter1997-11-01  Peter Brandstrom  <d91-pbr@nada.kth.se>
61832785Speter
61932785Speter	* sanity.sh: Use ${username} more places.
62032785Speter
62132785SpeterSat Nov  1 00:14:00 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
62232785Speter
62332785Speter	* rcs.c (rcs_internal_lockfile): Add comments about what we are
62432785Speter	trying to accomplish here (versus what RCS tries to accomplish).
62532785Speter
62632785Speter	* rcs.c (RCS_parsercsfile_i): Clarify/expand comment about
62732785Speter	the purpose of having both this and RCS_reparsercsfile.
62832785Speter	(RCS_rewrite): Add comment about how this works.
62932785Speter
63032785Speter	* admin.c (admin_fileproc): Add comment about call to
63132785Speter	RCS_fully_parse not RCS_reparsercsfile.
63232785Speter	* rcs.h: Comment on what delta_pos field of struct rcsnode is.
63332785Speter
63432785SpeterFri Oct 31 16:38:39 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
63532785Speter			  and Abe Feldman
63632785Speter
63732785Speter	* client.c (update_entries): If UTIME_EXPECTS_WRITABLE, if
63832785Speter	necessary change the file to be writable temporarily to set its
63932785Speter	modification time.
64032785Speter
64132785SpeterThu Oct 30 17:42:59 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
64232785Speter
64332785Speter	* admin.c (admin): Deal with new :: syntax for ranges.
64432785Speter	* rcs.c, rcs.h (RCS_delete_revs): New arg inclusive (set for the old
64532785Speter	behavior, clear to enable new code).
64632785Speter	* admin.c (admin_fileproc): Set it if :, clear it if ::.
64732785Speter	* sanity.sh (basica, head, branches, log): Add tests for this feature.
64832785Speter
64932785Speter	* admin.c (admin_fileproc): Clean up the error message which
65032785Speter	happens if one of the RCS_* functions returns an error status; it
65132785Speter	is confusing to say that "rcs" failed now that this is implemented
65232785Speter	internally.
65332785Speter	* sanity.sh (admin): Update accordingly.
65432785Speter
65532785SpeterWed Oct 29 07:07:36 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
65632785Speter
65732785Speter	* sanity.sh (admin-22-o24): New test, tests that admin -o
65832785Speter	correctly munged the deltatexts on a branch too.
65932785Speter
66032785Speter	* rcs.c (RCS_delete_revs): If we are deleting an entire branch,
66132785Speter	delete the node in ->branches rather than setting the ->key to the
66232785Speter	bogus value NULL.
66332785Speter	* rcs.c (RCS_delete_revs): If "rev1" equals "branchpoint", then set
66432785Speter	"before" to the revision on the trunk that we branch from.
66532785Speter	* rcs.c (RCS_delete_revs): Don't set rev2 to revp->version (the
66632785Speter	code is missing an xstrdup, but it doesn't matter because rev2
66732785Speter	isn't used after this point).
66832785Speter	* sanity.sh (binfiles2-o2 to binfiles2-o4): New tests, for this.
66932785Speter
67032785SpeterTue Oct 28 19:30:05 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
67132785Speter
67232785Speter	* rcs.c (RCS_delete_revs): Restore code which passes rev2 to
67332785Speter	RCS_getbranchpoint if rev1 is NULL; it still makes sense for the
67432785Speter	non-trunk case.  Fixes admin-22-o22 in testsuite.
67532785Speter
67632785Speter	* sanity.sh (admin-18): Adjust to reflect "rcs failed" no longer
67732785Speter	being suppressed by global -q option.
67832785Speter
67932785Speter	* rcs.c (RCS_delete_revs): If rev1 == NULL and rev2 is on the
68032785Speter	trunk, handle it the same way we do everything else--by swapping
68132785Speter	the two.  This replaces the code which tried to kludge what we
68232785Speter	passed to RCS_getbranchpoint (which didn't work).
68332785Speter	* sanity.sh (binfiles2-o1 to binfiles2-o4): New tests, for this fix.
68432785Speter	* admin.c (admin_fileproc): Don't have -q global option suppress
68532785Speter	"rcs failed" message.
68632785Speter
68732785Speter1997-10-28  Jim Kingdon
68832785Speter
68932785Speter	* log.c (printlock_proc), rcs.c (putlock_proc): Prototype.
69032785Speter	* rcs.c (rcs_internal_lockfile): Only try to call fchmod if
69132785Speter	HAVE_FCHMOD is defined.
69232785Speter
69332785SpeterTue Oct 28 10:27:03 1997  Ian Lance Taylor  <ian@cygnus.com>
69432785Speter
69532785Speter	* rcs.c	(RCS_deltas): Don't use \? in string if __STDC__ is not
69632785Speter	defined.
69732785Speter
69832785Speter	* rcs.c (make_file_label): Remove extraneous `+'.
69932785Speter
70032785SpeterMon Oct 27 14:40:15 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
70132785Speter
70232785Speter	* status.c (status): Don't pass SEND_NO_CONTENTS to send_files.
70332785Speter
70432785SpeterSat Oct 25 00:33:57 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
70532785Speter
70632785Speter	* rcs.c (RCS_delete_revs): Use : not - for range in error message.
70732785Speter
70832785Speter	* rcs.h: Add comment about '\0' in RCS fields.
70932785Speter
71032785Speter	* rcs.c (getdelta): Add comment about branches and next field
71132785Speter	being mandatory.
71232785Speter
71332785Speter	* rcs.c (RCS_reparsercsfile, RCS_deltas), sanity.sh (reserved):
71432785Speter	Reindent sections which were misindented as a result of recent
71532785Speter	changes.
71632785Speter
71732785SpeterFri Oct 24 10:22:15 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
71832785Speter
71932785Speter	* rcs.c (RCS_findlock_or_tip): Don't worry about file ownership
72032785Speter	and nonstrict locking when returning the default branch or head.
72132785Speter	The most conspicuous problem with the old code is that in the
72232785Speter	error case it would examine rstat.st_uid when it had not been
72332785Speter	set.  For a discussion of more fundamental reasons, see comment.
72432785Speter
72532785Speter	* admin.c (admin_fileproc): In handling -A, don't handle relative
72632785Speter	pathnames differently from absolute pathnames.  See comment for
72732785Speter	rationale.  If problem opening the file, give a nice error not a
72832785Speter	coredump.
72932785Speter	* sanity.sh (admin-19a-admin, admin-19a-log, admin-19a-fix):
73032785Speter	New tests, test for traditional "cvs admin -A" behavior with
73132785Speter	relative pathnames.
73232785Speter	* sanity.sh (admin-19a-nonexist): Test for the core dump fix.
73332785Speter	* sanity.sh (admin-22-o1): Look for ${PROG} not cvs.
73432785Speter
73532785Speter	* sanity.sh (reserved-16): Remove commitinfo change with "cvs
73632785Speter	commit" not "cvs admin -o".  In addition to commit being The Right
73732785Speter	Thing on general principles, cvs admin -o doesn't work because it
73832785Speter	doesn't rebuild the administrative file database.
73932785Speter
74032785Speter	* update.c (patch_file): If the first revision does not exist in
74132785Speter	the RCS file, fall back to sending entire file.  Fixes
74232785Speter	admin-22-o15 in make remotecheck.
74332785Speter
74432785Speter1997-10-23  enami tsugutomo  <enami@but-b.or.jp>
74532785Speter
74632785Speter	* rcs.c (RCS_checkin): Unlink temporary files stored in variable
74732785Speter	`tmpfile' and `changefile'.
74832785Speter
74932785SpeterWed Oct 22 12:16:10 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
75032785Speter
75132785Speter	* rcs.c (rcs_lockfilename): Allocate enough memory for terminating
75232785Speter	'\0'.
75332785Speter
75432785Speter	* admin.c (admin_fileproc): Don't support '-' for ranges in "cvs
75532785Speter	admin -o".
75632785Speter	(admin): Adjust comment.
75732785Speter
75832785Speter	* rcs.h (RCSVers): New field other_delta.
75932785Speter	* rcs.c (free_rcsvers_contents): Also free other_delta.
76032785Speter	(getdelta): Read newphrases from deltas into other_delta field.
76132785Speter	(putdelta): Write those newphrases.
76232785Speter	* sanity.sh (rcs-8a): New test, for this fix.
76332785Speter	* admin.c (admin_fileproc): If "-b" without argument, then set
76432785Speter	branch to NULL, not "" (uncovered by rcs-8a test).
76532785Speter	* rcs.c (putrcsfield_proc): Add comment about how we (mis)handle
76632785Speter	values in newphrases.
76732785Speter
76832785Speter	* sanity.sh (reserved): Instead of looking for rcslock.pl in CVS
76932785Speter	distribution, just use our own equivalent.
77032785Speter
77132785Speter	* rcs.c (RCS_rewrite): Call ferror before fclose to avoid "Invalid
77232785Speter	argument" warnings.
77332785Speter
77432785SpeterMon Oct 20 00:30:16 1997  Tim Pierce  <twp@twp.tezcat.com>
77532785Speter
77632785Speter	[I removed a ChangeLog entry for a change to sanity.sh (editor),
77732785Speter	because the actual change was not made.  With this change, CVS no
77832785Speter	longer runs RCS.  I'll be checking in my cleanups shortly. -kingdon]
77932785Speter
78032785Speter	Librarify `ci'.
78132785Speter	* rcscmds.c, cvs.h (RCS_checkin): Removed.
78232785Speter	* rcs.c, rcs.h (RCS_checkin, RCS_getbranchpoint, RCS_addbranch,
78332785Speter	RCS_findlock_or_tip): New functions.  RCS_checkin completely
78432785Speter	rewritten to eliminate RCS 5.7; change `rcs' parameter from string
78532785Speter	to RCSNode, so we can update RCSNode without re-reading from
78632785Speter	disk.
78732785Speter	* checkin.c (Checkin): Updated RCS_checkin caller, moved RCS_parse
78832785Speter	call to before RCS_checkin.
78932785Speter	* import.c (add_rev): Updated caller.
79032785Speter	* commit.c (remove_file): Updated caller.
79132785Speter	(checkaddfile): Updated caller.  Parse `rcsfile' after
79232785Speter	calling add_rcs_file.  Free `rcsfile' instead of asserting it to
79332785Speter	be NULL.
79432785Speter
79532785Speter	Librarify `rcs'.
79632785Speter	* rcscmds.c, cvs.h (RCS_exec_settag, RCS_exec_deltag,
79732785Speter	RCS_exec_setbranch, RCS_exec_lock, RCS_exec_unlock): Removed.
79832785Speter
79932785Speter	* rcs.c (RCS_settag): Rewritten to eliminate RCS 5.7.
80032785Speter	* commit.c (checkaddfile): Call RCS_rewrite after calling RCS_settag.
80132785Speter	* import.c (add_tags): Same.
80232785Speter	* rtag.c (rtag_fileproc): Same.
80332785Speter	* tag.c (tag_fileproc): Same.
80432785Speter
80532785Speter	* rcs.c (RCS_deltag): Rewritten to eliminate RCS 5.7.  Remove
80632785Speter	`quiet' parameter, since this function no longer prints any output.
80732785Speter	* commit.c (remove_file): Update caller.  Also call RCS_rewrite
80832785Speter	after RCS_deltag.
80932785Speter	* rtag.c (rtag_delete): Same.
81032785Speter	* tag.c (tag_fileproc): Same.
81132785Speter
81232785Speter	* rcs.c (RCS_setbranch): Rewritten to eliminate RCS 5.7.
81332785Speter	* commit.c (remove_file): Call RCS_rewrite after calling RCS_setbranch.
81432785Speter	(fixbranch): Same.
81532785Speter	(lock_RCS): Same.
81632785Speter
81732785Speter	* rcs.c (RCS_lock): Rewritten to eliminate RCS 5.7. Change third
81832785Speter	arg to mean `quiet' and not `noerr', permitting admin_fileproc to
81932785Speter	run RCS_lock verbosely.
82032785Speter	* commit.c (lock_RCS): Update callers; call
82132785Speter 	RCS_rewrite after RCS_lock.
82232785Speter	(remove_file): Same.  Call RCS_lock quietly.
82332785Speter	* import.c (add_rev): Same.  Do not print `fork failed' error
82432785Speter	message, since we're no longer forking.
82532785Speter
82632785Speter	* rcs.c (RCS_unlock): Rewritten to eliminate RCS 5.7.  Change
82732785Speter	`noerr' arg to mean `quiet', permitting admin_fileproc to run
82832785Speter	RCS_unlock verbosely.  Use notify_do when breaking another user's
82932785Speter	lock.  Include "edit.h" for notify_do prototype.
83032785Speter	* checkin.c (Checkin): Update caller; use RCS_rewrite after RCS_unlock.
83132785Speter	* commit.c (unlockrcs): Same.
83232785Speter	* import.c (add_rev): Same.
83332785Speter
83432785Speter	* rcs.c, rcs.h (RCS_getlocks, RCS_addaccess, RCS_delaccess,
83532785Speter	RCS_getaccess, RCS_delete_revs): New functions.
83632785Speter	(expand_keywords, RCS_lock, RCS_unlock): Use RCS_getlocks.
83732785Speter	* log.c (log_fileproc, log_version): Call RCS_getlocks.  Don't add
83832785Speter	bogus ";locker" nodes to RCSVers nodes -- walk lock list with
83932785Speter	printlock_proc.
84032785Speter	(printlock_proc): New function.
84132785Speter
84232785Speter	* admin.c (admin_fileproc): Largely rewritten: call internal RCS
84332785Speter	library functions instead of forking RCS processes.
84432785Speter	(admin, admin_fileproc): Obsolete -V option.
84532785Speter	(struct admin_data): Remove `version' member.
84632785Speter	* sanity.sh (admin-24): Remove -V test case.
84732785Speter
84832785Speter	New functions for reading and writing RCS files.
84932785Speter	* rcs.h (struct deltatext, Deltatext): New types.
85032785Speter	(struct rcsversnode): New members `text' and `outdated'.
85132785Speter	(struct rcsnode): New members `access', `locks', `strict_locks',
85232785Speter	`comment', and `desc'.
85332785Speter	* rcs.c (RCS_reparsercsfile, expand_keywords): Use new RCSNode members.
85432785Speter	(free_rcsnode_contents): Free them.
85532785Speter	* log.c (log_fileproc): Use new RCSNode members instead of ->other.
85632785Speter
85732785Speter	* rcs.c (getdelta, RCS_getdeltatext, freedeltatext, do_locks,
85832785Speter 	RCS_putadmin, RCS_putdtree, RCS_putdesc, putdelta,
85932785Speter 	putrcsfield_proc, putsymbol_proc, RCS_copydeltas, putdeltatext,
86032785Speter 	RCS_rewrite, getrevnum, rcs_internal_lockfile,
86132785Speter 	rcs_internal_unlockfile, rcs_lockfilename): New functions.
86232785Speter
86332785Speter	(RCS_reparsercsfile): Use getdelta, making sure fp is positioned
86432785Speter 	correctly before calling it.  Skip `head' and `branch' nodes: we
86532785Speter 	have already parsed them, and they were being added incorrectly to
86632785Speter 	rcs->other.  Do not signal error if the RCS file has an empty
86732785Speter 	delta tree; this made it impossible for RCS_checkin to perform an
86832785Speter 	initial checkin.  Remove `all' parameter; always store all RCS
86932785Speter	fields.
87032785Speter	(RCS_fully_parse, RCS_gettag, RCS_getbranch, RCS_getdate,
87132785Speter	RCS_getdatebranch, RCS_getrevtime, RCS_symbols, translate_symtag,
87232785Speter	RCS_isdead, RCS_getexpand, RCS_checkout, annotate_fileproc):
87332785Speter	Update all callers to remove `all' parameter.
87432785Speter
87532785Speter	(getrcskey): Do not append trailing whitespace to a value.  This
87632785Speter 	corrupted some log fields and wrecked some sanity.sh test cases.
87732785Speter
87832785Speter	(free_rcsvers_contents): New function.
87932785Speter	(rcsvers_delproc): Call it.
88032785Speter
88132785Speter	* rcs.h (NODELTA): Removed symbol; now obsolete (since RCSNodes
88232785Speter	do not go stale).
88332785Speter	* import.c (add_rev): Removed NODELTA reference.
88432785Speter	* rcs.c (RCS_reparsercsfile, RCS_checkout, RCS_settag, RCS_deltag,
88532785Speter	RCS_setbranch, RCS_lock, RCS_unlock, RCS_deltas): Removed NODELTA
88632785Speter	references.
88732785Speter
88832785Speter	Miscellaneous changes to support RCS librarification and fix some bugs.
88932785Speter	* subr.c, cvs.h (line2argv): Add `sepchars' argument.
89032785Speter	* modules.c (cat_module, admin_fileproc): Update all callers.
89132785Speter
89232785Speter	* subr.c, cvs.h (compare_revnums, increment_revnum): New functions.
89332785Speter	(make_message_rcslegal): Strip whitespace from end of
89432785Speter	lines and end of string, a la `cleanlogmsg' in RCS 5.7.
89532785Speter	(get_file): Terminate buf with \0, extending it if
89632785Speter	necessary.  Read from stdin if `name' arg is NULL.
89732785Speter	* admin.c (admin_fileproc): Call get_file to read -t arg from stdin.
89832785Speter
89932785Speter	* error.c, error.h (rcserror): New function, used everywhere.
90032785Speter
90132785Speter	* hash.c, hash.h (addnode_at_front): New function.
90232785Speter	* rcs.c (RCS_settag, RCS_lock): Call it.
90332785Speter
90432785Speter	* import.c, cvs.h (expand_at_signs): Make extern.
90532785Speter	* rcs.c (putrcsfield_proc, RCS_putadmin, RCS_putdesc,
90632785Speter	putdeltatext): Call it.
90732785Speter
90832785Speter	* rcs.c (make_file_label): Use last_component to get file's basename.
90932785Speter
91032785Speter	* sanity.sh (srcdir): New variable.
91132785Speter	(rcs-7): Remove newphrase warning, no longer produced by CVS.
91232785Speter	(rcs-8): Permit random whitespace around newphrase fields.
91332785Speter	(admin-22): New test cases for -o options: admin-22-o{1..23}.
91432785Speter	(reserved): New test cases for rcslock.pl: reserved-{8..16}.
91532785Speter
91632785SpeterTue Oct 21 16:48:32 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
91732785Speter
91832785Speter	* tag.c (tag_check_valid): Add comment about locking or lack
91932785Speter	thereof.
92032785Speter
92132785Speter1997-10-20  Jim Kingdon  <kingdon@harvey.cyclic.com>
92232785Speter
92332785Speter	* version.c: Change version number to 1.9.19.
92432785Speter
92532785Speter1997-10-19  Jim Kingdon
92632785Speter
92732785Speter	* Version 1.9.18.
92832785Speter
92932785SpeterWed Oct 15 15:21:43 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
93032785Speter
93132785Speter	* sanity.sh (username): Add '-' to characters allowed in user name.
93232785Speter
93332785Speter	* rcscmds.c (diff_exec): Remove item about external diff
93432785Speter	programs.  It doesn't really belong here now that diff is
93532785Speter	librarified and TODO #191 now mentions this.
93632785Speter
93732785Speter	* checkout.c (checkout_proc): Add comment about assuming '/' is
93832785Speter	the only path separator.
93932785Speter	* options.h.in: Fix thinko (CVS/Repository -> CVS/Root).
94032785Speter
94132785SpeterMon Oct 13 22:46:03 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
94232785Speter
94332785Speter	* commit.c (commit): Add comment about CVS_BADROOT and command
94432785Speter	other than "commit".
94532785Speter
94632785Speter1997-10-11  Noel Cragg  <noel@swish.red-bean.com>
94732785Speter
94832785Speter	* options.h.in: RELATIVE_REPOS has been checked for bitrot -- it
94932785Speter	now works again.  Change the comment before the #define to say
95032785Speter	that we'll be switching to it soon.
95132785Speter
95232785Speter	* sanity.sh (basicb-1, basicb-1a): update dotest strings to match
95332785Speter	no matter if we're running with RELATIVE_REPOS defined or not.
95432785Speter	(basicb-9b, basicb-9c): same.
95532785Speter
95632785Speter	* sanity.sh (basicb-9b, basicb-9c): modified tests, since the
95732785Speter	checkout.c fix changes the way this test module is checked out.
95832785Speter	(basicb-9d, basicb-9e, basicb-9f): new tests, same.
95932785Speter	(basicb-18): modify test, same.
96032785Speter	(cvsadm): new set of exhaustive tests to check the contents of
96132785Speter	CVS/Root and CVS/Repository files under various conditions.  As a
96232785Speter	side effect, it tests the behavior of the "-d" flags (command line
96332785Speter	and modules file).
96432785Speter	(modules3-7e through modules3-7h): removed, since these tests were
96532785Speter	a small subset of what is tested in the new cvsadm section.
96632785Speter	(modules-1b, modules-1c): same.
96732785Speter	(modules-2b, modules-2c): same.
96832785Speter	(modules-3b, modules-3c, modules-3e, modules-3f): same.
96932785Speter
97032785Speter	* create_adm.c (Create_Admin): be a bit more verbose when using
97132785Speter	trace mode.
97232785Speter
97332785Speter	* checkout.c (checkout_proc): rewrote the code that sets the where
97432785Speter	variable and the code that matches directory names with repository
97532785Speter	directories.  This fixes a long-standing bug in CVS.  (It used to
97632785Speter	be the case that "cvs co -d foo <mod1> <mod2>" would not properly,
97732785Speter	where <mod1> and <mod2> where defined in the modules file.  While
97832785Speter	the first module would be checked out correctly, the second would
97932785Speter	be checked out under the name of the directory to which the module
98032785Speter	referred rather than the module name!).  This fix also allows us
98132785Speter	to check out things into directories that are more than one deep
98232785Speter	(e.g. "cvs -d foo/bar/baz co blah" will now work).
98332785Speter	(checkout): remove code that performed a CHDIR if the
98432785Speter	number of arguments specified was greater than one, since it's no
98532785Speter	longer necessary.  Also remove the code that prevented us from
98632785Speter	doing "cvs co -d <dir1>/<dir2>" without <dir1> existing, since
98732785Speter	checkout_proc handles things correctly now.
98832785Speter
98932785Speter	* cvs.h: fix typo.
99032785Speter
99132785Speter	* rtag.c (rtag): reformat so that we don't run over 80 characters
99232785Speter	per line.
99332785Speter	(rtag_dirproc): same.
99432785Speter
99532785Speter	* sanity.sh: change all old test cases to use pass and fail
99632785Speter	functions rather than doing some combination of echo and exit
99732785Speter	themselves.
99832785Speter
99932785Speter	* commit.c (commit_direntproc): remove the "warm fuzzy" -- this
100032785Speter	code never gets called when running in client/server mode, and we
100132785Speter	should have CVS' output match as much as possible between the two
100232785Speter	modes.  Moreover, there is no analogous place to put this same
100332785Speter	message when we're running in c/s mode.
100432785Speter	(find_direntproc): print the same "fuzzy" as in check_direntproc
100532785Speter	so that local and c/s mode have the same messages.
100632785Speter	* sanity.sh (187a3): update test case to reflect the above.
100732785Speter
100832785SpeterThu Oct  9 10:57:02 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
100932785Speter
101032785Speter	* parseinfo.c (parse_config): Add comment about compatibility
101132785Speter	issues with adding keywords.
101232785Speter
101332785SpeterWed Oct  8 16:40:37 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
101432785Speter
101532785Speter	* recurse.c (do_dir_proc), commit.c (check_direntproc,
101632785Speter	commit_direntproc, find_dirent_proc): If this
101732785Speter	directory doesn't exist, skip it.
101832785Speter	* diff.c (diff_dirproc): Reindent.
101932785Speter	* sanity.sh (deep-4b0a, deep-4b0b): Check for this fix.
102032785Speter
102132785SpeterThu Sep 26 16:30:00 1997  Larry Jones <larry.jones@sdrc.com>
102232785Speter	and Jim Kingdon  <kingdon@harvey.cyclic.com>
102332785Speter
102432785Speter	* update.c (checkout_file): Don't set timestamp in noexec mode.
102532785Speter	* vers_ts.c (Version_TS): Add comment about ignoring errors from
102632785Speter	utime.
102732785Speter	* sanity.sh (conflicts3): New tests, for this fix.
102832785Speter
102932785SpeterFri Oct  3 09:47:04 1997  Noel Cragg  <noel@swish.red-bean.com>
103032785Speter
103132785Speter	* sanity.sh (168): use PROG instead of CVSBASE, since they are
103232785Speter 	equal.
103332785Speter	(importb-2): refer to PROG instead of "cvs" in error message.
103432785Speter
103532785Speter	* add.c (add): use PROGRAM_NAME in the error message rather than
103632785Speter 	"cvs".
103732785Speter	* classify.c (Classify_File): same.
103832785Speter	* commit.c (find_fileproc): same.
103932785Speter	* sanity.sh: change all add notification messages to refer to PROG
104032785Speter 	rather than "cvs".  Fixed nasty quoting in several places at the
104132785Speter 	same time, replacing older "'command'" forms with newer
104232785Speter 	".command." for simplicity.
104332785Speter
104432785SpeterSat Sep 27 01:37:10 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
104532785Speter
104632785Speter	* sanity.sh (rcslib-merge-8): Accept "P file1" as well as "U file1".
104732785Speter
104832785SpeterFri Sep 26 22:24:10 1997  Noel Cragg  <noel@swish.red-bean.com>
104932785Speter
105032785Speter	* create_adm.c (Create_Admin): assign our duplicate pointer `cp'
105132785Speter 	after the xrealloc of `reposcopy' because the latter might have
105232785Speter 	changed addresses.
105332785Speter
105432785SpeterFri Sep 26 14:25:59 1997  Tim Pierce  <twp@twp.tezcat.com>
105532785Speter
105632785Speter	* run.c (call_diff): Don't reset optind; this is done by diff_run now.
105732785Speter
105832785Speter	Librarify rcsmerge/diff3.
105932785Speter	* rcscmds.c, cvs.h (RCS_merge): Rewritten from scratch: check out
106032785Speter	selected files and diff3 them.  Take new `rcs' and `workfile'
106132785Speter	arguments, so we can resolve symbolic tags and manipulate the
106232785Speter	working file.
106332785Speter	* update.c (merge_file, join_file): Update RCS_merge calls.
106432785Speter	* run.c, cvs.h (call_diff3): New function.
106532785Speter
106632785Speter	* sanity.sh (rcslib): New tests, rcslib-merge-{1..13}.
106732785Speter
106832785SpeterFri Sep 26 22:59:56 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
106932785Speter
107032785Speter	* create_adm.c (Create_Admin): Fix thinko in Noel's change: keep
107132785Speter	track of the originally allocated "cp" and free it, rather than
107232785Speter	calling free on a pointer which may point halfway into the allocation.
107332785Speter	* repos.c (Sanitize_Repository_Name): Per HACKING, assert that
107432785Speter	repository != NULL, rather than just silently returning if NULL.
107532785Speter	Reindent a line.
107632785Speter
107732785SpeterFri Sep 26 15:40:00 1997  Noel Cragg  <noel@swish.red-bean.com>
107832785Speter
107932785Speter	* sanity.sh (modules): add tests modules-[123]* that make sure the
108032785Speter 	administrative files get rebuilt in various cases.
108132785Speter
108232785Speter	* add.c (combine_dir): removed function, since we no longer need
108332785Speter 	to worry about stripping the "." path element out.  Changed the
108432785Speter 	two callers to simply concatenate their two arguments.
108532785Speter
108632785Speter	* recurse.c (do_dir_proc): don't bother trying to strip off "." in
108732785Speter 	the repository name since the below changes fix that behavior --
108832785Speter 	simply concatenate the repository and directory names together.
108932785Speter
109032785Speter	* checkout.c (checkout_proc): sanitize the repository name after
109132785Speter 	constructing it (we may create "/path/to/repos/.", but we don't
109232785Speter 	want that to be passed around).  Remove the code that tacks on
109332785Speter 	"/." when constructing top_repository, since the below changes fix
109432785Speter 	that behavior.  Added comments to the part of this function that
109532785Speter 	builds administrative files.
109632785Speter
109732785Speter	* sanity.sh (basicb): now that the below weirdness is fixed, the
109832785Speter 	extra "." path element in test basicb-0c doesn't appear when a
109932785Speter 	top-level file is checked out.  Remove it from the expect string.
110032785Speter
110132785Speter	* create_adm.c (Create_Admin): now that the repository name isn't
110232785Speter 	floating around with "." as the last path element, make creation
110332785Speter 	of the top-level administrative files a special case -- save the
110432785Speter 	repository name as "/path/to/repos/."  Why?  I considered not
110532785Speter 	including the "." but didn't know how it would affect the remote
110632785Speter 	protocol when RELATIVE_REPOS was defined (do we have a way of
110732785Speter 	sending "" via the protocol?).  After I make sure that the
110832785Speter 	RELATIVE_REPOS patches still work, I'll check the "" possibility
110932785Speter 	so we don't have to have a this special case.
111032785Speter
111132785Speter	* repos.c (Sanitize_Repository_Name): new function that removes
111232785Speter 	(if present) the trailing slash and "." component from the
111332785Speter 	repository name.  Many routines break if we don't guarantee this.
111432785Speter  	See the comment before the function for complete information.
111532785Speter	(Name_Repository): call Sanitize_Repository_Name before returning
111632785Speter 	the value.
111732785Speter	* cvs.h: add prototype for Sanitize_Repository_Name.
111832785Speter
111932785SpeterFri Sep 26 14:19:25 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
112032785Speter
112132785Speter	* cvs.h (CVS_CMD_USES_WORK_DIR): Fix comment (the sense of the
112232785Speter	flag is not reversed from what it would seem; when I thought so it
112332785Speter	was because I was misreading the lookup_command_attribute code).
112432785Speter
112532785SpeterThu Sep 25 23:14:47 1997  Noel Cragg  <noel@swish.red-bean.com>
112632785Speter
112732785Speter	* parseinfo.c (Parse_Info): fix typo in the trace message.
112832785Speter
112932785SpeterThu Sep 25 14:22:54 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
113032785Speter
113132785Speter	* build_src.com: Also link with diff.olb.
113232785Speter
113332785Speter	* main.c (Make_Date): If gmtime returns NULL, try localtime.
113432785Speter
113532785SpeterWed Sep 24 19:18:40 1997  Noel Cragg  <noel@swish.red-bean.com>
113632785Speter
113732785Speter	* checkout.c (checkout): fix typo in comment.
113832785Speter
113932785SpeterWed Sep 24 08:31:46 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
114032785Speter
114132785Speter	* update.c (patch_file): Revise comments about diff -a now that
114232785Speter	diff is librarified.
114332785Speter
114432785SpeterSun Sep 21 21:28:26 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
114532785Speter
114632785Speter	* run.c (call_diff): Sleep for a second, in hopes of helping with
114732785Speter	out of order bugs.
114832785Speter
114932785SpeterSat Sep 20 07:19:18 1997  Tim Pierce  <twp@twp.tezcat.com>
115032785Speter
115132785Speter	Integrate diff library into CVS.
115232785Speter	* run.c, cvs.h (call_diff): New function.
115332785Speter	* rcscmds.c (diff_exec, diff_execv): Get diffs from call_diff
115432785Speter	instead of running diff as a subprocess.
115532785Speter	* Makefile.in (cvs): Add ../diff/libdiff.a.
115632785Speter
115732785Speter	* diff.c (longopts, diff): Use 131 for --ifdef, fixing Jim's thinko
115832785Speter	(using 147 for both --side-by-side and --ifdef).
115932785Speter
116032785Speter	* sanity.sh (rcslib): Added tests rcslib-diffrgx-*, to test
116132785Speter	handling of regex diff options.
116232785Speter
116332785Speter1997-09-21  Jim Kingdon  <kingdon@harvey.cyclic.com>
116432785Speter
116532785Speter	(Note that this requires that DIFF support -L.  I'll be checking
116632785Speter	in a fix to that in a moment, but I wanted separate checkins in
116732785Speter	case that helps with clarity).
116832785Speter	Tweaks to rcsdiff librarification:
116932785Speter	* sanity.sh (rcslib): Change "cvs" to "${PROG}" and subcommand
117032785Speter	names (e.g. "add") to "[a-z]*".  Former should deal with ${testcvs}
117132785Speter	being "cvs.old" or something; latter fixes make remotecheck.
117232785Speter	* rcs.c (make_file_label): Take into account strlen (rev) when
117332785Speter	allocating space.  Removes a FIXME and probably fixes a buffer
117432785Speter	overrun security hole.
117532785Speter	* rcscmds.c (RCS_exec_rcsdiff): Remove #if 0'd code to call
117632785Speter	rcsdiff.  Tim says he has compared the new code with rcsdiff code
117732785Speter	and is confident that the behavior is preserved, so we need to
117832785Speter	nuke the comment which says this has not been done.  #if 0 isn't
117932785Speter	really a very good way to document the way it used to work anyway;
118032785Speter	the old code is still in CVS.
118132785Speter	* diff.c: Add comment about rcsdiff options that we don't support,
118232785Speter	which Tim had sent in email.  Remove -T and -y, as the
118332785Speter	previous meaning had been very confused.
118432785Speter
118532785Speter1997-09-21  Tim Pierce  <twp@xochi.tezcat.com>
118632785Speter
118732785Speter	Librarify rcsdiff.
118832785Speter
118932785Speter	* diff.c (have_rev1_label, have_rev2_label): New variables.
119032785Speter	(diff): Generate file labels with make_file_label if necessary;
119132785Speter	pass labels, revisions and working file name to RCS_exec_rcsdiff.
119232785Speter	* rcscmds.c, cvs.h (RCS_exec_rcsdiff): Completely revised function
119332785Speter	to eliminate rcsdiff dependency, based on patch from JimK.
119432785Speter	(diff_execv): New function, to exec diff with explicit -L args.
119532785Speter	* rcs.c, rcs.h (make_file_label): New function.
119632785Speter	(RCS_output_diff_options): New function.
119732785Speter	* sanity.sh (rcslib): New test.
119832785Speter
119932785SpeterFri Sep 19 15:08:08 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
120032785Speter
120132785Speter	* rcs.c (RCS_nodeisbranch): Assert that RCS is non-NULL.
120232785Speter	* commit.c (remove_file), rcs.c (RCS_getversion), rtag.c
120332785Speter	(rtag_fileproc), status.c (status_fileproc, tag_list_proc), tag.c
120432785Speter	(tag_fileproc): Call RCS_nodeisbranch not RCS_isbranch
120532785Speter	in contexts where we know the RCS argument is non-NULL.
120632785Speter
120732785Speter	* commit.c (find_fileproc): Pass tag not NULL to Version_TS for
120832785Speter	the tag.
120932785Speter	* vers_ts.c (Version_TS): Improve (somewhat) the introductory
121032785Speter	comment.
121132785Speter	* sanity.sh (editor): New test editor-9 tests for above fix.
121232785Speter	Renumber/tweak surrounding tests to fit.
121332785Speter
121432785Speter	* log.c (log_version): If p->data is NULL, it is an empty log
121532785Speter	message.
121632785Speter	* sanity.sh (rcs-14): New test, tests for above fix (previously
121732785Speter	this was a coredump).
121832785Speter
121932785SpeterThu Sep 18 08:45:05 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
122032785Speter
122132785Speter	* sanity.sh (rcs-7): Fix stupid ${TESTDIR} omission.
122232785Speter
122332785SpeterWed Sep 17 16:27:41 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
122432785Speter
122532785Speter	* sanity.sh (rcs): New tests rcs-5 through rcs-13 test for
122632785Speter	getdate.y fix (rcs-12 and rcs-13 both failed with the buggy
122732785Speter	getdate.y).
122832785Speter
122932785SpeterTue Sep 16 00:07:17 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
123032785Speter
123132785Speter	* sanity.sh (editor): Clean up first-dir at end of test.
123232785Speter
123332785Speter	* sanity.sh (editor): New tests test do_editor.
123432785Speter
123532785Speter	* commit.c (commit): For the client, if we got the log message
123632785Speter	from do_editor and there was an error, don't toss the message.
123732785Speter
123832785SpeterMon Sep 15 14:27:54 1997  martin.sjoelin@ubs.com
123932785Speter	and Jim Kingdon  <kingdon@harvey.cyclic.com>
124032785Speter
124132785Speter	* rcs.c (RCS_checkout): fwrite in bite-size pieces, not the whole
124232785Speter	file in one fwrite.
124332785Speter
124432785SpeterSun Sep 14 12:23:15 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
124532785Speter
124632785Speter	* commit.c (check_fileproc): If the file has "conflict
124732785Speter	indicators", spit a warning and proceed with the checkin.
124832785Speter	* sanity.sh (conflicts): Adjust tests conflicts-132,
124932785Speter	conflicts-status-3, conflicts-133, and conflicts-status-4
125032785Speter	for new behavior.
125132785Speter
125232785SpeterFri Sep 12 11:12:34 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
125332785Speter
125432785Speter	* add.c, admin.c, checkin.c, checkout.c, classify.c, commit.c,
125532785Speter	create_adm.c, cvsrc.c, diff.c, entries.c, find_names.c, hash.c,
125632785Speter	import.c, lock.c, log.c, logmsg.c, main.c, modules.c, myndbm.c,
125732785Speter	no_diff.c, parseinfo.c, patch.c, rcs.c, rcscmds.c, recurse.c,
125832785Speter	remove.c, repos.c, root.c, rtag.c, status.c, subr.c, tag.c,
125932785Speter	update.c, vers_ts.c, hash.h, rcs.h, options.h.in: Change "CVS 1.4
126032785Speter	kit" to "CVS source distribution".
126132785Speter
126232785Speter	* sanity.sh: Comment out call to "whoami".
126332785Speter
126432785SpeterThu Sep 11 10:09:04 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
126532785Speter
126632785Speter	* commit.c (classify_file_internal): Add comment about saving
126732785Speter	quiet vs. saving really_quiet.
126832785Speter
126932785Speter	* sanity.sh (newb-123j0): Use two regexps instead of assuming that
127032785Speter	expr has "\(", "\|", and "\)".  If we want to require the latter,
127132785Speter	we should check for it up front, rather than let people get
127232785Speter	halfway through and wonder why the test failed.
127332785Speter
127432785SpeterTue Sep  9 19:22:44 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
127532785Speter
127632785Speter	* expand_path.c (expand_path): If GETPWNAM_MISSING is defined,
127732785Speter	just give an error instead of calling getpwnam.
127832785Speter
127932785Speter	* subr.c (getcaller): If SYSTEM_GETCALLER is defined, call it
128032785Speter	instead of all the getlogin/getpwuid/etc.
128132785Speter	* wrapper.c (wrap_setup): Call get_homedir not getpwuid.
128232785Speter
128332785SpeterMon Sep  8 17:54:14 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
128432785Speter
128532785Speter	* sanity.sh (basicc): Change ls -1 to echo *; according to
128632785Speter	larry.jones@sdrc.com, ls -1 isn't portable.
128732785Speter
128832785SpeterSun Sep  7 07:45:35 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
128932785Speter
129032785Speter	* sanity.sh (basic2): In test basic2-64, match usernames with
129132785Speter	${username}.
129232785Speter
129332785Speter	* root.c: Reindent a few things.
129432785Speter	* root.c, cvs.h (same_directories): Remove.  Never used,
129532785Speter	portability hassle.
129632785Speter
129732785Speter	* add.c (add_directory): When checking for CVSADM, call fncmp not
129832785Speter	strcmp.  I actually suspect this code doesn't do much these days,
129932785Speter	but fncmp clearly will make more sense than strcmp.
130032785Speter
130132785Speter	* rtag.c (rtag_usage), tag.c (tag_usage): Reword to hopefully be
130232785Speter	clearer that -r takes either numeric or symbolic revision.
130332785Speter
130432785Speter	* ignore.c (ign_dir_add, ignore_directory): Reindent.  Tweaks to
130532785Speter	comments.
130632785Speter
130732785Speter	* update.c (checkout_file): Only ignore existence_error from
130832785Speter	unlink_file_dir, not all errors.
130932785Speter
131032785Speter	* checkout.c (safe_location): Check for errors from xgetwd.
131132785Speter	* create_adm.c (Create_Admin): Remove call to xgetwd; it is just
131232785Speter	debugging code anyway and it wasn't checking for errors.
131332785Speter
131432785Speter	* sanity.sh: Add comment about default value for TESTDIR.
131532785Speter
131632785Speter	* server.c (serve_log): Change "cvslog" to "log".  This
131732785Speter	(accidental, I presume) error had made it impossible for anonymous
131832785Speter	users to run "cvs log".
131932785Speter
132032785Speter	* classify.c (sticky_ck): Change to take an finfo argument rather
132132785Speter	than several arguments taken from there.  Cleans up the way the
132232785Speter	calling convention had depended on SERVER_SUPPORT.
132332785Speter	(Classify_File): Change callers.
132432785Speter
132532785Speter	* version.c: Change version number to 1.9.17.
132632785Speter
132732785Speter	* Version 1.9.16.
132832785Speter
132932785Speter	* recurse.c (do_dir_proc): In combining repository and dir, omit
133032785Speter	trailing "/." from repository.
133132785Speter	* sanity.sh (modules3): Adjust test modules3-4 so we test for
133232785Speter	this fix (this is not just cosmetic; the bug prevented the
133332785Speter	"Rebuilding administrative file database" from happening).
133432785Speter	modules2 already tests the "co CVSROOT/modules" usage.
133532785Speter
133632785Speter	* checkout.c (checkout_proc): When building top-level CVSADM
133732785Speter	directory, continue the process of walking up the repository one
133832785Speter	more level, rather than putting in the same repository as for the
133932785Speter	first-level directory.
134032785Speter	* sanity.sh: Adjust tests basicb-1b, basicb-9b, modules3-7f,
134132785Speter	toplevel-9, and toplevel-11 to test for this fix.
134232785Speter
134332785Speter	(For reference, this takes CVS's text segment from 344460 to
134432785Speter	344140 bytes.  I know, this may seem unimportant, but it is so
134532785Speter	unusual for programs to shrink and I think it is so cool when they
134632785Speter	do without losing functionality/clarity/etc).
134732785Speter	* checkout.c, cvs.h (emptydir_name): New function.
134832785Speter	* checkout.c (checkout, checkout_proc), modules.c (do_module):
134932785Speter	Call it instead of duplicating the code to do that.
135032785Speter
135132785Speter	* sanity.sh (basicc): Clean up first-dir at end of test.
135232785Speter
135332785SpeterSat Sep  6 09:48:39 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
135432785Speter
135532785Speter	* sanity.sh (join): Fix cut and paste error in join-28
135632785Speter	(/home/kingdon/... -> ${TESTDIR}).
135732785Speter
135832785Speter	* recurse.c (start_recursion): If there is no CVSADM and no
135932785Speter	subdirectories, give an error.
136032785Speter	* sanity.sh (basicc): New tests, test for this fix.
136132785Speter
136232785Speter	* sanity.sh (join): New tests join-25 through join-29 test merging
136332785Speter	from one branch to a different branch.
136432785Speter
136532785Speter	* release.c: In comment about CVSROOTADM_IGNORE, also mention
136632785Speter	comment just added to entries.c.
136732785Speter	* entries.c: Expand this comment, especially the part about
136832785Speter	CVS/Template.
136932785Speter
137032785Speter	Keep track of what revisions CVS/Base correspond to:
137132785Speter	* cvs.h (CVSADM_BASEREV, CVSADM_BASEREVTMP): Added.
137232785Speter	* entries.c, cvs.h (base_register, base_deregister, base_get,
137332785Speter	base_walk): New functions.
137432785Speter	* edit.c (edit_fileproc): Call base_register when setting up CVS/Base.
137532785Speter	(unedit_fileproc): When taking a file out of CVS/Base, put its
137632785Speter	revision back into entries, and base_deregister it.
137732785Speter	* sanity.sh (watch4): New tests watch4-10 through watch4-18 test
137832785Speter	for above fix.
137932785Speter
138032785SpeterFri Sep  5 09:14:10 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
138132785Speter
138232785Speter	* client.c: Only declare start_rsh_server if we are going to
138332785Speter	define it (!NO_EXT_METHOD).
138432785Speter
138532785Speter	* subr.c, cvs.h (check_numeric): New function.
138632785Speter	* admin.c (admin): Call it.
138732785Speter	* sanity.sh (admin): New tests admin-10a and admin-10b test for fix.
138832785Speter
138932785SpeterThu Sep  4 15:55:39 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
139032785Speter
139132785Speter	* sanity.sh (binwrap2): New tests, test for the ability to specify
139232785Speter	all files are binary except certain patterns.
139332785Speter
139432785Speter	* sanity.sh (modules3): New tests modules3-16 and modules3-17 test
139532785Speter	for another behavior involving '/' in a module name.
139632785Speter
139732785SpeterSun Aug 31 12:03:15 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
139832785Speter
139932785Speter	* add.c (add): Remove checks for '/' in pathnames.
140032785Speter	(add): Move code which handles entries and repository inside loop,
140132785Speter	since these now might be different for each argument.  Add code to
140232785Speter	set finfo.update_dir, finfo.file, and finfo.fullname appropriately
140332785Speter	even if pathname contains '/'.  Replace user variable with
140432785Speter	finfo.file or finfo.fullname, depending on which is meant.  chdir
140532785Speter	into update_dir for each argument.  Likewise for the client code
140632785Speter	which creates directories.
140732785Speter	(add_directory): Replace arguments with a single finfo argument.
140832785Speter	Replace dir with finfo->fullname as needed.
140932785Speter	(add): Update call to add_directory.
141032785Speter	* client.c, client.h (send_a_repository): No longer static.
141132785Speter	* sanity.sh (errmsg2): Adjust tests to test for '/' in pathname.
141232785Speter
141332785Speter	* sanity.sh (errmsg2): New tests errmsg2-13 through errmsg2-16
141432785Speter	test the status quo with respect to '/' in cvs add argument.
141532785Speter
141632785SpeterSat Aug 30 17:37:29 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
141732785Speter
141832785Speter	* run.c (run_popen): Add comment on return value.
141932785Speter	* release.c (release): Check for NULL return from popen.
142032785Speter
142132785SpeterFri Aug 29 17:49:20 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
142232785Speter
142332785Speter	* client.c (get_server_responses): Add comment about "ok^M".
142432785Speter
142532785SpeterThu Aug 28 13:35:12 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
142632785Speter
142732785Speter	* edit.c (edit_fileproc): If file doesn't exist, give an error.
142832785Speter	* sanity.sh (devcom2): Tests devcom2-12 through devcom2-17 test
142932785Speter	for above fix.
143032785Speter
143132785SpeterTue Aug 26 16:42:28 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
143232785Speter
143332785Speter	* subr.c (xmalloc): Reword error message to clarify that memory,
143432785Speter	not disk space or some other resource, is in question.
143532785Speter
143632785SpeterTue Aug 26 01:04:48 1997  Steve Ralston <sralston@ppdpost.ks.symbios.com>
143732785Speter	and Jim Kingdon  <kingdon@harvey.cyclic.com>
143832785Speter
143932785Speter	* add.c (add_directory): In allocating message, also allocate
144032785Speter	enough for tag and date related text.
144132785Speter
144232785SpeterTue Aug 26 01:04:48 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
144332785Speter
144432785Speter	* update.c (update_dirent_proc): Use update_dir not dir in "new
144532785Speter	directory" message.
144632785Speter	* find_names.c (find_dirs): Skip CVSNULLREPOS.
144732785Speter	(Find_Directories): Add comment about find_dirs skipping CVSATTIC
144832785Speter	and CVSLCK in working directories.
144932785Speter	* sanity.sh (basicb): New tests basicb-edir-* test for find_dirs
145032785Speter	fix.  Change other tests to test that Emptydir is not special in
145132785Speter	non-CVSNULLREPOS contexts.
145232785Speter
145332785SpeterSun Aug 17 14:44:57 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
145432785Speter
145532785Speter	* import.c (add_rcs_file): Add comment about -k overriding wrappers.
145632785Speter
145732785SpeterSat Aug 16 18:09:05 1997   Martin Sjoelin <martin.sjoelin@ubs.ch>
145832785Speter	and Jim Kingdon  <kingdon@harvey.cyclic.com>
145932785Speter
146032785Speter	* import.c (add_rcs_file): Before opening the input file
146132785Speter	when importing, if options is binary, open the file in
146232785Speter	binary mode.
146332785Speter
146432785Speter1997-08-16  enami tsugutomo  <enami@ba2.so-net.or.jp>
146532785Speter
146632785Speter	* sanity.sh (mcopy): Unset CVSWRAPPERS last of all.
146732785Speter
146832785SpeterFri Aug 15 11:11:44 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
146932785Speter
147032785Speter	* add.c (add_directory): Copy default file attributes from the
147132785Speter	parent directory to the directory we are creating.
147232785Speter	* fileattr.h, fileattr.c (fileattr_getall, fileattr_setall):
147332785Speter	New functions, in support of above.
147432785Speter	* fileattr.c (fileattr_free): Add comment about fileattr_write
147532785Speter	maybe not clearing attrs_modified.
147632785Speter	* sanity.sh (watch4): New test, tests for above fix.
147732785Speter
147832785SpeterThu Aug 14 11:08:40 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
147932785Speter
148032785Speter	* update.c (merge_file, join_file): If wrap_merge_is_copy, treat
148132785Speter	files as nonmergeable (as we had been treating binary files).
148232785Speter	(join_file, update_fileproc): Remove previous wrap_merge_is_copy
148332785Speter	cruft.
148432785Speter	* sanity.sh (mcopy): New tests, test for above fix.
148532785Speter	(binfiles2): New tests binfiles2-9a-* correct an oversight.
148632785Speter	(binfiles, binfiles2): Adjust to reflect wording change from
148732785Speter	"binary file" to "nonmergeable file".
148832785Speter	(mwrap): Adjust tests mwrap-8 through mwrap-10 for new behavior.
148932785Speter
149032785Speter	* main.c (main): Reword copyright notices to include the latest
149132785Speter	year, to refer to "other authors" in addition to the ones listed,
149232785Speter	and to be more concisely formatted.
149332785Speter
149432785SpeterWed Aug 13 13:50:00 1997  Larry Jones  <larry.jones@sdrc.com>
149532785Speter
149632785Speter	* sanity.sh: Replace hard-coded directory with ${TESTDIR}, add
149732785Speter	join3 to default tests
149832785Speter
149932785SpeterWed Aug 13 11:42:24 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
150032785Speter
150132785Speter	* rcscmds.c: Adjust comment to reflect progress on removing RCS
150232785Speter	execs outside this file.
150332785Speter
150432785SpeterMon Aug 11 10:14:47 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
150532785Speter
150632785Speter	* vers_ts.c (Version_TS): If vers_ts->vn_rcs == NULL, skip setting
150732785Speter	modification time in server case as well as local case.
150832785Speter	* server.c (server_modtime): Add assertion to clarify that caller
150932785Speter	must assure that vers_ts->vn_rcs != NULL.
151032785Speter	* sanity.sh (join3): Add file "file2" to test for above fix.
151132785Speter
151232785Speter	* modules.c (save_d): When parsing -s option, don't assume that
151332785Speter	we will hit a space before we hit the '\0'.
151432785Speter	(struct sortrec): Document allocation policies (status quo except
151532785Speter	status field is now malloc'd).
151632785Speter	(cat_module): No longer need to set the '\0' at the end of the
151732785Speter	status field back to ' ', as it no longer shares storage with the
151832785Speter	rest field.
151932785Speter	* sanity.sh (modules): Add "statusmod" to test for above fix.
152032785Speter
152132785SpeterSun Aug 10 12:18:31 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
152232785Speter
152332785Speter	* sanity.sh: Remove TODO item about more keyword expansion tests.
152432785Speter	The keyword test and others cover it pretty well, and such an item
152532785Speter	isn't useful unless it is specific.
152632785Speter
152732785Speter	* sanity.sh (importb): New tests test "cvs import -b".
152832785Speter
152932785Speter	* mkmodules.c: Update comment with more reasons why having
153032785Speter	CVSROOT/passwd be a regular administrative file would be a Bad
153132785Speter	Idea.
153232785Speter
153332785Speter	* server.c (switch_to_user): Add comment about checking for errors
153432785Speter	from setuid and friends.
153532785Speter
153632785SpeterWed Aug  6 13:48:29 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
153732785Speter
153832785Speter	* main.c (main): Add comment about errors writing CVS/Root in
153932785Speter	need_to_create_root code.
154032785Speter
154132785SpeterTue Aug  5 22:05:20 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
154232785Speter
154332785Speter	* entries.c (write_entries): If trouble writing Entries.Backup,
154432785Speter	make it a warning not an error.
154532785Speter
154632785SpeterWed Jul 30 08:42:04 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
154732785Speter
154832785Speter	* parseinfo.c (parse_config): If AUTH_SERVER_SUPPORT is not
154932785Speter	defined, don't set system_auth.
155032785Speter
155132785Speter	* version.c: Change version number to 1.9.15.
155232785Speter
155332785Speter	* Version 1.9.14.
155432785Speter
155532785Speter	* create_adm.c, cvs.h (Create_Admin): If new argument WARN is set,
155632785Speter	then make creating the CVS directory itself a warning not a fatal
155732785Speter	error.  New return value indicates whether we did this.
155832785Speter	* checkout.c (build_one_dir), client.c (call_in_directory):
155932785Speter	Pass WARN as one.
156032785Speter	* add.c, client.c, checkout.c, modules.c, update.c: Pass WARN as
156132785Speter	zero for all other Create_Admin callers.
156232785Speter	* sanity.sh (toplevel): New test toplevel-12 tests for this fix.
156332785Speter	* filesubr.c (mkdir_if_needed): Also check EACCES/isdir.  Needed
156432785Speter	to make toplevel-12 test work.
156532785Speter
156632785Speter	* sanity.sh (toplevel): New test toplevel-11 and friends test for
156732785Speter	another variation of the toplevel-9 bug.
156832785Speter
156932785SpeterTue Jul 29 12:11:16 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
157032785Speter
157132785Speter	* login.c (construct_cvspass_filename): Revert this change.  The
157232785Speter	main reason is procedural; Karl is not a current CVS developer.
157332785Speter	The other thing is that the new text doesn't say anything about
157432785Speter	HOMEDRIVE and HOMEPATH.
157532785Speter
157632785SpeterTue Jul 29 11:36:22 1997  Karl Fogel  <kfogel@harvey.cyclic.com>
157732785Speter
157832785Speter	* login.c (construct_cvspass_filename): error message informs user
157932785Speter	she may need to set HOME environment variable by hand.
158032785Speter
158132785SpeterSun Jul 27 15:36:44 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
158232785Speter
158332785Speter	* admin.c (admin): Remove comment "XXX send -ko too with i = 0".
158432785Speter	It turns out to be a description of a bugfix which was applied on
158532785Speter	8 Oct 1995, and never should have been in a comment in the first
158632785Speter	place.
158732785Speter
158832785Speter	* admin.c (admin, admin_fileproc): Parse options ourself rather
158932785Speter	than blindly passing them to RCS.
159032785Speter	Accordingly, add struct admin_data and function arg_add, and delete
159132785Speter	global variables ac and av.
159232785Speter	* sanity.sh (admin): Change admin-3 test to reflect cvs admin -i
159332785Speter	now being an error.
159432785Speter	(basicb): Change basicb-21 test to relect the improved error
159532785Speter	message here.
159632785Speter
159732785SpeterSat Jul 26 11:34:51 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
159832785Speter
159932785Speter	* sanity.sh (join3): New tests, test a new branch topology and
160032785Speter	greatest common ancestor.
160132785Speter
160232785SpeterFri Jul 25 09:51:49 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
160332785Speter
160432785Speter	* server.c (serve_directory): Repository must start with
160532785Speter	CVSroot_directory rather than some random pathname.
160632785Speter
160732785Speter	* remove.c (remove_fileproc): If there is a numeric sticky tag,
160832785Speter	don't allow the remove.
160932785Speter	* commit.c (check_fileproc): Add comment about this case.
161032785Speter	* sanity.sh (sticky): New tests sticky-15 through sticky-23
161132785Speter	test for this behavior and the analogous behavior with
161232785Speter	non-branch sticky tags (which is unchanged).
161332785Speter
161432785Speter	* client.c (update_entries): Clear the stored mode, modtime, and
161532785Speter	checksum even on an error.
161632785Speter	* sanity.sh (contents2-142d*): Also test cvs status.  Also test
161732785Speter	the case in which the contents of the file are unchanged.  Also
161832785Speter	test running diff to see the conflict, and resolving the conflict.
161932785Speter	Without the fix above, the new contents2-142d2 test would get a
162032785Speter	"duplicate Mod-time" warning.
162132785Speter
162232785SpeterThu Jul 24 13:29:15 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
162332785Speter
162432785Speter	* server.c (pserver_authenticate_connection): Call parse_config
162532785Speter	here too.
162632785Speter	* parseinfo.c (parse_config): If we are called several times, the
162732785Speter	times beyond the first do nothing.
162832785Speter	* cvs.h, parseinfo.c (parse_config): New argument cvsroot.
162932785Speter	* server.c, main.c: Update callers.
163032785Speter	* server.c, server.h (system_auth): New variable.
163132785Speter	* parseinfo.c (parse_config): Parse new keyword SystemAuth.
163232785Speter	* mkmodules.c (config_contents): Add comments for SystemAuth.
163332785Speter	* server.c (check_password): If !system_auth, then skip the check
163432785Speter	for a system username/password.
163532785Speter
163632785Speter	* main.c (main): No fatal error if parse_config returned an error.
163732785Speter	* server.c (serve_root): Likewise.
163832785Speter	* error.c (error): Add comment about calling from the server.
163932785Speter	* parseinfo.c, cvs.h (parse_config): Remove NOERR crock.
164032785Speter	Closer reading of server.c makes it seem like calling error
164132785Speter	here is OK after all.
164232785Speter	* sanity.sh (config): New test, tests for above fix.
164332785Speter
164432785Speter	* server.c (serve_root): Fix typo ("doign" -> "doing").
164532785Speter
164632785SpeterWed Jul 23 13:55:09 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
164732785Speter
164832785Speter	* vers_ts.c (Version_TS): If entdata is for a directory, don't set
164932785Speter	vn_user and friends.
165032785Speter	* server.c (dirswitch): Add comment about why Subdir_Register is
165132785Speter	sometimes a noop here.
165232785Speter	* cvs.h (struct vers_ts): Fix comments about NULL vs. "" in vn_user.
165332785Speter	* sanity.sh (errmsg2): New tests errmsg2-10 through errmsg2-12 test
165432785Speter	for above fix.
165532785Speter	* add.c (add_directory): Call cvs_output not printf.  This fixes
165632785Speter	an out-of-order bug which was showing up in the testcase.
165732785Speter
165832785Speter21 Jul 1997  Jim Kingdon
165932785Speter
166032785Speter	* subr.c (get_file): Put st_size into an unsigned variable to
166132785Speter	avoid signed/unsigned warnings.
166232785Speter
166332785SpeterMon Jul 21 00:19:30 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
166432785Speter
166532785Speter	* version.c: Change version number to 1.9.13.
166632785Speter
166732785Speter	* Version 1.9.12.
166832785Speter
166932785Speter	* sanity.sh (toplevel, head): Delete our files from the repository
167032785Speter	when done with them.
167132785Speter
167232785SpeterSun Jul 20 15:53:08 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
167332785Speter
167432785Speter	* sanity.sh (admin, reserved): New tests, test most cvs admin
167532785Speter	behaviors.
167632785Speter	(log2): New tests log2-5 through log2-10 test setting the
167732785Speter	description via cvs admin.
167832785Speter
167932785SpeterThu Jul 17 12:39:27 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
168032785Speter
168132785Speter	* client.c (socket_buffer_input, socket_buffer_output): Add
168232785Speter	comment regarding size of of buffer we pass to send and recv.
168332785Speter
168432785SpeterSat Jul 12 15:21:24 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
168532785Speter
168632785Speter	* import.c, rcs.h (add_rcs_file): New argument key_opt replaces
168732785Speter	access to global variable keyword_opt.  New arguments desctext and
168832785Speter	desclen allow one to set the description.  If add_vhead is NULL,
168932785Speter	then omit a revision, like rcs -i.
169032785Speter	* import.c (process_import_file), mkmodules.c (init): Change
169132785Speter	callers.
169232785Speter	* subr.c, cvs.h (get_file): New function, adapted from code in
169332785Speter	update_entries.
169432785Speter	* client.c (update_entries): Call it.
169532785Speter	* commit.c (checkaddfile): Create new RCS files with add_rcs_file
169632785Speter	rather than rcs -i.
169732785Speter
169832785SpeterFri Jul 11 12:14:54 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
169932785Speter
170032785Speter	* update.c (join_file): Handle binary files ourself rather than
170132785Speter	passing them to RCS_merge (which sort of tries to handle binary
170232785Speter	files, but does so badly).
170332785Speter	* sanity.sh (binfile2): New "brmod", "brmod-trmod", and
170432785Speter	"brmod-wdmod" tests test for this fix.
170532785Speter
170632785Speter	* add.c (add): Exit status is now nonzero if any of the arguments
170732785Speter	failed (already was mostly true, make it true for the new sanity
170832785Speter	check).  Move check for '/' (now ISDIRSEP) up to sanity check, so
170932785Speter	the client does it too.
171032785Speter	* sanity.sh (errmsg2): Test for this fix.
171132785Speter
171232785SpeterThu Jul 10 00:02:54 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
171332785Speter
171432785Speter	* add.c (add): Check for CVSADM, ".", and "..", and skip any
171532785Speter	attempt to add them.
171632785Speter	* sanity.sh (errmsg2): New tests, tests for above fix.
171732785Speter
171832785Speter	* main.c (main): In text printed upon --version, also refer
171932785Speter	people to --help.
172032785Speter
172132785Speter	* rcscmds.c (RCS_exec_rcsdiff): Add comment about timezones.
172232785Speter
172332785Speter	* server.c, cvs.h (cvs_output_binary): New function.
172432785Speter	* rcs.c (RCS_checkout): For a binary file, call cvs_output_binary
172532785Speter	rather than cvs_output.
172632785Speter	* client.c (handle_mbinary): New function.
172732785Speter	(responses): Add "Mbinary".
172832785Speter
172932785SpeterTue Jul  8 12:18:16 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
173032785Speter
173132785Speter	* filesubr.c (get_homedir): Add comment about root vs. user
173232785Speter	directory in pserver server.
173332785Speter
173432785SpeterMon Jul  7 14:39:33 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
173532785Speter
173632785Speter	* sanity.sh (big): Also test Rcs-diff case.
173732785Speter
173832785Speter	* client.c (update_entries): Reindent a line.
173932785Speter
174032785Speter	* sanity.sh (death2): Add comment about Sun diff.  Thanks to
174132785Speter	Warren Jones <wjones@TC.FLUKE.COM> for reporting this.
174232785Speter
174332785Speter	* client.c (update_entries): If DONT_USE_PATCH, then just treat a
174432785Speter	Patched response as an indication to try again with complete files.
174532785Speter	* update.c (update): Remove DONT_USE_PATCH ifdefs, since a CVS
174632785Speter	with DONT_USE_PATCH defined can still handle Rcs-diff.
174732785Speter	* sanity.sh (serverpatch): Add comment about this coming up in
174832785Speter	real life if the user modifies the file while CVS is running.
174932785Speter
175032785Speter	* client.c (start_server): Add comment about logfiles if there are
175132785Speter	several connections to the server.
175232785Speter	(log_buffer_shutdown): Close the logfile after shutting down the
175332785Speter	underlying buffer.  This way at least we get the last set of
175432785Speter	logfiles rather than a bizarre mishmash.
175532785Speter
175632785Speter1997-07-06  enami tsugutomo  <enami@but-b.or.jp>
175732785Speter
175832785Speter	* logmsg.c (do_verify): Unlink temporary file before call error().
175932785Speter	Remove unneeded `return' statement.  Fix comment.
176032785Speter
176132785SpeterSun Jul  6 13:36:32 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
176232785Speter
176332785Speter	* diff.c (diff_fileproc): Change message from "during rcsdiff of"
176432785Speter	to "while diffing".  For a while now, that message might be
176532785Speter	printed after a call to DIFF instead of rcsdiff.
176632785Speter
176732785Speter	* diff.c (diff_fileproc): Call cvs_output not printf.  Remove
176832785Speter	calls to fflush (should be handled now by call to cvs_outflush in
176932785Speter	recurse.c).
177032785Speter	* patch.c (patch_fileproc): Likewise.
177132785Speter
177232785Speter	* rcscmds.c, cvs.h (diff_exec): New function.
177332785Speter	* diff.c (diff_fileproc), patch.c (patch_fileproc),
177432785Speter	update.c (patch_file): Call it.
177532785Speter
177632785Speter	* rcscmds.c: Adjust comments concerning diff library to point to
177732785Speter	new, expanded comments at diff_exec.  Remove comments concerning
177832785Speter	patch library; Rcs-diff should be adequate.
177932785Speter
178032785Speter	* client.c (update_entries): Add comment about GNU patch usage (-b
178132785Speter	option and so on).
178232785Speter
178332785SpeterSat Jul  5 04:13:28 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
178432785Speter
178532785Speter	* rcscmds.c, cvs.h (RCS_exec_rcsdiff): New function.
178632785Speter	* diff.c (diff_fileproc): Call it.
178732785Speter
178832785SpeterThu Jul  3 09:50:07 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
178932785Speter
179032785Speter	* main.c (main): Add comment about how long we should keep the
179132785Speter	deprecated "cvs rlog" alias.
179232785Speter
179332785Speter	* server.c (cvs_output): Add comment about whether to fflush.
179432785Speter
179532785SpeterWed Jul  2 18:57:29 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
179632785Speter
179732785Speter	* sanity.sh (join2): New tests join2-19 and friends test for a
179832785Speter	case that we can't readily get right (see comments).
179932785Speter
180032785SpeterTue Jul  1 09:52:09 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
180132785Speter
180232785Speter	* main.c (cmd_usage): Say "specify" --help rather than the vague
180332785Speter	"use".
180432785Speter	(opt_usage, cmd_synonyms): Mention --help here too.
180532785Speter	* add.c, admin.c, checkout.c, commit.c, diff.c, edit.c, import.c,
180632785Speter	log.c, login.c, mkmodules.c, patch.c, rcs.c, release.c, remove.c,
180732785Speter	rtag.c, status.c, tag.c, update.c, watch.c: Likewise, for all the
180832785Speter	other help messages.
180932785Speter
181032785Speter	* sanity.sh (join2): New tests.
181132785Speter
181232785Speter	* repos.c (Name_Repository): Check for errors from fclose.
181332785Speter
181432785SpeterFri Jun 27 10:27:48 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
181532785Speter
181632785Speter	* scramble.c, login.c: Reindent.
181732785Speter
181832785Speter	* client.c (connect_to_pserver): Check for errors from send().
181932785Speter	If socket() fails, include SOCK_STRERROR (SOCK_ERRNO) in message.
182032785Speter
182132785SpeterWed Jun 25 11:21:52 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
182232785Speter
182332785Speter	* main.c: New option --help-options, with much of the text
182432785Speter	from --help.  Fix a few capitalization and punctuation problems.
182532785Speter	Rewrite text for --help to be an intro to all the --help-*
182632785Speter	options.
182732785Speter
182832785Speter	* sanity.sh (head): New tests, concerning meaning of HEAD.
182932785Speter
183032785SpeterTue Jun 24 10:14:18 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
183132785Speter
183232785Speter	* client.c (recv_line): New function.
183332785Speter	(connect_to_pserver): Call it, and rewrite accordingly.  Also
183432785Speter	accept new "E" and "error" responses.  Change \n to \012.
183532785Speter	* server.c (pserver_authenticate_connection): Adjust comment
183632785Speter	accordingly, concerning sending I HATE YOU not "error".
183732785Speter
183832785SpeterSun, 22 Jun 1997  Jim Kingdon
183932785Speter
184032785Speter	* main.c (main): Move setting of server_active inside #ifdef
184132785Speter	SERVER_SUPPORT; otherwise the variable doesn't exist.
184232785Speter	* main.c (main): Call return after exit to shut up warning.
184332785Speter
184432785SpeterFri Jun 20 22:56:34 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
184532785Speter
184632785Speter	* client.c (connect_to_pserver): On "I HATE YOU", give
184732785Speter	"authorization failed" fatal error regardless of verify_only.
184832785Speter	* login.c (login): Don't print that "incorrect password" message;
184932785Speter	it now is possible with an --allow-root failure as well as an
185032785Speter	incorrect password.  cvsclient.texi doesn't really specify what I
185132785Speter	HATE YOU means in any detail, and it seems a little silly for
185232785Speter	login to give different messages than the other commands.
185332785Speter	* client.c, client.h (connect_to_pserver): Return type now void.
185432785Speter
185532785SpeterThu Jun 19 12:16:10 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
185632785Speter
185732785Speter	* server.c (serve_root): Give error on duplicate Root request.
185832785Speter	Call parse_config.
185932785Speter	* parseinfo.c, cvs.h (parse_config): New function.
186032785Speter	* cvs.h (CVSROOTADM_CONFIG): Added.
186132785Speter	* main.c (main): Set server_active here...
186232785Speter	* server.c (server): ...not here.  That seems cleaner than
186332785Speter	strcmp's between command_name and "server" in main.c.
186432785Speter	* main.c (main): Call parse_config.
186532785Speter	* main.c, cvs.h (free_Rcsbin): Make global.
186632785Speter	* mkmodules.c (filelist): Add CVSROOTADM_CONFIG.
186732785Speter
186832785SpeterWed Jun 18 11:24:31 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
186932785Speter
187032785Speter	* version.c: Change version number to 1.9.11.
187132785Speter
187232785Speter	* Version 1.9.10.
187332785Speter
187432785SpeterTue Jun 17 22:48:00 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
187532785Speter
187632785Speter	* main.c (main): Add --allow-root=ROOT argument; call
187732785Speter	root_allow_add for each time it is specified.  Call
187832785Speter	root_allow_free before exiting.
187932785Speter	* root.c, cvs.h (root_allow_add, root_allow_free, root_allow_ok):
188032785Speter	New function.
188132785Speter	* server.c (pserver_authenticate_connection): If root_allow_ok
188232785Speter	doesn't like the CVSROOT directory, don't allow access.
188332785Speter
188432785SpeterTue Jun 17 14:30:14 1997  Jim Kingdon  (unknown@beezley)
188532785Speter
188632785Speter	* client.c: Add "copyright" notice.  If NO_EXT_METHOD, omit
188732785Speter	start_rsh_method.
188832785Speter	* client.c (update_entries): Cast argument to MD5Update from
188932785Speter	char * to unsigned char *.
189032785Speter
189132785SpeterMon Jun 16 16:46:28 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
189232785Speter
189332785Speter	* run.c (piped_child, filter_stream_through_program):
189432785Speter	If USE_SETMODE_BINARY, then put the pipes into binary mode.
189532785Speter	* find_names.c, ignore.c, lock.c, wrapper.c: Change fnmatch to
189632785Speter	CVS_FNMATCH.
189732785Speter	* client.c (start_server): If NO_EXT_METHOD, then give a fatal
189832785Speter	error on any use of :ext:.
189932785Speter
190032785SpeterSun Jun 15 22:30:27 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
190132785Speter
190232785Speter	* sanity.sh (toplevel): Match U CVSROOT/* lines with DOTSTAR in
190332785Speter	test toplevel-9.
190432785Speter
190532785SpeterThu Jun 12 10:27:51 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
190632785Speter
190732785Speter	* sanity.sh (toplevel): Remove Emptydir before starting.
190832785Speter
190932785Speter	* sanity.sh: Change "rm -rf" to "rm -r" when deleting working
191032785Speter	directories (except a few watches cases).  Helps detect cases
191132785Speter	where the testsuite has cd'd to somewhere other than where we
191232785Speter	think it has.
191332785Speter	(basic2): Remove "rm -r first-dir" between tests 49 and 50.  The
191432785Speter	directory was already deleted in test 45.5.
191532785Speter	(rcs): Add "cd .." at end of tests.
191632785Speter	(stamps): No longer cd to TESTDIR; shouldn't be necessary with
191732785Speter	fix to "rcs" test.
191832785Speter
191932785SpeterWed Jun 11 22:28:38 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
192032785Speter
192132785Speter	* sanity.sh (basicb): Also remove CVSROOT/Emptydir at end of
192232785Speter	test.  Otherwise it affects the toplevel-9 test for remote.
192332785Speter
192432785SpeterTue Jun 10 14:03:32 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
192532785Speter
192632785Speter	* sanity.sh (toplevel): Change "update" and "checkout" to "[a-z]*"
192732785Speter	as these read "server" instead for "make remotecheck".  Change
192832785Speter	expect strings for toplevel-9 to accept the behavior of remote CVS
192932785Speter	(see comments for more discussion).
193032785Speter
193132785Speter	* sanity.sh: New tests stamps-9 through stamps-11 test timestamp
193232785Speter	behavior on cvs update.
193332785Speter
193432785SpeterMon Jun  9 22:42:50 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
193532785Speter
193632785Speter	* sanity.sh: Remove "#! /bin/zsh" line at end.  I assume it was
193732785Speter	added accidentally.
193832785Speter
193932785SpeterTue Jun 10 03:08:46 1997  Norbert Kiesel  <nk@psycho.de>
194032785Speter
194132785Speter	* sanity.sh: new tests "toplevel" for the new toplevel CVS
194232785Speter	directory creation (including one test which shows an error in
194332785Speter	this area).
194432785Speter
194532785SpeterSun Jun  8 20:52:00 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
194632785Speter
194732785Speter	* rcs.c (getrcsrev): Before printing error, check whether it was
194832785Speter	feof or ferror.
194932785Speter
195032785Speter	* rcs.h, import.c (add_rcs_file): No longer static.  New arguments
195132785Speter	add_vbranch, add_vhead, and add_logfp replace access to static
195232785Speter	variables vbranch, vhead, and logfp.
195332785Speter	* mkmodules.c: Call it instead of RCS_CI.
195432785Speter	* import.c (process_import_file): Adjust call to add_rcs_file.
195532785Speter
195632785SpeterTue Jun  3 10:18:33 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
195732785Speter
195832785Speter	* sanity.sh (basicb): Match "." with "\." not ".".
195932785Speter
196032785SpeterTue Jun  3 13:02:37 1997  Norbert Kiesel  <nk@cosa.de>
196132785Speter
196232785Speter	* checkout.c (checkout): Removed restriction of not sending -k in
196332785Speter 	remote export (I think this was introduced while the -k handling
196432785Speter 	was still broken in remote mode).  Give better error texts
196532785Speter 	regarding -c and -s options.  Use error() instead of usage() for
196632785Speter 	reporting errors in all places.  Reindented some lines.  Free
196732785Speter 	xmalloc'd space of options.
196832785Speter
196932785SpeterThu May 29 16:32:47 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
197032785Speter
197132785Speter	* rcscmds.c (RCS_checkin), mkmodules.c (init): Pass -w option to
197232785Speter	"ci", specifying getcaller ().
197332785Speter	* server.h, server.c (CVS_Username): Now extern.
197432785Speter	* subr.c (getcaller): Return CVS_Username if it is set.
197532785Speter
197632785SpeterWed May 28 22:31:38 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
197732785Speter
197832785Speter	* update.c (update_fileproc): If wrap_merge_is_copy and we would
197932785Speter	like to do a merge, give a fatal error.  See comment for why.
198032785Speter	* sanity.sh (mwrap): New tests, tests for above fix.
198132785Speter
198232785SpeterTue May 27 21:59:32 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
198332785Speter
198432785Speter	* sanity.sh (stamps): cd to ${TESTDIR} before starting.
198532785Speter
198632785SpeterMon May 26 15:31:30 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
198732785Speter
198832785Speter	* client.c (handle_mod_time): New function.
198932785Speter	(responses): Add "Mod-time".
199032785Speter	(stored_modtime_valid, stored_modtime): New variables.
199132785Speter	(update_entries): If it is set, change the file's modtime.
199232785Speter	* server.c, server.h (server_modtime): New function.
199332785Speter	* vers_ts.c (Version_TS): Call it.
199432785Speter	* patch.c (patch_fileproc): Add comment about why we don't.
199532785Speter	* sanity.sh (stamps): Added, tests for above fix.
199632785Speter
199732785SpeterFri May 16 13:14:30 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
199832785Speter
199932785Speter	* subr.c (free_names): Update documentation to reflect fact that
200032785Speter	free_names is now called to free vectors allocated by expand_wild
200132785Speter	as well	as by line2argv.
200232785Speter
200332785Speter	* main.c (main): Use "xstrdup (foo)" not "xstrdup(foo)" as
200432785Speter	specified in HACKING.
200532785Speter
200632785SpeterFri May 16 15:10:37 1997  Norbert Kiesel  <nk@cosa.de>
200732785Speter
200832785Speter	* modules.c (do_module): initialize optind to 0.  use local copies
200932785Speter 	of optarg's (because they might me freed within free_names).
201032785Speter
201132785SpeterThu May 15 11:50:15 1997  Norbert Kiesel  <nk@cosa.de>
201232785Speter
201332785Speter	* main.c (main): initialize optind to 0.  use local copies of
201432785Speter	optarg's (because they might me freed within read_cvsrc).
201532785Speter
201632785Speter	* cvsrc.c (read_cvsrc): free old argv after constructing a new
201732785Speter	one.  This fixes a memory leak.
201832785Speter
201932785Speter	* recurse.c (start_recursion): use free_names() instead of
202032785Speter	reimplementing it
202132785Speter
202232785Speter	* rcs.c (RCS_deltas): free branchversion (memory leak).
202332785Speter
202432785Speter	* parseinfo.c (Parse_Info): free some vars (3 memory leaks).
202532785Speter
202632785Speter	* logmsg.c (logfile_write): free str_list_format (memory leak).
202732785Speter
202832785Speter	* watch.c (watch_addremove), (watchers), update.c (update), tag.c
202932785Speter 	(cvstag), status.c (status), rtag.c (rtag), remove.c (cvsremove),
203032785Speter 	release.c (release), patch.c (patch), log.c (cvslog), import.c
203132785Speter 	(import), history.c (history), edit.c (watch_onoff), (edit),
203232785Speter 	(unedit), (editors), diff.c (diff), commit.c (commit), checkout.c
203332785Speter 	(checkout), add.c (add): initialize optind to 0
203432785Speter
203532785Speter	* diff.c (diff_fileproc): cosmetic change (whitespace added).
203632785Speter
203732785Speter	* checkout.c (checkout): move local variable definition into the
203832785Speter	block where the variable is used.
203932785Speter
204032785Speter	* client.c (update_entries): initialize some local variables to shut up
204132785Speter	gcc -O -Wall.
204232785Speter
204332785Speter	* buffer.c (buf_read_line): initialize a local variable to shut up
204432785Speter	gcc -O -Wall.
204532785Speter
204632785Speter
204732785SpeterWed May 14 16:29:50 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
204832785Speter
204932785Speter	* admin.c (admin): When sending options to server, don't try to
205032785Speter	send av[ac].  It may contain one of the names that we'll send in
205132785Speter	send_file_names (which caused tests like keyword-6 to work,
205232785Speter	sort of accidentally), or it may contain NULL (which would tend to
205332785Speter	cause a coredump).
205432785Speter	* sanity.sh (basicb): New test basicb-21 tests for above fix.
205532785Speter
205632785SpeterMon May 12 16:22:00 1997  Larry Jones  <larry.jones@sdrc.com>
205732785Speter
205832785Speter	* add.c (add): Free message and repository in client code.
205932785Speter	* checkout.c (checkout): Don't free repository unless allocated.
206032785Speter	* client.c (start_rsh_server): Free command.
206132785Speter
206232785SpeterSun May 11 11:43:54 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
206332785Speter
206432785Speter	* client.c: Remove all references to USE_DIRECT_TCP; see
206532785Speter	../ChangeLog for rationale.
206632785Speter
206732785SpeterFri May  9 22:19:36 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
206832785Speter
206932785Speter	* main.c (main): Add comment explaining why we call exit.  Pass 0
207032785Speter	not EXIT_SUCCESS, because lib/system.h has portability cruft for
207132785Speter	EXIT_FAILURE but not EXIT_SUCCESS.
207232785Speter
207332785SpeterFri May  9 17:25:00 1997  Larry Jones  <larry.jones@sdrc.com>
207432785Speter
207532785Speter	Fix miscellaneous memory allocation problems:
207632785Speter	* add.c (add): Free repository.
207732785Speter	* client.c (notified_a_file): Free getline buffer.
207832785Speter	* edit.c (notify_check): Free getline buffer.
207932785Speter	* hash.c (dellist): Free header node when not caching.
208032785Speter	* login.c (login): Don't continually free & allocate getline
208132785Speter	buffer, use xstrdup instead of xmalloc/strcpy, free getline
208232785Speter	buffer before returning.
208332785Speter	* main.c (main): Call exit instead of returning so tools like
208432785Speter	Purify won't consider permanently allocated memory as leaks.
208532785Speter	* mkmodules.c (mkmodules): Free getline buffer.
208632785Speter	* modules.c (cat_module): Call close_module.
208732785Speter	* rcs.c (rcsvers_delproc): Free state.
208832785Speter	* recurse.c (start_recursion): Free files_by_dir.
208932785Speter	(unroll_files_proc): NULL out p->data after using it to set
209032785Speter	filelist to avoid multiple frees.
209132785Speter	* server.c (check_command_legal_p): Don't continually free &
209232785Speter	allocate getline buffer, free getline buffer before returning.
209332785Speter	(check_repository_password): Ditto, use xstrdup instead of
209432785Speter	xmalloc/strcpy.
209532785Speter	* wrapper.c (wrap_add_file): Free getline buffer.
209632785Speter
209732785SpeterThu May  8 14:21:00 1997  Larry Jones  <larry.jones@sdrc.com>
209832785Speter	and Jim Kingdon  <kingdon@harvey.cyclic.com>
209932785Speter
210032785Speter	* checkout.c (checkout_proc): Free finfo.rcs (memory leak).
210132785Speter
210232785Speter8 May 1997  Larry Jones  <larry.jones@sdrc.com>
210332785Speter	and Jim Kingdon  <kingdon@harvey.cyclic.com>
210432785Speter
210532785Speter	* hash.c: Add #ifdef's to disable caching.  This makes it easier
210632785Speter	to track down memory allocation problems.
210732785Speter
210832785SpeterThu May  8 11:40:39 1997  Larry Jones  <larry.jones@sdrc.com>
210932785Speter
211032785Speter	* sanity.sh: In setting "tests" use a number of statements rather
211132785Speter	than one very long line.
211232785Speter
211332785SpeterThu May  8 11:40:39 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
211432785Speter
211532785Speter	* cvsbug.sh: Remove $Id; we decided to get rid of these some time
211632785Speter	ago.
211732785Speter
211832785SpeterThu May  8 11:34:02 1997  Larry Jones  <larry.jones@sdrc.com>
211932785Speter
212032785Speter	* cvsbug.sh: Put separate statements on separate lines, so it
212132785Speter	works if awk is AT&T nawk.
212232785Speter
212332785SpeterTue May  6 16:56:00 1997  Larry Jones  <larry.jones@sdrc.com>
212432785Speter	and Jim Kingdon  <kingdon@harvey.cyclic.com>
212532785Speter
212632785Speter	* cvsrc.c (read_cvsrc): Fix various memory allocation problems:
212732785Speter	rearrange code to avoid leaks, use xrealloc instead of xmalloc/
212832785Speter	copy/free, make sure there's room for the remaining args before
212932785Speter	appending them.
213032785Speter
213132785SpeterTue May  6 14:20:00 1997  Larry Jones  <larry.jones@sdrc.com>
213232785Speter
213332785Speter	* edit.c (watch_onoff, edit, unedit, editors): Add -R like
213432785Speter	other things with -l.
213532785Speter	* watch.c (watch_addremove, watchers): Ditto.
213632785Speter
213732785SpeterMon May  5 18:10:37 1997  larry.jones@sdrc.com
213832785Speter	and Jim Kingdon  <kingdon@harvey.cyclic.com>
213932785Speter
214032785Speter	* sanity.sh: Change all /tmp/cvs-sanity to TESTDIR.  If TESTDIR
214132785Speter	environment variable is set, use it instead of /tmp/cvs-sanity.
214232785Speter	* sanity.sh: Make TMPPWD the pwd equivalent of TESTDIR, not of /tmp.
214332785Speter
214432785Speter4 May 1997  Larry jones  <larry.jones@sdrc.com>
214532785Speter	    and Jim Kingdon
214632785Speter
214732785Speter	* checkout.c, diff.c, patch.c, rcs.c: Update usage messages.
214832785Speter	* rcs.c (annotate): Add -R like other things with -l.
214932785Speter
215032785SpeterSat May  3 14:57:40 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
215132785Speter
215232785Speter	* sanity.sh (basic1): Rewrite test (use dotest, unroll the loops
215332785Speter	which IMHO makes the test a zillion times more understandable, and
215432785Speter	only do the variant which tests for 4 files at a time--we test one
215532785Speter	file at a time lots of places).
215632785Speter
215732785Speter2 May 1997  Ziv Gigus <ziv@rest.home.net>
215832785Speter	    and Jim Kingdon
215932785Speter
216032785Speter	* client.c, client.h (client_process_import_file): New argument
216132785Speter	all_files_binary means treat all files as binary.
216232785Speter	* import.c (import_descend): Pass it if -kb is specified.
216332785Speter	* client.c (client_process_import_file): In the
216432785Speter	non-all_files_binary case, call wrap_rcsoption to determine
216532785Speter	whether the file is binary.
216632785Speter
216732785SpeterThu May  1 13:44:51 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
216832785Speter
216932785Speter	* sanity.sh (binfiles2): New tests, for update -j and binary files.
217032785Speter
217132785SpeterWed Apr 30 11:18:36 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
217232785Speter
217332785Speter	* recurse.c (start_recursion): Also free reposfile.
217432785Speter	Don't look in repository if client_active (latter bug reported by Paul
217532785Speter	Sanders <p.sanders@dial.pipex.com>).
217632785Speter
217732785SpeterMon Apr 28 22:36:39 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
217832785Speter
217932785Speter	* diff.c (diff_file_nodiff): Remove SERVER_SUPPORT ifdefs.  They
218032785Speter	were not based on server_active, which doesn't really make any
218132785Speter	sense (it meant that compiling --disable-server could affect the
218232785Speter	behavior of the non-client/server CVS).  This affected the output
218332785Speter	in tests death2-diff-11 and death2-diff-12 in the testsuite.
218432785Speter	* sanity.sh (newb-123j0): Also accept "Needs Checkout", for a
218532785Speter	--disable-server CVS.
218632785Speter
218732785Speter	* main.c (cmd_usage): Change "run diffs" to "show differences";
218832785Speter	the former is jargon.
218932785Speter	* edit.c (edit_usage): Fix typo ("." -> ",").
219032785Speter	* edit.c (editors_usage), watch.c (watchers_usage): Mention -l.
219132785Speter	* checkout.c (export_usage): Say what -P does.
219232785Speter	* history.c (history_usg): Add comment about message wording.
219332785Speter
219432785SpeterMon Apr 28 14:47:45 1997  Norbert Kiesel  <nk@cosa.de>
219532785Speter
219632785Speter	* checkin.c (Checkin): use filename without path when calling
219732785Speter 	wrapper (bug found by Michal Schmitz <ms@cosa.de>).
219832785Speter
219932785SpeterFri Apr 25 13:28:55 1997  Ian Lance Taylor  <ian@cygnus.com>
220032785Speter
220132785Speter	* client.c (update_entries): In UPDATE_ENTRIES_RCS_DIFF case,
220232785Speter	write to a temporary file and then rename it.
220332785Speter
220432785SpeterThu Apr 24 11:35:40 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
220532785Speter
220632785Speter	* subr.c, cvs.h (pathname_levels): New function, from a piece of
220732785Speter	send_file_names.
220832785Speter	* client.c (send_file_names): Call pathname_levels in place of the
220932785Speter	code which was moved there.
221032785Speter	* server.c, server.h (server_pathname_check): New function.
221132785Speter	* recurse.c (start_recursion): Call it.
221232785Speter	* sanity.sh (modules3): New test modules3-11b tests for above fix.
221332785Speter
221432785Speter	* filesubr.c: Do not define L_tmpnam.  It is in ANSI and SunOS4,
221532785Speter	so I don't think there will be a problem with it being missing.
221632785Speter	Defining it too small can cause memory corruption.
221732785Speter	(cvs_temp_name): Do not use L_tmpnam in the mktemp code; this
221832785Speter	could cause a buffer overflow if the -T global option was in use.
221932785Speter
222032785SpeterThu Apr 24 13:21:15 1997  Norbert Kiesel  <nk@cosa.de>
222132785Speter
222232785Speter	* filesubr.c (cvs_temp_name): Use tempnam if available, else
222332785Speter 	mktemp, else tmpnam. See the comment for rationale.
222432785Speter
222532785Speter	* sanity.sh: use "tar cf - ." instead of "tar cf - *" for
222632785Speter 	directory copies.
222732785Speter
222832785SpeterWed Apr 23 23:41:47 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
222932785Speter
223032785Speter	* server.c (serve_update_prog): If in readonly mode, give an error.
223132785Speter
223232785SpeterWed Apr 23 19:07:41 1997  Norbert Kiesel  <nk@cosa.de>
223332785Speter
223432785Speter	* subr.c (line2argv): Allocate at least 4 slots for argv.
223532785Speter
223632785Speter	* checkout.c (checkout_proc): Add a comment which says why the
223732785Speter 	above change was necessary to avoid writing to unallocated memory.
223832785Speter
223932785SpeterWed Apr 23 11:20:40 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
224032785Speter
224132785Speter	* entries.c (ParseTag): Always set *NONBRANCHP.
224232785Speter
224332785Speter21 Apr 1997  Jim Kingdon
224432785Speter
224532785Speter	* client.c (update_entries), rcs.c (expand_keywords): Rewrite
224632785Speter	test to avoid signed/unsigned warning.
224732785Speter
224832785SpeterMon Apr 21 09:02:22 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
224932785Speter
225032785Speter	* update.c (patch_file): Add comment about whether auto-detecting
225132785Speter	features of the DIFF program is a good idea.
225232785Speter
225332785SpeterMon Apr 21 00:03:34 1997  Ian Lance Taylor  <ian@cygnus.com>
225432785Speter
225532785Speter	Don't require the patch program:
225632785Speter	* client.c (struct update_entries_data): Add
225732785Speter	UPDATE_ENTRIES_RCS_DIFF to contents enum.
225832785Speter	(update_entries): Handle UPDATE_ENTRIES_RCS_DIFF.
225932785Speter	(handle_rcs_diff): New static function.
226032785Speter	(responses): Add "Rcs-diff".
226132785Speter	* server.c (server_updated): Handle SERVER_RCS_DIFF.
226232785Speter	(server_use_rcs_diff): New function.
226332785Speter	* server.h (enum server_updated_arg4): Add SERVER_RCS_DIFF.
226432785Speter	(server_use_rcs_diff): Declare.
226532785Speter	* update.c (rcs_diff_patches): New static variable.
226632785Speter	(update): Set rcs_diff_patches.
226732785Speter	(update_fileproc): If rcs_diff_patches, pass SERVER_RCS_DIFF
226832785Speter	rather than SERVER_PATCHED to server_updated.
226932785Speter	(patch_file): Correct initial comment to say diff rather than
227032785Speter	rcsdiff.  If rcs_diff_options, pass -n to diff rather than -c.
227132785Speter	* rcs.c (rcs_change_text): New function.
227232785Speter	* rcs.h (rcs_change_text): Declare.
227332785Speter
227432785SpeterMon Apr 21 00:08:59 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
227532785Speter
227632785Speter	* diff.c (diff_fileproc): Add comment concerning updating the
227732785Speter	client timestamp.
227832785Speter
227932785SpeterSun Apr 20 23:20:37 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
228032785Speter
228132785Speter	* commit.c (commit): Add comment regarding SEND_FORCE rationale.
228232785Speter
228332785SpeterSat Apr 19 17:10:36 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
228432785Speter
228532785Speter	* server.c (dirswitch): If directory ends in '/', complain.
228632785Speter
228732785SpeterFri Apr 18 18:09:57 1997  Ian Lance Taylor  <ian@cygnus.com>
228832785Speter
228932785Speter	* rcs.c (apply_rcs_changes): New static function, broken out of
229032785Speter	RCS_deltas.
229132785Speter	(RCS_deltas): Call it.
229232785Speter	(linevector_add): Change return type to int.  Return an indication
229332785Speter	of an error for an invalid add, rather than calling error.
229432785Speter
229532785SpeterFri Apr 18 11:24:26 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
229632785Speter
229732785Speter	* version.c: Change version number to 1.9.9.
229832785Speter
229932785Speter	* version.c: Version 1.9.8.
230032785Speter
230132785Speter	* commit.c (struct find_data): Add field force.
230232785Speter	(find_fileproc, commit): Use it instead of force_ci to decide
230332785Speter	whether to send files to server.
230432785Speter	(commit): Set it if either -f or -r is specified.
230532785Speter	* sanity.sh (basica): Add tests basica-8a0, basica-8a1, and
230632785Speter	basica-8a2; tests for above fix.
230732785Speter
230832785SpeterWed Apr 16 11:50:59 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
230932785Speter
231032785Speter	* zlib.c: Remove paragraph with Free Software Foundation address.
231132785Speter	See 2 Jan 1997 entry in ../ChangeLog for rationale.
231232785Speter
231332785SpeterTue Apr 15 00:36:23 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
231432785Speter
231532785Speter	* update.c (patch_file_write): Always assign to final_nl, so that
231632785Speter	it ends up reflecting whether the data from the last call had a
231732785Speter	newline, not whether the data from any of the calls ended in a
231832785Speter	newline.  Doesn't matter with the current RCS_checkout
231932785Speter	implementation, but it will if RCS_checkout is changed to pass
232032785Speter	less than the entire file.
232132785Speter
232232785Speter	* rcs.c (RCS_cmp_file): Change NULL to RUN_TTY in passing sout to
232332785Speter	RCS_checkout, for clarity.
232432785Speter
232532785Speter	* import.c (update_rcs_file): Remove unused variable ierrno.
232632785Speter
232732785Speter	* add.c, checkout.c, commit.c, diff.c, edit.c, import.c,
232832785Speter	history.c, log.c, main.c, patch.c, release.c, remove.c, rtag.c,
232932785Speter	status.c, tag.c, update.c, watch.c: Pass "+" to all calls to
233032785Speter	getopt.  This ensures that we maintain existing behavior even with
233132785Speter	glibc2.
233232785Speter
233332785Speter	* filesubr.c (fopen_case): Don't set *PATHP if we return an
233432785Speter	error.  Since the 9 Apr 1997 change, the behavior has been to
233532785Speter	sometimes set it and sometimes not.
233632785Speter	* rcs.c (RCS_parse): Adjust callers to not free it.  Without this
233732785Speter	change, they could call free() on an uninitialized variable.
233832785Speter
233932785Speter	* checkout.c (checkout): Add comment about export -k.
234032785Speter
234132785Speter	* root.c (check_root_consistent): Add comment about wording of
234232785Speter	message.
234332785Speter
234432785SpeterMon Apr 14 11:51:49 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
234532785Speter
234632785Speter	* client.c (call_in_directory): If rdirp reaches the end of
234732785Speter	reposdirname, then just set it to NULL.  If server does not create
234832785Speter	directories one at a time, give a warning.
234932785Speter	* sanity.sh (modules3): Enable tests modules3-8 through
235032785Speter	modules3-11 for remote; tests for above fix.
235132785Speter
235232785Speter	* client.c (call_in_directory): Don't set short_pathname to
235332785Speter	pathname for a while; just use pathname itself (cleans up a relic
235432785Speter	of the old "Repository" (not "Directory") code).  Add comment
235532785Speter	explaining short_pathname.
235632785Speter
235732785SpeterSun Apr 13 18:07:50 1997  Ian Lance Taylor  <ian@cygnus.com>
235832785Speter
235932785Speter	* rcs.c (RCS_checkout): Add pfn and callerdat parameters.  Change
236032785Speter	all callers.  Move setting of expand after retrieval of file
236132785Speter	data.
236232785Speter	(struct cmp_file_data): Define.
236332785Speter	(RCS_cmp_file): New function.
236432785Speter	(cmp_file_buffer): New static function.
236532785Speter	* rcs.h (RCSCHECKOUTPROC): Define type.
236632785Speter	(RCS_checkout): Update declaration.
236732785Speter	(RCS_cmp_file): Define.
236832785Speter	* diff.c (diff_file_nodiff): Call RCS_cmp_file rather than
236932785Speter	RCS_checkout and xcmp.
237032785Speter	* import.c (update_rcs_file): Likewise.
237132785Speter	* no_diff.c (No_Difference): Likewise.
237232785Speter	* update.c (struct patch_file_data): Define.
237332785Speter	(patch_file): Just return if noexec, or if binary file.  Pass
237432785Speter	patch_file_write to RCS_checkout.  Don't check for newlines or
237532785Speter	compute checksums here.  Stat RCS file to set modes.
237632785Speter	(patch_file_write): New static function.
237732785Speter
237832785Speter	* update.c (patch_file): Checkout directly to file2, rather than
237932785Speter	to finfo->file followed by rename.  Remove check for whether
238032785Speter	result of checkout is readable; that was for an old, obsolete,
238132785Speter	form of death support.
238232785Speter
238332785SpeterSun Apr 13 13:16:40 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
238432785Speter
238532785Speter	* checkout.c (build_one_dir): New function.
238632785Speter	(struct dir_to_build): New structure.
238732785Speter	(build_dirs_and_chir): Rewritten to accept a linked list of struct
238832785Speter	dir_to_build rather than the silly string processing we had been
238932785Speter	doing before.
239032785Speter	(checkout_proc): Rewrite code that calls build_dirs_and_chdir
239132785Speter	accordingly.
239232785Speter	* sanity.sh: Enable tests modules3-10 and modules3-11 for local CVS;
239332785Speter	tests for above fix.
239432785Speter
239532785Speter	* rcs.h (RCS_CO): Removed; no longer used.
239632785Speter
239732785SpeterSun Apr 13 00:04:34 1997  Ian Lance Taylor  <ian@cygnus.com>
239832785Speter
239932785Speter	Expand RCS keywords internally; never call co:
240032785Speter	* rcs.h (struct rcsversnode): Add state field.
240132785Speter	* rcs.c (kflags): Move out of RCS_check_kflag, and make file
240232785Speter	static.
240332785Speter	(enum kflag): Define.
240432785Speter	(RCS_reparsercsfile): Always save lock information.  Save state in
240532785Speter	new state field, rather than other field.
240632785Speter	(struct rcs_keyword): Define.
240732785Speter	(keywords): New static variable.
240832785Speter	(enum keyword): Define.
240932785Speter	(printable_date, escape_keyword_value): New static functions.
241032785Speter	(expand_keywords): New static function.
241132785Speter	(RCS_checkout): Call expand_keywords.  Don't call
241232785Speter	RCS_exec_checkout.
241332785Speter	(RCS_deltas): Add log and loglen parameters.  Change all callers.
241432785Speter	* log.c (log_version_requested): Use new state field.
241532785Speter	(log_version): Likewise.
241632785Speter	* cvs.h (RCS_exec_checkout): Don't declare.
241732785Speter	* rcscmds.c (RCS_exec_checkout): Remove.
241832785Speter
241932785SpeterSat Apr 12 17:32:59 1997  Ian Lance Taylor  <ian@cygnus.com>
242032785Speter
242132785Speter	* sanity.sh (modules3): Remove second-dir at end of tests.
242232785Speter	(sticky): Correct removal of directories at end of tests.
242332785Speter
242432785Speter	* sanity.sh (keyword): New tests for RCS keyword expansion.
242532785Speter
242632785SpeterSat Apr 12 16:47:13 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
242732785Speter
242832785Speter	* sanity.sh (basicb): New tests basicb-1b, basicb-1c, basicb-9b,
242932785Speter	basic-9c test current build_dirs_and_chdir behavior.
243032785Speter
243132785SpeterFri Apr 11 23:54:56 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
243232785Speter
243332785Speter	* sanity.sh (modules3): New tests modules3-7* test for ability to
243432785Speter	supply a path in -d in modules.  Similar to modules3-8 through
243532785Speter	modules3-11 except because the nesting is different, these ones
243632785Speter	work.
243732785Speter
243832785SpeterThu Apr 10 00:14:47 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
243932785Speter
244032785Speter	* sanity.sh (modules3): New tests modules3-12 through modules3-15
244132785Speter	test use of a module name which contains a slash.
244232785Speter
244332785Speter	* sanity.sh (basicb): New tests basicb-14 to basicb-20 test use of
244432785Speter	co -d with two or more arguments.
244532785Speter
244632785Speter	* rcscmds.c: Refer to doc/RCSFILES in comment.
244732785Speter
244832785SpeterWed Apr  9 09:49:17 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
244932785Speter
245032785Speter	* sanity.sh (basicb): New tests basicb-11 through basicb-13 test
245132785Speter	ability to specify several directory levels in co -d (commented
245232785Speter	out).
245332785Speter
245432785Speter	* filesubr.c (fopen_case): If CVS_OPENDIR gives an
245532785Speter	existence_error, return it to the caller instead of giving a fatal
245632785Speter	error.
245732785Speter
245832785Speter	* client.c (update_entries): Fix typo in call to error (1 -> errno).
245932785Speter
246032785SpeterTue Apr  8 23:02:22 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
246132785Speter
246232785Speter	* error.h, error.c: Test for #ifdef __STDC__, not #if __STDC__.
246332785Speter	This is consistent with other parts of CVS; it means that the
246432785Speter	declaration for fperror will match the definition even if __STDC__
246532785Speter	is defined to 0 as the SunPro 4.0 compiler does.  Reported by
246632785Speter	Richard Smith <rjsmith@cisco.com>.
246732785Speter
246832785Speter2 Apr 1997  Jim Kingdon
246932785Speter
247032785Speter	* entries.c (ParseTag): Add "break;" after "default:" to avoid
247132785Speter	error from Visual C++.
247232785Speter
247332785SpeterWed Apr  2 12:06:44 1997  Vince Del Vecchio  <vdelvecc@spd.analog.com>
247432785Speter			  and Jim Kingdon
247532785Speter
247632785Speter	* client.c: In reporting errors from socket calls, use
247732785Speter 	SOCK_STRERROR and SOCK_ERRNO since strerror(errno) doesn't work
247832785Speter 	for Win32.
247932785Speter
248032785SpeterTue Apr  8 10:45:32 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
248132785Speter
248232785Speter	* sanity.sh (modules3): Add tests modules3-8 to modules3-11, to
248332785Speter	test for ability to supply a path to -d in modules.  Mostly
248432785Speter	commented out as CVS is buggy in this area.
248532785Speter
248632785SpeterMon Apr  7 12:41:44 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
248732785Speter
248832785Speter	* add.c (add): Add comment about SEND_NO_CONTENTS.
248932785Speter
249032785SpeterSun Apr  6 21:46:32 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
249132785Speter
249232785Speter	* update.c (update): Add comment about noexec and SEND_NO_CONTENTS.
249332785Speter
249432785SpeterSun Apr  6 17:34:08 1997  Robert Bihlmeyer  <robbe@orcus.priv.at>
249532785Speter
249632785Speter	* Pass +f not f to getopt_long to prevent options from being
249732785Speter	permuted with glibc 2.0.1.
249832785Speter
249932785SpeterSun Mar 30 00:07:05 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
250032785Speter
250132785Speter	* cvs.h (struct vers_ts): Adjust comment regarding ts_user.
250232785Speter	* server.c (serve_is_modified): New function.  Set entries to show
250332785Speter	that the file is modified but we don't know the contents.
250432785Speter	* server.c (requests): Add "Is-modified" request.
250532785Speter	* vers_ts.c (time_stamp_server): If the timestamp in entdata is
250632785Speter	"M" or "D", just copy that over into ts_user.
250732785Speter	* vers_ts.c (Version_TS): If timestamp is "D", use the entries
250832785Speter	line for the sole purpose of passing it to time_stamp_server.
250932785Speter	* no_diff.c (No_Difference): If ts_user is "M", conclude the files
251032785Speter	are different.
251132785Speter	* client.h, client.c (send_files): Replace arguments build_dirs
251232785Speter	and force with argument flags.  Add flag SEND_NO_CONTENTS and add
251332785Speter	to struct send_data.
251432785Speter	(send_fileproc): If no_contents, then send Is-modified instead of
251532785Speter	Modified.
251632785Speter	* add.c, admin.c, client.c, commit.c, diff.c, edit.c, log.c,
251732785Speter	rcs.c, remove.c, status.c, tag.c, update.c, watch.c: Change all
251832785Speter	send_files callers.
251932785Speter
252032785SpeterFri Mar 28 22:32:25 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
252132785Speter
252232785Speter	* server.c (requests): Change "Repository" to rq_optional.  I'm
252332785Speter	not sure whether I overlooked this when I removed support for
252432785Speter	Repository, or whether I was thinking that servers would need to
252532785Speter	support it anyway, for CVS 1.5 to 1.9 clients, but making it
252632785Speter	optional doesn't prevent the server from supporting it and it
252732785Speter	seems silly for the client to complain about absence of a request
252832785Speter	that it never will use.
252932785Speter
253032785SpeterFri Mar 28 10:06:59 1997  Steven Miller  <Miller@wingra.com>
253132785Speter
253232785Speter	* entries.c (Subdirs_Known): Don't create Entries.Log if noexec.
253332785Speter
253432785SpeterThu Mar 27 18:14:12 1997  Ian Lance Taylor  <ian@cygnus.com>
253532785Speter
253632785Speter	* sanity.sh (death2): Remove commented out test death2-21.  It
253732785Speter	would now pass, but it duplicates the new test sticky-11.
253832785Speter
253932785SpeterThu Mar 27 10:21:19 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
254032785Speter
254132785Speter	* sanity.sh (dotest_internal): Write test output to logfile even
254232785Speter	if test succeeds.  This was the behavior prior to 30 Sep 1996.
254332785Speter	See the comment for rationale.
254432785Speter
254532785SpeterTue Mar 25 13:26:52 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
254632785Speter
254732785Speter	* cvs.h, entries.c (WriteTag): Add arguments nonbranch,
254832785Speter	update_dir, and repository.  Move the server_set_sticky call from
254932785Speter	callers to here.
255032785Speter	* cvs.h, create_adm.c (Create_Admin): New argument nonbranch.
255132785Speter	* cvs.h, entries.c (ParseTag): Add argument nonbranchp.
255232785Speter	* cvs.h (struct stickydirtag): Add field nonbranch.
255332785Speter	* entries.c (Entries_Open): Set it.
255432785Speter	* cvs.h (Vers_TS): Add field nonbranch.
255532785Speter	* vers_ts.c (Version_TS): Copy it from struct stickydirtag.
255632785Speter	* server.c, server.h (server_set_sticky): Add argument nonbranch.
255732785Speter	* add.c, client.c, checkout.c, modules.c, update.c, create_adm.c,
255832785Speter	commit.c: Update callers.
255932785Speter	* add.c (add): If nonbranch, don't add the file on that "branch".
256032785Speter	* commit.c (write_dirnonbranch): New variable.
256132785Speter	(commit_fileproc, commit): Set it.
256232785Speter	(commit_dirleaveproc): Pass it to WriteTag.
256332785Speter	* update.c (rewrite_tag, nonbranch): New variables.
256432785Speter	(update, update_dirent_proc, update_fileproc): Set them.
256532785Speter	(update_filesdoneproc): If rewrite_tag, call WriteTag.
256632785Speter	* sanity.sh (sticky): New tests, test for above fix.
256732785Speter
256832785Speter	* version.c: Change version number to 1.9.7.
256932785Speter
257032785Speter	* version.c: Version 1.9.6.
257132785Speter
257232785SpeterMon Mar 24 13:02:04 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
257332785Speter
257432785Speter	* entries.c (ParseTag): Add comment about unrecognized characters
257532785Speter	in CVS/Tag file.
257632785Speter
257732785Speter	* classify.c (Classify_File): Add comment about how specifying a
257832785Speter	tag (bogusly?) suppresses certain messages.
257932785Speter
258032785SpeterFri Mar 21 13:37:46 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
258132785Speter
258232785Speter	* rcs.h (struct rcsnode): Add comment about case of PATH.
258332785Speter	* rcs.c (RCS_parse): If ign_case, then try opening the file with
258432785Speter	fopen_case.
258532785Speter	* ignore.c (ign_case): Adjust comment.
258632785Speter	* cvs.h, filesubr.c (cvs_casecmp, fopen_case): New functions.
258732785Speter
258832785Speter20 Mar 1997  Jim Kingdon
258932785Speter
259032785Speter	* client.c (send_repository): When sending Directory request,
259132785Speter	send any ISDIRSEP character as '/'.  Fixes
259232785Speter	"cvs log foo\bar\baz.c" on NT & friends.
259332785Speter
259432785Speter	* client.c (send_file_names): Don't try to read Entries file if
259532785Speter	CVSADM directory does not exist.  Fixes fairly serious regression
259632785Speter	(warning on all fresh checkouts) introduced by 1997-01-08 change.
259732785Speter
259832785SpeterTue Mar 18 13:03:33 1997  Jim Meyering  <meyering@totoro.cyclic.com>
259932785Speter
260032785Speter	* sanity.sh (RCSINIT): Define to be empty and export, to hide any
260132785Speter	existing value that might cause spurious failures.
260232785Speter
260332785Speter	* Makefile.in: (install): Depend on installdirs.
260432785Speter	Remove `CYGNUS LOCAL' comment saying not to.
260532785Speter
260632785SpeterTue Mar 18 09:36:26 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
260732785Speter
260832785Speter	* recurse.c (struct recursion_frame): Reindent.
260932785Speter	(do_dir_proc): Print message if we try to recurse into a CVSADM
261032785Speter	directory.
261132785Speter	* sanity.sh (basicb): New test basicb-4a tests for above fix.
261232785Speter
261332785SpeterSun Mar 16 10:18:28 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
261432785Speter
261532785Speter	* sanity.sh (death2): Replace regexp matching temporary file name
261632785Speter	with new variable ${tempname}.  For most of the tests this is a
261732785Speter	cosmetic change, but death2-diff-6 had been missing _ which caused
261832785Speter	it to fail on Solaris (at least sometimes).
261932785Speter
262032785Speter	* sanity.sh (modes): Don't use export -n; it doesn't seem
262132785Speter	to be sufficiently portable.
262232785Speter
262332785Speter	* version.c: Change version number to 1.9.5.
262432785Speter
262532785Speter	* version.c: Version 1.9.4.
262632785Speter
262732785Speter	* rcscmds.c (RCS_checkin): Preserve the mode of the rcsfile.
262832785Speter	RCS_CI usually, but not always, does this for us.
262932785Speter	* commit.c (fix_rcs_modes): Replace algorithm with a more
263032785Speter	CVSUMASK-friendly one.
263132785Speter	* sanity.sh (modes): Update tests modes-5, modes-7, modes-10, and
263232785Speter	modes-15 so they test that CVSUMASK is honored.
263332785Speter
263432785SpeterSun Mar 16 10:18:28 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
263532785Speter
263632785Speter	* sanity.sh (modes): New tests modes-7a and modes-7b test behavior
263732785Speter	if one manually changes the modes in the repository.
263832785Speter
263932785Speter	* server.c (server): Revise code which checks for errors creating
264032785Speter	temporary directory.  This won't solve the intermittent
264132785Speter	  can't create temporary directory
264232785Speter	  Unknown error -1
264332785Speter	but it will mean (a) the right message based on errno gets
264432785Speter	printed, instead of "unknown error -1", and (b) the message says
264532785Speter	that it happened in chmod instead of mkdir_p.
264632785Speter
264732785SpeterSat Mar 15 16:47:12 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
264832785Speter
264932785Speter	* sanity.sh (modes): New tests.  Note that (for now) these are
265032785Speter	just testing how CVS already behaves; I want to record that before
265132785Speter	I move on to changing CVS's behavior with modes of RCS files.
265232785Speter
265332785Speter13 Mar 1997  Jim Kingdon
265432785Speter
265532785Speter	* subr.c (line2argv): Change argv_allocated from size_t to int.
265632785Speter
265732785SpeterWed Mar 12 22:16:44 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
265832785Speter
265932785Speter	* add.c (add_directory): If repository has an extraneous "."
266032785Speter	directory at the end, strip it off.  This fixes a bug which was
266132785Speter	introduced when strip_path was nuked (this fix is much more
266232785Speter	limited in scope than strip_path was; I _think_ that is a good
266332785Speter	thing).
266432785Speter	(add): Likewise, for client.
266532785Speter	(combine_dir): New function, helps with above.
266632785Speter	* sanity.sh (modules3): Reenable tests for this behavior.
266732785Speter	(basica-0b, basicb-0e): Adjust test to reflect "foo/bar" instead
266832785Speter	of "foo/./bar" in message.  As with the rest of this, I believe
266932785Speter	this is just restoring the behavior prior to the strip_path nuking
267032785Speter	(I tried it with CVS 1.9).
267132785Speter
267232785SpeterSun Mar  9 10:06:29 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
267332785Speter
267432785Speter	* root.c (parse_cvsroot), server.c (serve_root, serve_init):
267532785Speter	If CVSroot_directory is not an absolute pathname, give a fatal error.
267632785Speter	* sanity.sh (crerepos): New tests crerepos-6* test for above fixes.
267732785Speter
267832785SpeterSat Mar  8 22:06:17 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
267932785Speter
268032785Speter	This cleans up the last known code which can overflow its buffers
268132785Speter	(except the Mac client).  I've skimmed through much of CVS looking
268232785Speter	for other such places; but I didn't read everything.  If I missed
268332785Speter	any please report it to bug-cvs.
268432785Speter	* logmsg.c (logfile_write, title_proc): Realloc str_list as
268532785Speter	needed; don't assume MAXLISTLEN is enough.
268632785Speter	* cvs.h (MAXLISTLEN, MAXFILEPERDIR): Removed; no longer used.
268732785Speter	* add.c, myndbm.c, parseinfo.c, update.c: Nuke MAXLINELEN limit.
268832785Speter	* parseinfo.c, update.c, mkmodules.c: Check for errors reading file.
268932785Speter	* cvs.h (MAXLINELEN): Removed; no longer used.
269032785Speter	* logmsg (MAXHOSTNAMELEN): Removed; not used.
269132785Speter	* main.c (cmd_synonyms): Allocate based on fullname, nick1, and
269232785Speter	nick2, just in case someone makes those big enough so that 100
269332785Speter	bytes is not enough.
269432785Speter	(Make_Date): Use MAXDATELEN rather than our own fixed size.
269532785Speter	* mkmodules.c (mkmodules): Nuke arbitrary limit on line length.
269632785Speter	* rcs.c (ALLOCINCR): Remove; not used.
269732785Speter	(RCS_check_kflag): Add comment concerning karg size.
269832785Speter	* run.c: Allocate run_prog to the needed size, rather than
269932785Speter	allocating a fixed size buffer.
270032785Speter
270132785SpeterFri Mar  7 22:39:08 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
270232785Speter
270332785Speter	* logmsg.c (logfile_write): Allocate prog to needed length rather
270432785Speter	than assuming MAXPROGLEN is enough.
270532785Speter	* cvs.h (MAXPROGLEN): Removed; no longer used.
270632785Speter	* subr.c (MIN_INCR): Update comment to reflect MAXPROGLEN's demise.
270732785Speter
270832785Speter	* subr.c (free_names): Fix comment: this function is not used to
270932785Speter	free memory allocated by Find_Names (at least it hasn't for a long
271032785Speter	time).
271132785Speter	* subr.c, cvs.h (line2argv): Change calling convention so that we
271232785Speter	allocate argv array rather than the caller.  The previous one had
271332785Speter	no way of checking whether we overflowed the passed-in buffer.
271432785Speter	* subr.c (free_names): Free the argv array too.
271532785Speter	* modules.c (do_module, cat_module): Update callers.
271632785Speter
271732785SpeterThu Mar  6 12:44:42 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
271832785Speter
271932785Speter	* import.c: Allocate vhead and vbranch dynamically; removes
272032785Speter	arbitrary limit.
272132785Speter	* history.c: Likewise (since_rev, since_tag, backto, rec_types).
272232785Speter	* ignore.c: Likewise (line).  Also check for errors from getline
272332785Speter	and add 'copyright' notice to top of file.
272432785Speter	* wrapper.c (wrap_add_file): Likewise (line).  Also check for
272532785Speter	errors from various calls and add 'copyright' notice to top of file.
272632785Speter
272732785SpeterTue Mar  4 17:39:15 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
272832785Speter
272932785Speter	* client.c (update_entries): Add comment about "move away <file>"
273032785Speter	message.
273132785Speter
273232785SpeterMon Mar  3 21:51:40 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
273332785Speter
273432785Speter	* sanity.sh (basicb): Clean up topfile,v at end of test.  Fixes
273532785Speter	failure in modules-155b.
273632785Speter
273732785SpeterSun Mar  2 18:11:09 1997  Dan Wilder  <dan@gasboy.com>
273832785Speter			  and Jim Kingdon
273932785Speter
274032785Speter	* admin.c (admin): Arrange to perform recursion if "cvs admin"
274132785Speter	is passed only options.
274232785Speter
274332785SpeterSun Mar  2 18:11:09 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
274432785Speter
274532785Speter	* sanity.sh (basicb): New tests basicb-0* test for files at top
274632785Speter	level.
274732785Speter
274832785Speter	* error.c (error): Add newline to "out of memory" message.  I think
274932785Speter	that its omission probably could cause the message to be lost in
275032785Speter	the bowels of server.c and never passed to the user.
275132785Speter
275232785Speter	* client.c (start_rsh_server): Add comment about "remsh" vs. "rsh".
275332785Speter
275432785Speter	* cvs.h: Move copyright notice to top of file.
275532785Speter
275632785SpeterSun Mar  2 13:44:36 1997  Ian Lance Taylor  <ian@cygnus.com>
275732785Speter
275832785Speter	* sanity.sh: Use -n when testing whether rsh works.
275932785Speter
276032785Speter	* server.c (serve_root): Free path.
276132785Speter
276232785SpeterSun Mar  2 13:12:46 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
276332785Speter
276432785Speter	The following are things that I noticed in the process of trying
276532785Speter	to track down:
276632785Speter	  can't create temporary directory
276732785Speter	  Unknown error -1
276832785Speter	  FAIL: test 28
276932785Speter	from nightly testing.  I'm not sure that either item explains that
277032785Speter	message however.
277132785Speter	* server.c (server): Allocate pending_error_text;
277232785Speter	print_pending_error will try to free it so
277332785Speter	  pending_error_text = "foo"
277432785Speter	won't work.
277532785Speter	(mkdir_p): Don't assume that isdir will leave errno unmolested.
277632785Speter
277732785SpeterThu Feb 27 15:29:58 1997  Ian Lance Taylor  <ian@cygnus.com>
277832785Speter
277932785Speter	* remove.c (cvsremove): When forcing removal in client mode, use
278032785Speter	start_recursion rather than calling CVS_UNLINK on each argument.
278132785Speter	(remove_force_fileproc): New static function.
278232785Speter	* sanity.sh (deep): Add tests deep-rm7 through deep-rm10 for above
278332785Speter	patch.
278432785Speter
278532785Speter	* sanity.sh (death): Enable death-76a0 and death-76a1 tests for
278632785Speter	remote, since they now work.
278732785Speter
278832785SpeterWed Feb 26 16:13:26 1997  Ian Lance Taylor  <ian@cygnus.com>
278932785Speter
279032785Speter	* client.c (add_prune_candidate): Skip adding this directory if
279132785Speter	it is the same as the first directory already on the list.
279232785Speter
279332785SpeterMon Feb 24 21:36:43 1997  Noel Cragg  <noel@gargle.rain.org>
279432785Speter
279532785Speter	* main.c (lookup_command_attribute): Add the "init" command to the
279632785Speter 	list of commands that don't use the current working directory.
279732785Speter
279832785SpeterSun Feb 23 09:54:49 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
279932785Speter
280032785Speter	* sanity.sh (devcom3): Clean up at end of test.
280132785Speter
280232785Speter	* sanity.sh (basicb): Add commented out test basicb-8a0, for
280332785Speter	whether CVS can print an error on bad numeric revision to diff.
280432785Speter	Commented out until we get around to fixing CVS.
280532785Speter	* diff.c (diff_file_nodiff): Add comment about this case.
280632785Speter
280732785Speter	* fileattr.c (fileattr_read): If a filename is duplicated,
280832785Speter	continue to ignore subsequent lines but free the node so that we
280932785Speter	don't leak memory.
281032785Speter	* sanity.sh (devcom3): New tests devcom3-8 and devcom3-9 test for
281132785Speter	behavior on duplicated filenames.
281232785Speter
281332785Speter	* fileattr.h: Add comment about unrecognized ENT-TYPE and order of
281432785Speter	lines in fileattr file.
281532785Speter	* fileattr.c (struct unrecog, unrecog_head): New variables, to
281632785Speter	record unrecognized lines.
281732785Speter	(fileattr_startdir): Assert that unrecog_head == NULL.
281832785Speter	(fileattr_read): Record unrecognized lines in unrecog_head linked
281932785Speter	list rather than ignoring them.
282032785Speter	(fileattr_write): Also write out unrecognized lines, if any.
282132785Speter	* sanity.sh (devcom3): New tests, test for above fix.
282232785Speter
282332785Speter	* fileattr.h (fileattr_modify): Fix example in comment.
282432785Speter
282532785SpeterSat Feb 22 08:30:27 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
282632785Speter
282732785Speter	* sanity.sh: Add variable username.
282832785Speter	(basica rdiff multibranch log log2): Use it instead of our own
282932785Speter	(inconsistent) ways of matching an author name.
283032785Speter
283132785Speter	* filesubr.c, root.c, rtag.c, server.c, subr.c, update.c,
283232785Speter	wrapper.c: Nuke PATH_MAX.
283332785Speter	* cvs.h, wrapper.c (wrap_fromcvs_process_file): Now returns void
283432785Speter	(return value had been unused).
283532785Speter	* cvs.h: Adjust comment to reflect the fact that PATH_MAX is
283632785Speter	gone, at least from src/*.c (except safe_location, as noted).
283732785Speter
283832785Speter22 Feb 1997  patch by Tom Hageman  <tom@basil.icce.rug.nl> (4 Jun 1996)
283932785Speter	updated and commented by Jim Kingdon  <kingdon@harvey.cyclic.com>
284032785Speter
284132785Speter	* update.c (checkout_file): Call unlink_file_dir on backup, not
284232785Speter	unlink_file.
284332785Speter
284432785SpeterFri Feb 21 16:40:03 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
284532785Speter
284632785Speter	* Makefile.in (DISTFILES): Remove NOTES.
284732785Speter
284832785Speter	* NOTES: Removed.  bcopy->memcpy is done.  "static buffers" I
284932785Speter	assume refers to what is covered by reentrancy text in HACKING.
285032785Speter 	Obstack idea moved to comment in hash.c (at nodecache).  Checking
285132785Speter	system calls for error returns largely done, and isn't a very
285232785Speter	helpful suggestion unless you know where the bogus calls are
285332785Speter	anyway.  Sizing limits--we're in the progress of removing them
285432785Speter	(assuming it meant things like PATH_MAX and earlier, already
285532785Speter	nuked, limits).  Removed various items about changes which were
285632785Speter	done a long time ago (I realize that the ChangeLog's probably
285732785Speter	aren't reliable that far back, but I'm not convinced anyone cares
285832785Speter	anymore).  CONFIRM_DIRECTORY_ADDS: I assume this is a
285932785Speter	reference to the #if 0'd code in add_directory which asks for
286032785Speter	confirmation--a better way of making it harder to accidentally add
286132785Speter	directories would be to have to add and commit directories like
286232785Speter	for files.  I don't know what FORCE_MESSAGE_ON_ADD meant.
286332785Speter
286432785Speter	* rcs.c (RCS_getrevtime): Fix documentation (in particular, the
286532785Speter	size of the array that DATE must point to, but many other things
286632785Speter	too).
286732785Speter	* patch.c, recurse.c, release.c, remove.c, repos.c: Nuke PATH_MAX.
286832785Speter	(patch_fileproc): Use MAXDATELEN not hardcoded 50.
286932785Speter
287032785SpeterSun Feb 16 12:00:44 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
287132785Speter
287232785Speter	* client.c (client_process_import_file): New variable fullname;
287332785Speter	pass it to send_modified.  This finishes the job of untangling the
287432785Speter	old short_pathname variable into update_dir vs. fullname.
287532785Speter
287632785Speter	* client.c (client_process_import_file): Nuke first_time.  If
287732785Speter	toplevel_repos were ever NULL here, the code would dump core in
287832785Speter	strncmp a few lines down.  And client_import_setup ensures
287932785Speter	toplevel_repos is not NULL.
288032785Speter
288132785SpeterSun Feb 16 08:16:48 1997  Ian Lance Taylor  <ian@cygnus.com>
288232785Speter
288332785Speter	* client.c (client_process_import_file): Rename short_pathname to
288432785Speter	update_dir (to reflect its function) and make sure that it doesn't
288532785Speter	point to uninitialized memory if repository and toplevel_repos
288632785Speter	contain the same string.
288732785Speter
288832785SpeterSun Feb 16 08:16:48 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
288932785Speter
289032785Speter	* client.c (start_rsh_server): Nuke comment about weirdnesses with
289132785Speter	pre-1.5 versions of CVS and .bashrc/.cshrc.  The remote protocol
289232785Speter	is interoperable only back to 1.5, and people who need to know are
289332785Speter	unlikely to see this comment anyway.
289432785Speter
289532785SpeterSun Dec 15 13:12:30 1996  Michael Douglass <mikedoug@texas.net>
289632785Speter			  and Jim Kingdon  <kingdon@harvey.cyclic.com>
289732785Speter
289832785Speter	* main.c (cmds): Added an entry for new logout command.
289932785Speter	(cmd_usage): Added an entry for new logout command.
290032785Speter	(lookup_command_attribute): Added 'logout' to list of commands
290132785Speter	that set need_to_crate_root to 1.
290232785Speter	* login.c, cvs.h (logout): New command for removing entries from
290332785Speter	the .cvspass file.
290432785Speter	(logout_usage): Usage information on the logout command.
290532785Speter
290632785SpeterWed Feb 12 11:19:42 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
290732785Speter
290832785Speter	* client.c (struct send_data): Fix indentation.
290932785Speter
291032785SpeterWed Feb 12 08:48:04 1997  Greg A. Woods  <woods@most.weird.com>
291132785Speter
291232785Speter	* mkmodules.c (loginfo_contents): add missing comma in
291332785Speter	initializer statement (caused syntax error on SunOS-4).
291432785Speter
291532785SpeterTue Feb 11 21:14:28 1997  Ian Lance Taylor  <ian@cygnus.com>
291632785Speter
291732785Speter	* commit.c (find_fileproc): If force_ci is set, set the status to
291832785Speter	T_MODIFIED even if the file hasn't changed.
291932785Speter	(commit): Pass force_ci to send_files as new force argument.
292032785Speter	* client.c (struct send_data): Define.
292132785Speter	(send_fileproc): The callerdat parameter now points to a send_data
292232785Speter	struct.  If force is set, always call send_modified.
292332785Speter	(send_dirent_proc): The callerdat parameter now points to a
292432785Speter	send_data struct.
292532785Speter	(send_files): Add force parameter. Change all callers.  Set up a
292632785Speter	send_data struct and pass it to start_recursion as callerdat.
292732785Speter	* client.h (send_files): Update declaration.
292832785Speter	* sanity.sh (basica): Add a simple test for the above patch.
292932785Speter
293032785SpeterSun Feb  9 12:58:59 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
293132785Speter
293232785Speter	* tag.c (cvstag), rtag.c (rtag): Pass -f to server if specified in
293332785Speter	the client.  I haven't tried to come up with a test case because
293432785Speter	the fix seems obvious.
293532785Speter
293632785Speter	* import.c (add_rcs_file): Change size of altdate1 and altdate2 to
293732785Speter	MAXDATELEN.
293832785Speter	* cvs.h (MAXDATELEN): Fix comments; describe what this is for.
293932785Speter
294032785Speter	* diff.c (diff_usage): Document --ifdef and try to briefly say
294132785Speter	what "rcsdiff-options" means.
294232785Speter
294332785Speter	* update.c (update): If update had a nonzero status and we haven't
294432785Speter	yet tried to fetch unpatchable files, go ahead and try it again.
294532785Speter	The previous behavior was to quit, which meant that updates would
294632785Speter	keep failing until you hacked around the problem.  Patch and bug
294732785Speter	report by Ian; comment, ChangeLog entry, and willingness to take
294832785Speter	the flak if checking it is premature by Jim.
294932785Speter
295032785Speter	* server.c (alloc_pending): New function.
295132785Speter	* server.c: Call it.  Fixes places where we had neglected to
295232785Speter	check for NULL return from malloc.
295332785Speter
295432785Speter	* sanity.sh (binwrap): Add test binwrap-0, tests for import.c fix
295532785Speter	below.
295632785Speter
295732785SpeterSun, 9 Feb 1997 (submitted 19 Jul 1996)  John Polstra  <jdp@polstra.com>
295832785Speter
295932785Speter	* import.c (import): Give error if the same tag is specified more
296032785Speter	than once.  The previous behavior was to write an RCS file which
296132785Speter	had the same tag listed twice, once pointing to each revision,
296232785Speter	which is not legal.
296332785Speter
296432785SpeterSun Feb  9 12:37:09 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
296532785Speter
296632785Speter	* checkin.c (Checkin): Use cvs_output to print message (should
296732785Speter	make out of order bugs no worse, as it merely substitues a
296832785Speter	protocol_pipe vs. stderr_pipe race instead of a stdout_pipe
296932785Speter	vs. stderr_pipe race).  Add comment about stdout vs. stderr.
297032785Speter
297132785SpeterFri Feb  7 08:29:52 1997  Josef Nelissen  <josef.nelissen@munich.ixos.de>
297232785Speter
297332785Speter	* server.c (check_command_legal_p): Don't use ANSI-style definition.
297432785Speter
297532785SpeterThu Feb  6 10:55:37 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
297632785Speter
297732785Speter	* patch.c (patch): Give a fatal error for -V option (see comment
297832785Speter	for rationale).
297932785Speter
298032785Speter	* diff.c (diff): Also send "options" to server.  Pretty much the
298132785Speter	patch submitted independently by josef.nelissen@munich.ixos.de and
298232785Speter	Ronald Khoo <ronald@demon.net>.
298332785Speter
298432785SpeterWed Feb  5 18:57:14 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
298532785Speter
298632785Speter	* modules.c (do_module): Fix typo in 30 Jan 97 PATH_MAX nuking
298732785Speter	(free -> free_cwd).  Testsuite test 151 gets credit for catching
298832785Speter	this one.
298932785Speter
299032785SpeterMon Feb  3 16:14:54 1997  Ian Lance Taylor  <ian@cygnus.com>
299132785Speter
299232785Speter	* main.c (lookup_command_attribute): Don't use an ANSI prototype
299332785Speter	when defining the function.
299432785Speter
299532785SpeterFri Jan 31 12:49:02 1997  Ian Lance Taylor <ian@cygnus.com>
299632785Speter
299732785Speter	* modules.c (do_module): Actually goto found if is_found is set
299832785Speter	(fixes thinko in PATH_MAX nuking of 30 Jan 97).
299932785Speter
300032785SpeterFri Jan 31 12:49:02 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
300132785Speter
300232785Speter	* sanity.sh: Add modules3 and big to list of tests to run
300332785Speter	by default; they were omitted by accident.
300432785Speter
300532785SpeterThu Jan 30 11:46:33 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
300632785Speter
300732785Speter	* logmsg.c, main.c, mkmodules.c, modules.c, parseinfo.c, patch.c:
300832785Speter	Nuke more PATH_MAX.
300932785Speter
301032785Speter	* server.c (server_updated): After we send Created or
301132785Speter	Update-existing for a file, mark it as unchanged, in case we
301232785Speter	process it again.
301332785Speter	* sanity.sh (modules3): New tests, test for above fix.
301432785Speter
301532785Speter	* logmsg.c (do_verify): Error return from fopen is NULL, not -1.
301632785Speter	Pass errno to error().
301732785Speter
301832785Speter	* login.c [_CRAY]: Don't declare getpass.
301932785Speter
302032785SpeterMon Jan 27 17:25:27 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
302132785Speter
302232785Speter	* import.c (process_import_file): Fix freeing of rcs (Don't free
302332785Speter	it before we are done using it, and don't free it twice).
302432785Speter
302532785Speter	* modules.c (cat_module): Allocate line right before we use
302632785Speter	it.  The previous code was wrong because the length of the
302732785Speter	s_h->rest changes between the time we allocate line and the time we
302832785Speter	sprintf s_h->rest into it.
302932785Speter
303032785SpeterSun Jan 26 21:58:16 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
303132785Speter
303232785Speter	* expand_path.c (expand_path): Revise to call expand_string as
303332785Speter	needed.  Nuke PATH_MAX.
303432785Speter	* find_names.c (find_dirs): Likewise.
303532785Speter	* import.c, lock.c: Nuke more PATH_MAX.
303632785Speter
303732785Speter	* server.c (mkdir_p): Set retval to 0 at start of function.
303832785Speter	Previously it had been uninitialized for some cases.  Thanks are
303932785Speter	due to nightly testing for catching this one.
304032785Speter
304132785SpeterSat Jan 25 21:34:19 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
304232785Speter
304332785Speter	* subr.c, cvs.h (expand_string): New function.
304432785Speter	* rcs.c (getrcskey, getrcsrev): Call it.  This greatly reduces the
304532785Speter	number of calls to realloc if there is a very large file in the
304632785Speter	RCS file.  Credit goes to Mike Heath <mike@pswtech.com> for
304732785Speter	pointing out the problem and the basic solution (MIN_INCR,
304832785Speter	MAX_INCR); I adapted it into the separate function expand_string.
304932785Speter	* sanity.sh (big): New test helps insure this hasn't broken
305032785Speter	anything obvious.
305132785Speter
305232785SpeterWed Jan 22 10:06:13 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
305332785Speter
305432785Speter	* status.c (status_fileproc): Change message which is printed for
305532785Speter	T_MODIFIED and ts_conflict set, so that it doesn't say "unresolved
305632785Speter	confict".  This message occurs whether the conflict is resolved or
305732785Speter	not.
305832785Speter	* sanity.sh (conflicts): Add tests conflicts-status-* to test
305932785Speter	output of "cvs status" in the context of conflicts.  Tests for
306032785Speter	above fix.
306132785Speter
306232785Speter	* rtag.c (rtag): Send -n if run_module_prog is NOT true.
306332785Speter
306432785SpeterThu Jan 16 00:06:00 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
306532785Speter
306632785Speter	* version.c: Change version number to 1.9.3.
306732785Speter
306832785Speter	* version.c: Version 1.9.2.
306932785Speter
307032785SpeterWed Jan 15 09:14:38 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
307132785Speter
307232785Speter	* client.c (call_in_directory): Take code that creates CVSADM at
307332785Speter	top level, move it before the CVS_CHDIR (dir_name) call, and do it
307432785Speter	regardless of whether dir_name is ".".  Pass "." not dir_name to
307532785Speter	Create_Admin (when the code was written they were always the
307632785Speter	same).  Don't add reposdirname to the repository we pass to
307732785Speter	Create_Admin (when the code was written, I think reposdirname
307832785Speter	probably would always be ".").  Don't create CVSADM if
307932785Speter	reposdirname_absolute.
308032785Speter	* sanity.sh (basicb): Enable tests basicb-1a and basicb-9a for
308132785Speter	remote; tests for above fix.
308232785Speter	(basic1): Do entire test within a "1" directory to deal with
308332785Speter	creation of CVS directories at top level.  Support --keep.
308432785Speter	(conflicts): In test conflicts-136, only update first-dir.
308532785Speter	(basica): Uncomment the part that tests "cvs co -l .".  That tests
308632785Speter	the existing functionality which I might have (but hopefully did not)
308732785Speter	perturbed with the call_in_directory changes.
308832785Speter
308932785SpeterMon Jan 13 11:04:32 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
309032785Speter
309132785Speter	* server.c (check_command_legal_p): Do not call error (1, ...)
309232785Speter 	here; that will always cause a protocol violation by shutting down
309332785Speter	the connection prematurely.  Remove croak_on_illegal arg.
309432785Speter	(do_cvs_command): Move call to check_command_legal_p until after
309532785Speter	the call to print_pending_error.  Print the error message ourself.
309632785Speter
309732785Speter	* mkmodules.c (filelist): Add readers and writers.  Add comment
309832785Speter	about why passwd is not included.  Add comment about meaning of
309932785Speter	NULL contents field.
310032785Speter
310132785SpeterFri Jan 10 13:23:09 1997  Norbert Kiesel  <nk@col.sw-ley.de>
310232785Speter
310332785Speter	* release.c (release): Initialize delete_flag before reading it
310432785Speter	(found by running purify)
310532785Speter
310632785Speter	* logmsg.c (do_verify): Fix reading unallocated memory (found by
310732785Speter 	running purify)
310832785Speter
310932785SpeterThu Jan  9 16:32:47 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
311032785Speter
311132785Speter	* checkout.c (build_dirs_and_chdir): Partially revert 3 Jan
311232785Speter	change--move call to Subdir_Register back above the CVS_CHDIR call
311332785Speter	(we need to register in the old, not the new, directory).  Instead
311432785Speter	of calling CVS_MKDIR and ignoring errors, call mkdir_if_needed;
311532785Speter	this is an effort to catch errors there rather than catching them
311632785Speter	in the CVS_CHDIR.  This makes test 27-add-add in sanity.sh work
311732785Speter	again.
311832785Speter
311932785Speter	* find_names.c (Find_Directories): Remove code inside
312032785Speter	#ifdef ATTIC_DIR_SUPPORT and replace it with a comment explaining
312132785Speter	why we don't look in the attic.  ATTIC_DIR_SUPPORT was never defined.
312232785Speter
312332785Speter	* find_names.c (find_dirs): Add comment about tmp being unset.
312432785Speter
312532785Speter	* commit.c (checkaddfile): Report errors with errno and specific
312632785Speter	error messages.
312732785Speter
312832785Speter	* rcs.c, commit.c, create_adm.c, entries.c, find_names.c,
312932785Speter	ignore.c, history.c: Nuke PATH_MAX arbitrary limits.
313032785Speter
313132785SpeterWed Jan  8 23:07:41 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
313232785Speter
313332785Speter	* add.c (add): Reindent a portion which needed it.
313432785Speter
313532785Speter1997-01-08  Jim Kingdon
313632785Speter
313732785Speter	* client.c (send_file_names): When looking name up in Entries,
313832785Speter	call Entries_Open and Entries_Close.  This has two effects:
313932785Speter	(1) we look at Entries.Log, and (2) we don't skip 'D' entries,
314032785Speter	both of which are needed to make us get the right (command
314132785Speter	line) name for a directory we are adding.
314232785Speter
314332785SpeterWed Jan  8 14:50:47 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
314432785Speter
314532785Speter	* Makefile.in, cvs.h, hash.h, myndbm.h, rcs.h: Remove CVSid; we
314632785Speter	decided to get rid of these some time ago.
314732785Speter
314832785SpeterTue Jan  7 12:56:10 1997  Karl Fogel  <kfogel@ynu38.ynu.edu.cn>
314932785Speter
315032785Speter        * root.c (check_root_consistent): new func, compares below new
315132785Speter        global var with CVSroot_directory, assuming both set.
315232785Speter        (set_local_cvsroot): use above new func for security check.
315332785Speter        (parse_cvsroot): same.
315432785Speter        But do all of above only #ifdef AUTH_SERVER_SUPPORT.
315532785Speter
315632785Speter        * server.c: (Pserver_Repos): new global var, init to NULL.
315732785Speter        (pserver_authenticate_connection): set above new global.
315832785Speter        (check_repository_password): be a good scout and use
315932785Speter        CVSROOTADM and CVSROOTADM_PASSWD, now that they are the standard.
316032785Speter        Make sure all of above is in #ifdef AUTH_SERVER_SUPPORT.
316132785Speter        (check_command_legal_p): wrap most of body in #ifdef
316232785Speter        AUTH_SERVER_SUPPORT.
316332785Speter        Everywhere: wrap all references to CVS_Username in #ifdef
316432785Speter        AUTH_SERVER_SUPPORT.
316532785Speter
316632785Speter        * cvs.h (Pserver_Repos): new var, used in consistency [security]
316732785Speter        check.  Defined only #ifdef AUTH_SERVER_SUPPORT.
316832785Speter        (CVSROOTADM_PASSWD): new #define, trying to get with the program.
316932785Speter
317032785SpeterFri Jan  3 18:10:39 1997  Ian Lance Taylor  <ian@cygnus.com>
317132785Speter
317232785Speter	* checkout.c (build_dirs_and_chdir): Move call to Subdir_Register
317332785Speter	until after we know that the directory exists.
317432785Speter
317532785SpeterThu Jan  2 13:30:56 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
317632785Speter
317732785Speter	* Makefile.in, cvsbug.sh, edit.c, edit.h, error.c, error.h,
317832785Speter	fileattr.c, fileattr.h, filesubr.c, run.c, update.h, watch.c,
317932785Speter	watch.h: Remove "675" paragraph; see ../ChangeLog for rationale.
318032785Speter
318132785SpeterThu Jan  2 12:27:46 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
318232785Speter
318332785Speter	* sanity.sh (info): New test info-cleanup-verifymsg gets rid of
318432785Speter	verifymsg when we are done with it.
318532785Speter
318632785Speter	* sanity.sh (basicb): Skip tests basicb-1a and basicb-9a for remote.
318732785Speter	* sanity.sh (modules-155a4): It is OK if a CVS directory exists.
318832785Speter	* sanity.sh (ignore): Do everything inside a "1" directory.  The
318932785Speter	change to create CVS directories at top-level causes messages such as
319032785Speter	"? home" otherwise.  In test 191, specify -I CVS so that new CVS
319132785Speter	directory is ignored.
319232785Speter	* sanity.sh (crerepos): Manually remove CVS directory which had not
319332785Speter	existed before.
319432785Speter
319532785SpeterThu Jan  2 09:06:20 1997  Karl Fogel  <kfogel@ynu38.ynu.edu.cn>
319632785Speter
319732785Speter        * server.c: Changes for pserver read-only repository access:
319832785Speter        (check_command_legal_p): new func.  Right now, just checks if
319932785Speter        repository modification is permitted, and that only if pserver is
320032785Speter        active.
320132785Speter        (do_cvs_command): take new parameter `cmd_name', a string.  All
320232785Speter        callers changed.  Pass it on to new func check_command_legal_p()
320332785Speter        before executing the command.
320432785Speter        (CVS_Username): new global, init to NULL.  Used by
320532785Speter        check_command_legal_p(), set in check_password().
320632785Speter        (check_password): set above new global CVS_Username; reorganized a
320732785Speter        bit to facilitate this.
320832785Speter        (check_repository_password): give *host_user_ptr permanent
320932785Speter        storage iff success.
321032785Speter
321132785Speter        * main.c: Changes for pserver read-only repository access:
321232785Speter        (lookup_command_attribute): new func.
321332785Speter        (main): use new func lookup_command_attribute() to establish if
321432785Speter        CVS_CMD_IGNORE_ADMROOT and CVS_CMD_USES_WORK_DIR.
321532785Speter
321632785Speter        * cvs.h: Changes for pserver read-only repository access:
321732785Speter        (CVSROOTADM_READERS, CVSROOTADM_WRITERS): new #defines.
321832785Speter        Prototype lookup_command_attribute().
321932785Speter        (CVS_CMD_IGNORE_ADMROOT, CVS_CMD_USES_WORK_DIR,
322032785Speter        CVS_CMD_MODIFIES_REPOSITORY): new #defines for
322132785Speter        lookup_command_attribute() and its callers.
322232785Speter
322332785SpeterWed Jan  1 19:50:38 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
322432785Speter
322532785Speter	* options.h.in: Reword comment for TMPDIR_DFLT to make it clear
322632785Speter	that this isn't specific to the pserver server.
322732785Speter
322832785Speter	* modules.c (do_module): Give an error message if one tries to
322932785Speter	specify -a together with another option.
323032785Speter	* sanity.sh (modules2): New tests modules2-a* test for above fix.
323132785Speter
323232785Speter	* sanity.sh (devcom): Add tests devcom-a-nonexist and
323332785Speter	devcom-t-nonexist for "cvs watchers" on nonexistent argument.
323432785Speter
323532785Speter1997-01-01  Fred Fish  <fnf@ninemoons.com>
323632785Speter
323732785Speter	* run.c (piped_child, filter_stream_through_program): Actually
323832785Speter	install these HAVE_VFORK patches that got missed.
323932785Speter	(There was a log entry for these changes for 29 Nov 1996 but it
324032785Speter	seems I accidentally forgot to actually check them in -kingdon).
324132785Speter
324232785SpeterWed Jan  1 18:32:44 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
324332785Speter
324432785Speter	* Makefile.in: Add ChangeLog-96.
324532785Speter	* ChangeLog-96: New file, contains former contents of ChangeLog.
324632785Speter	* ChangeLog: Now just contains 1997 changes.
324732785Speter
324832785Speter
324932785SpeterFor older changes see ChangeLog-96.
3250