xref: /openbsd/gnu/usr.bin/cvs/src/ChangeLog-96 (revision 461cc63e)
1*461cc63eStholoMon Dec 30 15:43:48 1996  Abe Feldman  <feldman@harvey.cyclic.com>
2*461cc63eStholo
3*461cc63eStholo	* checkout.c (build_dirs_and_chdir): Reproduced block containing
4*461cc63eStholo	Create_Admin, placing it before Subdir_Register.
5*461cc63eStholo	* sanity.sh (basicb): Added tests 1a and 9a to test above changes
6*461cc63eStholo	to the checkout command.
7*461cc63eStholo
8*461cc63eStholoMon Dec 30 13:29:14 1996  uz@wuschel.ibb.schwaben.com (Ullrich von Bassewitz)
9*461cc63eStholo			  and Jim Kingdon  <kingdon@harvey.cyclic.com>
10*461cc63eStholo
11*461cc63eStholo	* cvs.h (CVSEDITPREFIXLEN): New define.
12*461cc63eStholo	* logmsg.c (do_editor): Use CVSEDITPREFIXLEN when deciding whether
13*461cc63eStholo	to strip off CVSEDITPREFIX and when telling the user what we will
14*461cc63eStholo	strip off.
15*461cc63eStholo
16*461cc63eStholoSun Dec 22 22:06:49 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
17*461cc63eStholo
18*461cc63eStholo	* logmsg.c (do_verify): If noexec, skip the verification *without*
19*461cc63eStholo	printing a message.  Use cvs_output not printf.  Skip verification
20*461cc63eStholo	for client_active.
21*461cc63eStholo
22*461cc63eStholoWed Dec 18 12:27:35 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
23*461cc63eStholo
24*461cc63eStholo	* repos.c (Name_Repository): Add comment regarding wording of
25*461cc63eStholo	"*PANIC*" error message.
26*461cc63eStholo
27*461cc63eStholo1996-12-18  Jim Kingdon
28*461cc63eStholo
29*461cc63eStholo	* client.c (call_in_directory): If the directory we are about
30*461cc63eStholo	to create is the same as CVSADM as seen by fncmp (for example,
31*461cc63eStholo	it is "cvs" and filenames are case-insensitive), then give a
32*461cc63eStholo	fatal error.
33*461cc63eStholo
34*461cc63eStholoTue Dec 17 13:14:22 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
35*461cc63eStholo
36*461cc63eStholo	* options.h.in: Add comments about SETXID security holes.
37*461cc63eStholo
38*461cc63eStholo	* logmsg.c (do_verify): Reindent comments.  Check errno if return
39*461cc63eStholo	code from run_exec is -1, not if it is 1.
40*461cc63eStholo	* sanity.sh (info): Move tests info-4 and info-8 to end and rename
41*461cc63eStholo	them.  Add verifymsg tests.  Instead of forcibly removing loginfo,
42*461cc63eStholo	remove it nicely (test info-11).
43*461cc63eStholo
44*461cc63eStholoTue Dec 17 12:45:32 1996  Abe Feldman  <feldman@cyclic.com>
45*461cc63eStholo
46*461cc63eStholo	* commit.c, import.c: Call do_verify as well as do_editor.
47*461cc63eStholo	* cvs.h (CVSROOTADM_VERIFYMSG): Define.
48*461cc63eStholo	* logmsg.c, cvs.h (do_verify, verifymsg_proc): New functions.
49*461cc63eStholo	(verifymsg_script): New variable.
50*461cc63eStholo	* mkmodules.c (filelist): Add CVSROOTADM_VERIFYMSG.
51*461cc63eStholo
52*461cc63eStholoMon Dec 16 13:24:47 1996  Ian Lance Taylor  <ian@cygnus.com>
53*461cc63eStholo
54*461cc63eStholo	* lock.c (remove_locks): New static function, copied from part of
55*461cc63eStholo	Lock_Cleanup.
56*461cc63eStholo	(Lock_Cleanup): Call remove_locks.
57*461cc63eStholo	(Writer_Lock): Call remove_locks rather than Lock_Cleanup when
58*461cc63eStholo	waiting for a lock.
59*461cc63eStholo
60*461cc63eStholoThu Dec 12 10:36:37 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
61*461cc63eStholo
62*461cc63eStholo	* login.c (get_cvs_password): If CVS_PASSWORD is set, print a
63*461cc63eStholo	warning (and then proceed to ignore it).  It was a documented
64*461cc63eStholo	feature, so we should point people who were using it to the
65*461cc63eStholo	replacement.
66*461cc63eStholo
67*461cc63eStholoMon Dec  9 12:35:43 1996  Ian Lance Taylor  <ian@cygnus.com>
68*461cc63eStholo
69*461cc63eStholo	* server.c (server_updated): Change comment to only worry about
70*461cc63eStholo	umask in the rsh case.
71*461cc63eStholo	(server): Create the temporary directory, and change the mode to
72*461cc63eStholo	S_IRWXU.
73*461cc63eStholo	(switch_to_user): Set the umask to 0, not 077.
74*461cc63eStholo
75*461cc63eStholoMon Dec  9 10:58:28 1996  Jim Blandy  <jimb@floss.cyclic.com>
76*461cc63eStholo
77*461cc63eStholo	* login.c (get_cvs_password): Remove code to check for value of
78*461cc63eStholo	CVS_PASSWORD.  Keeping cleartext passwords in environment
79*461cc63eStholo	variables is a really bad idea on Unix, since anyone can print
80*461cc63eStholo	out a processes' environment using 'ps' (on BSD variants
81*461cc63eStholo	anyway).  Update help message.
82*461cc63eStholo
83*461cc63eStholoFri Dec  6 15:59:40 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
84*461cc63eStholo
85*461cc63eStholo	* sanity.sh: When matching "use .cvs commit. to remove this file
86*461cc63eStholo	permanently" messages, change "cvs" to "${PROG}".
87*461cc63eStholo	(rdiff, binfiles): Likewise.
88*461cc63eStholo	This fixes testing a program named something other than "cvs", e.g.
89*461cc63eStholo	$ cp cvs cvs-test
90*461cc63eStholo	$ /bin/sh <srcdir>/sanity.sh `pwd`/cvs-test
91*461cc63eStholo
92*461cc63eStholo1996-12-02  Jim Kingdon
93*461cc63eStholo
94*461cc63eStholo	* client.c: In comment saying that socket buffers don't
95*461cc63eStholo	implement the blocking routine, say they are blocking.
96*461cc63eStholo	* buffer.h (struct buffer): In description of input function,
97*461cc63eStholo	describe blocking, non-blocking, and NEED more fully.  Say
98*461cc63eStholo	what happens if we read a nonzero amount less than NEED and
99*461cc63eStholo	then get end of file.
100*461cc63eStholo	* client.c (socket_buffer_input): If NEED == 0, still call
101*461cc63eStholo	recv (once).  Handle the case where recv returns 0.
102*461cc63eStholo
103*461cc63eStholoSat Nov 30 15:10:07 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
104*461cc63eStholo
105*461cc63eStholo	* subr.c, cvs.h (file_has_markers): New function.
106*461cc63eStholo	* rcs.h (RCS_MERGE_PAT): Now a fixed string not a regexp.
107*461cc63eStholo	* options.h.in (GREP): Removed; no longer used.
108*461cc63eStholo	* update.c (update_fileproc), commit.c (check_fileproc): Call
109*461cc63eStholo	file_has_markers rather than GREP.
110*461cc63eStholo	* rcscmds.c (RCS_merge): Just give a fatal error in the case where
111*461cc63eStholo	we had been calling GREP.  I suspect noone is using this code
112*461cc63eStholo	any more.
113*461cc63eStholo	* sanity.sh (conflicts): Rewrite tests 131, 132, and 133 to use
114*461cc63eStholo	dotest; tests that the above changes didn't break anything.
115*461cc63eStholo
116*461cc63eStholoFri Nov 29 09:06:41 1996  fnf@ninemoons.com (Fred Fish)
117*461cc63eStholo			  and Jim Kingdon  <kingdon@harvey.cyclic.com>
118*461cc63eStholo
119*461cc63eStholo	* checkout.c (safe_location): Only call readlink if HAVE_READLINK.
120*461cc63eStholo
121*461cc63eStholo	* run.c (piped_child, filter_stream_through_program): If
122*461cc63eStholo	HAVE_VFORK, call vfork not fork.
123*461cc63eStholo	* run.c (run_exec): Add comment about why we use vfork.
124*461cc63eStholo
125*461cc63eStholoMon Nov 25 12:48:31 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
126*461cc63eStholo
127*461cc63eStholo	* release.c (release): Don't return after processing the first
128*461cc63eStholo	argument; that kind of defeats the purpose of having a loop, eh?
129*461cc63eStholo	For client, close the connection after we've processed them all.
130*461cc63eStholo	* sanity.sh: Remove workaround for modules2-8 test; tests for
131*461cc63eStholo	above fix.  Adjust modules2-6 test to answer both questions.
132*461cc63eStholo
133*461cc63eStholo	* login.c: Reindent (all of get_cvs_password, a handful of lines
134*461cc63eStholo	elsewhere).
135*461cc63eStholo
136*461cc63eStholo	Cleanups to release, mostly cosmetic:
137*461cc63eStholo	* release.c (release_server): New function; breaks out server code
138*461cc63eStholo	from the release function.
139*461cc63eStholo	* release.c: Move delete_flag inside the release function.
140*461cc63eStholo	* release.c (release): Reindent.  Rewrite comments about how the
141*461cc63eStholo	implementation could be improved.  Don't declare variables as
142*461cc63eStholo	"register".  Include errno in error message.  Don't cast result of
143*461cc63eStholo	printf to void.  Remove unused variable srepos.
144*461cc63eStholo	* release.c: Remove comments at top of file about what it does.
145*461cc63eStholo	They were not particularly coherent and they were also out of date
146*461cc63eStholo	(I think).  Likewise for comment in release function about "if we
147*461cc63eStholo	are in a repository".
148*461cc63eStholo	* release.c: Change "module" to "directory" in a few messages
149*461cc63eStholo	since that is what is meant.
150*461cc63eStholo	* sanity.sh: In tests ignore-195 and ignore-193, change expected
151*461cc63eStholo	message accordingly.
152*461cc63eStholo
153*461cc63eStholoSun Nov 24 11:30:55 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
154*461cc63eStholo
155*461cc63eStholo	* sanity.sh: Clarify a few items in the todo list.
156*461cc63eStholo
157*461cc63eStholo	* log.c (log_parse_date): Use the "end" of the epoch not "next
158*461cc63eStholo	week" as the time which means "no end time".
159*461cc63eStholo	* sanity.sh (rcs): New test, tests dates and importing RCS files.
160*461cc63eStholo
161*461cc63eStholo1996-11-19  Jim Kingdon
162*461cc63eStholo
163*461cc63eStholo	Visual C++ lint:
164*461cc63eStholo	* hash.c: Declare qsort_comp.
165*461cc63eStholo	* update.c: Declare isremoved.
166*461cc63eStholo
167*461cc63eStholo1996-11-19  Jim Kingdon  <kingdon@harvey.cyclic.com>
168*461cc63eStholo
169*461cc63eStholo	* root.c, repos.c, modules.c, create_adm.c: Change all calls to
170*461cc63eStholo	strip_path to strip_trailing_slashes.  Basically strip_path is
171*461cc63eStholo	just an unneeded complication (we should keep the pathname the way
172*461cc63eStholo	the user specifies it, and the system can worry about things like
173*461cc63eStholo	consecutive /'s if it wants to).  Stripping trailing slashes is
174*461cc63eStholo	potentially dubious for the same reason, but it is a somewhat
175*461cc63eStholo	different case which I won't try to tackle now.
176*461cc63eStholo	* cvs.h (strip_path): Remove declaration.
177*461cc63eStholo
178*461cc63eStholoTue Nov 19 15:18:13 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
179*461cc63eStholo
180*461cc63eStholo	There are a lot of details to this change, but the concept is
181*461cc63eStholo	relatively simple: make it so that for every CVSLCK lock that we
182*461cc63eStholo	might take out, there is a flag which is set iff we have created
183*461cc63eStholo	the CVSLCK directory.
184*461cc63eStholo	* lock.c (struct lock): New structure.
185*461cc63eStholo	* lock.c: Remove static variables repository and cleanup_lckdir.
186*461cc63eStholo 	They are replaced by global_readlock.repository and
187*461cc63eStholo	global_readlock.have_lckdir, respectively (except insofar as the
188*461cc63eStholo	rest of these changes change the concept of cleanup_lckdir).
189*461cc63eStholo	New static variable global_readlock.
190*461cc63eStholo	(Reader_Lock, Lock_Cleanup): Use global_readlock in place of
191*461cc63eStholo	repository.
192*461cc63eStholo	(lock_simple_remove, set_lock, clear_lock, write_lock): Take a
193*461cc63eStholo	struct lock * instead of just a repository.  Set/clear
194*461cc63eStholo	lock->have_lckdir instead of cleanup_lckdir.
195*461cc63eStholo	(set_writelock_proc, unlock_proc): Pass ->data, not ->key, to
196*461cc63eStholo	write_lock or lock_simple_remove.
197*461cc63eStholo	(lock_filesdoneproc,lock_dir_for_write): Allocate a struct lock,
198*461cc63eStholo	put it in the ->data field, and fill in its fields.
199*461cc63eStholo	(lock_simple_remove): Use lock->have_lckdir as the sole test for
200*461cc63eStholo	whether the CVSLCK directory needs to be removed.  Add
201*461cc63eStholo	comments about why readlock and writelock variables don't tell us
202*461cc63eStholo	for sure whether locks exist.
203*461cc63eStholo	(lock_simple_remove, clear_lock): Use SIG_beginCrSect and
204*461cc63eStholo	SIG_endCrSect to ensure that ->have_lckdir is set to 0 iff the
205*461cc63eStholo	CVSLCK directory was really removed.
206*461cc63eStholo	(lock_simple_remove): Check for errors removing CVSLCK directory.
207*461cc63eStholo	(lock_simple_remove, Check_Owner, set_lock): Remove all code which
208*461cc63eStholo	checks userids (including all of Check_Owner and all the AFCVS
209*461cc63eStholo	code).  It was bogus if several CVS processes with the same userid
210*461cc63eStholo	were running (common if several users share a userid; a common
211*461cc63eStholo	practice with remote CVS), and with the rest of the changes here
212*461cc63eStholo	should not be needed.
213*461cc63eStholo
214*461cc63eStholo1996-11-16  Paul Eggert  <eggert@twinsun.com>
215*461cc63eStholo
216*461cc63eStholo	* rcs.c (RCS_deltas): Fix unintended trigraphs.
217*461cc63eStholo
218*461cc63eStholoFri Nov 15 13:06:03 1996  Tom Hageman  <tom@basil.icce.rug.nl>
219*461cc63eStholo
220*461cc63eStholo	* diff.c (diff_fileproc): In printing error messages, use the
221*461cc63eStholo	correct filename for which the error occurred.
222*461cc63eStholo
223*461cc63eStholoSun Nov 10 21:13:38 1996  Paul Sanders <p.sanders@dial.pipex.com>
224*461cc63eStholo			  and Jim Kingdon  <kingdon@harvey.cyclic.com>
225*461cc63eStholo
226*461cc63eStholo	* server.c: Use all the right cruft which goes along with
227*461cc63eStholo	including sys/time.h.
228*461cc63eStholo
229*461cc63eStholo	* server.c: Include a "copyright" notice.
230*461cc63eStholo
231*461cc63eStholo	* server.c: If HAVE_WINSOCK_H, include winsock.h.
232*461cc63eStholo
233*461cc63eStholo	* server.c (server): Only set a handler for SIGHUP if it is
234*461cc63eStholo	defined.  Likewise for all the other signals.
235*461cc63eStholo
236*461cc63eStholo	* server.c (do_cvs_command): Use DEVNULL not /dev/null.
237*461cc63eStholo
238*461cc63eStholoFri Nov 08 12:14:20 1996  Jim Kingdon
239*461cc63eStholo
240*461cc63eStholo	IBM ICC (OS/2) lint:
241*461cc63eStholo	* add.c (add): Only declare begin_added_files if
242*461cc63eStholo	SERVER_SUPPORT.
243*461cc63eStholo	* client.c (init_sockaddr): Change port argument from
244*461cc63eStholo	unsigned short to unsigned int.  Change hostname
245*461cc63eStholo	argument from const char * to char *.
246*461cc63eStholo
247*461cc63eStholoSun Nov  3 18:24:28 1996  Noel Cragg  <noel@gargle.rain.org>
248*461cc63eStholo
249*461cc63eStholo	* sanity.sh (info): add new tests that check behavior of format
250*461cc63eStholo 	string substitution in loginfo file.
251*461cc63eStholo
252*461cc63eStholoSat Nov  2 09:39:09 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
253*461cc63eStholo
254*461cc63eStholo	* client.c (do_deferred_progs): Don't access memory once it is
255*461cc63eStholo	freed (we already did it right for checkin_progs; do the same
256*461cc63eStholo	thing for update_progs).
257*461cc63eStholo
258*461cc63eStholo	* update.c, client.c, classify.c, client.h, diff.c, commit.c,
259*461cc63eStholo	create_adm.c: Nuke more PATH_MAX.
260*461cc63eStholo
261*461cc63eStholoFri Nov  1 18:22:32 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
262*461cc63eStholo
263*461cc63eStholo	* error.h: Define PROTO if it is not defined.
264*461cc63eStholo
265*461cc63eStholoWed Oct 30 08:53:20 1996  jalving@ibm.net
266*461cc63eStholo
267*461cc63eStholo	* patch.c (patch_fileproc): Set line1 and line2 to NULL up-front
268*461cc63eStholo	(before the first "goto out") so we don't try to free them.
269*461cc63eStholo
270*461cc63eStholoWed Oct 30 08:53:20 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
271*461cc63eStholo
272*461cc63eStholo	* commit.c (remove_file, commit_filesdoneproc), run.c (run_print,
273*461cc63eStholo	run_exec), modules.c (open_module, cat_module, do_module), update.c
274*461cc63eStholo	(update_dirleave_proc), tag.c (tag_fileproc): Call cvs_out* rather
275*461cc63eStholo	than stdio.
276*461cc63eStholo	* server.c (serve_expand_modules): Remove comment about do_module
277*461cc63eStholo	writing to stdout/stderr; above changes should fix this.
278*461cc63eStholo
279*461cc63eStholoTue Oct 29 17:23:59 1996  Ian Lance Taylor  <ian@cygnus.com>
280*461cc63eStholo
281*461cc63eStholo	* status.c (tag_list_proc): When printing the tag name, don't
282*461cc63eStholo	truncate it to 25 characters.
283*461cc63eStholo
284*461cc63eStholoTue Oct 29 12:49:07 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
285*461cc63eStholo
286*461cc63eStholo	* add.c, checkin.c, checkout.c, filesubr.c: Nuke arbitrary limit
287*461cc63eStholo	of PATH_MAX.  Many more such limits surely remain.
288*461cc63eStholo
289*461cc63eStholo	* fileattr.c (fileattr_set): Set attrs_modified *after* we might
290*461cc63eStholo	call fileattr_read, because fileattr_read clears it.
291*461cc63eStholo	* sanity.sh (devcom2): New tests, test for above fix and other
292*461cc63eStholo	behaviors I discovered in the process of looking into it.
293*461cc63eStholo
294*461cc63eStholoMon Oct 28 08:55:57 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
295*461cc63eStholo
296*461cc63eStholo	The following changes are to ensure that SYSTEM_CLEANUP is always
297*461cc63eStholo	called.
298*461cc63eStholo	* error.c, cvs.h, main.c: Remove error_set_cleanup and related
299*461cc63eStholo	machinery.  It was for a time when error.c was intended to be
300*461cc63eStholo	shared with other programs, but that is no longer true.
301*461cc63eStholo	* error.c, error.h (error_exit): New function; like error_cleanup
302*461cc63eStholo	from main.c but also calls SYSTEM_CLEANUP and exit (EXIT_FAILURE).
303*461cc63eStholo	* error.c (error, fperror): Call error_exit instead of doing it
304*461cc63eStholo	ourself.
305*461cc63eStholo	* server.c (server, serve_valid_responses, switch_to_user,
306*461cc63eStholo	check_password, pserver_authenticate_connection,
307*461cc63eStholo	kserver_authenticate_connection): Call SYSTEM_CLEANUP before exit.
308*461cc63eStholo	* add.c, client.c, import.c, main.c, mkmodules.c, modules.c,
309*461cc63eStholo	recurse.c, server.c, tag.c, update.c: Call error_exit ()
310*461cc63eStholo	instead of exit (EXIT_FAILURE).
311*461cc63eStholo
312*461cc63eStholoSun Oct 27 08:34:16 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
313*461cc63eStholo
314*461cc63eStholo	* sanity.sh (conflicts): New test 128.5 tests "cvs co -p" in an empty
315*461cc63eStholo	directory (like 126.5), but when the file has nonempty contents.
316*461cc63eStholo	* rcs.c (RCS_checkout): If writing to stdout, use cvs_output
317*461cc63eStholo	rather than fwrite.
318*461cc63eStholo	* update.c (checkout_file): Call cvs_stderr not fprintf.
319*461cc63eStholo	These changes should fix some out-of-order bugs which show up in
320*461cc63eStholo	situations like conflicts-126.5 and conflicts-128.5.
321*461cc63eStholo
322*461cc63eStholo	* mkmodules.c (checkout_file): Call RCS_checkout rather than
323*461cc63eStholo	run_exec on RCS_CO.
324*461cc63eStholo
325*461cc63eStholoSat Oct 26 18:29:46 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
326*461cc63eStholo
327*461cc63eStholo	* sanity.sh (rdiff): cd out of testimport directory and remove it
328*461cc63eStholo	when done.
329*461cc63eStholo
330*461cc63eStholo	* sanity.sh (info): Adjust tests to reflect fact that loginfo was
331*461cc63eStholo	created by cvs init.
332*461cc63eStholo
333*461cc63eStholo	* sanity.sh (ignore): Change test 187a1 to allow any number of
334*461cc63eStholo	files in CVSROOT, not just modules.
335*461cc63eStholo
336*461cc63eStholo	* sanity.sh (modules): In tests 148a0 and 148a1, don't expect a
337*461cc63eStholo	module which defines CVSROOT to itself, since we don't define one
338*461cc63eStholo	any more.  Also change test to rewrite modules rather than append
339*461cc63eStholo	to it (in case any previous tests are changed to do something with
340*461cc63eStholo	modules).  Change test 155b to allow any number of files in
341*461cc63eStholo	CVSROOT, not just modules.
342*461cc63eStholo
343*461cc63eStholo	* add.c (add_directory): Set rev_old and rev_new fields of struct
344*461cc63eStholo	logfile_info to NULL (prevents us from trying to free them later).
345*461cc63eStholo	* commit.c (find_fileproc), import.c (import): Likewise.
346*461cc63eStholo
347*461cc63eStholo	* sanity.sh (crerepos): New tests, to test alternate ways of
348*461cc63eStholo	creating a repository and related matters.
349*461cc63eStholo	* sanity.sh: Remove tests 1 through 3 and related cruft; replace
350*461cc63eStholo	them with a new test 1 which merely tests "cvs init".  By doing
351*461cc63eStholo	the obscure stuff in crerepos we avoid having to do all this stuff
352*461cc63eStholo	any time we run any single test.
353*461cc63eStholo
354*461cc63eStholoSat Oct 26 16:19:48 1996  Jim Blandy  <jimb@totoro.cyclic.com>
355*461cc63eStholo
356*461cc63eStholo	* main.c (main): If HAVE_TZSET is #defined, call tzset.  This is
357*461cc63eStholo	harmless on all systems I know of, and required on some.
358*461cc63eStholo
359*461cc63eStholoFri Oct 25 13:20:44 1996  Ian Lance Taylor  <ian@cygnus.com>
360*461cc63eStholo
361*461cc63eStholo	* diff.c (diff_file_nodiff): When setting use_rev1, only return
362*461cc63eStholo	DIFF_SAME if empty_file is DIFF_DIFFERENT and ts_user is not
363*461cc63eStholo	NULL.  Don't get confused by a vn_user field of "0" or one
364*461cc63eStholo	starting with '-'.
365*461cc63eStholo	* sanity.sh (death2): Add new death2-diff-{1,2,7,8} tests for
366*461cc63eStholo	above patch.  Renumber existing death2-diff tests to make room.
367*461cc63eStholo
368*461cc63eStholoFri Oct 25 12:38:29 1996  Jim Wilson  <wilson@cygnus.com>
369*461cc63eStholo
370*461cc63eStholo	* sanity.sh (death2): In tests death2-diff-{2,4,6,8,10}, allow "_"
371*461cc63eStholo	in temp file names.  The system (tmpnam or whatever) generates
372*461cc63eStholo	these names so they vary from system to system.
373*461cc63eStholo
374*461cc63eStholoFri Oct 25 07:52:44 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
375*461cc63eStholo
376*461cc63eStholo	* logmsg.c (logfile_write): Give an error for several cases which
377*461cc63eStholo	should not be legal.  Adjust comments accordingly.
378*461cc63eStholo	* mkmodules.c (loginfo_contents): Make description of loginfo much
379*461cc63eStholo	more concise.  This should be a reminder, not full documentation.
380*461cc63eStholo
381*461cc63eStholoTue Oct 22 10:37:37 1996  Noel Cragg  <noel@gargle.rain.org>
382*461cc63eStholo
383*461cc63eStholo	* commit.c (update_delproc): free structure members rev_old and
384*461cc63eStholo 	rev_new if they have been allocated.
385*461cc63eStholo
386*461cc63eStholo	* mkmodules.c: change loginfo_contents to include a description of
387*461cc63eStholo 	the new format string.
388*461cc63eStholo
389*461cc63eStholo	* logmsg.c (logfile_write): change syntax of format string.
390*461cc63eStholo
391*461cc63eStholoSat Oct 19 16:09:55 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
392*461cc63eStholo
393*461cc63eStholo	For reference, this takes CVS's text segment from 348348 bytes to
394*461cc63eStholo	347420 bytes.
395*461cc63eStholo	* server.c (requests): Change Directory to rq_essential
396*461cc63eStholo	per change in doc/cvsclient.texi.
397*461cc63eStholo	* client.c: Remove use_directory and all code which executed if
398*461cc63eStholo	it wasn't set.  This includes the get_short_pathname function.
399*461cc63eStholo	* server.c: Likewise, for use_dir_and_repos.
400*461cc63eStholo	(serve_repository): Give a fatal error.
401*461cc63eStholo	* server.c (requests): Remove Lost.  Change Unchanged to rq_essential.
402*461cc63eStholo	(serve_lost): Removed.
403*461cc63eStholo	* server.c, server.h, client.c, vers_ts.c: Remove use_unchanged,
404*461cc63eStholo	code to set it, and all code which executed if it wasn't set.
405*461cc63eStholo
406*461cc63eStholoSat Oct 19 12:44:08 1996  J. Richard Sladkey  <jrs@world.std.com>
407*461cc63eStholo			  and Jim Kingdon  <kingdon@harvey.cyclic.com>
408*461cc63eStholo
409*461cc63eStholo	* hash.c (sortlist, new function qsort_comp): Rewrite to use qsort
410*461cc63eStholo	instead of insert sort.  Changes algorithm from n^2 to n log n
411*461cc63eStholo	(assuming qsort is implemented with quicksort or similar).
412*461cc63eStholo
413*461cc63eStholoSat Oct 19 12:44:08 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
414*461cc63eStholo
415*461cc63eStholo	* sanity.sh (basic2): In test basic2-64, use -x and specify types
416*461cc63eStholo	which exclude E; the test is not built to deal with E (or any
417*461cc63eStholo	other new types).
418*461cc63eStholo
419*461cc63eStholoSat Oct 19 12:00:00 1996  Mark Mitchell <mmitchell@usa.net>
420*461cc63eStholo			  and Jim Kingdon  <kingdon@harvey.cyclic.com>
421*461cc63eStholo
422*461cc63eStholo	* update.c (isemptydir, new function isremoved): Avoid pruning
423*461cc63eStholo	directories that contain files marked for removal but not
424*461cc63eStholo	comitted.
425*461cc63eStholo	* update.c, update.h (isemptydir): Now extern, not static.
426*461cc63eStholo	* update.c (isemptydir): New parameter might_not_exist handles
427*461cc63eStholo	difference in functionality from old client_isemptydir.  Bring
428*461cc63eStholo	over the improved error checking from client_isemptydir.
429*461cc63eStholo	* client.c (client_isemptydir): Removed; isemptydir now suffices.
430*461cc63eStholo	* update.c (update_dirleave_proc), client.c
431*461cc63eStholo	(process_prune_candidates): Update callers.
432*461cc63eStholo	* sanity.sh (deep): Add tests deep-rm* for above fix.
433*461cc63eStholo
434*461cc63eStholoFri Oct 18 15:53:41 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
435*461cc63eStholo
436*461cc63eStholo	* sanity.sh (devcom): Add tests devcom-some* to test watching just
437*461cc63eStholo	a single file.
438*461cc63eStholo
439*461cc63eStholo	* root.c (Name_Root): Use isabsolute to test whether a pathname is
440*461cc63eStholo	absolute instead of checking for the first character being '/'.
441*461cc63eStholo	(Reported by Antoine P. Brusseau <brusseau@jprc.com>).
442*461cc63eStholo
443*461cc63eStholo	* commit.c (checkaddfile): Free rev only if it is non-NULL (thanks
444*461cc63eStholo	to cwong@world.std.com (Christopher Wong) for diagnosing this; the
445*461cc63eStholo	death2-15 test in sanity.sh hits it).
446*461cc63eStholo
447*461cc63eStholoThu Oct 17 15:21:56 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
448*461cc63eStholo
449*461cc63eStholo	* sanity.sh: Reenable rdiff tests.  Delete rdiff-9 test to reflect
450*461cc63eStholo	the fact that the change to add a -K option has not been
451*461cc63eStholo	incorporated.  Adjust rdiff-8 test to reflect the fact that the
452*461cc63eStholo	change to change the default keyword expansion for the first
453*461cc63eStholo	revision has not been incorporated.
454*461cc63eStholo	* patch.c (patch_fileproc): Pass the symbolic revision to
455*461cc63eStholo	RCS_checkout so that Name can be expanded correctly.  Reinstates
456*461cc63eStholo	one of the 30 Sep 96 changes and fixes a bug which the sanity.sh
457*461cc63eStholo	rdiff test tests for.
458*461cc63eStholo
459*461cc63eStholo	Reinstate change from 30 Sep 96:
460*461cc63eStholo	* patch.c (patch): CLIENT_SUPPORT: send '-f' if NOT force_tag_match
461*461cc63eStholo
462*461cc63eStholo	* client.c (process_prune_candidates): Do not ignore errors from
463*461cc63eStholo	unlink_file_dir.
464*461cc63eStholo
465*461cc63eStholo	* filesubr.c (deep_remove_dir): If rmdir returns an error other
466*461cc63eStholo	than ENOTEMPTY or EEXIST, return -1 not 0.  Add workaround for AIX
467*461cc63eStholo	header bug.
468*461cc63eStholo
469*461cc63eStholoTue Apr 30 08:21:27 1996  Mike Sutton <mike_sutton@dayton.saic.com>
470*461cc63eStholo
471*461cc63eStholo	* checkout.c, history.c: added logging/reporting of cvs export
472*461cc63eStholo	command
473*461cc63eStholo
474*461cc63eStholoWed Oct 16 10:16:57 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
475*461cc63eStholo
476*461cc63eStholo	* sanity.sh: Remove tests 4, 4.5, and 4.75; this functionality is
477*461cc63eStholo	already tested by 45, 45.5 and other tests.
478*461cc63eStholo	(ignore): New tests ignore-192, ignore-193, ignore-194, and
479*461cc63eStholo	ignore-195 test output from "cvs release".
480*461cc63eStholo	(modules2): New tests modules2-6, modules2-7, and modules2-8 test
481*461cc63eStholo	ability of cvs release to handle multiple arguments.  Since it
482*461cc63eStholo	currently doesn't, the tests are kludged.
483*461cc63eStholo
484*461cc63eStholo	* server.c, cvs.h (cvs_flushout): New function.
485*461cc63eStholo	* recurse.c (do_file_proc): Call it.
486*461cc63eStholo	* server.c (cvs_outerr): Call fflush (stdout) in non-server case.
487*461cc63eStholo	* main.c (main): Don't call setvbuf.  The code was incorrectly
488*461cc63eStholo	checking for "patch" (it really is "rdiff"); the concern about
489*461cc63eStholo	slowing down large amounts of output is not specific to rdiff
490*461cc63eStholo	(it applies to "log" for example); and the above changes should
491*461cc63eStholo	meet the need.
492*461cc63eStholo
493*461cc63eStholoTue Oct 15 10:22:10 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
494*461cc63eStholo
495*461cc63eStholo	This is intended to facilitate some future cleanups to the
496*461cc63eStholo	locking, but by itself it is a simple, conversative rearrangement:
497*461cc63eStholo	* tag.c (locked_dir, locked_list): Move from here...
498*461cc63eStholo	* lock.c: ...to here.
499*461cc63eStholo	* lock.c (Lock_Cleanup): If locked_dir is set clean it up too.
500*461cc63eStholo	* tag.c (tag_unlockdir): Removed; with the above change
501*461cc63eStholo	Lock_Cleanup suffices.
502*461cc63eStholo	* tag.c (tag_lockdir): Move from here...
503*461cc63eStholo	* lock.c (lock_dir_for_write): ...to here.
504*461cc63eStholo	* tag.c (tag_fileproc), rtag.c (rtag_fileproc): Update callers.
505*461cc63eStholo	Move comments concerning why we are locking what we are from
506*461cc63eStholo	tag_lockdir to here.
507*461cc63eStholo	* tag.c (tag_filesdoneproc), rtag.c (rtag_filesdoneproc):
508*461cc63eStholo	Update callers.
509*461cc63eStholo	* lock.c (Writer_Lock): Made static.
510*461cc63eStholo	* cvs.h: Update declarations.
511*461cc63eStholo	* server.c (server_notify): Call lock_dir_for_write rather than
512*461cc63eStholo	calling Writer_Lock ourselves.
513*461cc63eStholo
514*461cc63eStholo	This is intended to facilitate some future cleanups to the
515*461cc63eStholo	locking, but by itself it is a simple, conversative rearrangement:
516*461cc63eStholo	* lock.c (Lock_Cleanup): Also dellist (lock_tree_list).
517*461cc63eStholo	* lock.c, cvs.h (lock_tree_cleanup): Removed; with the above change
518*461cc63eStholo	Lock_Cleanup suffices.
519*461cc63eStholo	* commit.c, edit.c, watch.c: Change callers.
520*461cc63eStholo
521*461cc63eStholoSat Oct 12 21:41:46 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
522*461cc63eStholo
523*461cc63eStholo	* sanity.sh (deep): Add comment about whether the deep-4b behavior
524*461cc63eStholo	is considered desirable.
525*461cc63eStholo
526*461cc63eStholoSat Oct 12 20:36:36 1996  Ian Lance Taylor  <ian@cygnus.com>
527*461cc63eStholo
528*461cc63eStholo	* client.c (client_send_expansions): Add build_dirs parameter.
529*461cc63eStholo	Change all callers.
530*461cc63eStholo	(send_dirent_proc): Get build_dirs from callerdat; if it is
531*461cc63eStholo	zero, don't send a nonexistent directory to the server.
532*461cc63eStholo	(send_files): Add build_dirs parameter.  Change all callers.
533*461cc63eStholo	* client.h (send_files): Update prototype.
534*461cc63eStholo	(send_files_contents): Remove prototype for nonexistent function.
535*461cc63eStholo	(client_send_expansions): Update prototype.
536*461cc63eStholo	* sanity.sh (deep): Add deep-4b test for above patch.
537*461cc63eStholo
538*461cc63eStholoFri Oct 11 14:07:12 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
539*461cc63eStholo
540*461cc63eStholo	gcc -Wall lint:
541*461cc63eStholo	* logmsg.c (title_proc): Remove unused variables title and comma.
542*461cc63eStholo
543*461cc63eStholo	* sanity.sh (modules2): Don't be picky about whether we are
544*461cc63eStholo	checking in 1.3 or 1.2 of modules; it depends on whether we are
545*461cc63eStholo	running all the tests or just some.
546*461cc63eStholo
547*461cc63eStholoThu Oct 10 14:52:06 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
548*461cc63eStholo
549*461cc63eStholo	* server.c, server.h (server_dir): New variable.
550*461cc63eStholo	(output_dir): If it is set, send it before the directory name.
551*461cc63eStholo	* modules.c (do_module): Set it, in the case of & modules, and
552*461cc63eStholo	restore it when done.
553*461cc63eStholo	* sanity.sh (modules): Don't clean up first-dir before starting;
554*461cc63eStholo	tests now clean up for themselves at the end.
555*461cc63eStholo	(modules2): New tests, for above fix.
556*461cc63eStholo
557*461cc63eStholoWed Oct  9 15:52:34 1996  Jim Blandy  <jimb@totoro.cyclic.com>
558*461cc63eStholo
559*461cc63eStholo	* sanity.sh: Barf immediately if run as root.
560*461cc63eStholo
561*461cc63eStholo	* rcs.c (RCS_getrevtime): When giving a date to get_date, use the full
562*461cc63eStholo	year, not the year - 1900, so that dates after 1999 are parsed
563*461cc63eStholo	correctly.  (Change thanks to Paul Eggert.)
564*461cc63eStholo
565*461cc63eStholoWed Oct  9 10:59:11 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
566*461cc63eStholo
567*461cc63eStholo	Clean up gcc -Wmissing-prototypes lint:
568*461cc63eStholo	* cvs.h (admin, add, checkout, commit, diff, history, import,
569*461cc63eStholo	cvslog, login, patch, release, cvsremove, rtag, status, tag):
570*461cc63eStholo	Declare.
571*461cc63eStholo	* server.c, main.c: Don't declare them here.  Don't declare update
572*461cc63eStholo	either (which is already declared in cvs.h).
573*461cc63eStholo	* tag.c, cvs.h, main.c, server.c: Rename tag to cvstag to avoid
574*461cc63eStholo	name conflicts.
575*461cc63eStholo	* client.c (init_sockaddr, auth_server_port_number), entries.c
576*461cc63eStholo	(Entnode_Create, Entnode_Destroy), hash.c (nodetypestring),
577*461cc63eStholo	login.c (construct_cvspass_filename), server.c
578*461cc63eStholo	(supported_response), wrapper.c (wrap_matching_entry): Make static;
579*461cc63eStholo	prototype.
580*461cc63eStholo	* hash.c (printlist): Prototype.
581*461cc63eStholo	* myndbm.c (mydbm_load_file): Change declaration to prototype.
582*461cc63eStholo
583*461cc63eStholoTue Oct  8 22:35:34 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
584*461cc63eStholo
585*461cc63eStholo	* sanity.sh (log2): Re-add these tests; they were deleted for 1.9
586*461cc63eStholo	(because they were thought to be destabilizing and/or due to
587*461cc63eStholo	confusion/accident), but they can be put back now.
588*461cc63eStholo
589*461cc63eStholo	* sanity.sh (death2): In tests death2-diff-{2,4,6,8,10}, allow "-"
590*461cc63eStholo	or "%" in temp file names.  The system (tmpnam or whatever)
591*461cc63eStholo	generates these names so they vary from system to system.
592*461cc63eStholo
593*461cc63eStholoTue Oct  8 12:37:09 1996  Ian Lance Taylor  <ian@cygnus.com>
594*461cc63eStholo
595*461cc63eStholo	* options.h.in (HAD_RCS4): Remove; no longer used.
596*461cc63eStholo
597*461cc63eStholoSun Oct  6 15:58:11 1996  Noel Cragg  <noel@gargle.rain.org>
598*461cc63eStholo
599*461cc63eStholo	* The following changes address problem #56 in the GNATS database
600*461cc63eStholo 	on harvey.cyclic.com:
601*461cc63eStholo
602*461cc63eStholo	* logmsg.c (str_list_format): new global -- contains the format
603*461cc63eStholo 	for items to be placed in str_list.
604*461cc63eStholo	(Update_Logfile): move code that creates the "title" string...
605*461cc63eStholo	(logfile_write): ...to here.  Pull apart the filter program and
606*461cc63eStholo 	look for a format string, extracting it if there is one.
607*461cc63eStholo	(title_proc): write a given filename/value based on the format
608*461cc63eStholo 	string.
609*461cc63eStholo
610*461cc63eStholo	* commit.c (classify_file_internal): new routine, old code (needed
611*461cc63eStholo 	to use the code in more than one place).  Determines the status
612*461cc63eStholo 	and version information about a file.
613*461cc63eStholo	(check_fileproc): use classify_file_internal.  Fill in the rev_old
614*461cc63eStholo 	field for the struct logfile_info.
615*461cc63eStholo	(commit_fileproc): Fill in the rev_new field.
616*461cc63eStholo
617*461cc63eStholo	* cvs.h (struct logfile_info): add two new fields -- rev_old and
618*461cc63eStholo 	rev_new -- that keep track of revision numbers across commits.
619*461cc63eStholo
620*461cc63eStholoFri Sep 27 15:21:47 1996  Peter Wemm  <peter@spinner.dialix.com>
621*461cc63eStholo
622*461cc63eStholo	* logmsg.c (do_editor): Do not use editinfo if running on the client.
623*461cc63eStholo
624*461cc63eStholoFri Oct  4 15:11:46 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
625*461cc63eStholo
626*461cc63eStholo	* server.c (server_cleanup): Temporarily clear noexec when calling
627*461cc63eStholo	unlink_file_dir.  This is so we clean up the temp directory even
628*461cc63eStholo	when the -n global option is specified.
629*461cc63eStholo
630*461cc63eStholoWed Oct  2 10:47:33 1996  Norbert Kiesel  <nk@col.sw-ley.de>
631*461cc63eStholo
632*461cc63eStholo	* client.c (send_repository): initialize some variables before
633*461cc63eStholo 	first usage
634*461cc63eStholo
635*461cc63eStholoTue Oct  1 13:01:24 1996  Jim Blandy  <jimb@floss.cyclic.com>
636*461cc63eStholo
637*461cc63eStholo	Revert some of Greg's changes; they're welcome later, but we're
638*461cc63eStholo	trying to keep CVS stable for pre-release testing at the moment.
639*461cc63eStholo	* checkin.c, commit.c, cvs.h, diff.c, import.c, main.c, no_diff.c,
640*461cc63eStholo	options.h.in, patch.c, rcs.c, rcs.h, rcscmds.c, sanity.sh, update.c:
641*461cc63eStholo	Revert changes of Sep 29 and 30.
642*461cc63eStholo
643*461cc63eStholoTue Oct  1 13:17:31 1996  Ian Lance Taylor  <ian@cygnus.com>
644*461cc63eStholo
645*461cc63eStholo	Make sure the server temporary directory is removed even if
646*461cc63eStholo	Max-dotdot is used.
647*461cc63eStholo	* server.c (orig_server_temp_dir): New static variable.
648*461cc63eStholo	(serve_max_dotdot): Don't free server_temp_dir if it is the same
649*461cc63eStholo	as orig_server_temp_dir.
650*461cc63eStholo	(do_cvs_command): Use orig_server_temp_dir in error message.
651*461cc63eStholo	(server_cleanup): Remove orig_server_temp_dir.
652*461cc63eStholo	(server): Set orig_server_temp_dir.  Remove incorrect indentation
653*461cc63eStholo	of error message.
654*461cc63eStholo
655*461cc63eStholo	* import.c (update_rcs_file): Restore new argument to
656*461cc63eStholo	RCS_checkout, removed in last patch.
657*461cc63eStholo
658*461cc63eStholoTue Oct  1 00:32:55 1996  Jim Blandy  <jimb@floss.cyclic.com>
659*461cc63eStholo
660*461cc63eStholo	* import.c: Revert Greg Woods' changes of Sep 30.  We may want
661*461cc63eStholo	them later, but not before 1.9.
662*461cc63eStholo
663*461cc63eStholoMon Sep 30 23:31:01 1996  Jim Blandy  <jimb@floss.cyclic.com>
664*461cc63eStholo
665*461cc63eStholo	* log.c (log_fileproc): Now that we might actually find a "desc"
666*461cc63eStholo 	node in rcsfile->other, thanks to Ian's change below, we had
667*461cc63eStholo 	better deal correctly if we find a null pointer in it.
668*461cc63eStholo
669*461cc63eStholoMon Sep 30 13:55:03 1996  Greg A. Woods  <woods@most.weird.com>
670*461cc63eStholo
671*461cc63eStholo	* main.c (main): don't set need_to_create_root for "cvs init"
672*461cc63eStholo	either, just in case it's run from within a valid working
673*461cc63eStholo	directory.
674*461cc63eStholo
675*461cc63eStholo	* sanity.sh (testcvs): oops, forgot to comment out test version I
676*461cc63eStholo 	was using...
677*461cc63eStholo
678*461cc63eStholo	* diff.c (diff_fileproc): use Diffbin instead of DIFF (3).
679*461cc63eStholo	* patch.c (patch_fileproc): use Diffbin instead of DIFF.
680*461cc63eStholo	* commit.c (check_fileproc): use Grepbin instead of GREP.
681*461cc63eStholo	* rcscmds.c (RCS_merge): use Grepbin instead of GREP.
682*461cc63eStholo	* update.c (patch_file): use Diffbin instead of DIFF.
683*461cc63eStholo	(update_fileproc): use Grepbin instead of GREP.
684*461cc63eStholo	* cvs.h (Diffbin): new declaration.
685*461cc63eStholo	(Grepbin): new declaration.
686*461cc63eStholo	(DIFFBIN_ENV): new manifest to name DIFFBIN environ var.
687*461cc63eStholo	(GREPBIN_ENV): new manifest to name GREPBIN environ var.
688*461cc63eStholo	* option.h.in (DIFFBIN_DFLT): renamed from DIFF.
689*461cc63eStholo	(GREPBIN_DFLT): renamed from GREP.
690*461cc63eStholo	* main.c (main): new variables diffbin_update_env and
691*461cc63eStholo	grepbin_update_inv, ala rcsbin_update_env.
692*461cc63eStholo	(main): new options -D diffbin and -g grepbin
693*461cc63eStholo	(usg): describe new options -D diffbin and -g grepbin.
694*461cc63eStholo	(Diffbin): new global variable for DIFF path.
695*461cc63eStholo	(Grepfbin): new global variable for GREP path.
696*461cc63eStholo
697*461cc63eStholo	* options.h.in (RCSBIN_DFLT): mention this needs to be set if
698*461cc63eStholo	your PATH isn't set properly by rshd.
699*461cc63eStholo
700*461cc63eStholo	* sanity.sh (rdiff): re-do Jim's change, but with the original
701*461cc63eStholo	keywords I had intended (should be a bit more like real life), and
702*461cc63eStholo	Jim's better RCS date and user matching form.
703*461cc63eStholo	[I guess that's what I get for checking things in at 3am! ;-)]
704*461cc63eStholo
705*461cc63eStholoMon Sep 30 17:00:20 1996  Ian Lance Taylor  <ian@cygnus.com>
706*461cc63eStholo
707*461cc63eStholo	* rcs.c (RCS_reparsercsfile): Store desc field value in main RCS
708*461cc63eStholo	node data, not in version specific data.
709*461cc63eStholo	* sanity.sh: Enable log2 test (for local CVS only).
710*461cc63eStholo
711*461cc63eStholoMon Sep 30 13:01:45 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
712*461cc63eStholo
713*461cc63eStholo	* sanity.sh (log2): New test, tests cvs add -m.  Not yet enabled
714*461cc63eStholo	in "tests" because CVS currently flunks this test.
715*461cc63eStholo
716*461cc63eStholo	* sanity.sh (rdiff, basic2): Allow "cvs server" as well as "cvs
717*461cc63eStholo	checkout" and friends in messages.  In testing output of cvs
718*461cc63eStholo	status, don't require a tab which isn't there for remote.  Skip
719*461cc63eStholo	test rdiff-9 for remote.  In test basic2-64, add missing slash in
720*461cc63eStholo	the pattern which gets used for remote.
721*461cc63eStholo
722*461cc63eStholo	* sanity.sh (rdiff): Fix strings we were matching against which
723*461cc63eStholo	got keyword-expanded in checking in sanity.sh.
724*461cc63eStholo
725*461cc63eStholoMon Sep 30 03:21:37 1996  Greg A. Woods  <woods@most.weird.com>
726*461cc63eStholo
727*461cc63eStholo	* sanity.sh: change all regexpr literal '.' to '\.'
728*461cc63eStholo 	(basic2): why are tests 34 & 42 commented out (because
729*461cc63eStholo	of 'diff -u'?)?
730*461cc63eStholo	add tests 56[abc], 57a, and 58a to test import to the main
731*461cc63eStholo	branch (i.e. branch '1').
732*461cc63eStholo	(rdiff): new test section for rdiff -K, etc.
733*461cc63eStholo	(dotest): remove dotest.ex? before running a new test.
734*461cc63eStholo	(dotest_fail): remove dotest.ex? before running a new test.
735*461cc63eStholo	(dotest_internal): write expected output to dotest.exp, or if $4
736*461cc63eStholo	also used, to dotest.ex1 and dotest.ex2.
737*461cc63eStholo	(patch): renamed this test to 'serverpatch'.
738*461cc63eStholo	(dotest_lit): rename dotest.res to dotest.exp ala dotest().
739*461cc63eStholo	remove dotest.ex? before running a new test.
740*461cc63eStholo	(DOTSTAR): mention the bug exists up to 1.12
741*461cc63eStholo	(ENDANCHOR): mention the bug exists up to 1.12
742*461cc63eStholo	(dotest_all_in_one): new function for debugging.
743*461cc63eStholo	(dotest_line_by_line): new function for debugging.
744*461cc63eStholo	(dotest_internal_debug): new function for debugging.
745*461cc63eStholo	(dotest_internal): stop emulating the ancient tests and don't spew
746*461cc63eStholo	the dotest.tmp contents onto $LOGFILE -- it's just too much
747*461cc63eStholo	meaningless noise.  Only do this if the test fails.  Many tests
748*461cc63eStholo	don't use dotest() yet, so this isn't quite so helpful as it might
749*461cc63eStholo	otherwise be.
750*461cc63eStholo	(TODO): mention CVS/* files, especially CVS/Root.
751*461cc63eStholo
752*461cc63eStholo	* main.c (main): add a commented out piece of code to suggest that
753*461cc63eStholo	there should be a function lookup_command_attribute() that could
754*461cc63eStholo	tell us various things about internal commands, such as whether
755*461cc63eStholo	they use CVS/Root, or if they're repository-only, or if they need
756*461cc63eStholo	a working directory, etc....
757*461cc63eStholo	(main): don't set need_to_create_root if command doesn't use a
758*461cc63eStholo	local working directory.
759*461cc63eStholo
760*461cc63eStholo	* patch.c (patch): CLIENT_SUPPORT: send '-f' if NOT force_tag_match
761*461cc63eStholo
762*461cc63eStholo	* error.c (fperror): protect declaration for un-defined __STDC__
763*461cc63eStholo
764*461cc63eStholo	* import.c (import): permit imports to a branch with zero dots,
765*461cc63eStholo	i.e. the trunk.
766*461cc63eStholo	(update_rcs_file): don't detect conflicts if importing to the
767*461cc63eStholo	trunk.
768*461cc63eStholo	(import): add hint that we should allow a module name, instead of
769*461cc63eStholo	just a pathname relative to $CVSROOT.
770*461cc63eStholo	(add_rcs_file): if importing to trunk, do it with ci(1).
771*461cc63eStholo
772*461cc63eStholo	* import.c: XXX the following are all #if 0'ed out until a full
773*461cc63eStholo	implementation can be designed....
774*461cc63eStholo	(cbranch): new variable to support conflict detection on another
775*461cc63eStholo	branch set by -c.
776*461cc63eStholo	(import): truncate -b and -c optarg if to fit in static storage.
777*461cc63eStholo	(import_usage): describe -c
778*461cc63eStholo
779*461cc63eStholo	* rcscmds.c (RCS_checkout): add new argument 'rcsver'.  If rcsver
780*461cc63eStholo	is set, turn on 'keywords' to force call to RCS_exec_checkout.
781*461cc63eStholo	* rcs.c (RCS_exec_checkout): add new argument 'rcsver'.  Pass
782*461cc63eStholo	'rcsver' to "co" with run_arg().
783*461cc63eStholo	* cvs.h: (RCS_checkout): add new argument 'rcsver' to prototype.
784*461cc63eStholo	(RCS_exec_checkout): add new argument 'rcsver' to prototype.
785*461cc63eStholo	* commit.c (remove_file): supply new argument to RCS_checkout.
786*461cc63eStholo	* checkin.c (Checkin): supply new argument to RCS_checkout.
787*461cc63eStholo	* diff.c (diff_fileproc): supply new argument to RCS_checkout.
788*461cc63eStholo	(diff_file_nodiff): supply new argument to RCS_checkout.
789*461cc63eStholo	* no_diff.c (No_Difference): supply new argument to RCS_checkout.
790*461cc63eStholo	* update.c (checkout_file): supply new argument to RCS_checkout.
791*461cc63eStholo	(patch_file): supply new argument to RCS_checkout.
792*461cc63eStholo	(join_file): supply new argument to RCS_checkout.
793*461cc63eStholo
794*461cc63eStholo	* patch.c: (o_options): new variable for -K
795*461cc63eStholo	(rcsver): new variable for -V.
796*461cc63eStholo	(patch): add -K flag which sets o_options, change -V to set
797*461cc63eStholo	rcsver, send o_options and rcsver if in client mode.
798*461cc63eStholo	(patch_fileproc): use RCS_checkout instead of RCS_fast_checkout in
799*461cc63eStholo	order to ensure $Name is expanded, use o_options if set, or
800*461cc63eStholo	options if set, or by default "-ko" when getting "old" file.
801*461cc63eStholo
802*461cc63eStholoSun Sep 29 16:43:28 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
803*461cc63eStholo
804*461cc63eStholo	* rcscmds.c: Replace comment at top of file concerning RCS library
805*461cc63eStholo	with a reworded version based on discussion between me, Ian, Paul
806*461cc63eStholo	Eggert, and JimB.
807*461cc63eStholo
808*461cc63eStholoSun Sep 29 13:09:45 1996  Noel Cragg  <noel@kiva.rain.org>
809*461cc63eStholo
810*461cc63eStholo	* main.c (main): don't create/update CVS/Root when doing the "cvs
811*461cc63eStholo 	login" command.  Consider: if the user executes "cvs login" with
812*461cc63eStholo 	the working directory inside an already checked out module, we'd
813*461cc63eStholo 	incorrectly change the CVS/Root file to reflect the CVSROOT of the
814*461cc63eStholo 	"cvs login" command.
815*461cc63eStholo
816*461cc63eStholo	* login.c (login): if we're re-logging into a server for which a
817*461cc63eStholo 	.cvspass entry already exists, copy the temporary file to its home
818*461cc63eStholo 	location rather than renaming.  Renaming doesn't work between
819*461cc63eStholo 	filesystems.  After copying, unlink the temporary file.
820*461cc63eStholo
821*461cc63eStholoFri Sep 27 05:24:56 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
822*461cc63eStholo
823*461cc63eStholo	* diff.c: Add comment about --brief option.
824*461cc63eStholo
825*461cc63eStholo	* README-rm-add: Removed; the information which was here is now in
826*461cc63eStholo	cvs.texinfo.
827*461cc63eStholo	* Makefile.in (DISTFILES): Remove README-rm-add.
828*461cc63eStholo
829*461cc63eStholoWed Sep 25 10:00:00 1996  Larry Jones  <larry.jones@sdrc.com>
830*461cc63eStholo
831*461cc63eStholo	* Makefile.in (cvsbug): Add dependency on version.c.
832*461cc63eStholo
833*461cc63eStholoWed Sep 25 09:01:48 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
834*461cc63eStholo
835*461cc63eStholo	* filesubr.c (get_homedir), update.c (update): Reindent.
836*461cc63eStholo
837*461cc63eStholoWed Sep 25 04:44:54 1996  Jim Blandy  <jimb@totoro.cyclic.com>
838*461cc63eStholo
839*461cc63eStholo	* version.c (version_string): Bump to 1.8.86.
840*461cc63eStholo
841*461cc63eStholoWed Sep 25 05:17:50 1996  Jim Blandy  <jimb@floss.cyclic.com>
842*461cc63eStholo
843*461cc63eStholo	* update.c (update): Don't neglect to pass the -kmumble options
844*461cc63eStholo	to the server.
845*461cc63eStholo	* sanity.sh (binfiles-sticky): New tests for above.
846*461cc63eStholo
847*461cc63eStholo	* cvsrc.c (read_cvsrc): Deal correctly with lines that specify a
848*461cc63eStholo	command, but no options; don't corrupt argv.
849*461cc63eStholo
850*461cc63eStholo	* sanity.sh: When testing rsh, use the program specified by
851*461cc63eStholo 	the CVS_RSH environment variable, if it's set.  Move test to top
852*461cc63eStholo	of file, so it runs before all other tests (it's really a
853*461cc63eStholo	meta-test).
854*461cc63eStholo
855*461cc63eStholo	* filesubr.c (get_homedir): Use getpwuid to find the home
856*461cc63eStholo	directory, if the HOME environment variable isn't set.
857*461cc63eStholo	* ignore.c (ign_add_file): Call get_homedir to find the user's
858*461cc63eStholo	home directory; this is more portable than calling getpwuid.
859*461cc63eStholo
860*461cc63eStholoTue Sep 24 09:08:17 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
861*461cc63eStholo
862*461cc63eStholo	* log.c (log_tree): When walking through branches, follow the
863*461cc63eStholo	->prev field rather than following ->next which insures that the
864*461cc63eStholo	loop only executes once and we only see the last branch.
865*461cc63eStholo	* sanity.sh (multibranch): Test "cvs log" too; tests for above fix.
866*461cc63eStholo
867*461cc63eStholoMon Sep 23 09:55:22 1996  Norbert Kiesel  <nk@col.sw-ley.de>
868*461cc63eStholo
869*461cc63eStholo	* options.h.in: Fixed some typos in the comments and reindented
870*461cc63eStholo 	them.
871*461cc63eStholo
872*461cc63eStholoSat Sep 21 02:33:26 1996  Jim Blandy  <jimb@totoro.cyclic.com>
873*461cc63eStholo
874*461cc63eStholo	* sanity.sh: If we're testing remote CVS, make sure rsh itself is
875*461cc63eStholo	working before running any tests.  It's confusing when basica-1
876*461cc63eStholo	fails just because you don't have the local host in your .rhosts
877*461cc63eStholo	file.
878*461cc63eStholo
879*461cc63eStholo	* version.c (version_string): Bump to 1.8.85.
880*461cc63eStholo
881*461cc63eStholoThu Sep 19 09:15:41 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
882*461cc63eStholo
883*461cc63eStholo	* options.h.in: Define SERVER_FLOWCONTROL, SERVER_HI_WATER,
884*461cc63eStholo	SERVER_LO_WATER.  Several large sites (FreeBSD, Cygnus) have been
885*461cc63eStholo	pounding on this code without problems, and it doesn't seem to
886*461cc63eStholo	have any significant downsides.
887*461cc63eStholo
888*461cc63eStholoTue Sep 17 01:13:41 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
889*461cc63eStholo
890*461cc63eStholo	* status.c (status_fileproc): Instead of a default case, set sstat
891*461cc63eStholo	before the switch.  This way gcc -Wall can detect a missed case.
892*461cc63eStholo	Add explicit T_TITLE case.
893*461cc63eStholo
894*461cc63eStholoTue Sep 17 00:09:44 1996  Assar Westerlund  <assar@pdc.kth.se>
895*461cc63eStholo
896*461cc63eStholo	* login.c (login): Print usage if argc < 0.
897*461cc63eStholo
898*461cc63eStholoTue Sep 17 00:09:44 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
899*461cc63eStholo
900*461cc63eStholo	* lock.c: In comment, mention one more function of readlocks
901*461cc63eStholo	(fileattr not updated atomically).  Note similarity between
902*461cc63eStholo	solutions #2 and #5.
903*461cc63eStholo
904*461cc63eStholo	* checkout.c (safe_location): Do not reject a location merely
905*461cc63eStholo	because it textually starts with hardpath; insist that it be
906*461cc63eStholo	hardpath or a subdirectory thereof.
907*461cc63eStholo
908*461cc63eStholoMon Sep 16 11:46:36 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
909*461cc63eStholo
910*461cc63eStholo	* server.c (server_cleanup): Add comment about ignoring errors
911*461cc63eStholo	from unlink_file_dir.
912*461cc63eStholo
913*461cc63eStholoMon Sep 16 10:31:48 1996  Norbert Kiesel  <nk@col.sw-ley.de>
914*461cc63eStholo
915*461cc63eStholo	* main.c: Add support for -T <tmpdir> command line option.  This
916*461cc63eStholo 	is needed for servers started via inetd.
917*461cc63eStholo	(usg): Added line for -T.  Improved -z documentation.
918*461cc63eStholo	(main): Read default for tmpdir from the environment. Test for 'T'
919*461cc63eStholo	in getopt loop.  Use '/tmp' as ultimative fallback.  Update
920*461cc63eStholo	environment if possible.
921*461cc63eStholo
922*461cc63eStholo	* cvs.h (TMPDIR_ENV): Added for -T <tmpdir> command line option.
923*461cc63eStholo
924*461cc63eStholo	* options.h.in: Add TMPDIR_DFLT
925*461cc63eStholo
926*461cc63eStholo	* import.c (update_rcs_file): Use global variable Tmpdir instead
927*461cc63eStholo 	of reading the environment.
928*461cc63eStholo
929*461cc63eStholo	* server.c (server_cleanup): Use global variable Tmpdir instead of
930*461cc63eStholo 	reading the environment.  Also, replace system("rm -rf") with
931*461cc63eStholo 	unlink_file_dir.
932*461cc63eStholo	(server): Use global variable Tmpdir instead of reading the
933*461cc63eStholo 	environment.
934*461cc63eStholo
935*461cc63eStholoThu Sep 12 1996  Jim Kingdon  <kingdon@cyclic.com>
936*461cc63eStholo
937*461cc63eStholo	* main.c (main): If ARGV0_NOT_PROGRAM_NAME, then just set
938*461cc63eStholo	program_name to "cvs" rather than argv[0].
939*461cc63eStholo
940*461cc63eStholoThu Sep 12 12:06:56 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
941*461cc63eStholo
942*461cc63eStholo	* client.c (update_entries): If we can't write the file, don't
943*461cc63eStholo	make it a fatal error.
944*461cc63eStholo
945*461cc63eStholoWed Sep 11 12:46:23 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
946*461cc63eStholo
947*461cc63eStholo	* client.c (start_server): Move START_SERVER_RETURNS_SOCKET code
948*461cc63eStholo	so that it is only run for server_method.  It is wrong for
949*461cc63eStholo	pserver_method (in which connect_to_pserver sets server_sock).
950*461cc63eStholo
951*461cc63eStholo	* login.c (construct_cvspass_filename): If NO_SLASH_AFTER_HOME,
952*461cc63eStholo	don't put a '/' between $HOME and .cvspass.  Reindent function.
953*461cc63eStholo	* build_src.com: Add zlib.c, login.c, and scramble.c.
954*461cc63eStholo
955*461cc63eStholo	* rcs.c (RCS_deltas): When looking for our branch in ->branches,
956*461cc63eStholo	check the branch number.
957*461cc63eStholo	* sanity.sh (multibranch): New tests test for above fix.
958*461cc63eStholo
959*461cc63eStholo	* commit.c (precommit_list_proc): Fix typo in last change
960*461cc63eStholo	(->status to ->type).
961*461cc63eStholo
962*461cc63eStholoTue Sep 10 23:05:41 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
963*461cc63eStholo
964*461cc63eStholo	* Makefile.in (DISTFILES): Add build_src.com.
965*461cc63eStholo	* build_src.com: Add buffer.c, buffer.obj, and zlib.olb.
966*461cc63eStholo
967*461cc63eStholoTue Sep 10 20:35:23 1996  Juergen Renz  <renz@conware.de>
968*461cc63eStholo			  and Jim Kingdon  <kingdon@harvey.cyclic.com>
969*461cc63eStholo
970*461cc63eStholo	* commit.c (precommit_list_proc): Update to reflect Jul 22 change
971*461cc63eStholo	in which p->data was changed from a Ctype to a struct
972*461cc63eStholo	logfile_info *.  This means that commitinfo scripts again get
973*461cc63eStholo	passed the file	list like they should.
974*461cc63eStholo
975*461cc63eStholoTue Sep 10 20:35:23 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
976*461cc63eStholo
977*461cc63eStholo	* client.c (auth_server_port_number): Change name of service from
978*461cc63eStholo	"cvs" to "cvspserver".  The latter is what the manual has always
979*461cc63eStholo	recommended, and it is also officially registered with IANA.
980*461cc63eStholo
981*461cc63eStholoTue Sep 10 11:12:42 1996  Mark A. Solinski <markso@mcs.com>
982*461cc63eStholo			  and Jim Kingdon  <kingdon@harvey.cyclic.com>
983*461cc63eStholo
984*461cc63eStholo	* client.c (socket_buffer_output): Change ifdef VMS to ifdef
985*461cc63eStholo	SEND_NEVER_PARTIAL.
986*461cc63eStholo	(start_server): Change ifdef VMS to ifdef START_SERVER_RETURNS_SOCKET.
987*461cc63eStholo
988*461cc63eStholoTue Sep 10 17:15:21 1996  Jim Blandy  <jimb@totoro.cyclic.com>
989*461cc63eStholo
990*461cc63eStholo	* client.c (auth_server_port_number): Look up "cvs" in the
991*461cc63eStholo 	services database, and use the value it returns; fall back to
992*461cc63eStholo	CVS_AUTH_PORT if no entry is present.
993*461cc63eStholo	(connect_to_pserver): Use the correct port number in any error
994*461cc63eStholo	messages.
995*461cc63eStholo
996*461cc63eStholoTue Sep 10 11:12:42 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
997*461cc63eStholo
998*461cc63eStholo	* sanity.sh (newb): New test newb-123j0 tests for another "cvs
999*461cc63eStholo	status" case.
1000*461cc63eStholo
1001*461cc63eStholoSun Sep  8 15:20:37 1996  Ian Lance Taylor  <ian@cygnus.com>
1002*461cc63eStholo
1003*461cc63eStholo	* rcs.c (RCS_checkout): Clarify handling of options parameter.
1004*461cc63eStholo
1005*461cc63eStholo	* rcs.c (RCS_checkout): Free buffer allocated by RCS_deltas.
1006*461cc63eStholo
1007*461cc63eStholoSat Sep  7 21:28:27 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
1008*461cc63eStholo
1009*461cc63eStholo	* main.c (struct cmd): Add comment concerning recognizing unique
1010*461cc63eStholo	abbreviations.
1011*461cc63eStholo
1012*461cc63eStholoFri Sep  6 22:31:52 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
1013*461cc63eStholo
1014*461cc63eStholo	* rcs.c (RCS_checkout): Fix indentation.
1015*461cc63eStholo
1016*461cc63eStholoFri Sep  6 11:48:08 1996  Ian Lance Taylor  <ian@cygnus.com>
1017*461cc63eStholo
1018*461cc63eStholo	* rcs.c (RCS_checkout): Replace tag parameter with rev and nametag
1019*461cc63eStholo	parameters.  Change all callers.
1020*461cc63eStholo	* rcs.h (RCS_checkout): Update declaration.
1021*461cc63eStholo
1022*461cc63eStholo	* rcs.c (RCS_getversion): Replace return_both parameter with
1023*461cc63eStholo	simple_tag.  Change all callers.
1024*461cc63eStholo	(RCS_gettag): Likewise.
1025*461cc63eStholo	* rcs.h (RCS_getversion, RCS_gettag): Update declarations.
1026*461cc63eStholo	* vers_ts.c (Version_TS): Simplify vn_tag initialization using new
1027*461cc63eStholo	simple_tag rather than old return_both.
1028*461cc63eStholo	* cvs.h (struct vers_ts): Clarify vn_tag comment a bit.
1029*461cc63eStholo
1030*461cc63eStholo	* main.c (usg): Only mention -x if ENCRYPTION is defined.
1031*461cc63eStholo	(main): Mention ENCRYPTION define in comment for -x.
1032*461cc63eStholo	* client.h (krb_encrypt_buffer_initialize): Only declare if
1033*461cc63eStholo	ENCRYPTION is defined.
1034*461cc63eStholo	* client.c (start_server): Only encrypt if ENCRYPTION is defined.
1035*461cc63eStholo	* server.c (serve_kerberos_encrypt): Only define if ENCRYPTION is
1036*461cc63eStholo	defined.
1037*461cc63eStholo	(requests): Only include Kerberos-encrypt is ENCRYPTION is
1038*461cc63eStholo	defined.
1039*461cc63eStholo	(krb_encrypt_*): Only define if ENCRYPTION is defined.
1040*461cc63eStholo
1041*461cc63eStholoThu Sep  5 17:32:39 1996  Ian Lance Taylor  <ian@cygnus.com>
1042*461cc63eStholo
1043*461cc63eStholo	* sanity.sh: When testing remote, use :ext: instead of :server: to
1044*461cc63eStholo 	match change made earlier today.
1045*461cc63eStholo
1046*461cc63eStholoThu Sep  5 13:57:47 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
1047*461cc63eStholo
1048*461cc63eStholo	* client.c (start_tcp_server): Don't allow :kserver: to mean
1049*461cc63eStholo	"direct tcp" (root.c already takes care of this, but I want to
1050*461cc63eStholo	make it clear what is intended, and not intended, here).
1051*461cc63eStholo	(start_server): Handle ext_method (external rsh program) and
1052*461cc63eStholo	server_method (internal rsh client) separately.
1053*461cc63eStholo	* client.c: Take rsh_pid and start_rsh_server out of
1054*461cc63eStholo	RSH_NOT_TRANSPARENT ifdefs.  It is useful for things like SSH on NT.
1055*461cc63eStholo	* cvs.h (CVSmethod), root.c (method_names): Add ext_method.
1056*461cc63eStholo	* root.c (parse_cvsroot): Recognize "ext" access method.
1057*461cc63eStholo	If access method is not specified and CVSROOT contains a colon,
1058*461cc63eStholo	use either ext_method or server_method depending on
1059*461cc63eStholo	RSH_NOT_TRANSPARENT.
1060*461cc63eStholo
1061*461cc63eStholoThu Sep  5 00:09:49 1996  Ian Lance Taylor  <ian@cygnus.com>
1062*461cc63eStholo
1063*461cc63eStholo	* rcs.c (RCS_checkout): Remove flags parameter, which was not
1064*461cc63eStholo	serving any useful purpose.  Change all callers.
1065*461cc63eStholo	* rcscmds.c (RCS_exec_checkout): Likewise.
1066*461cc63eStholo
1067*461cc63eStholo	* rcscmds.c (RCS_exec_checkout): Rename from RCS_checkout.  Change
1068*461cc63eStholo	all callers.
1069*461cc63eStholo	* rcs.c (RCS_checkout): Rename from RCS_fast_checkout.  Change all
1070*461cc63eStholo	callers.
1071*461cc63eStholo
1072*461cc63eStholoWed Sep  4 14:42:28 1996  Ian Lance Taylor  <ian@cygnus.com>
1073*461cc63eStholo
1074*461cc63eStholo	* rcs.c (RCS_fast_checkout): If tracing, output a message.  If
1075*461cc63eStholo	noexec, and workfile is not NULL, just return immediately.  Assert
1076*461cc63eStholo	that sout is RUN_TTY or workfile is NULL, rather than using it as
1077*461cc63eStholo	a conditional.  Replace found variable with two variables--gothead
1078*461cc63eStholo	and keywords--reflecting what it actually means.
1079*461cc63eStholo
1080*461cc63eStholo	* rcs.c (RCS_fast_checkout): Don't handle the case of workfile set
1081*461cc63eStholo	to "".
1082*461cc63eStholo	* rcscmds.c (RCS_checkout): Likewise.
1083*461cc63eStholo	* checkin.c (Checkin): Pass explicit file name, not "", to
1084*461cc63eStholo	RCS_fast_checkout.
1085*461cc63eStholo	* update.c (join_file): Likewise.
1086*461cc63eStholo	* commit.c (remove_file): Pass explicit file name to
1087*461cc63eStholo	RCS_fast_checkout and RCS_checkin.
1088*461cc63eStholo
1089*461cc63eStholo	* rcs.c (RCS_reparsercsfile): Always continue after seeing
1090*461cc63eStholo	RCSSYMBOLS, even if the value is NULL.  Clear the NODELTA flag
1091*461cc63eStholo	after setting delta_pos.
1092*461cc63eStholo	(free_rcsnode_contents): New static function.
1093*461cc63eStholo	(freercsnode): Call free_rcsnode_contents.
1094*461cc63eStholo	(RCS_fast_checkout): If NODELTA is set, reparse the RCS file.
1095*461cc63eStholo	(RCS_settag): New function.  Change all callers to old function.
1096*461cc63eStholo	(RCS_deltag, RCS_setbranch): Likewise.
1097*461cc63eStholo	(RCS_lock, RCS_unlock): Likewise.
1098*461cc63eStholo	(RCS_deltas): If NODELTA is set, reparse the RCS file.
1099*461cc63eStholo	* rcs.h (NODELTA): Define.
1100*461cc63eStholo	(RCS_settag, RCS_deltag, RCS_setbranch): Declare.
1101*461cc63eStholo	(RCS_lock, RCS_unlock): Declare.
1102*461cc63eStholo	* rcscmds.c (RCS_exec_settag): Rename from RCS_settag.  Don't
1103*461cc63eStholo	check tag against BASE or HEAD (now done in new RCS_settag).
1104*461cc63eStholo	(RCS_exec_deltag): Rename from RCS_deltag.
1105*461cc63eStholo	(RCS_exec_setbranch): Rename from RCS_setbranch.
1106*461cc63eStholo	(RCS_exec_lock): Rename from RCS_lock.
1107*461cc63eStholo	(RCS_exec_unlock): Rename from RCS_unlock.
1108*461cc63eStholo	* cvs.h: Update declarations of renamed functions.
1109*461cc63eStholo	* checkin.c (Checkin): Remove rcscopy variable (no longer needed
1110*461cc63eStholo	because of change in RCS_unlock call).
1111*461cc63eStholo	* commit.c: Include <assert.h>.
1112*461cc63eStholo	(remove_file): Update RCSNode path if the file is renamed.
1113*461cc63eStholo	(unblockrcs): Change rcs parameter to RCSNode.  Change all
1114*461cc63eStholo	callers.
1115*461cc63eStholo	(fixbranch): Likewise.
1116*461cc63eStholo	(lock_RCS): Likewise.  Don't call RCS_parsercsfile.
1117*461cc63eStholo	(checkaddfile): Update RCSNode path if the file is renamed.  After
1118*461cc63eStholo	creating a new file, call RCS_parse.  When stubbing a branch, use
1119*461cc63eStholo	the passed in RCSNode if there is one, rather than calling
1120*461cc63eStholo	RCS_Parse.  Don't call RCS_Parse again after calling RCS_settag.
1121*461cc63eStholo	Free head and magicrev even if RCS_settag fails.
1122*461cc63eStholo	* import.c (add_rev): Change rcs parameter to RCSNode.  Change all
1123*461cc63eStholo	callers.
1124*461cc63eStholo	(add_tag): Likewise.
1125*461cc63eStholo
1126*461cc63eStholo	* rcs.c (RCS_fast_checkout): Amend last patch: if workfile is
1127*461cc63eStholo	NULL, but sout is not NULL, use sout in error message.
1128*461cc63eStholo
1129*461cc63eStholoWed Sep  4 13:35:09 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
1130*461cc63eStholo
1131*461cc63eStholo	* version.c: Increment version number to 1.8.8.
1132*461cc63eStholo
1133*461cc63eStholo	* Version 1.8.7.
1134*461cc63eStholo
1135*461cc63eStholoWed Sep  4 1996  Jim Kingdon  <kingdon@cyclic.com>
1136*461cc63eStholo
1137*461cc63eStholo	* client.c (send_file_names): Look for the name to send in
1138*461cc63eStholo	Entries even if the file doesn't exist; we should send the
1139*461cc63eStholo	name as it appears in Entries in the "rm foo; cvs update FOO"
1140*461cc63eStholo	case.
1141*461cc63eStholo
1142*461cc63eStholoTue Sep  3 20:50:11 1996  William A. Hoffman  <hoffman@albirio.crd.ge.com>
1143*461cc63eStholo
1144*461cc63eStholo	* rcs.c (RCS_fast_checkout): If workfile is NULL, don't try to
1145*461cc63eStholo	include it in error message.
1146*461cc63eStholo
1147*461cc63eStholoMon Aug 26 12:27:38 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
1148*461cc63eStholo
1149*461cc63eStholo	* mkmodules.c (mkdir_if_needed): Move from here ...
1150*461cc63eStholo	* filesubr.c, cvs.h (mkdir_if_needed): ... to here.  Have it
1151*461cc63eStholo	return a value saying whether the directory was created.
1152*461cc63eStholo	* client.c (call_in_directory), edit.c (edit_fileproc): Call it.
1153*461cc63eStholo
1154*461cc63eStholoFri Aug 23 19:19:44 1996  Ian Lance Taylor  <ian@cygnus.com>
1155*461cc63eStholo
1156*461cc63eStholo	* checkin.c (Checkin): Copy rcs parameter in case it is freed when
1157*461cc63eStholo	finfo->rcs is freed.
1158*461cc63eStholo
1159*461cc63eStholoFri Aug 23 14:55:41 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
1160*461cc63eStholo
1161*461cc63eStholo	* remove.c (remove_fileproc): Revert change of 23 Aug to print
1162*461cc63eStholo	getwd and finfo->file in message.  The latter is redundant with
1163*461cc63eStholo	fullname and the former is redundant with fullname and the working
1164*461cc63eStholo	directory when CVS was invoked.  The implementation was also
1165*461cc63eStholo	lacking as the getwd call could overflow the buffer.
1166*461cc63eStholo
1167*461cc63eStholoFri Aug 23 18:40:35 1996  Norbert Kiesel  <nk@col.sw-ley.de>
1168*461cc63eStholo
1169*461cc63eStholo	* remove.c (cvsremove): fix remove -f for client/server
1170*461cc63eStholo
1171*461cc63eStholoFri Aug 23 11:28:27 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
1172*461cc63eStholo
1173*461cc63eStholo	* wrapper.c, cvs.h: Remove conflictHook field of WrapperEntry,
1174*461cc63eStholo	WRAP_CONFLICT in WrapMergeHas, and 'c' option in wrap_add; they
1175*461cc63eStholo	are never used.
1176*461cc63eStholo
1177*461cc63eStholoFri Aug 23 11:41:46 1996  Norbert Kiesel  <nk@col.sw-ley.de>
1178*461cc63eStholo
1179*461cc63eStholo	* server.c (switch_to_user): use #ifdef SETXID_SUPPORT instead of
1180*461cc63eStholo 	#if SETXID_SUPPORT
1181*461cc63eStholo
1182*461cc63eStholoThu Aug 22 14:18:43 1996  Ian Lance Taylor  <ian@cygnus.com>
1183*461cc63eStholo
1184*461cc63eStholo	* checkin.c (Checkin): Remove local variable xfinfo.  Reparse the
1185*461cc63eStholo	RCS file after the checkin.  Call RCS_fast_checkout rather than
1186*461cc63eStholo	RCS_checkout.
1187*461cc63eStholo
1188*461cc63eStholo	* cvs.h (RCS_FLAGS_LOCK): Don't define.
1189*461cc63eStholo	(RCS_FLAGS_*): Adjust values to fill in hole left by removal of
1190*461cc63eStholo	RCS_FLAGS_LOCK.
1191*461cc63eStholo	* rcs.c (RCS_fast_checkout): Don't check for RCS_FLAGS_LOCK.
1192*461cc63eStholo	* rcscmds.c (RCS_checkout): Likewise.
1193*461cc63eStholo	* commit.c (commit_fileproc): Remove rcs local variable.  If
1194*461cc63eStholo	status is T_MODIFIED, require that finfo->rcs be set, call
1195*461cc63eStholo	Lock_RCS directly, and don't call locate_rcs.  If adding to a tag,
1196*461cc63eStholo	require that finfo->rcs be set, and don't call locate_rcs.
1197*461cc63eStholo	(remove_file): Remove rcs local variable.  Require that finfo->rcs
1198*461cc63eStholo	be set.  Don't call locate_rcs.  Don't pass RCS_FLAGS_LOCK to
1199*461cc63eStholo	RCS_checkout; use RCS_lock instead.  Call RCS_fast_checkout rather
1200*461cc63eStholo	than RCS_checkout.
1201*461cc63eStholo	(unlockrcs): Use a single rcs parameter rather than two parameters
1202*461cc63eStholo	for file and repository.  Change all callers.  Don't call
1203*461cc63eStholo	locate_rcs.
1204*461cc63eStholo	(fixbranch): Likewise.
1205*461cc63eStholo	(lockrcsfile): Remove; no more callers.
1206*461cc63eStholo
1207*461cc63eStholoTue Aug 20 10:13:59 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
1208*461cc63eStholo
1209*461cc63eStholo	* buffer.c, rcs.c: Don't use inline.  It wasn't being used in a
1210*461cc63eStholo	loop or any such place where it would matter for performance, and
1211*461cc63eStholo	it was a (minor) portability hassle.
1212*461cc63eStholo
1213*461cc63eStholo	* server.c (server): Change "Dummy argument 0" to "cvs server" and
1214*461cc63eStholo	add comment explaining why.
1215*461cc63eStholo
1216*461cc63eStholo	* rcs.c (linevector_add): Add comment regarding changing \n to \0.
1217*461cc63eStholo
1218*461cc63eStholoTue Aug 20 09:19:19 1996  Norbert Kiesel  <nk@col.sw-ley.de>
1219*461cc63eStholo
1220*461cc63eStholo	* checkout.c (checkout_proc): Call RCS_parse to get the default
1221*461cc63eStholo 	options from the RCS file.
1222*461cc63eStholo
1223*461cc63eStholo	* sanity.sh (binfiles): Add tests 5.5b0 and 5.5b1 for the above fix
1224*461cc63eStholo
1225*461cc63eStholoMon Aug 19 18:13:32 1996  Ian Lance Taylor  <ian@cygnus.com>
1226*461cc63eStholo
1227*461cc63eStholo	* rcs.c (linevector_init): Make inline.  Set lines_alloced to 0,
1228*461cc63eStholo	not 10.  Set vector to NULL.
1229*461cc63eStholo	(linevector_add): Remove assertion that lines_alloced is greater
1230*461cc63eStholo	than zero.  Initialize lines_alloced if necessary.
1231*461cc63eStholo	(linevector_copy): Initialize lines_alloced if necessary.
1232*461cc63eStholo	(linevector_free): Only free vector if it is not NULL.
1233*461cc63eStholo	(RCS_deltas): Always call linevector_init and linevector_free on
1234*461cc63eStholo	curlines, headlines, and trunklines.
1235*461cc63eStholo 	(RCS_fast_checkout): Remove #if 0 around code that calls
1236*461cc63eStholo	RCS_deltas.
1237*461cc63eStholo
1238*461cc63eStholoFri Aug 16 17:52:54 1996  Ian Lance Taylor  <ian@cygnus.com>
1239*461cc63eStholo
1240*461cc63eStholo	* rcs.c (linevector_add): Handle zero length correctly.
1241*461cc63eStholo	(RCS_deltas): In RCS_FETCH case, the data is in headlines, not
1242*461cc63eStholo	curlines.
1243*461cc63eStholo	(RCS_fast_checkout): Update comment about RCS_deltas: the
1244*461cc63eStholo	testsuite now passes.
1245*461cc63eStholo
1246*461cc63eStholo	* rcs.c (RCS_fully_parse): Use the length of the value, rather
1247*461cc63eStholo	than assuming that there are no embedded zero bytes.
1248*461cc63eStholo	(struct line): Add len field.
1249*461cc63eStholo	(linevector_add): Add len parameter.  Change all callers.  Use
1250*461cc63eStholo	len, rather than assuming that there are no embedded zero bytes.
1251*461cc63eStholo	Set the len field in new lines.
1252*461cc63eStholo	(RCS_deltas): Use the length of the value, rather than assuming
1253*461cc63eStholo	that there are no embedded zero bytes.  Use the line length when
1254*461cc63eStholo	outputting it and when copying it.
1255*461cc63eStholo	(RCS_fast_checkout): Update comment about RCS_deltas to remove
1256*461cc63eStholo	note about supporting zero bytes correctly.
1257*461cc63eStholo
1258*461cc63eStholoThu Aug 15 23:38:48 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
1259*461cc63eStholo
1260*461cc63eStholo	* commit.c, import.c: Revise comments regarding the fact that we
1261*461cc63eStholo	call start_server before do_editor.
1262*461cc63eStholo
1263*461cc63eStholoThu Aug 15 11:30:55 1996  Ian Lance Taylor  <ian@cygnus.com>
1264*461cc63eStholo
1265*461cc63eStholo	* server.c: Include <sys/socket.h> if AUTH_SERVER_SUPPORT.
1266*461cc63eStholo	(pserver_authenticate_connection): Set SO_KEEPALIVE on
1267*461cc63eStholo	STDIN_FILENO.
1268*461cc63eStholo	(kserver_authenticate_connection): Likewise.
1269*461cc63eStholo
1270*461cc63eStholoThu Aug 15 10:26:41 1996  Norbert Kiesel  <nk@col.sw-ley.de>
1271*461cc63eStholo
1272*461cc63eStholo	* server.c (switch_to_user): Fix previous patch to compile it for
1273*461cc63eStholo 	both HAVE_KERBEROS and AUTH_SERVER_SUPPORT
1274*461cc63eStholo
1275*461cc63eStholoWed Aug 14 14:02:00 1996  Norbert Kiesel  <nk@col.sw-ley.de>
1276*461cc63eStholo
1277*461cc63eStholo	* server.c (check_password): if available use getspnam instead of
1278*461cc63eStholo 	getpwnam when reading system passwords.  This allows cvs pserver
1279*461cc63eStholo 	to run on systems with shadow passwords.
1280*461cc63eStholo	(switch_to_user): new static function.  Contains the extracted
1281*461cc63eStholo 	common tail of kserver_authenticate_connection and
1282*461cc63eStholo 	pserver_authenticate_connection.  If compiled with SETXID_SUPPORT,
1283*461cc63eStholo 	honor the setgid bit if it is set.
1284*461cc63eStholo	(check_repository_password): turn into a static function
1285*461cc63eStholo	(check_password): ditto
1286*461cc63eStholo	(pserver_authenticate_connection): little code cleanup
1287*461cc63eStholo
1288*461cc63eStholoWed Aug 14 01:07:10 1996  Greg A. Woods  <woods@most.weird.com>
1289*461cc63eStholo
1290*461cc63eStholo	* history.c (history): apply fix posted by Steven Meyer
1291*461cc63eStholo	<steve@blacksmith.com> to info-cvs to correct handling of '-D'
1292*461cc63eStholo	argument.  Message-Id: <9608122335.AA01385@nijel.blacksmith.com>
1293*461cc63eStholo
1294*461cc63eStholoTue Aug 13 13:42:36 1996  Ian Lance Taylor  <ian@cygnus.com>
1295*461cc63eStholo
1296*461cc63eStholo	* log.c (cvslog): Remove comment about calling rlog.
1297*461cc63eStholo	* rcs.c (translate_symtag): Correct typo in comment (l ist ->
1298*461cc63eStholo	list).
1299*461cc63eStholo	* server.c (server_write_entries): Add omitted word (lists) in
1300*461cc63eStholo	comment.
1301*461cc63eStholo
1302*461cc63eStholoTue Aug 13 14:01:49 1996  Norbert Kiesel  <nk@col.sw-ley.de>
1303*461cc63eStholo
1304*461cc63eStholo	* wrapper.c (wrap_rcsoption): fix memory access error
1305*461cc63eStholo
1306*461cc63eStholo	* rcs.c (RCS_fast_checkout): fix memory access error (triggered
1307*461cc63eStholo	by an empty option string)
1308*461cc63eStholo
1309*461cc63eStholoMon Aug 12 17:45:15 1996  Jim Kingdon  (unknown@beezley)
1310*461cc63eStholo
1311*461cc63eStholo	* buffer.c, zlib.c: If EIO is not defined, try to define it.
1312*461cc63eStholo
1313*461cc63eStholoMon Aug 12 10:33:27 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
1314*461cc63eStholo
1315*461cc63eStholo	* import.c (comtable): Add comment concerning applicability with
1316*461cc63eStholo	RCS 5.7.
1317*461cc63eStholo
1318*461cc63eStholo	* server.c (server): If TMPDIR is not an absolute pathname, give
1319*461cc63eStholo	an error.
1320*461cc63eStholo
1321*461cc63eStholoMon Aug 12 10:34:43 1996  Norbert Kiesel  <nk@col.sw-ley.de>
1322*461cc63eStholo
1323*461cc63eStholo	* main.c: add synonym "ann" for "annotate" again
1324*461cc63eStholo
1325*461cc63eStholoSun Aug 11 17:54:11 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
1326*461cc63eStholo
1327*461cc63eStholo	* rcs.h (RCS_RLOG): Removed; no longer used.
1328*461cc63eStholo
1329*461cc63eStholoFri Aug  9 20:16:20 1996  Ian Lance Taylor  <ian@cygnus.com>
1330*461cc63eStholo
1331*461cc63eStholo	* server.c (dirswitch): Open the Entries file with mode "a" rather
1332*461cc63eStholo 	than "w+".
1333*461cc63eStholo	(server_write_entries): Open the Entries file with mode "a" rather
1334*461cc63eStholo	than "w".
1335*461cc63eStholo	* sanity.sh (modules): Add topfiles module and 155cN tests for
1336*461cc63eStholo	above patch.
1337*461cc63eStholo
1338*461cc63eStholoFri Aug  9 12:11:25 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
1339*461cc63eStholo
1340*461cc63eStholo	* main.c (cmd): Add comment regarding synonyms.
1341*461cc63eStholo
1342*461cc63eStholoThu Aug  8 14:40:10 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
1343*461cc63eStholo
1344*461cc63eStholo	* main.c: Remove synonyms for "cvs annotate".  Synonyms create
1345*461cc63eStholo	user confusion.
1346*461cc63eStholo
1347*461cc63eStholoThu Aug  8 10:24:04 1996  Norbert Kiesel  <nk@col.sw-ley.de>
1348*461cc63eStholo
1349*461cc63eStholo	* main.c: Revert (undocumented) change to rename the cvs history
1350*461cc63eStholo	alias "his" to "hist"
1351*461cc63eStholo
1352*461cc63eStholoWed Aug  7 18:26:25 1996  Ian Lance Taylor  <ian@cygnus.com>
1353*461cc63eStholo
1354*461cc63eStholo	* server.c (cvs_output): Change str parameter to const char *.
1355*461cc63eStholo	Correct loop to print from p, not str.
1356*461cc63eStholo	(cvs_outerr): Likewise.
1357*461cc63eStholo	* cvs.h (cvs_output, cvs_outerr): Update declarations.
1358*461cc63eStholo
1359*461cc63eStholo	* server.c (receive_partial_file): Read and discard remaining file
1360*461cc63eStholo	data on a write error.
1361*461cc63eStholo	(serve_modified): Discard data while size > 0, not >=.
1362*461cc63eStholo
1363*461cc63eStholoWed Aug  7 15:11:40 1996  Norbert Kiesel  <nk@col.sw-ley.de>
1364*461cc63eStholo
1365*461cc63eStholo	* main.c (cmds): Add some aliases for "annotate".
1366*461cc63eStholo	(usg): Improve usage message text
1367*461cc63eStholo	(cmd_synonyms): New function to print the command synonym list
1368*461cc63eStholo	(main): Add new option --help-synonyms
1369*461cc63eStholo
1370*461cc63eStholoWed Aug  7 00:07:31 1996  Ian Lance Taylor  <ian@cygnus.com>
1371*461cc63eStholo
1372*461cc63eStholo	Keep track of subdirectories in the Entries file.
1373*461cc63eStholo	* cvs.h (enum ent_type): Define.
1374*461cc63eStholo	(struct entnode): Add type field.
1375*461cc63eStholo	(struct stickydirtag): Add subdirs field.
1376*461cc63eStholo	(Subdirs_Known, Subdir_Register, Subdir_Deregister): Declare.
1377*461cc63eStholo	(ignore_files): Update declaration for new parameter.
1378*461cc63eStholo	(FILESDONEPROC): Add entries parameter.
1379*461cc63eStholo	(DIRENTPROC, DIRLEAVEPROC): Likewise.
1380*461cc63eStholo	* entries.c (Entnode_Create): Add type parameter.  Change all
1381*461cc63eStholo	callers.
1382*461cc63eStholo	(write_ent_proc): If closure is not NULL, treat it as a pointer to
1383*461cc63eStholo	an int, and set it to 1 if a node is seen which is not ENT_FILE.
1384*461cc63eStholo	(write_entries): If subdirectory information is known, but no
1385*461cc63eStholo	subdirectories were written, write an unadorned D to the file.
1386*461cc63eStholo	(Scratch_Entry): Write an R command to Entries.Log.  Don't rewrite
1387*461cc63eStholo	the Entries file.
1388*461cc63eStholo	(Register): Set entfilename.  Write an A command rather than an
1389*461cc63eStholo	unadorned entries line.
1390*461cc63eStholo	(fgetentent): Add cmd and sawdir parameters.  Change all callers.
1391*461cc63eStholo	If CMD is not NULL, expect and return a single character command.
1392*461cc63eStholo	Handle an initial D by setting the type to ENT_SUBDIR.
1393*461cc63eStholo	(fputentent): Output an initial D for an ENT_SUBDIR entry.
1394*461cc63eStholo	(Entries_Open): Handle removal commands in Entries.Log.  Record
1395*461cc63eStholo	whether subdirectory information is known in the list private
1396*461cc63eStholo	data.
1397*461cc63eStholo	(Subdirs_Known): New function.
1398*461cc63eStholo	(subdir_record): New static function.
1399*461cc63eStholo	(Subdir_Register, Subdir_Deregister): New functions.
1400*461cc63eStholo	* find_names.c (add_entries_proc): Skip entries that are not
1401*461cc63eStholo	ENT_FILE.
1402*461cc63eStholo	(add_subdir_proc): New static function.
1403*461cc63eStholo	(register_subdir_proc): New static function.
1404*461cc63eStholo	(Find_Directories): If the Entries file has subdirectory
1405*461cc63eStholo	information, get the directories out of it.  Otherwise, call
1406*461cc63eStholo	find_dirs, and add the information to the Entries file.
1407*461cc63eStholo	* recurse.c (struct frame_and_entries): Define.
1408*461cc63eStholo	(do_recursion): Don't call Entries_Close until after processing
1409*461cc63eStholo	dirlist.  Pass entries to filesdoneproc.  Pass a frame_and_entries
1410*461cc63eStholo	structure to do_dir_proc via walklist.
1411*461cc63eStholo	(do_dir_proc): Expect a frame_and_entries structure in closure,
1412*461cc63eStholo	not a recursion_frame.  Pass entries to direntproc and
1413*461cc63eStholo	dirleaveproc.
1414*461cc63eStholo	* ignore.c (ignore_files): Add entries parameter.  Change all
1415*461cc63eStholo	callers.  If we have subdirectory information, check for
1416*461cc63eStholo	directories in entries.
1417*461cc63eStholo	* add.c (add): If client_active, call Subdir_Register on each new
1418*461cc63eStholo	directory.
1419*461cc63eStholo	(add_directory): Add entries parameter.  Change caller.  Call
1420*461cc63eStholo	Subdir_Register.
1421*461cc63eStholo	* checkout.c (build_dirs_and_chdir): Call Subdir_Register.
1422*461cc63eStholo	* client.c (call_in_directory): Call Subdir_Register for newly
1423*461cc63eStholo	created directories.  Call Subdirs_Known or Find_Directories after
1424*461cc63eStholo	calling Entries_Open.
1425*461cc63eStholo	(process_prune_candidates): Call Subdir_Deregister.
1426*461cc63eStholo	* commit.c (findmaxrev): Skip entries that are not ENT_FILE.
1427*461cc63eStholo	* server.c (dirswitch): Call Subdir_Register.
1428*461cc63eStholo	* update.c (update_dirent_proc): Call Subdir_Register.
1429*461cc63eStholo	(update_dirleave_proc): Call Subdir_Deregister.
1430*461cc63eStholo	* Several files: Change direntproc, dirleaveproc, and
1431*461cc63eStholo	filesdoneproc routines to expect an entries argument.
1432*461cc63eStholo
1433*461cc63eStholo	* rcs.c (translate_symtag): New static function.
1434*461cc63eStholo	(RCS_gettag): Use translate_symtag rather than RCS_symbols.
1435*461cc63eStholo	(RCS_nodeisbranch, RCS_whatbranch): Likewise.
1436*461cc63eStholo
1437*461cc63eStholoTue Aug  6 15:36:09 1996  Ian Lance Taylor  <ian@cygnus.com>
1438*461cc63eStholo
1439*461cc63eStholo	Finish the conversion of cvs log so that it never invokes rlog.
1440*461cc63eStholo	* log.c (struct log_data): Remove dorlog field.  Add nameonly,
1441*461cc63eStholo	header, long_header, statelist, and authorlist fields.
1442*461cc63eStholo	(log_usage): Remove rlog-options.  Add -R, -h, -t, -b, -s, -w.
1443*461cc63eStholo	(cvslog): Don't clear opterr.  Handle -h, -R, -s, -t, -w.  If an
1444*461cc63eStholo	unrecognized option is seen, call usage.
1445*461cc63eStholo	(log_parse_list): New static function.
1446*461cc63eStholo	(log_fileproc): Remove code that called rlog.  Check nameonly,
1447*461cc63eStholo	header, and long_header fields in log_data.
1448*461cc63eStholo	(log_version_requested): Check statelist and authorlist.
1449*461cc63eStholo
1450*461cc63eStholo	* log.c (struct datelist): Define.
1451*461cc63eStholo	(struct log_data): Add datelist and singledatelist fields.
1452*461cc63eStholo	(log_usage): Add -d.
1453*461cc63eStholo	(cvslog): Handle -d.
1454*461cc63eStholo	(log_parse_date): New static function.
1455*461cc63eStholo	(log_fileproc): Do special single date handling.
1456*461cc63eStholo	(log_version_requested): Check datelist and singledatelist.
1457*461cc63eStholo	(log_fix_singledate): New static function.
1458*461cc63eStholo
1459*461cc63eStholoMon Aug  5 23:48:16 1996  Ian Lance Taylor  <ian@cygnus.com>
1460*461cc63eStholo
1461*461cc63eStholo	* log.c (struct option_revlist): Define.
1462*461cc63eStholo	(struct revlist): Define.
1463*461cc63eStholo	(struct log_data): Add default_branch and revlist fields.
1464*461cc63eStholo	(struct log_data_and_rcs): Define.
1465*461cc63eStholo	(log_usage): Add -N and -r.
1466*461cc63eStholo	(cvslog): Handle -N and -r.
1467*461cc63eStholo	(log_parse_revlist): New static function.
1468*461cc63eStholo	(log_fileproc): Call log_expand_revlist and log_free_revlist.
1469*461cc63eStholo	Pass log_data_and_rcs structure to log_count_print via walklist.
1470*461cc63eStholo	(log_expand_revlist, log_free_revlist): New static functions.
1471*461cc63eStholo	(log_version_requested): New static function.
1472*461cc63eStholo	(log_count_print): New static function.
1473*461cc63eStholo	(log_tree): Add log_data and revlist parameter.  Change all
1474*461cc63eStholo	callers.
1475*461cc63eStholo	(log_abranch): Likewise.
1476*461cc63eStholo	(log_version): Likewise.  Call log_version_requested.
1477*461cc63eStholo	(version_compare): New static function.
1478*461cc63eStholo	* sanity.sh (log): New tests for -r, -b, and -N options to log.
1479*461cc63eStholo
1480*461cc63eStholoSun Aug  4 11:19:30 1996  Ian Lance Taylor  <ian@cygnus.com>
1481*461cc63eStholo
1482*461cc63eStholo	Handle simple cases of cvs log without invoking rlog.
1483*461cc63eStholo	* log.c (struct log_data): Define.
1484*461cc63eStholo	(cvslog): Use getopt to parse options.  Set up a log_data
1485*461cc63eStholo	structure, and pass it to start_recursion.
1486*461cc63eStholo	(log_fileproc): Get arguments form callerdat rather than static
1487*461cc63eStholo	variables.  In simple cases, print the log information directly,
1488*461cc63eStholo	rather than invoking rlog.
1489*461cc63eStholo	(log_symbol, log_count, log_tree): New static functions.
1490*461cc63eStholo	(log_abranch, log_version, log_branch): New static functions.
1491*461cc63eStholo	* rcs.h (struct rcsnode): Add other field.
1492*461cc63eStholo	(struct rcsversnode): Add other field.
1493*461cc63eStholo	(RCS_fully_parse): Declare.
1494*461cc63eStholo	* rcs.c (getrcsrev): Move declaration to start of file.
1495*461cc63eStholo 	(RCS_reparsercsfile): Add all parameter.  Change all callers.
1496*461cc63eStholo	(RCS_fully_parse): New function.
1497*461cc63eStholo	(freercsnode): Free other list.
1498*461cc63eStholo	(rcsvers_delproc): Free other list.
1499*461cc63eStholo	* hash.h (enum ntype): Add RCSFIELD.
1500*461cc63eStholo	* hash.c (nodetypestring): Handle RCSFIELD.
1501*461cc63eStholo
1502*461cc63eStholoSat Aug  3 19:39:54 1996  Ian Lance Taylor  <ian@cygnus.com>
1503*461cc63eStholo
1504*461cc63eStholo	* log.c (cvslog): Correct position of CLIENT_SUPPORT #endif.
1505*461cc63eStholo
1506*461cc63eStholoThu Jul 25 12:06:45 1996  Ian Lance Taylor  <ian@cygnus.com>
1507*461cc63eStholo
1508*461cc63eStholo	* update.c (join_file): If merging a branch, and the branch
1509*461cc63eStholo	revision does not exist, just return without doing anything.
1510*461cc63eStholo	* sanity.sh (join): Add cases file7 and file8 to test above
1511*461cc63eStholo	patch.
1512*461cc63eStholo
1513*461cc63eStholo	* server.c (cvsencrypt): Rename from encrypt, to avoid conflict
1514*461cc63eStholo	with NetBSD unistd.h.  Rename all uses.
1515*461cc63eStholo
1516*461cc63eStholo	* server.c (krb_encrypt_buffer_output): Fix typo in comment (reply
1517*461cc63eStholo	-> replay).
1518*461cc63eStholo
1519*461cc63eStholoThu Jul 25 10:37:32 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
1520*461cc63eStholo
1521*461cc63eStholo	* server.c (krb_encrypt_buffer_output): Fix typo in comment
1522*461cc63eStholo	(krb_recv_auth -> krb_recvauth).
1523*461cc63eStholo
1524*461cc63eStholoWed Jul 24 09:28:33 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
1525*461cc63eStholo
1526*461cc63eStholo	* lock.c (set_lock): Adjust comment regarding why we call stat.
1527*461cc63eStholo
1528*461cc63eStholoWed Jul 24 15:06:08 1996  Ian Lance Taylor  <ian@cygnus.com>
1529*461cc63eStholo
1530*461cc63eStholo	Add encryption support over a Kerberos connection.
1531*461cc63eStholo	* main.c (usg): Mention -x if CLIENT_SUPPORT.
1532*461cc63eStholo	(main): Handle -x.
1533*461cc63eStholo	* client.h (encrypt): Declare.
1534*461cc63eStholo	(krb_encrypt_buffer_initialize): Declare.
1535*461cc63eStholo	* client.c (kblock, sched): New static variables if
1536*461cc63eStholo	HAVE_KERBEROS.
1537*461cc63eStholo	(start_tcp_server): Remove sched local variable.  Copy
1538*461cc63eStholo	cred.session into kblock.
1539*461cc63eStholo	(start_server): Turn on encryption if requested.
1540*461cc63eStholo	* server.c (kblock, sched): New static variables if
1541*461cc63eStholo	HAVE_KERBEROS.
1542*461cc63eStholo	(serve_kerberos_encrypt): New static function.
1543*461cc63eStholo	(requests): Add "Kerberos-encrypt" if HAVE_KERBEROS.
1544*461cc63eStholo	(kserver_authenticate_connection): Remove sched local variable.
1545*461cc63eStholo	Copy auth.session into kblock.
1546*461cc63eStholo	(encrypt): New global variable.
1547*461cc63eStholo	(struct krb_encrypt_buffer): Define.
1548*461cc63eStholo	(krb_encrypt_buffer_initialize): New function.
1549*461cc63eStholo	(krb_encrypt_buffer_input): New static function.
1550*461cc63eStholo	(krb_encrypt_buffer_output): New static function.
1551*461cc63eStholo	(krb_encrypt_buffer_flush): New static function.
1552*461cc63eStholo	(krb_encrypt_buffer_block): New static function.
1553*461cc63eStholo	(krb_encrypt_buffer_shutdown): New static function.
1554*461cc63eStholo
1555*461cc63eStholoWed Jul 24 09:28:33 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
1556*461cc63eStholo
1557*461cc63eStholo	* recurse.c (do_recursion): Add comment about calling
1558*461cc63eStholo	Name_Repository in !(which & W_LOCAL) case.
1559*461cc63eStholo
1560*461cc63eStholo	* expand_path.c (expand_variable): Fix typo (varaible -> variable).
1561*461cc63eStholo
1562*461cc63eStholoTue Jul 23 15:05:01 1996  Ian Lance Taylor  <ian@cygnus.com>
1563*461cc63eStholo
1564*461cc63eStholo	* update.c (update_fileproc): In T_REMOVE_ENTRY case, only call
1565*461cc63eStholo	server_scratch_entry_only if ts_user is NULL.
1566*461cc63eStholo	* sanity.sh (death2): Add death2-20 test for above patch.
1567*461cc63eStholo
1568*461cc63eStholo	* diff.c (diff_fileproc): If a file is not in the working
1569*461cc63eStholo	directory, check that the tag is present before warning that no
1570*461cc63eStholo	comparison is possible.
1571*461cc63eStholo	* sanity.sh (death2): Add death2-diff-9 and death2-diff-10 tests
1572*461cc63eStholo	for above patch.
1573*461cc63eStholo
1574*461cc63eStholoTue Jul 23 12:05:42 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
1575*461cc63eStholo
1576*461cc63eStholo	* tag.c (tag_check_valid): Fix indentation.
1577*461cc63eStholo
1578*461cc63eStholo	* client.c (handle_e): Flush stdout before writing to stderr.
1579*461cc63eStholo	(handle_m): Flush stderr before writing to stdout.
1580*461cc63eStholo
1581*461cc63eStholoFri Jul 19 16:02:11 1996  Mike Ladwig  <mike@twinpeaks.prc.com>
1582*461cc63eStholo
1583*461cc63eStholo	* client.c: Added NO_CLIENT_GZIP_PROCESS to deal with the MacOS
1584*461cc63eStholo	client where Gzip-stream is supported, but "gzip-file-contents" is
1585*461cc63eStholo	not.
1586*461cc63eStholo
1587*461cc63eStholoFri Jul 19 16:02:11 1996  Mike Ladwig  <mike@twinpeaks.prc.com>
1588*461cc63eStholo
1589*461cc63eStholo	* repos.c: Fixed recent patch which added plain fopen rather than
1590*461cc63eStholo	CVS_FOPEN
1591*461cc63eStholo
1592*461cc63eStholoMon Jul 22 22:25:53 1996  Ian Lance Taylor  <ian@cygnus.com>
1593*461cc63eStholo
1594*461cc63eStholo	* logmsg.c (tag): New static variable.
1595*461cc63eStholo	(setup_tmpfile): Don't print the prefix before calling fmt_proc.
1596*461cc63eStholo	Free tag if it is set.
1597*461cc63eStholo	(find_type): Get type from logfile_info struct.
1598*461cc63eStholo	(fmt_proc): Likewise.  Print tag information.  Handle all prefix
1599*461cc63eStholo	printing.
1600*461cc63eStholo	(revision): Remove static variable.
1601*461cc63eStholo	(Update_Logfile): Remove xrevision parameter.  Change all
1602*461cc63eStholo	callers.
1603*461cc63eStholo	(title_proc): Get type from logfile_info struct.
1604*461cc63eStholo	(logfile_write): Remove revision parameter.  Change all callers.
1605*461cc63eStholo	* cvs.h (struct logfile_info): Define.
1606*461cc63eStholo	(Update_Logfile): Update prototype.
1607*461cc63eStholo	* commit.c (find_fileproc): Set logfile_info information.
1608*461cc63eStholo	(check_fileproc): Likewise.
1609*461cc63eStholo	(commit_filesdoneproc): Don't call ParseTag.
1610*461cc63eStholo	(update_delproc): Free logfile_info information.
1611*461cc63eStholo	* add.c (add_directory): Set logfile_info information.
1612*461cc63eStholo	* import.c (import): Likewise.
1613*461cc63eStholo
1614*461cc63eStholo	* tag.c (tag_check_valid): The special BASE and HEAD tags are
1615*461cc63eStholo	always valid.
1616*461cc63eStholo	* sanity.sh (basica): Add basica-6.3 test for above patch.
1617*461cc63eStholo
1618*461cc63eStholoMon Jul 22 14:41:20 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
1619*461cc63eStholo
1620*461cc63eStholo	* update.c (merge_file): Pass 0 not NULL to checkout_file (20 Jul
1621*461cc63eStholo	96 change changed other calls to checkout_file but missed this one).
1622*461cc63eStholo
1623*461cc63eStholoSat Jul 20 00:21:54 1996  Ian Lance Taylor  <ian@cygnus.com>
1624*461cc63eStholo
1625*461cc63eStholo	* update.c (join_file): Check whether the target of the merge is
1626*461cc63eStholo	the same as the working file revision before checking whether the
1627*461cc63eStholo	file was added during the merge.
1628*461cc63eStholo
1629*461cc63eStholo	* update.c (scratch_file): Remove existing parameters, and add a
1630*461cc63eStholo	single parameter of type struct file_info.  Change all callers.
1631*461cc63eStholo	Warn if unlink_file fails.
1632*461cc63eStholo	(checkout_file): Remove resurrecting_out parameter.  Add adding
1633*461cc63eStholo	parameter.  Change all callers.  Remove joining code.
1634*461cc63eStholo	(join_file): Remove resurrecting parameter.  Rewrite to handle
1635*461cc63eStholo	joining dead or added revisions.
1636*461cc63eStholo	* classify.c (Classify_File): If there is no user file, and the
1637*461cc63eStholo	RCS file is dead, return T_UPTODATE rather than T_CHECKOUT.
1638*461cc63eStholo	* checkout.c (checkout_proc): Set W_ATTIC if there is a join tag.
1639*461cc63eStholo	* sanity.sh (join): New set of tests for above patches.
1640*461cc63eStholo	(death): Adjust tests 86, 89, 89a, 92.1c, 95 for above patches.
1641*461cc63eStholo	(import): Adjust test 113 for above patches.
1642*461cc63eStholo
1643*461cc63eStholoThu Jul 18 19:24:08 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
1644*461cc63eStholo
1645*461cc63eStholo	* lock.c: Add comment explaining what locks are for.  Also discuss
1646*461cc63eStholo	various changes to locking which get proposed from time to time.
1647*461cc63eStholo
1648*461cc63eStholo	* sanity.sh (death2): Change a number of test names from death-*
1649*461cc63eStholo	to death2-*.
1650*461cc63eStholo
1651*461cc63eStholo	* wrapper.c (wrap_setup): Don't look in repository if client_active.
1652*461cc63eStholo	* wrapper.c, cvs.h (wrap_send): New function.
1653*461cc63eStholo	* update.c (update), import.c (import): Call it.
1654*461cc63eStholo	* sanity.sh (binwrap): Do binwrap tests for remote as well as
1655*461cc63eStholo	local; tests for above fixes.
1656*461cc63eStholo
1657*461cc63eStholo	* wrapper.c: Add a few FIXME comments.
1658*461cc63eStholo
1659*461cc63eStholoThu Jul 18 18:43:50 1996  Ian Lance Taylor  <ian@cygnus.com>
1660*461cc63eStholo
1661*461cc63eStholo	* sanity.sh (patch): Fix names of a couple of tests to say patch
1662*461cc63eStholo	rather than death2.
1663*461cc63eStholo
1664*461cc63eStholoThu Jul 18 16:19:21 1996  Bill Bumgarner <bbum@friday.com>
1665*461cc63eStholo			  and Jim Kingdon  <kingdon@harvey.cyclic.com>
1666*461cc63eStholo
1667*461cc63eStholo	* add.c (add), import.c (add_rcs_file): Check for options from
1668*461cc63eStholo	wrappers and use them if specified.
1669*461cc63eStholo	* cvs.h (WrapMergeHas): Add WRAP_RCSOPTION.
1670*461cc63eStholo	* wrapper.c (WrapperEntry): Add rcsOption field.
1671*461cc63eStholo	(wrap_add): Allow a single character argument to an option.
1672*461cc63eStholo	(wrap_add): Handle -k option.
1673*461cc63eStholo	(wrap_add_entry): Handle rcsOption field.
1674*461cc63eStholo	(wrap_name_has): Handle WRAP_RCSOPTION.
1675*461cc63eStholo	* wrapper.c, cvs.h (wrap_rcsoption): New function.
1676*461cc63eStholo	* add.c, import.c, wrapper.c: Minor beautification (mostly
1677*461cc63eStholo	removing trailing spaces).
1678*461cc63eStholo	* sanity.sh (binwrap): New tests test for this feature.
1679*461cc63eStholo
1680*461cc63eStholoWed Jul 17 10:14:20 1996  Ian Lance Taylor  <ian@cygnus.com>
1681*461cc63eStholo
1682*461cc63eStholo	* checkout.c (checkout): Remove extraneous else accidentally
1683*461cc63eStholo	inserted in last checkin.
1684*461cc63eStholo
1685*461cc63eStholoTue Jul 16 11:37:41 1996  Ian Lance Taylor  <ian@cygnus.com>
1686*461cc63eStholo
1687*461cc63eStholo	* sanity.sh (import): Use quoting to avoid expansion of RCS ID
1688*461cc63eStholo	strings.
1689*461cc63eStholo
1690*461cc63eStholo	* sanity.sh (import): Use dotest to examine the output of test
1691*461cc63eStholo 	113, and the actual contents of the file in test 116.
1692*461cc63eStholo
1693*461cc63eStholo	* update.c (join_file): Always skip rcsmerge if the two revisions
1694*461cc63eStholo 	are the same (the old code always did the rcsmerge when two -j
1695*461cc63eStholo	options were specified).
1696*461cc63eStholo
1697*461cc63eStholo	* checkout.c (history_name): New static variable.
1698*461cc63eStholo	(checkout): Permit both tag and date to be specified.  Set
1699*461cc63eStholo	history_name.
1700*461cc63eStholo	(checkout_proc): Use history_name when calling history_write.
1701*461cc63eStholo	* rcs.c (RCS_getversion): If both tag and date are set, use
1702*461cc63eStholo	RCS_whatbranch to get the branch revision number of a symbolic
1703*461cc63eStholo	tag.
1704*461cc63eStholo	(RCS_getdatebranch): If the branch revision itself is early
1705*461cc63eStholo	enough, then use it if the first branch is not early enough.  Add
1706*461cc63eStholo	comment for invalid RCS file.  Don't bother to check for NULL
1707*461cc63eStholo	before calling xstrdup, since xstrdup checks anyhow.
1708*461cc63eStholo
1709*461cc63eStholo	* client.h (file_gzip_level): Declare.
1710*461cc63eStholo	* client.c (file_gzip_level): Define.
1711*461cc63eStholo	(start_server): Don't set gzip_level to zero after sending
1712*461cc63eStholo	Gzip-stream command.  Set file_gzip_level after sending
1713*461cc63eStholo	gzip-file-contents command.
1714*461cc63eStholo	(send_modified): Use file_gzip_level rather than gzip_level.
1715*461cc63eStholo	* server.c (server_updated): Likewise.
1716*461cc63eStholo	(serve_gzip_contents): Likewise.
1717*461cc63eStholo
1718*461cc63eStholo	* sanity.sh (patch): New tests.  Test remote CVS handling of
1719*461cc63eStholo	unpatchable files.
1720*461cc63eStholo
1721*461cc63eStholo	* sanity.sh (death2): Accept a '.' in the temporary file name
1722*461cc63eStholo	printed by diff.
1723*461cc63eStholo
1724*461cc63eStholo	* rcscmds.c (RCS_checkin): Remove noerr parameter.  Change all
1725*461cc63eStholo	callers.
1726*461cc63eStholo	* cvs.h (RCS_checkin): Update declaration.
1727*461cc63eStholo	* commit.c (remove_file): Pass RCS_FLAGS_QUIET to RCS_checkin.
1728*461cc63eStholo
1729*461cc63eStholo	* history.c (history): Cast sizeof to int to use correct type in
1730*461cc63eStholo	error printf string.
1731*461cc63eStholo	(report_hrecs): Cast strlen result to int to use correct type in
1732*461cc63eStholo	printf string.
1733*461cc63eStholo
1734*461cc63eStholo	* server.c (cvs_flusherr): Correct typo in comment.
1735*461cc63eStholo
1736*461cc63eStholo	* rcs.c (getrcskey): Hoist three constant strcmp calls out of the
1737*461cc63eStholo	value reading loop.
1738*461cc63eStholo
1739*461cc63eStholo	* fileattr.c (fileattr_get): Change parameter types from char * to
1740*461cc63eStholo 	const char *.
1741*461cc63eStholo	(fileattr_get0, fileattr_modify, fileattr_set): Likewise.
1742*461cc63eStholo	(fileattr_newfile): Likewise.
1743*461cc63eStholo	* fileattr.h (fileattr_get): Update declaration.
1744*461cc63eStholo	(fileattr_get0, fileattr_modify, fileattr_set): Likewise.
1745*461cc63eStholo	(fileattr_newfile): Likewise.
1746*461cc63eStholo
1747*461cc63eStholoThu May 16 11:12:18 1996  Mark P. Immel <immel@radix.net>
1748*461cc63eStholo			  and Jim Kingdon  <kingdon@harvey.cyclic.com>
1749*461cc63eStholo
1750*461cc63eStholo	* client.h, client.c, checkout.c (client_send_expansions):
1751*461cc63eStholo	Pass an additional parameter indicating where the checkout is
1752*461cc63eStholo	to occur, to avoid passing the wrong information to send_files().
1753*461cc63eStholo	* sanity.sh (basicb): New test basicb-cod-1 tests for above fix.
1754*461cc63eStholo
1755*461cc63eStholoMon Jul 15 18:26:56 1996  Ian Lance Taylor  <ian@cygnus.com>
1756*461cc63eStholo
1757*461cc63eStholo	* recurse.c (do_recursion): Require a repository before calling
1758*461cc63eStholo	Find_Names.
1759*461cc63eStholo	* repos.c (Name_Repository): Remove sanity checks which spend time
1760*461cc63eStholo	examining the filesystem.
1761*461cc63eStholo
1762*461cc63eStholoMon Jul 15 1996  Jim Kingdon  <kingdon@cyclic.com>
1763*461cc63eStholo
1764*461cc63eStholo	* client.c (send_file_names): Send file names as they appear
1765*461cc63eStholo	in CVS/Entries, rather than as specified (in cases where they
1766*461cc63eStholo	might differ in case).
1767*461cc63eStholo	(send_fileproc): Use file name from CVS/Entries (vers->entdata->user)
1768*461cc63eStholo	rather than file name as specified (finfo->file) when available.
1769*461cc63eStholo
1770*461cc63eStholoSun Jul 14 15:39:44 1996  Mark Eichin  <eichin@cygnus.com>
1771*461cc63eStholo			  and Ian Lance Taylor  <ian@cygnus.com>
1772*461cc63eStholo
1773*461cc63eStholo	Improve diff -N handling of nonexistent tags and removed files.
1774*461cc63eStholo	* diff.c (enum diff_file): New definition for whole file, moving
1775*461cc63eStholo	unnamed enum out of diff_fileproc, renaming DIFF_NEITHER to
1776*461cc63eStholo	DIFF_DIFFERENT, and adding DIFF_SAME.
1777*461cc63eStholo	(diff): Look through the repository even if only one revision is
1778*461cc63eStholo	given.
1779*461cc63eStholo	(diff_fileproc): Change empty_file to be enum diff_file.  If there
1780*461cc63eStholo	is no user revision, but there is a repository file, treat it as a
1781*461cc63eStholo	removed file.  Pass empty_file to diff_file_nodiff, and set it
1782*461cc63eStholo	from the return value.
1783*461cc63eStholo	(diff_file_nodiff): Change return type to enum diff_file.  Replace
1784*461cc63eStholo	just_set_rev parameter with enum diff_file empty_file parameter.
1785*461cc63eStholo	Change handling of a missing tag to return an enum diff_file value
1786*461cc63eStholo	if empty_files is set, rather than reporting an error.  Free tmp
1787*461cc63eStholo	if xcmp returns 0.
1788*461cc63eStholo	* sanity.sh (death2): Add tests for above patches.
1789*461cc63eStholo
1790*461cc63eStholoSat Jul 13 19:11:32 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
1791*461cc63eStholo
1792*461cc63eStholo	* rcs.c (annotate): In sending options to server, reverse sense of
1793*461cc63eStholo	test so that we send -f iff -f was specified, rather than iff -f was
1794*461cc63eStholo	not specified.
1795*461cc63eStholo
1796*461cc63eStholoFri Jul 12 20:23:54 1996  Greg A. Woods  <woods@most.weird.com>
1797*461cc63eStholo
1798*461cc63eStholo	* zlib.c (compress_buffer_input): add a couple of casts for
1799*461cc63eStholo	uses of z_stream's next_in and next_out
1800*461cc63eStholo
1801*461cc63eStholoFri Jul 12 18:55:26 1996  Ian Lance Taylor  <ian@cygnus.com>
1802*461cc63eStholo
1803*461cc63eStholo	* zlib.c: New file.
1804*461cc63eStholo	* client.c (log_buffer_block): Call set_block and set_nonblock,
1805*461cc63eStholo	rather than lb->buf->block.
1806*461cc63eStholo	(log_buffer_shutdown): New static function.
1807*461cc63eStholo	(get_responses_and_close): Call buf_shutdown on to_server and
1808*461cc63eStholo	from_server.
1809*461cc63eStholo	(start_server): If "Gzip-stream" is supported, use it rather than
1810*461cc63eStholo	"gzip-file-contents".
1811*461cc63eStholo	* server.c (print_error): Call buf_flush rather than
1812*461cc63eStholo	buf_send_output.
1813*461cc63eStholo	(print_pending_error, serve_valid_responses): Likewise.
1814*461cc63eStholo	(serve_expand_modules, serve_valid_requests): Likewise.
1815*461cc63eStholo	(do_cvs_command): Call buf_flush rather than buf_send_output
1816*461cc63eStholo	before the fork, and in the parent after the child has completed.
1817*461cc63eStholo	In the child, set buf_to_net and buf_from_net to NULL.
1818*461cc63eStholo	(serve_gzip_stream): New static function.
1819*461cc63eStholo	(requests): Add "Gzip-stream".
1820*461cc63eStholo	(server_cleanup): Don't do anything with buf_to_net if it is
1821*461cc63eStholo	NULL.  Call buf_flush rather than buf_send_output.  Call
1822*461cc63eStholo	buf_shutdown on buf_to_net and buf_from_net.  Call error for an
1823*461cc63eStholo	malloc failure rather than buf_output to buf_to_net.
1824*461cc63eStholo	* buffer.h (struct buffer): Add shutdown field.
1825*461cc63eStholo	(buf_initialize): Update declaration for new shutdown parameter.
1826*461cc63eStholo	(compress_buffer_initialize): Declare.
1827*461cc63eStholo	(buf_shutdown): Declare.
1828*461cc63eStholo	* buffer.c (buf_initialize): Add shutdown parameter.  Change all
1829*461cc63eStholo	callers.
1830*461cc63eStholo	(buf_shutdown): New function.
1831*461cc63eStholo	* Makefile.in (SOURCES): Add zlib.c
1832*461cc63eStholo	(OBJECTS): Add zlib.o.
1833*461cc63eStholo	($(PROGS)): Depend upon ../zlib/libz.a.
1834*461cc63eStholo	(cvs): Link against ../zlib/libz.a.
1835*461cc63eStholo	(zlib.o): New target.
1836*461cc63eStholo
1837*461cc63eStholoFri Jul 12 1996  Jim Kingdon  <kingdon@cyclic.com>
1838*461cc63eStholo
1839*461cc63eStholo	* client.c (log_buffer_input, log_buffer_output): Use size_t
1840*461cc63eStholo	to avoid Visual C++ signed/unsigned warnings.
1841*461cc63eStholo
1842*461cc63eStholoThu Jul 11 22:01:37 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
1843*461cc63eStholo
1844*461cc63eStholo	* client.c (handle_f): Reindent.
1845*461cc63eStholo
1846*461cc63eStholo	* client.c (mode_to_string, handle_m, handle_e,
1847*461cc63eStholo	auth_server_port_number, get_responses_and_close), server.c
1848*461cc63eStholo	(pserver_authenticate_connection, serve_modified,
1849*461cc63eStholo	serve_enable_unchanged, wait_sig, server_cleanup): Reindent.
1850*461cc63eStholo	* server.c: Remove #if 0'd block of code above
1851*461cc63eStholo	check_repository_password; it was yanked out of some unknown
1852*461cc63eStholo	context and didn't seem to be very useful.
1853*461cc63eStholo
1854*461cc63eStholoThu Jul 11 20:10:21 1996  Ian Lance Taylor  <ian@cygnus.com>
1855*461cc63eStholo
1856*461cc63eStholo	* server.c (do_cvs_command): Pass new special parameter to
1857*461cc63eStholo	buf_copy_counted.  If it gets set to -1, send an 'F' response if
1858*461cc63eStholo	the client supports it, and call cvs_flusherr.
1859*461cc63eStholo	(cvs_flusherr): New function.
1860*461cc63eStholo	* cvs.h (cvs_flusherr): Declare.
1861*461cc63eStholo	* client.c (handle_f): New static function.
1862*461cc63eStholo	(responses): Add "F".
1863*461cc63eStholo	* buffer.c (buf_send_special_count): New function.
1864*461cc63eStholo	(buf_copy_counted): Add special parameter.  Handle negative counts
1865*461cc63eStholo	specially.
1866*461cc63eStholo	* buffer.h (buf_send_sepcial_count): Declare.
1867*461cc63eStholo	(buf_copy_counted): Update declaration.
1868*461cc63eStholo	* lock.c (lock_wait, lock_obtained): Call cvs_flusherr.
1869*461cc63eStholo
1870*461cc63eStholo	Change the client to use the buffer data structure.
1871*461cc63eStholo	* client.c: Include "buffer.h".
1872*461cc63eStholo	(to_server): Change to be struct buffer *.
1873*461cc63eStholo	(to_server_fp): New static variable.
1874*461cc63eStholo	(from_server): Change to be struct buffer *.
1875*461cc63eStholo	(from_server_fp): New static variable.
1876*461cc63eStholo	(from_server_logfile, to_server_logfile): Remove.
1877*461cc63eStholo	(buf_memory_error): New static function.
1878*461cc63eStholo	(struct log_buffer): Define.
1879*461cc63eStholo	(log_buffer_initialize, log_buffer_input): New static functions.
1880*461cc63eStholo	(log_buffer_output, log_buffer_flush): New static functions.
1881*461cc63eStholo	(log_buffer_block): New static function.
1882*461cc63eStholo	(struct socket_buffer): Define if NO_SOCKET_TO_FD.
1883*461cc63eStholo	(socket_buffer_initialize): New static function if
1884*461cc63eStholo	NO_SOCKET_TO_FD.
1885*461cc63eStholo	(socket_buffer_input, socket_buffer_output): Likewise.
1886*461cc63eStholo	(socket_buffer_flush): Likewise.
1887*461cc63eStholo	(read_line): Rewrite to use buf_read_line.  Remove eof_ok
1888*461cc63eStholo	parameter (it was always passed as 0); change all callers.
1889*461cc63eStholo	(send_to_server): Rewrite to use buf_output.
1890*461cc63eStholo	(try_read_from_server): Rewrite to use buf_read_data.
1891*461cc63eStholo	(get_responses_and_close): Use from_server_fp and to_server_fp for
1892*461cc63eStholo	the streams.  Check buf_empty_p when checking for dying gasps.
1893*461cc63eStholo	(start_server): Don't set from_server_logfile and
1894*461cc63eStholo	to_server_logfile; instead, call log_buffer_initialize.  If
1895*461cc63eStholo	NO_SOCKET_TO_FD and use_socket_style, call
1896*461cc63eStholo	socket_buffer_initialize; otherwise, call
1897*461cc63eStholo	stdio_buffer_initialize.
1898*461cc63eStholo	* buffer.c: Compile if CLIENT_SUPPORT is defined.
1899*461cc63eStholo	(buf_flush): Fix comment to describe return value.
1900*461cc63eStholo	(buf_read_line): Add lenp parameter.  Change all callers.  Look
1901*461cc63eStholo	for a line terminated by \012 rather than \n.
1902*461cc63eStholo	* buffer.h: Compile if CLIENT_SUPPORT is defined.
1903*461cc63eStholo	(buf_read_line): Update declaration.
1904*461cc63eStholo
1905*461cc63eStholo	* server.c (server): Initialize buf_to_net, buf_from_net,
1906*461cc63eStholo	saved_output, and saved_outerr before setting error_use_protocol.
1907*461cc63eStholo	(pserver_authenticate_connection): Don't set error_use_protocol.
1908*461cc63eStholo	Errors before the authentication is complete aren't handled
1909*461cc63eStholo	cleanly anyhow.  Change error call after authentication to use
1910*461cc63eStholo	printf.
1911*461cc63eStholo
1912*461cc63eStholoThu Jul 11 1996  Jim Kingdon  <kingdon@cyclic.com>
1913*461cc63eStholo
1914*461cc63eStholo	* client.c (start_server): Open logfiles in binary, not text, mode.
1915*461cc63eStholo
1916*461cc63eStholoWed Jul 10 19:24:22 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
1917*461cc63eStholo
1918*461cc63eStholo	* server.c (print_pending_error, print_error): Remove comments
1919*461cc63eStholo	about deadlocks; they don't apply here.  Add comments saying
1920*461cc63eStholo	that these functions must only be called when it is OK to
1921*461cc63eStholo	send output (which is why the deadlock concern doesn't apply).  The
1922*461cc63eStholo	comments remain for server_cleanup and serve_valid_responses,
1923*461cc63eStholo	where they are an example of the "print a message and exit"
1924*461cc63eStholo	behavior which is noted in cvsclient.texi and which also exists
1925*461cc63eStholo	places like kserver_authenticate_connection.
1926*461cc63eStholo
1927*461cc63eStholoWed Jul 10 18:24:46 1996  Ian Lance Taylor  <ian@cygnus.com>
1928*461cc63eStholo
1929*461cc63eStholo	* server.c (print_error): Add comment warning about potential
1930*461cc63eStholo	deadlock.
1931*461cc63eStholo	(print_pending_error, serve_valid_responses): Likewise.
1932*461cc63eStholo	(server_cleanup): Likewise.
1933*461cc63eStholo	(serve_directory): Don't call buf_send_output.
1934*461cc63eStholo	(serve_modified, serve_notify, server, cvs_outerr): Likewise.
1935*461cc63eStholo	(serve_expand_modules): Call buf_send_output.
1936*461cc63eStholo	(serve_valid_requests): Likewise.
1937*461cc63eStholo
1938*461cc63eStholoWed Jul 10 15:51:29 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
1939*461cc63eStholo
1940*461cc63eStholo	* main.c (main): Print a warning for rlog command.
1941*461cc63eStholo
1942*461cc63eStholoWed Jul 10 15:00:55 1996  Ian Lance Taylor  <ian@cygnus.com>
1943*461cc63eStholo
1944*461cc63eStholo	Abstract the buffer data structure away from the underlying
1945*461cc63eStholo	communication medium.
1946*461cc63eStholo	* buffer.h (struct buffer): Remove fd and output fields.  Add
1947*461cc63eStholo	input, output, flush, block, and closure fields.
1948*461cc63eStholo	(buf_initialize, buf_nonio_initialize): Declare.
1949*461cc63eStholo	(stdio_buffer_initialize, buf_flush): Declare.
1950*461cc63eStholo	(buf_read_line, buf_read_data): Declare.
1951*461cc63eStholo	* buffer.c: Include <assert.h>.  Don't include <fcntl.h>.
1952*461cc63eStholo	(O_NONBLOCK, blocking_error): Don't define.
1953*461cc63eStholo	(buf_initialize, buf_nonio_initialize): New functions.
1954*461cc63eStholo	(buf_send_output): Use output function, rather than write.
1955*461cc63eStholo	(buf_flush): New function.
1956*461cc63eStholo	(set_nonblock, set_block): Use block function, rather than calling
1957*461cc63eStholo	fcntl.
1958*461cc63eStholo	(buf_send_counted): Don't check output.
1959*461cc63eStholo	(buf_input_data): Call input function, rather than read.
1960*461cc63eStholo	(buf_read_line, buf_read_data): New functions.
1961*461cc63eStholo	(buf_copy_lines, buf_copy_counted): Don't check output.
1962*461cc63eStholo	(stdio_buffer_initialize): New function.
1963*461cc63eStholo	(stdio_buffer_input, stdio_buffer_output): New static functions.
1964*461cc63eStholo	(stdio_bufer_flush): New static function.
1965*461cc63eStholo	* server.c: Include "getline.h".
1966*461cc63eStholo	(buf_to_net): Change to be a pointer.  Change all uses.
1967*461cc63eStholo	(protocol, saved_output, saved_outerr): Likewise.
1968*461cc63eStholo	(buf_from_net): New static variable.
1969*461cc63eStholo	(no_mem_error, NO_MEM_ERROR, read_line): Remove.
1970*461cc63eStholo	(struct fd_buffer): Define.
1971*461cc63eStholo	(fd_buffer_initialize, fd_buffer_input): New static functions.
1972*461cc63eStholo	(fd_buffer_output, fd_buffer_flush): New static functions.
1973*461cc63eStholo	(fd_buffer_block): New static function.
1974*461cc63eStholo	(serve_directory): Call buf_read_line rather than read_line.
1975*461cc63eStholo	(serve_notify, server): Likewise.
1976*461cc63eStholo	(receive_partial_file): Call buf_read_data rather than fread.
1977*461cc63eStholo	(serve_modified): Call buf_read_line rather than read_line.  Call
1978*461cc63eStholo	buf_read_data rather than fread.
1979*461cc63eStholo	(do_cvs_command): Initialize buffers with fd_buffer_initialize.
1980*461cc63eStholo	Change stdoutbuf, stderrbuf, and protocol_inbuf to be pointers.
1981*461cc63eStholo	(server): Initialize buffers using fd_buffer_initialize,
1982*461cc63eStholo	stdio_buffer_initialize, and buf_nonio_initialize.
1983*461cc63eStholo	(check_repository_password): Call getline rather than read_line.
1984*461cc63eStholo
1985*461cc63eStholoWed Jul 10 15:51:29 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
1986*461cc63eStholo
1987*461cc63eStholo	* commit.c (find_fileproc): Add comments describing a few cases
1988*461cc63eStholo	that we aren't handling.
1989*461cc63eStholo
1990*461cc63eStholoTue Jul  9 04:33:03 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
1991*461cc63eStholo
1992*461cc63eStholo	* rcs.c (RCS_deltas): New function, created from guts of old
1993*461cc63eStholo	annotate_fileproc.
1994*461cc63eStholo	(annotate_fileproc): Call RCS_deltas.
1995*461cc63eStholo	(RCS_fast_checkout): Call it (commented out for now; see comment
1996*461cc63eStholo	for reasons).
1997*461cc63eStholo
1998*461cc63eStholo	* cvs.h, recurse.c (start_recursion): Add callerdat argument.
1999*461cc63eStholo	* cvs.h: Add callerdat argument to recursion processor callbacks.
2000*461cc63eStholo	* recurse.c: add it to struct recursion_frame and pass it to all
2001*461cc63eStholo	the callbacks.
2002*461cc63eStholo	* admin.c, client.c, commit.c, diff.c, edit.c, lock.c, log.c,
2003*461cc63eStholo	patch.c, rcs.c, remove.c, rtag.c, status.c, tag.c, update.c,
2004*461cc63eStholo	watch.c: Update all the functions used as callbacks.  Update calls
2005*461cc63eStholo	to start_recursion.
2006*461cc63eStholo	* commit.c (find_filesdoneproc, find_fileproc, find_dirent_proc,
2007*461cc63eStholo	commit), tag.c (val_fileproc, tag_check_valid): Use callerdat
2008*461cc63eStholo	instead of a static variable.
2009*461cc63eStholo
2010*461cc63eStholo	* recurse.c (do_recursion): Make static and move declaration to here...
2011*461cc63eStholo	* cvs.h: ...from here.
2012*461cc63eStholo	* recurse.c (do_recursion): Replace plethora of arguments with
2013*461cc63eStholo	single struct recursion_frame *.  Change callers.
2014*461cc63eStholo	* recurse.c: New structure frame_and_file.  Use it and existing
2015*461cc63eStholo	struct recursion_frame structures to pass info to do_file_proc and
2016*461cc63eStholo	do_dir_proc.  Remove globals fileproc, filesdoneproc, direntproc,
2017*461cc63eStholo	dirleaveproc, which, flags, aflag, readlock, and dosrcs.
2018*461cc63eStholo
2019*461cc63eStholoTue Jul  9 11:13:29 1996  Ian Lance Taylor  <ian@cygnus.com>
2020*461cc63eStholo
2021*461cc63eStholo	* modules.c (do_module): Call cvs_outerr rather than fprintf.
2022*461cc63eStholo
2023*461cc63eStholoMon Jul 8 1996  Jim Kingdon  <kingdon@cyclic.com>
2024*461cc63eStholo
2025*461cc63eStholo	* rcs.c (RCS_fast_checkout): If -kb is not in use, open the
2026*461cc63eStholo	working file in text, not binary, mode.
2027*461cc63eStholo
2028*461cc63eStholoSun Jul  7 10:36:16 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2029*461cc63eStholo
2030*461cc63eStholo	* rcscmds.c (RCS_settag): Add comment regarding moving check for
2031*461cc63eStholo	reserved tag names to RCS_check_tag.
2032*461cc63eStholo
2033*461cc63eStholo	* rcscmds.c: Add comment regarding librarifying RCS and related
2034*461cc63eStholo	issues.  This is a lightly edited version of a message I sent to
2035*461cc63eStholo	the CVS developers and didn't get flamed for, so it would appear
2036*461cc63eStholo	to be relatively uncontroversial.
2037*461cc63eStholo
2038*461cc63eStholo	* rcs.c (annotate): Remove comment suggesting -r option and
2039*461cc63eStholo	related functionality; it is done.
2040*461cc63eStholo
2041*461cc63eStholoFri Jul  5 17:19:57 1996  Ian Lance Taylor  <ian@cygnus.com>
2042*461cc63eStholo
2043*461cc63eStholo	* client.c (last_entries): Make file static, rather than function
2044*461cc63eStholo	static within call_in_directory.
2045*461cc63eStholo	(get_responses_and_close): If last_entries is not NULL, pass it to
2046*461cc63eStholo	Entries_Close.
2047*461cc63eStholo
2048*461cc63eStholo	* server.c (server_pause_check): Check for errors when reading
2049*461cc63eStholo	from flowcontrol_pipe.
2050*461cc63eStholo
2051*461cc63eStholo	* client.c (call_in_directory): If dir_name is ".", call
2052*461cc63eStholo	Create_Admin if there is no CVS directory.
2053*461cc63eStholo	(send_dirent_proc): If there is no CVS subdirectory, pretend that
2054*461cc63eStholo	the directory does not exist (i.e., don't try to send any files in
2055*461cc63eStholo	the directory).
2056*461cc63eStholo	* server.c (dirswitch): If dir is "." in the top level repository,
2057*461cc63eStholo	add "/." after the Repository entry.
2058*461cc63eStholo	* sanity.sh (modules): Add test 155b for above patches.
2059*461cc63eStholo
2060*461cc63eStholoThu Jul  4 15:57:34 1996  Ian Lance Taylor  <ian@cygnus.com>
2061*461cc63eStholo
2062*461cc63eStholo	* server.c (buf_to_net): Move definition near top of file.
2063*461cc63eStholo	(read_line): Call buf_send_output rather than fflush.
2064*461cc63eStholo	(print_error): Output information to buf_to_net buffer rather than
2065*461cc63eStholo	stdout.
2066*461cc63eStholo	(print_pending_error, serve_valid_responses): Likewise.
2067*461cc63eStholo	(server_notify, do_cvs_command, server_co): Likewise.
2068*461cc63eStholo	(expand_proc, serve_expand_modules, server_prog): Likewise.
2069*461cc63eStholo	(serve_valid_requests, server_cleanup, server): Likewise.
2070*461cc63eStholo	(server_notify): Don't call fflush on stdout.
2071*461cc63eStholo	(do_cvs_command): Flush saved_output and saved_outerr to
2072*461cc63eStholo	buf_to_net before fork.  Flush buf_to_net before fork.  In child,
2073*461cc63eStholo	just initialize memory_error field of saved_output and
2074*461cc63eStholo	saved_outerr.
2075*461cc63eStholo	(server_cleanup): Flush buf_to_net.
2076*461cc63eStholo	(server): Initialize saved_output and saved_outerr.
2077*461cc63eStholo	(cvs_output): Add support for error_use_protocol case.
2078*461cc63eStholo	(cvs_outerr): Likewise.
2079*461cc63eStholo	* error.c (error): In HAVE_VPRINTF case, just call cvs_outerr.
2080*461cc63eStholo
2081*461cc63eStholo	* buffer.c: New file; buffer support functions taken from
2082*461cc63eStholo	server.c.
2083*461cc63eStholo	* buffer.h: New file; declarations for buffer.c.
2084*461cc63eStholo	* server.c: Move buffer support functions into buffer.c and
2085*461cc63eStholo	buffer.h.  Include "buffer.h".
2086*461cc63eStholo	* Makefile.in (SOURCES): Add buffer.c.
2087*461cc63eStholo	(OBJECTS): Add buffer.o.
2088*461cc63eStholo	(HEADERS): Add buffer.h.
2089*461cc63eStholo
2090*461cc63eStholoThu Jul  4 00:12:45 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2091*461cc63eStholo
2092*461cc63eStholo	* version.c: Increment version number to 1.8.6.
2093*461cc63eStholo
2094*461cc63eStholoWed Jul  3 22:31:16 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2095*461cc63eStholo
2096*461cc63eStholo	* version.c: Version 1.8.5.
2097*461cc63eStholo
2098*461cc63eStholoWed Jul  3 21:51:23 1996  Ian Lance Taylor  <ian@cygnus.com>
2099*461cc63eStholo
2100*461cc63eStholo	* server.c (blocking_error): Define macro.
2101*461cc63eStholo	(buf_send_output, buf_input_data): Use blocking_error rather than
2102*461cc63eStholo	#ifdef EWOULDBLOCK.
2103*461cc63eStholo
2104*461cc63eStholoTue Jul  2 20:38:41 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2105*461cc63eStholo
2106*461cc63eStholo	* add.c (add): Change message which said "version 1.2 of foo.c
2107*461cc63eStholo	will be resurrected"; the message was confusing because it made
2108*461cc63eStholo	people think that the old contents of the file would come back
2109*461cc63eStholo	instead of the contents in the working directory.
2110*461cc63eStholo
2111*461cc63eStholoMon Jul  1 01:38:57 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2112*461cc63eStholo
2113*461cc63eStholo	* find_names.c (find_dirs): Add comment explaining why we bother
2114*461cc63eStholo	with the entries stuff.
2115*461cc63eStholo
2116*461cc63eStholoSat Jun 29 20:23:50 1996  Ian Lance Taylor  <ian@cygnus.com>
2117*461cc63eStholo
2118*461cc63eStholo	* find_names.c (Find_Directories): Add entries parameter, and pass
2119*461cc63eStholo	it to find_dirs.
2120*461cc63eStholo	(find_dirs): Add entries parameter, and skip all files it names.
2121*461cc63eStholo	* cvs.h (Find_Directories): Update declaration.
2122*461cc63eStholo	* recurse.c (start_recursion): Pass NULL to Find_Directories.
2123*461cc63eStholo	(do_recursion): Pass entries to Find_Directories.
2124*461cc63eStholo
2125*461cc63eStholo	* client.c (send_modified): Add trace output.
2126*461cc63eStholo
2127*461cc63eStholo	* diff.c (diff_fileproc): Always call diff_file_nodiff.  Handle
2128*461cc63eStholo	dead versions correctly.  Handle diffs between a specified
2129*461cc63eStholo	revision to a dead file correctly.
2130*461cc63eStholo	(diff_file_nodiff): Add just_set_rev parameter.  Change caller.
2131*461cc63eStholo	* patch.c (patch_fileproc): Check for dead versions.
2132*461cc63eStholo	* sanity.sh (death2): Add tests for above patches.
2133*461cc63eStholo
2134*461cc63eStholoFri Jun 28 20:30:48 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2135*461cc63eStholo
2136*461cc63eStholo	For reference, this takes CVS's text segment from 271136 bytes to
2137*461cc63eStholo	270352 bytes, a saving of 784.  Not as good as I had hoped (oh well,
2138*461cc63eStholo	the source *seems* simpler at least).
2139*461cc63eStholo	* checkin.c (Checkin), commit.c (finaladd, remove_file), update.c
2140*461cc63eStholo	(join_file, checkout_file, patch_file), no_diff.c
2141*461cc63eStholo	(No_Differences), server.c (server_updated), classify.c
2142*461cc63eStholo	(Classify_File), vers_ts.c (Version_TS), diff.c (diff_file_nodiff):
2143*461cc63eStholo	Use a single struct file_info * argument instead of a bunch of
2144*461cc63eStholo	separate arguments for each of its fields.  Remove local fullname
2145*461cc63eStholo	emulations.  Use fullname in error messages where file had
2146*461cc63eStholo	erroneously been used.
2147*461cc63eStholo	* cvs.h: Update declarations of above functions and move them to
2148*461cc63eStholo	after the struct file_info declaration.
2149*461cc63eStholo	* server.h: Update declarations.
2150*461cc63eStholo	* add.c, admin.c, checkin.c, checkout.c, classify.c, client.c,
2151*461cc63eStholo	commit.c, diff.c, history.c, import.c, update.c, status.c,
2152*461cc63eStholo	remove.c, rtag.c, tag.c: Change callers.
2153*461cc63eStholo
2154*461cc63eStholo	* diff.c (diff): Remove -q and -Q command options.  This somehow
2155*461cc63eStholo	slipped through the cracks of the general removal of -q and -Q
2156*461cc63eStholo	command options on Jul 21 1995.  Note that there is no need to
2157*461cc63eStholo	accept and ignore these options in server mode, like there is for
2158*461cc63eStholo	some of the commands, because the client has never sent -q and -Q
2159*461cc63eStholo	command options for "cvs diff".
2160*461cc63eStholo
2161*461cc63eStholoFri Jun 28 16:50:18 1996  Ian Lance Taylor  <ian@cygnus.com>
2162*461cc63eStholo
2163*461cc63eStholo	* add.c (add): Pass force_tag_match as 1 when calling Version_TS.
2164*461cc63eStholo	* sanity.sh (death2): Add test for above patch.  Also add
2165*461cc63eStholo	commented out test for adding a file on a nonbranch tag, which CVS
2166*461cc63eStholo	currently, mistakenly, permits.
2167*461cc63eStholo
2168*461cc63eStholoThu Jun 27 23:20:49 1996  Ian Lance Taylor  <ian@cygnus.com>
2169*461cc63eStholo			  and Jim Kingdon  <kingdon@harvey.cyclic.com>
2170*461cc63eStholo
2171*461cc63eStholo	* diff.c (longopts): New static array.
2172*461cc63eStholo	(diff): Handle long options and new short options in diff 2.7.
2173*461cc63eStholo	Fix arbitrary limit associated with the tmp variable.
2174*461cc63eStholo	* client.c (send_option_string): Parse options as space separated,
2175*461cc63eStholo	rather than requiring all options to be single characters.
2176*461cc63eStholo	* diff.c, options.h.in: Remove CVS_DIFFDATE; the need for it is gone
2177*461cc63eStholo	now that we have --ifdef (the new behavior is the behavior which
2178*461cc63eStholo	was the default, which is that -D specifies a date).
2179*461cc63eStholo
2180*461cc63eStholoWed Jun 26 22:36:29 1996  Ian Lance Taylor  <ian@cygnus.com>
2181*461cc63eStholo
2182*461cc63eStholo	* commit.c (check_fileproc): If there is a tag, permit adding a
2183*461cc63eStholo 	file even if the RCS file already exists.
2184*461cc63eStholo	(checkaddfile): If there is a tag, use the file in the regular
2185*461cc63eStholo 	repository, rather than the Attic, if it exists.
2186*461cc63eStholo	* sanity.sh (death2): New set of tests for above patch.
2187*461cc63eStholo
2188*461cc63eStholoTue Jun 25 23:34:13 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2189*461cc63eStholo
2190*461cc63eStholo	* update.c (checkout_file): Add comments about two cases which
2191*461cc63eStholo	seem fishy.
2192*461cc63eStholo
2193*461cc63eStholo	* sanity.sh (basic2, death): Add comments encouraging people to
2194*461cc63eStholo	stop making these sections bigger and more complex.  I'm not (yet
2195*461cc63eStholo	at least) trying to figure out the ideal size for a section (my
2196*461cc63eStholo	current best estimate is 10-20 tests), but surely these
2197*461cc63eStholo	two sections are pushing the limit, whatever it is.
2198*461cc63eStholo
2199*461cc63eStholoTue Jun 25 19:52:02 1996  Ian Lance Taylor  <ian@cygnus.com>
2200*461cc63eStholo
2201*461cc63eStholo	* update.c (checkout_file): Rewrite handling of dead files when
2202*461cc63eStholo	joining.  Avoid space leaks.  Avoid unnecessary file
2203*461cc63eStholo	resurrections.
2204*461cc63eStholo	(join_file): Add checks to skip merging a dead revision onto a
2205*461cc63eStholo	dead revision, and to skip merging a common ancestor onto a dead
2206*461cc63eStholo	revision.  Move check for non-existent working file after new
2207*461cc63eStholo	checks.
2208*461cc63eStholo	* sanity.sh (death): Use dotest for tests 86 and 95, and add test
2209*461cc63eStholo	death-file2-1, to test above changes.
2210*461cc63eStholo
2211*461cc63eStholoMon Jun 24 11:27:37 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2212*461cc63eStholo
2213*461cc63eStholo	* update.c (merge_file): Replace file, repository, entries, and
2214*461cc63eStholo	update_dir arguments with finfo argument.  Use fullname field
2215*461cc63eStholo	instead of locally emulating it.
2216*461cc63eStholo	(update_fileproc): Update caller.
2217*461cc63eStholo	(merge_file): If -kb is in effect, call it a conflict, leave
2218*461cc63eStholo	the two versions in the file and the backup file, and tell the
2219*461cc63eStholo	user to deal with it.  The previous behavior was that the merge
2220*461cc63eStholo	would fail and then there was no way to do a checkin even once you
2221*461cc63eStholo	resolved the conflict (short of kludges like moving the file
2222*461cc63eStholo	aside, updating, and then moving it back).
2223*461cc63eStholo	* sanity.sh (binfiles): New tests binfiles-con* test for above
2224*461cc63eStholo	behavior.  Adjust remaining tests to reflect changes in revision
2225*461cc63eStholo	numbers.
2226*461cc63eStholo
2227*461cc63eStholoMon Jun 17 15:11:09 1996  Ian Lance Taylor  <ian@cygnus.com>
2228*461cc63eStholo
2229*461cc63eStholo	* sanity.sh (import): Remove sleep.  Requiring it was a bug, and
2230*461cc63eStholo	it is fixed in the current sources.
2231*461cc63eStholo
2232*461cc63eStholoMon Jun 17 1996  Ian Lance Taylor  <ian@cygnus.com>
2233*461cc63eStholo		 and Jim Kingdon  <kingdon@harvey.cyclic.com>
2234*461cc63eStholo
2235*461cc63eStholo	* sanity.sh (TMPPWD): Set to real name of /tmp directory.
2236*461cc63eStholo	(basic2-64, conflicts-126.5): Use ${TMPPWD}.
2237*461cc63eStholo
2238*461cc63eStholoMon Jun 17 1996  Ian Lance Taylor  <ian@cygnus.com>
2239*461cc63eStholo
2240*461cc63eStholo	* rcscmds.c (RCS_checkout): Remove noerr parameter.  Change all
2241*461cc63eStholo	callers.
2242*461cc63eStholo	* rcs.c (RCS_fast_checkout): Likewise.
2243*461cc63eStholo
2244*461cc63eStholoMon Jun 17 1996  Ian Lance Taylor  <ian@cygnus.com>
2245*461cc63eStholo
2246*461cc63eStholo	Cleaner implementation of tag locking code added Jun 13 1996:
2247*461cc63eStholo	* cvs.h (tag_lockdir, tag_unlockdir): Declare.
2248*461cc63eStholo	* rtag.c (locked_dir, locked_list): Remove.
2249*461cc63eStholo	(rtag_fileproc): Don't lock here; just call tag_lockdir.
2250*461cc63eStholo	(rtag_filesdoneproc): Don't unlock here; just call tag_unlockdir.
2251*461cc63eStholo	* tag.c (locked_dir, locked_list): Move farther down in file.
2252*461cc63eStholo	(tag_fileproc): Don't lock here; just call tag_lockdir.
2253*461cc63eStholo	(tag_filesdoneproc): Don't unlock here; just call tag_unlockdir.
2254*461cc63eStholo	(tag_lockdir, tag_unlockdir): New functions.
2255*461cc63eStholo
2256*461cc63eStholoWed Jun 15 07:52:22 1996  Mike Ladwig  <mike@twinpeaks.prc.com>
2257*461cc63eStholo
2258*461cc63eStholo	* client.c (send_modified, update_entries): Fixed bug which didn't
2259*461cc63eStholo	handle binary file transfers in BROKEN_READWRITE_CONVERSION.
2260*461cc63eStholo
2261*461cc63eStholoThu Jun 13 1996  Ian Lance Taylor  <ian@cygnus.com>
2262*461cc63eStholo		 and Jim Kingdon  <kingdon@harvey.cyclic.com>
2263*461cc63eStholo
2264*461cc63eStholo	* update.c (checkout_file): Call server_scratch_entry_only when a
2265*461cc63eStholo	non-pertinent file is found that does not exist.
2266*461cc63eStholo	* sanity.sh (newb): Add test case for above patch.
2267*461cc63eStholo
2268*461cc63eStholoThu Jun 13 1996  Ian Lance Taylor  <ian@cygnus.com>
2269*461cc63eStholo
2270*461cc63eStholo	* update.c (update_fileproc): Call server_scratch_entry_only when
2271*461cc63eStholo	handling T_REMOVE_ENTRY on the server.
2272*461cc63eStholo	* sanity.sh (conflicts2): Remove special case for remote server
2273*461cc63eStholo	bug fixed by above patch.
2274*461cc63eStholo
2275*461cc63eStholoThu Jun 13 21:16:26 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2276*461cc63eStholo
2277*461cc63eStholo	* sanity.sh (basica-9): Update to reflect change to "sufficient
2278*461cc63eStholo	access" message.
2279*461cc63eStholo
2280*461cc63eStholoThu Jun 13 20:13:55 1996  Ian Lance Taylor  <ian@cygnus.com>
2281*461cc63eStholo			  and Jim Kingdon  <kingdon@harvey.cyclic.com>
2282*461cc63eStholo
2283*461cc63eStholo	* recurse.c, cvs.h (start_recursion): Remove wd_is_repos argument;
2284*461cc63eStholo	add comment about meaning of which argument.  Use !(which &
2285*461cc63eStholo	W_LOCAL) instead of wd_is_repos.
2286*461cc63eStholo	* admin.c, client.c, commit.c, diff.c, edit.c, lock.c, log.c,
2287*461cc63eStholo	patch.c, rcs.c, remove.c, rtag.c, status.c, tag.c, update.c,
2288*461cc63eStholo	watch.c: Change callers.  This is a semantic change in only two
2289*461cc63eStholo	cases: (1) tag_check_valid, where repository was not "", and (2)
2290*461cc63eStholo	the pipeout case in checkout_proc.  In both of those cases the
2291*461cc63eStholo	previous setting of wd_is_repos did not reflect whether we
2292*461cc63eStholo	actually were cd'd into the repository.
2293*461cc63eStholo	* recurse.c (start_recursion): Only check for the CVS subdirectory
2294*461cc63eStholo	if which & W_LOCAL.
2295*461cc63eStholo	* sanity.sh (devcom): Add test case fixed by above patch.
2296*461cc63eStholo
2297*461cc63eStholoThu Jun 13 1996  Ian Lance Taylor  <ian@cygnus.com>
2298*461cc63eStholo
2299*461cc63eStholo	* ignore.c (ignore_files): Skip based on the file name before
2300*461cc63eStholo	calling lstat.
2301*461cc63eStholo
2302*461cc63eStholo	* client.c (last_register_time): New static variable.
2303*461cc63eStholo	(update_entries): Set last_register_time when calling Register.
2304*461cc63eStholo	(get_responses_and_close): If the current time is the same as
2305*461cc63eStholo	last_register_time, sleep for a section to avoid timestamp races.
2306*461cc63eStholo
2307*461cc63eStholoThu Jun 13 17:24:38 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2308*461cc63eStholo
2309*461cc63eStholo	* client.c (supported_request): Reindent.
2310*461cc63eStholo
2311*461cc63eStholoThu Jun 13 1996  Mark H. Wilkinson  <mhw@minster.york.ac.uk>
2312*461cc63eStholo
2313*461cc63eStholo	* options.h.in, mkmodules.c: Corrections to allow compilation of
2314*461cc63eStholo	non-client-server version.
2315*461cc63eStholo
2316*461cc63eStholoThu Jun 13 1996  Ian Lance Taylor  <ian@cygnus.com>
2317*461cc63eStholo
2318*461cc63eStholo	* tag.c (tag_check_valid_join): New function.
2319*461cc63eStholo	* cvs.h (tag_check_valid_join): Declare.
2320*461cc63eStholo	* checkout.c (join_tags_validated): New static variable.
2321*461cc63eStholo	(checkout_proc): Check validity of join tags.
2322*461cc63eStholo	* update.c (update): Likewise.
2323*461cc63eStholo
2324*461cc63eStholo	* tag.c (tag_check_valid): Correct sizeof CVSROOTADM_HISTORY to
2325*461cc63eStholo	use CVSROOTADM_VALTAGS.
2326*461cc63eStholo
2327*461cc63eStholo	* lock.c (Writer_Lock): If we called lock_wait to wait for a lock,
2328*461cc63eStholo	then call lock_obtained when we get it.
2329*461cc63eStholo	(set_lock): Likewise.
2330*461cc63eStholo	(lock_obtained): New static function.
2331*461cc63eStholo
2332*461cc63eStholoThu Jun 13 13:55:38 1996  Ian Lance Taylor  <ian@cygnus.com>
2333*461cc63eStholo			  and Jim Kingdon  <kingdon@harvey.cyclic.com>
2334*461cc63eStholo
2335*461cc63eStholo	* main.c (main): If we can't read cvs root, don't say "you don't
2336*461cc63eStholo	have sufficient access"; just print the message from errno.  It
2337*461cc63eStholo	might be "No such file or directory" or something else for which
2338*461cc63eStholo	"you don't have sufficient access" doesn't make any sense.
2339*461cc63eStholo
2340*461cc63eStholoThu Jun 13 1996  Ian Lance Taylor  <ian@cygnus.com>
2341*461cc63eStholo
2342*461cc63eStholo	* commit.c (remove_file): Pass noerr as 0 to RCS_checkout.
2343*461cc63eStholo
2344*461cc63eStholoThu Jun 13 12:55:56 1996  Ian Lance Taylor  <ian@cygnus.com>
2345*461cc63eStholo
2346*461cc63eStholo	* patch.c: Initialize rev1_validated and rev2_validated to 0, not 1.
2347*461cc63eStholo
2348*461cc63eStholoThu Jun 13 12:55:56 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2349*461cc63eStholo
2350*461cc63eStholo	* rtag.c (locked_dir): Revise comments regarding locking; the rtag
2351*461cc63eStholo	and tag situations are different (changing from readlocking one
2352*461cc63eStholo	directory at a time to writelocking one directory at a time does
2353*461cc63eStholo	not do everything we might want, but it does fix simultaneous tags
2354*461cc63eStholo	and it doesn't make anything worse).
2355*461cc63eStholo
2356*461cc63eStholoThu Jun 13 1996  Ian Lance Taylor  <ian@cygnus.com>
2357*461cc63eStholo
2358*461cc63eStholo	Prevent simultaneous tag operations from interfering with each
2359*461cc63eStholo	other.
2360*461cc63eStholo	* rtag.c (rtag_proc): Pass rtag_filesdoneproc to start_recursion,
2361*461cc63eStholo	and pass readlock as 0.
2362*461cc63eStholo	(locked_dir, locked_list): New static variables.
2363*461cc63eStholo	(rtag_fileproc): Write lock the repository if it is not already
2364*461cc63eStholo	locked.
2365*461cc63eStholo	(rtag_filesdoneproc): New static function to unlock the
2366*461cc63eStholo	repository.
2367*461cc63eStholo	* tag.c (tag): Pass tag_filesdoneproc to start_recursion, and pass
2368*461cc63eStholo	readlock as 0.
2369*461cc63eStholo	(locked_dir, locked_list): New static variables.
2370*461cc63eStholo	(tag_fileproc): Write lock the repository if it is not already
2371*461cc63eStholo	locked.
2372*461cc63eStholo	(tag_filesdoneproc): New static function.
2373*461cc63eStholo
2374*461cc63eStholoThu Jun 13 11:42:25 1996  Mike Sutton <mws115@llcoolj.dayton.saic.com>
2375*461cc63eStholo
2376*461cc63eStholo	* sanity.sh: Allow digits in usernames.
2377*461cc63eStholo
2378*461cc63eStholoWed Jun 12 16:23:03 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2379*461cc63eStholo
2380*461cc63eStholo	* client.c (send_modified, update_entries): Reindent and add
2381*461cc63eStholo	comments to BROKEN_READWRITE_CONVERSION code.
2382*461cc63eStholo
2383*461cc63eStholoWed Jun 12 16:23:03 1996  Mike Ladwig  <mike@twinpeaks.prc.com>
2384*461cc63eStholo
2385*461cc63eStholo	* client.c (send_modified, update_entries): Add
2386*461cc63eStholo	BROKEN_READWRITE_CONVERSION code.
2387*461cc63eStholo
2388*461cc63eStholoMon Jun 10 20:03:16 1996  J.T. Conklin  <jtc@cygnus.com>
2389*461cc63eStholo
2390*461cc63eStholo	* rcs.c (RCS_gettag): No longer set p to NULL if rcs is also NULL.
2391*461cc63eStholo  	rcs will never be null, thanks to the assertion at top of function.
2392*461cc63eStholo
2393*461cc63eStholoMon Jun 10 16:28:14 1996  Ian Lance Taylor  <ian@cygnus.com>
2394*461cc63eStholo			  and Jim Kingdon  <kingdon@harvey.cyclic.com>
2395*461cc63eStholo
2396*461cc63eStholo	* main.c (main): Ignore CVS/Root file when doing an import.
2397*461cc63eStholo
2398*461cc63eStholoFri Jun  7 18:20:01 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2399*461cc63eStholo
2400*461cc63eStholo	* status.c (status_fileproc, tag_list_proc): Use cvs_output rather
2401*461cc63eStholo	than writing to stdout directly.
2402*461cc63eStholo
2403*461cc63eStholoWed Jun  5 13:54:57 1996  Ian Lance Taylor  <ian@cygnus.com>
2404*461cc63eStholo
2405*461cc63eStholo	* rcs.c (force_tag_match, tag, date): New static variables.
2406*461cc63eStholo	(annotate_fileproc): Redo the loop to look for the version
2407*461cc63eStholo	specified by tag/date/force_tag_match, and handle branches
2408*461cc63eStholo	correctly.
2409*461cc63eStholo	(annotate_usage): Mention -f, -r, and -D.
2410*461cc63eStholo	(annotate): Handle -f, -r, and -D.
2411*461cc63eStholo
2412*461cc63eStholoTue Jun  4 13:38:17 1996  Ian Lance Taylor  <ian@cygnus.com>
2413*461cc63eStholo
2414*461cc63eStholo	* rcs.c (annotate_fileproc): Skip unrelated branch deltas.
2415*461cc63eStholo
2416*461cc63eStholoFri Jun  7 13:04:01 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2417*461cc63eStholo
2418*461cc63eStholo	* main.c (main): Change INITIALIZE_SOCKET_SUBSYSTEM to
2419*461cc63eStholo	SYSTEM_INITIALIZE and pass it pointers to argc and argv.  Rename
2420*461cc63eStholo	CLEANUP_SOCKET_SUBSYSTEM to SYSTEM_CLEANUP.
2421*461cc63eStholo
2422*461cc63eStholoWed Jun 05 10:07:29 1996  Mike Ladwig  <mike@twinpeaks.prc.com>
2423*461cc63eStholo
2424*461cc63eStholo	* import.c (add_rcs_file): make buf char[] not unsigned char[]
2425*461cc63eStholo
2426*461cc63eStholoWed Jun 05 10:07:29 1996  Mike Ladwig  <mike@twinpeaks.prc.com>
2427*461cc63eStholo			  and Jim Kingdon  <kingdon@cyclic.com>
2428*461cc63eStholo
2429*461cc63eStholo	* main.c (main): Add CLEANUP_SOCKET_SUBSYSTEM hook at end.  Revise
2430*461cc63eStholo	comments regarding INITIALIZE_SOCKET_SUBSYSTEM.
2431*461cc63eStholo
2432*461cc63eStholoWed Jun 05 10:07:29 1996  Mike Ladwig  <mike@twinpeaks.prc.com>
2433*461cc63eStholo			  and Jim Kingdon  <kingdon@cyclic.com>
2434*461cc63eStholo
2435*461cc63eStholo	* main.c (main): Don't mess with signals if DONT_USE_SIGNALS is
2436*461cc63eStholo	defined.
2437*461cc63eStholo
2438*461cc63eStholoThu Jun  6 15:32:41 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2439*461cc63eStholo
2440*461cc63eStholo	* modules.c (cat_module): Always format for 80 columns rather than
2441*461cc63eStholo	trying to determine how wide the screen is.  The code we had for
2442*461cc63eStholo	the latter didn't cover all cases, was a portability headache, and
2443*461cc63eStholo	didn't work client/server.
2444*461cc63eStholo
2445*461cc63eStholoWed Jun 05 10:07:29 1996  Mike Ladwig  <mike@twinpeaks.prc.com>
2446*461cc63eStholo
2447*461cc63eStholo	* error.c: Don't declare strerror if it is #defined.
2448*461cc63eStholo
2449*461cc63eStholoWed Jun 05 10:07:29 1996  Mike Ladwig  <mike@twinpeaks.prc.com>
2450*461cc63eStholo			  and Jim Kingdon  <kingdon@cyclic.com>
2451*461cc63eStholo
2452*461cc63eStholo	* cvs.h: If ENUMS_CAN_BE_TROUBLE, typedef Dtype to int not an enum.
2453*461cc63eStholo
2454*461cc63eStholoWed Jun 05 10:07:29 1996  Mike Ladwig  <mike@twinpeaks.prc.com>
2455*461cc63eStholo			  and Jim Kingdon  <kingdon@cyclic.com>
2456*461cc63eStholo
2457*461cc63eStholo	* update.c (update):  If DONT_USE_PATCH, don't request patches.
2458*461cc63eStholo	Also call supported_request rather than reimplementing it.
2459*461cc63eStholo
2460*461cc63eStholoWed Jun 05 10:07:29 1996  Mike Ladwig  <mike@twinpeaks.prc.com>
2461*461cc63eStholo
2462*461cc63eStholo	* client.c (read_line): Changed an occurence of '\n' to '\012'.
2463*461cc63eStholo
2464*461cc63eStholoWed Jun  5 17:18:46 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2465*461cc63eStholo
2466*461cc63eStholo	* add.c (add_directory): Don't create the directory if noexec.
2467*461cc63eStholo	* sanity.sh (basica): New tests basica-1a10, basica-1a11 test for
2468*461cc63eStholo	above fix.
2469*461cc63eStholo	* sanity.sh (basicb): New tests basicb-2a10, basicb-2a11,
2470*461cc63eStholo	basicb-3a1 test for analogous situation with files rather than
2471*461cc63eStholo	directories.
2472*461cc63eStholo
2473*461cc63eStholoTue Jun  4 13:38:17 1996  Ian Lance Taylor  <ian@cygnus.com>
2474*461cc63eStholo
2475*461cc63eStholo	* sanity.sh: When doing a remote check, use :server: in CVSROOT.
2476*461cc63eStholo
2477*461cc63eStholoWed Jun  5 13:32:40 1996  Larry Jones  <larry.jones@sdrc.com>
2478*461cc63eStholo			  and Jim Kingdon  <kingdon@cyclic.com>
2479*461cc63eStholo
2480*461cc63eStholo	* ignore.c: Set ign_hold to -1 when not holding instead of 0 so
2481*461cc63eStholo	that holding an empty list works correctly.
2482*461cc63eStholo	* sanity.sh (ignore): New tests 190 & 191 for above fix.
2483*461cc63eStholo
2484*461cc63eStholoWed Jun 5 1996  Jim Kingdon  <kingdon@cyclic.com>
2485*461cc63eStholo
2486*461cc63eStholo	Visual C++ lint:
2487*461cc63eStholo	* client.c (update_entries): Copy the size to an unsigned variable
2488*461cc63eStholo	before comparing it with unsigned variables.
2489*461cc63eStholo	(handle_created, handle_update_existing): Prototype.
2490*461cc63eStholo
2491*461cc63eStholoTue Jun  4 10:02:44 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2492*461cc63eStholo
2493*461cc63eStholo	* client.c (responses): Add Created and Update-existing responses.
2494*461cc63eStholo	* server.c (server_updated): If they are supported, use them
2495*461cc63eStholo	instead of Updated.
2496*461cc63eStholo	* client.c (struct update_entries_data): Add existp field.
2497*461cc63eStholo	(handle_checked_in, handle_updated, handle_new_entry,
2498*461cc63eStholo	handle_merged, handle_patched): Set it.
2499*461cc63eStholo	(handle_update_existing, handle_created): New functions,
2500*461cc63eStholo	for new responses.
2501*461cc63eStholo	(update_entries): Based on existp, check for
2502*461cc63eStholo	existence/nonexistence of file.
2503*461cc63eStholo	(try_read_from_server): Expand comment.
2504*461cc63eStholo	* server.c, server.h (server_updated): New argument vers.
2505*461cc63eStholo	* checkin.c (Checkin), commit.c (commit_fileproc), update.c
2506*461cc63eStholo	(update_fileproc, merge_file, join_file): Pass it.
2507*461cc63eStholo	* cvs.h: Move include of server.h after Vers_TS declaration.
2508*461cc63eStholo	* sanity.sh (conflicts2): New tests conflicts2-142d* test for
2509*461cc63eStholo	above fix.
2510*461cc63eStholo
2511*461cc63eStholo	* sanity.sh (ignore): Fix typo in comment.
2512*461cc63eStholo
2513*461cc63eStholo	* tag.c (tag_check_valid): Add comment clarifying when val-tags
2514*461cc63eStholo	entries are created.
2515*461cc63eStholo
2516*461cc63eStholoMon Jun  3 07:26:35 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2517*461cc63eStholo
2518*461cc63eStholo	* version.c: Increment version number to 1.8.4.
2519*461cc63eStholo
2520*461cc63eStholoMon Jun  3 02:20:30 1996  Noel Cragg  <noel@gargle.rain.org>
2521*461cc63eStholo
2522*461cc63eStholo	* version.c: version 1.8.3.
2523*461cc63eStholo
2524*461cc63eStholoThu May 30 10:07:24 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2525*461cc63eStholo
2526*461cc63eStholo	* main.c (cmds): Fix typo ("bdif" -> "dif") which was accidentally
2527*461cc63eStholo	introduced 24 May 96.
2528*461cc63eStholo
2529*461cc63eStholo	* main.c (main_cleanup): Add comment stating default case will
2530*461cc63eStholo	never be reached.
2531*461cc63eStholo
2532*461cc63eStholoWed May 29 21:43:43 1996  noel  <noel@BOAT_ANCHOR>
2533*461cc63eStholo
2534*461cc63eStholo	* main.c (main_cleanup): check to see if SIGHUP, SIGINT, SIGQUIT,
2535*461cc63eStholo 	SIGPIPE, and SIGTERM are defined before using them.  Also add a
2536*461cc63eStholo 	default case to print out those errors numerically which are not
2537*461cc63eStholo 	found.
2538*461cc63eStholo
2539*461cc63eStholoWed May 29 18:43:45 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2540*461cc63eStholo
2541*461cc63eStholo	* expand_path.c (expand_path): Document LINE == 0 and allocation
2542*461cc63eStholo	of return value.
2543*461cc63eStholo	* modules.c (do_module): Pass 0, not -1, to indicate line number
2544*461cc63eStholo	not known.  Free value returned from expand_path.  Deal with NULL
2545*461cc63eStholo	return from expand_path.
2546*461cc63eStholo
2547*461cc63eStholoWed May 29 15:56:47 1996  Greg A. Woods  <woods@most.weird.com>
2548*461cc63eStholo
2549*461cc63eStholo	* modules.c (do_module): call expand_path() on the program name
2550*461cc63eStholo	specfied by one of '-o', '-t', or '-e' in the modules file before
2551*461cc63eStholo	passing it to run_setup().  This makes it possible to use $CVSROOT
2552*461cc63eStholo	(or indeed ~user or any other user-specified variable) to specify
2553*461cc63eStholo	pathnames for programs not installed in the normal execution path.
2554*461cc63eStholo
2555*461cc63eStholoSun May 26 21:57:09 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2556*461cc63eStholo
2557*461cc63eStholo	* client.c (start_server): Don't include %s in error message;
2558*461cc63eStholo	there is no argument to go with it.  Do include "internal error"
2559*461cc63eStholo	in error message since that might not be clear to the user otherwise.
2560*461cc63eStholo
2561*461cc63eStholoSun May 26 11:58:13 1996  Greg A. Woods  <woods@most.weird.com>
2562*461cc63eStholo
2563*461cc63eStholo	* root.c (set_local_cvsroot): enforce a wee bit of portability
2564*461cc63eStholo	(parse_cvsroot): same....
2565*461cc63eStholo	(DEBUG main): same, plus style guidelines
2566*461cc63eStholo	(DEBUG error): deleted -- not necessary here (use fprintf instead)
2567*461cc63eStholo
2568*461cc63eStholo	* mkmodules.c (modules_contents): updated notes about what must be
2569*461cc63eStholo	done if you change any of the options for a module.
2570*461cc63eStholo	(loginfo_contents): fixed grammar, re-pargraphed, and added 'echo
2571*461cc63eStholo	%s;' to the example.
2572*461cc63eStholo	(editinfo_contents): minor grammar fix.
2573*461cc63eStholo
2574*461cc63eStholoSun May 26 17:51:18 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2575*461cc63eStholo
2576*461cc63eStholo	* vers_ts.c (Version_TS): Remove case where we get options from
2577*461cc63eStholo	sdtp->options.  Whatever case that was intended to handle is
2578*461cc63eStholo	probably lost in the mists of time, but sdtp->options isn't set
2579*461cc63eStholo	anywhere, and I think that has been true for a long time.
2580*461cc63eStholo	* cvs.h (struct stickydirtag): remove options field.
2581*461cc63eStholo	* entries.c (freesdt): Don't free ->options.
2582*461cc63eStholo	* sanity.sh (binfiles): New tests binfiles-13a* test for above fix.
2583*461cc63eStholo
2584*461cc63eStholo	* tag.c (check_fileproc): Use fullname not file in error message.
2585*461cc63eStholo	Say "locally modified" not "up-to-date"; the file need not match
2586*461cc63eStholo	the head revision it only need match some revision.
2587*461cc63eStholo
2588*461cc63eStholoSun May 26 16:57:02 1996  Norbert Kiesel  <nk@col.sw-ley.de>
2589*461cc63eStholo
2590*461cc63eStholo	* tag.c: added support for new option -c to make sure all tagged
2591*461cc63eStholo	  files are up-to-date
2592*461cc63eStholo	  (tag): check for option and set check_uptodate
2593*461cc63eStholo	  (check_fileproc): check status of file if check_uptodate is set
2594*461cc63eStholo
2595*461cc63eStholoSat May 25 15:22:26 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2596*461cc63eStholo
2597*461cc63eStholo	* main.c (main): Revert change to look for a -H command option;
2598*461cc63eStholo	command option parsing should be up to each subcommand and the -H
2599*461cc63eStholo	global option works fine.
2600*461cc63eStholo
2601*461cc63eStholoMon May 23 1996  Ian Lance Taylor  <ian@cygnus.com>
2602*461cc63eStholo
2603*461cc63eStholo	* client.c (process_prune_candidates): Set prune_candidates to
2604*461cc63eStholo	NULL at the end of the function.
2605*461cc63eStholo
2606*461cc63eStholoMon May 23 1996  Ian Lance Taylor  <ian@cygnus.com>
2607*461cc63eStholo
2608*461cc63eStholo	* checkout.c (checkout): In code to handle multiple arguments,
2609*461cc63eStholo	pass preload_update_dir, not where, to Create_Admin.
2610*461cc63eStholo	(checkout_proc): Pass preload_update_dir, not where, to
2611*461cc63eStholo	Create_Admin.
2612*461cc63eStholo
2613*461cc63eStholoThu May 23 19:14:35 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2614*461cc63eStholo
2615*461cc63eStholo	* server.c (server_set_sticky): Assert that update_dir != NULL.
2616*461cc63eStholo	* sanity.sh (basicb): New test; tests for Ian's fix to checkout.c
2617*461cc63eStholo	above.
2618*461cc63eStholo
2619*461cc63eStholoThu May 23 1996  Ian Lance Taylor  <ian@cygnus.com>
2620*461cc63eStholo
2621*461cc63eStholo	* patch.c (patch_fileproc): Don't ignore a file just because it is
2622*461cc63eStholo	in the Attic directory.
2623*461cc63eStholo
2624*461cc63eStholoThu May 23 10:40:24 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2625*461cc63eStholo
2626*461cc63eStholo	* sanity.sh (death): New tests death-{72a,76a0,76a1} test for bug
2627*461cc63eStholo	fixed by Ian's patch_fileproc change above.
2628*461cc63eStholo
2629*461cc63eStholo	* sanity.sh (death): Remove "temporary hack" in test 89.
2630*461cc63eStholo
2631*461cc63eStholo	* rcs.c (RCS_fast_checkout): If error closing file, and workfile
2632*461cc63eStholo	is NULL, use sout in error message instead of workfile.
2633*461cc63eStholo
2634*461cc63eStholoThu May 23 1996  Ian Lance Taylor  <ian@cygnus.com>
2635*461cc63eStholo
2636*461cc63eStholo	* rcs.c (RCS_fast_checkout): Do a fast checkout in the case where
2637*461cc63eStholo	workfile is NULL and sout is a file name.
2638*461cc63eStholo
2639*461cc63eStholoWed May 22 19:06:23 1996  Mark Immel  <immel@centerline.com>
2640*461cc63eStholo
2641*461cc63eStholo	* update.c (checkout_file): New arg resurrecting_out, to provide
2642*461cc63eStholo	resurrecting flag to caller.
2643*461cc63eStholo	(join_file): New arg resurrecting.  Register with "0" if we are
2644*461cc63eStholo	the server and are resurrecting.
2645*461cc63eStholo	(update_fileproc): Pass the flag from checkout_file to join_file.
2646*461cc63eStholo
2647*461cc63eStholoWed May 22 19:06:23 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2648*461cc63eStholo
2649*461cc63eStholo	* sanity.sh (death): Test for above fix, in test 89 and new test 89a.
2650*461cc63eStholo
2651*461cc63eStholoTue May 21 09:49:04 1996  Greg A. Woods  <woods@most.weird.com>
2652*461cc63eStholo
2653*461cc63eStholo	* update.c (update_usage): oops -- fix my spelling typo.
2654*461cc63eStholo
2655*461cc63eStholoMon May 20 10:53:14 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2656*461cc63eStholo
2657*461cc63eStholo	* commit.c (find_fileproc): Call freevers_ts.
2658*461cc63eStholo
2659*461cc63eStholo	* commit.c (find_*): Keep an ignlist, like update.c and client.c do.
2660*461cc63eStholo	* commit.c (commit): Process the files from the ignlists, once we
2661*461cc63eStholo	are connected to the server.
2662*461cc63eStholo	* sanity.sh (ignore): New tests 189e and 189f test for new
2663*461cc63eStholo	commit.c behavior (and client.c behavior, which is unchanged).
2664*461cc63eStholo	* sanity.sh (conflicts): Remove dir1 and sdir in parts of the test
2665*461cc63eStholo	where we aren't prepared for "? dir1" and similar output.
2666*461cc63eStholo
2667*461cc63eStholoMon May 20 13:23:36 1996  Greg A. Woods  <woods@most.weird.com>
2668*461cc63eStholo
2669*461cc63eStholo	* main.c (cmd_usage): minor corrections to descriptions of status,
2670*461cc63eStholo	rtag, tag, and rdiff.  Sort alphabetically by command name.
2671*461cc63eStholo
2672*461cc63eStholoMon May 20 10:36:07 1996  Ian Lance Taylor  <ian@cygnus.com>
2673*461cc63eStholo
2674*461cc63eStholo	* client.c (call_in_directory): Move the call to Entries_Close
2675*461cc63eStholo	before the call to chdir, since Entries_Close examines files in
2676*461cc63eStholo	the current directory.
2677*461cc63eStholo
2678*461cc63eStholoFri May 17 12:13:09 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2679*461cc63eStholo
2680*461cc63eStholo	* client.c (start_tcp_server, start_server, start_rsh_server,
2681*461cc63eStholo	read_line, filter_through_gzip, filter_through_gunzip,
2682*461cc63eStholo	call_in_directory): Reindent as needed.
2683*461cc63eStholo
2684*461cc63eStholo	* main.c (main): Add missing #endif.  Use indentation to indicate
2685*461cc63eStholo	nesting.
2686*461cc63eStholo
2687*461cc63eStholoThu May 16 17:15:01 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2688*461cc63eStholo
2689*461cc63eStholo	* main.c (cmd_usage): Add "init" command.
2690*461cc63eStholo
2691*461cc63eStholoThu May 16 16:45:51 1996  Noel Cragg  <noel@gargle.rain.org>
2692*461cc63eStholo
2693*461cc63eStholo	* client.c (start_tcp_server): Error message modified to tell the
2694*461cc63eStholo 	user to use ":server:" instead of setting CVS_CLIENT_PORT to a
2695*461cc63eStholo 	negative number.
2696*461cc63eStholo
2697*461cc63eStholo	* main.c (main): Add #ifdefs for turning off buffering of
2698*461cc63eStholo 	stdio/stderr, so we don't get it by default.
2699*461cc63eStholo
2700*461cc63eStholoThu May 16 01:29:47 1996  noel  <noel@BOAT_ANCHOR>
2701*461cc63eStholo
2702*461cc63eStholo	* commit.c (commit_filesdoneproc): Print the repository and root
2703*461cc63eStholo 	directories as part of the error message.
2704*461cc63eStholo
2705*461cc63eStholo	* main.c (main): Don't buffer stdout or stderr.  It's inefficient,
2706*461cc63eStholo 	but it then produces the right output for sanity.sh.
2707*461cc63eStholo
2708*461cc63eStholoThu May 16 09:44:47 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2709*461cc63eStholo
2710*461cc63eStholo	* fileattr.c (fileattr_set): In the case where we are about to
2711*461cc63eStholo	call delproc, don't free ->data; delproc does that.
2712*461cc63eStholo	* sanity.sh (devcom): New tests devcom-b* test for this fix.
2713*461cc63eStholo
2714*461cc63eStholo	* sanity.sh (conflicts): Remove redundant clean up from previous
2715*461cc63eStholo	tests at the beginning of the test.  Use dotest a few more places.
2716*461cc63eStholo	(conflicts2): New test, tests for Ian's fix to Classify_File.
2717*461cc63eStholo
2718*461cc63eStholo	* client.c (remove_entry_and_file): Add comment about
2719*461cc63eStholo	existence_error's.
2720*461cc63eStholo
2721*461cc63eStholoSat May 16 1996  Ian Lance Taylor  <ian@cygnus.com>
2722*461cc63eStholo
2723*461cc63eStholo	* update.c (update_dirleave_proc): Don't try to chdir .. and check
2724*461cc63eStholo	for an empty directory if there is a slash in the directory name.
2725*461cc63eStholo
2726*461cc63eStholoThu May 16 09:02:59 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2727*461cc63eStholo
2728*461cc63eStholo	* sanity.sh (deep): New tests deep-4a* test for Ian's fix to
2729*461cc63eStholo	update_dirleave_proc.
2730*461cc63eStholo
2731*461cc63eStholoSat May 16 1996  Ian Lance Taylor  <ian@cygnus.com>
2732*461cc63eStholo
2733*461cc63eStholo	* main.c (main_cleanup): Report signal name before dying.
2734*461cc63eStholo
2735*461cc63eStholoWed May 15 23:47:59 1996  Noel Cragg  <noel@gargle.rain.org>
2736*461cc63eStholo
2737*461cc63eStholo	* main.c (usg): revert usage strings for `-H' flag change.
2738*461cc63eStholo
2739*461cc63eStholoSat May 15 1996  Ian Lance Taylor  <ian@cygnus.com>
2740*461cc63eStholo
2741*461cc63eStholo	* server.c (serve_static_directory): Return immediately if there
2742*461cc63eStholo	is a pending error.
2743*461cc63eStholo	(serve_sticky): Likewise.
2744*461cc63eStholo	(serve_modified): Read the file data even if there is a pending
2745*461cc63eStholo	error.
2746*461cc63eStholo
2747*461cc63eStholoWed May 15 14:26:32 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2748*461cc63eStholo
2749*461cc63eStholo	* main.c (main): If -d and CVS/Root both specified, after writing
2750*461cc63eStholo	the value from -d into CVS/Root, use the value from -d, not the
2751*461cc63eStholo	old value from CVS/Root.  Don't write CVS/Root with value from -d
2752*461cc63eStholo	until we have verified that it works.
2753*461cc63eStholo	* sanity.sh: Reenable test basica-9 and adjust for new behavior.
2754*461cc63eStholo
2755*461cc63eStholoTue May 14 1996  Jim Kingdon  <kingdon@cyclic.com>
2756*461cc63eStholo
2757*461cc63eStholo	* logmsg.c (do_editor): If user aborts the commit, still remove the
2758*461cc63eStholo	temporary file.
2759*461cc63eStholo
2760*461cc63eStholoTue May 14 11:45:41 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2761*461cc63eStholo
2762*461cc63eStholo	* filesubr.c, cvs.h (cvs_temp_name): New function.  Move L_tmpnam
2763*461cc63eStholo	define from cvs.h to filesubr.c.
2764*461cc63eStholo	* client.c, diff.c, import.c, login.c, logmsg.c, no_diff.c,
2765*461cc63eStholo	patch.c, wrapper.c: Call cvs_temp_name not tmpnam.
2766*461cc63eStholo	* login.c (login): Reindent function.
2767*461cc63eStholo
2768*461cc63eStholoTue May 14 10:56:56 1996  Ian Lance Taylor  <ian@cygnus.com>
2769*461cc63eStholo
2770*461cc63eStholo	* rcs.c (RCS_fast_checkout): If workfile is NULL, don't call chmod.
2771*461cc63eStholo
2772*461cc63eStholoMon May 13 10:52:10 1996  Greg A. Woods  <woods@most.weird.com>
2773*461cc63eStholo
2774*461cc63eStholo	* checkout.c (export_usage): note which options cause a sticky
2775*461cc63eStholo	version to be set, and which option avoids this.
2776*461cc63eStholo	* update.c (update_usage): likewise
2777*461cc63eStholo
2778*461cc63eStholoSat May 11 18:57:07 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2779*461cc63eStholo
2780*461cc63eStholo	* sanity.sh: Comment out test basica-9 until I get around to
2781*461cc63eStholo	actually fixing it (the -d vs. CVS/Root change broke it).
2782*461cc63eStholo
2783*461cc63eStholoFri May 10 09:39:49 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2784*461cc63eStholo
2785*461cc63eStholo	* main.c (main): -d now overrides CVS/Root.
2786*461cc63eStholo
2787*461cc63eStholoThu May  9 19:45:24 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2788*461cc63eStholo
2789*461cc63eStholo	* main.c: Remove comment listing commands at beginning.  It was
2790*461cc63eStholo	out of date and redundant with the help.
2791*461cc63eStholo
2792*461cc63eStholoThu May  9 09:33:55 1996  Greg A. Woods  <woods@most.weird.com>
2793*461cc63eStholo
2794*461cc63eStholo	* main.c: add 'init' to opening comment listing commands
2795*461cc63eStholo
2796*461cc63eStholo	* mkmodules.c (init): fix to recognize argc==-1 as hint to call
2797*461cc63eStholo	usage() [should make "cvs init -H" work as expected]
2798*461cc63eStholo
2799*461cc63eStholoWed May  8 15:02:49 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2800*461cc63eStholo
2801*461cc63eStholo	* sanity.sh: Set EXPR in the case that the expr in the path is the
2802*461cc63eStholo	one that we want.
2803*461cc63eStholo
2804*461cc63eStholoWed May  8 14:06:24 1996  Greg A. Woods  <woods@most.weird.com>
2805*461cc63eStholo
2806*461cc63eStholo	* sanity.sh (test): - convert all '[' to test ala GCD
2807*461cc63eStholo
2808*461cc63eStholoWed May  8 13:46:56 1996  Greg A. Woods  <woods@most.weird.com>
2809*461cc63eStholo
2810*461cc63eStholo	* sanity.sh (expr): - make a valiant attempt to find GNU expr
2811*461cc63eStholo	- Patch from Larry Jones:
2812*461cc63eStholo	sanity test deep-4 failed with "expr: arg list too long"
2813*461cc63eStholo	sanity test 56 failed because the stderr and stdout output was not
2814*461cc63eStholo	interleaved as expected.
2815*461cc63eStholo	sanity test modules-155a4 failed with "ls: illegal option -- 1"
2816*461cc63eStholo
2817*461cc63eStholo	* main.c (main): - Patch from Larry Jones for SysV setvbuf
2818*461cc63eStholo
2819*461cc63eStholoTue May  7 16:41:16 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2820*461cc63eStholo
2821*461cc63eStholo	* version.c: Increment version number to 1.8.2 to work around fact
2822*461cc63eStholo	that CVS 1.8 (confusingly) calls itself 1.8.1 not 1.8.
2823*461cc63eStholo
2824*461cc63eStholoTue May  7 10:44:20 MET DST 1996  Norbert Kiesel  <nk@col.sw-ley.de>
2825*461cc63eStholo
2826*461cc63eStholo	* rcs.c (rcsvers_delproc): fix memory leak by freeing author
2827*461cc63eStholo	  field.
2828*461cc63eStholo
2829*461cc63eStholoMon May  6 10:40:05 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2830*461cc63eStholo
2831*461cc63eStholo	* sanity.sh (conflicts): New test conflicts-126.5 tests for bug
2832*461cc63eStholo	which Ian fixed May 5 in update.c
2833*461cc63eStholo
2834*461cc63eStholoMon May  6 06:00:10 1996  Benjamin J. Lee  <benjamin@cyclic.com>
2835*461cc63eStholo
2836*461cc63eStholo        * Version 1.8.1
2837*461cc63eStholo
2838*461cc63eStholoSun May  5 21:39:02 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2839*461cc63eStholo
2840*461cc63eStholo	* vers_ts.c (Version_TS): If sdtp is NULL, go ahead and check
2841*461cc63eStholo	RCS_getexpand for options.  Fixes binaries and non-unix clients.
2842*461cc63eStholo	* sanity.sh: Fix binfiles-5.5 to test for the correct behavior
2843*461cc63eStholo	rather than the buggy behavior which existed when the binfiles-5.5
2844*461cc63eStholo	test was written.
2845*461cc63eStholo	(binfiles-14c,binfiles-14f): Likewise.
2846*461cc63eStholo
2847*461cc63eStholoSun May  5 17:38:21 1996  Benjamin J. Lee  <benjamin@cyclic.com>
2848*461cc63eStholo
2849*461cc63eStholo        Integrated changes submitted by Ian Taylor <ian@cygnus.com>
2850*461cc63eStholo
2851*461cc63eStholo        * update.c (update_dirent_proc): cvs co -p doesn't print
2852*461cc63eStholo        anything when run from an empty directory.
2853*461cc63eStholo
2854*461cc63eStholo        * import.c (import_descend_dir): Check for a file in the
2855*461cc63eStholo        repository which will be checked out to the same name as the
2856*461cc63eStholo        directory.
2857*461cc63eStholo
2858*461cc63eStholoSat May  4 12:33:02 1996  Ian Lance Taylor  <ian@cygnus.com>
2859*461cc63eStholo
2860*461cc63eStholo	Extract the head revision directly from the RCS file when
2861*461cc63eStholo	possible, rather than execing co.
2862*461cc63eStholo	* rcs.c (RCS_reparsercsfile): Set delta_pos field.
2863*461cc63eStholo	(getrcskey): Add lenp parameter.  Change all callers.
2864*461cc63eStholo	(RCS_fast_checkout): New function.
2865*461cc63eStholo	(annotate_fileproc): If PARTIAL is not set, just fseek to
2866*461cc63eStholo	delta_pos.
2867*461cc63eStholo	* rcs.h (struct rcsnode): Add delta_pos field.
2868*461cc63eStholo	(RCS_fast_checkout): Declare.
2869*461cc63eStholo	* diff.c (diff_file_nodiff): Call RCS_fast_checkout rather than
2870*461cc63eStholo	RCS_checkout.
2871*461cc63eStholo	* import.c (update_rcs_file): Likewise.
2872*461cc63eStholo	* no_diff.c (No_Difference): Likewise.
2873*461cc63eStholo	* patch.c (patch_fileproc): Likewise.
2874*461cc63eStholo	* update.c (checkout_file): Likewise.
2875*461cc63eStholo	(patch_file): Likewise.
2876*461cc63eStholo	(join_file): Likewise.
2877*461cc63eStholo
2878*461cc63eStholoSat May  4 12:33:02 1996  Ian Lance Taylor  <ian@cygnus.com>
2879*461cc63eStholo
2880*461cc63eStholo	* classify.c (Classify_File): Don't report a conflict for a
2881*461cc63eStholo	pending remove if somebody else has already removed the file.
2882*461cc63eStholo
2883*461cc63eStholoThu May  2 13:34:37 1996  Benjamin J. Lee  <benjamin@cyclic.com>
2884*461cc63eStholo
2885*461cc63eStholo	* Version 1.7.88
2886*461cc63eStholo
2887*461cc63eStholoThu May  2 01:40:55 1996  Benjamin J. Lee  <benjamin@cyclic.com>
2888*461cc63eStholo
2889*461cc63eStholo	* server.c (HAVE_INITGROUPS): Use initgroups() only if
2890*461cc63eStholo        located by configure, in the event a system has crypt(), but
2891*461cc63eStholo	no initgroups()
2892*461cc63eStholo
2893*461cc63eStholoWed May 01 21:08:21 1996  noel  <noel@BOAT_ANCHOR>
2894*461cc63eStholo
2895*461cc63eStholo	* client.c (filter_through_gunzip): use "gzip -d" instead of
2896*461cc63eStholo 	"gunzip," since there's no good reason (on NT at least) to have an
2897*461cc63eStholo 	extra copy of gzip.exe copied to gunzip.exe (Arrrrgh!  No symbolic
2898*461cc63eStholo 	links!).
2899*461cc63eStholo
2900*461cc63eStholo	* mkmodules.c (init): check to see that we have the correct number
2901*461cc63eStholo 	of arguments or print out the usage message (used to be argc > 1,
2902*461cc63eStholo 	should be argc != 1, because help forces argc == -1 as a special
2903*461cc63eStholo 	case).
2904*461cc63eStholo
2905*461cc63eStholoWed May  1 18:05:02 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2906*461cc63eStholo
2907*461cc63eStholo	* sanity.sh (basica): When testing rejection of reserved tag name,
2908*461cc63eStholo	use BASE instead of RESERVED.
2909*461cc63eStholo
2910*461cc63eStholoWed May  1 15:15:11 1996  Tom Jarmolowski  <tjj@booklink.com>
2911*461cc63eStholo
2912*461cc63eStholo	* rcs.c (linevector_delete): Only copy up to vec->nlines - nlines,
2913*461cc63eStholo	not to vec->nlines.
2914*461cc63eStholo
2915*461cc63eStholoWed May  1 15:43:21 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2916*461cc63eStholo
2917*461cc63eStholo	* rcscmds.c (RCS_settag): Instead of reserving all tag names
2918*461cc63eStholo	containing only uppercase letters, reserve only BASE and HEAD.
2919*461cc63eStholo	* sanity.sh (mflag): Revert 26 Mar change; use all-uppercase tag
2920*461cc63eStholo	name again.
2921*461cc63eStholo
2922*461cc63eStholoWed May  1 15:15:11 1996  Tom Jarmolowski  <tjj@booklink.com>
2923*461cc63eStholo
2924*461cc63eStholo	* rcs.c (linevector_add): Move increment of i out of larger
2925*461cc63eStholo	statement, to avoid assumptions about evaluation order.
2926*461cc63eStholo
2927*461cc63eStholoTue Apr 30 15:46:03 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
2928*461cc63eStholo
2929*461cc63eStholo	* Version 1.7.87.
2930*461cc63eStholo
2931*461cc63eStholo	* server.c (check_password): Don't use ANSI string concatenation.
2932*461cc63eStholo	Reindent function.
2933*461cc63eStholo
2934*461cc63eStholoMon Apr 29 10:48:38 1996  Noel Cragg  <noel@gargle>
2935*461cc63eStholo
2936*461cc63eStholo	* root.c (parse_cvsroot): removed "rsh" as an alias to "server" in
2937*461cc63eStholo 	the method section.
2938*461cc63eStholo
2939*461cc63eStholo	* main.c (main): new variable help so we can support the `cvs -H
2940*461cc63eStholo 	cmd' convention.  Reverts change of 26 Apr 96 which removed this
2941*461cc63eStholo 	feature.
2942*461cc63eStholo
2943*461cc63eStholoSun Apr 28 14:57:38 1996  Noel Cragg  <noel@gargle>
2944*461cc63eStholo
2945*461cc63eStholo        * main.c (main): update error message if parse_cvsroot fails.
2946*461cc63eStholo	* server.c (serve_root): same.
2947*461cc63eStholo	(serve_init): same.
2948*461cc63eStholo
2949*461cc63eStholo	* client.c (start_tcp_server): get rid of the "fall through"
2950*461cc63eStholo 	stuff, now that we have access methods.
2951*461cc63eStholo	(start_server): switch off the access method to choose routine
2952*461cc63eStholo 	that starts the server.
2953*461cc63eStholo	(start_tcp_server): tofd wasn't getting set to -1 early enough,
2954*461cc63eStholo 	because a call to error for bind or gethostbyname might fail and
2955*461cc63eStholo 	the subsequent error check to see if the connection had been made
2956*461cc63eStholo 	would fail.
2957*461cc63eStholo
2958*461cc63eStholo	* root.c: new variable method_names for error reporting purposes.
2959*461cc63eStholo
2960*461cc63eStholoSun Apr 28 17:22:15 1996  Noel Cragg  <noel@occs.cs.oberlin.edu>
2961*461cc63eStholo
2962*461cc63eStholo	* server.c: moved kerberos #includes from main.c for the
2963*461cc63eStholo        kserver_authenticate_connection routine.
2964*461cc63eStholo
2965*461cc63eStholoFri Apr 26 07:59:44 1996  Noel Cragg  <noel@gargle>
2966*461cc63eStholo
2967*461cc63eStholo	* server.c (serve_init): use the new return value from
2968*461cc63eStholo 	parse_cvsroot.
2969*461cc63eStholo	(serve_root): same.
2970*461cc63eStholo	* main.c (main): same.
2971*461cc63eStholo
2972*461cc63eStholo	* root.c (parse_cvsroot): fix indentation, add a return value
2973*461cc63eStholo 	which tells whether the command succeeded or failed.
2974*461cc63eStholo
2975*461cc63eStholo	* main.c (main): move the setting of the UMASK environment
2976*461cc63eStholo 	variable inside the stuff that gets done if the user is NOT asking
2977*461cc63eStholo 	for help, so we don't signal any errors prematurely (don't want to
2978*461cc63eStholo 	give an error because we can't parse an environment variable
2979*461cc63eStholo 	correctly if the user asks for help).  Similar mods for the code
2980*461cc63eStholo 	that tries to get the working directory.
2981*461cc63eStholo
2982*461cc63eStholo	Also make CVSADM_Root a local variable instead of a global, since
2983*461cc63eStholo 	its scope is only about 20 lines here!
2984*461cc63eStholo
2985*461cc63eStholo	* server.c (kserver_authenticate_connection): moved code from
2986*461cc63eStholo 	main.c to clean up MAIN.  Makes sense, since we already have a
2987*461cc63eStholo 	pserver_authenticate_connection.
2988*461cc63eStholo	(pserver_authenticate_connection): rename from
2989*461cc63eStholo 	authenticate_connection.
2990*461cc63eStholo
2991*461cc63eStholo	* main.c (main): reorganized the routine to eliminate variables
2992*461cc63eStholo 	help, help_commands, and version_flag.  Now the routine is much
2993*461cc63eStholo 	clearer, since we don't have to be checking to see if these
2994*461cc63eStholo 	variables are set.  One behavior that was a bug/feature which is
2995*461cc63eStholo 	now gone is an invocation like "cvs -H rtag" -- previously this
2996*461cc63eStholo 	would give usage for rtag, but now gives usage for cvs itself.
2997*461cc63eStholo  	The first behavior didn't make sense, especially since we say in
2998*461cc63eStholo 	the docs that command-line flags are position-specific.  *Reverted
2999*461cc63eStholo 	Above*
3000*461cc63eStholo
3001*461cc63eStholoThu Apr 25 20:05:10 1996  Noel Cragg  <noel@gargle>
3002*461cc63eStholo
3003*461cc63eStholo        * main.c (main): make sure we have a valid command name before we
3004*461cc63eStholo 	do anything else (moved the thing that looks for a command in CMDS
3005*461cc63eStholo 	to right after the GETOPT loop).  Added `kserver' and `pserver' to
3006*461cc63eStholo 	the table so they will be recognized; set their functions to
3007*461cc63eStholo 	SERVER so that help will be given when asked for.
3008*461cc63eStholo
3009*461cc63eStholo	* expand_path.c (expand_variable): return CVSroot_original rather
3010*461cc63eStholo 	than CVSroot_directory.
3011*461cc63eStholo
3012*461cc63eStholo	* main.c (main): save CVSroot in the env rather than
3013*461cc63eStholo 	CVSroot_original, since we might not have called PARSE_CVSROOT
3014*461cc63eStholo 	(this can happen if we use the -H option to a command).
3015*461cc63eStholo
3016*461cc63eStholo	* root.c (parse_cvsroot): the parsing method was bogus for
3017*461cc63eStholo 	guessing when we had hostnames vs. directories specified.  Any
3018*461cc63eStholo 	ambiguity should be removed by having the user specify the access
3019*461cc63eStholo 	method.  If the access method isn't specified, choose
3020*461cc63eStholo 	server_method if the string contains a colon or local_method
3021*461cc63eStholo 	otherwise.
3022*461cc63eStholo
3023*461cc63eStholo	* Changed CVSroot_remote back to client_active since the code
3024*461cc63eStholo 	reads better.
3025*461cc63eStholo
3026*461cc63eStholoWed Apr 24 17:27:53 1996  Norbert Kiesel  <nk@col.sw-ley.de>
3027*461cc63eStholo
3028*461cc63eStholo	* vers_ts.c (Version_TS): xmalloc enough space (1 more
3029*461cc63eStholo	  byte). Thanks to purify!
3030*461cc63eStholo
3031*461cc63eStholoMon Apr 22 00:38:08 1996  Noel Cragg  <noel@gargle>
3032*461cc63eStholo
3033*461cc63eStholo	* create_adm.c (Create_Admin): pass CVSroot_original instead of
3034*461cc63eStholo 	CVSroot_directory (oops!).
3035*461cc63eStholo	* update.c (update_filesdone_proc): same.
3036*461cc63eStholo
3037*461cc63eStholo	* server.c (serve_root): modify to use parse_cvsroot rather than
3038*461cc63eStholo 	goofing around with other variables.  Will need to fix
3039*461cc63eStholo 	parse_cvsroot to have a return value so we can return an error and
3040*461cc63eStholo 	quit gracefully if in server mode.
3041*461cc63eStholo	(serve_init): same.
3042*461cc63eStholo
3043*461cc63eStholo	* main.c: modify command table to remove client_* routines, since
3044*461cc63eStholo 	they no longer exist.
3045*461cc63eStholo	(main): don't try to switch off non-existent field in command
3046*461cc63eStholo 	table! ;-)
3047*461cc63eStholo
3048*461cc63eStholo        * client.h (client_*): removed prototypes for now non-existent
3049*461cc63eStholo 	functions.
3050*461cc63eStholo
3051*461cc63eStholo	* client.c: remove proto for get_cvs_password, since it is now in
3052*461cc63eStholo 	cvs.h.  Modify routines to use new globals that describe CVSROOT
3053*461cc63eStholo 	rather than client_active, server_host, server_user, and
3054*461cc63eStholo 	server_cvsroot.
3055*461cc63eStholo	(parse_cvsroot): removed function, since a more generic version
3056*461cc63eStholo 	now lives in root.c.
3057*461cc63eStholo	(connect_to_pserver): remove call to parse_cvsroot, since main.c
3058*461cc63eStholo 	has already done it for us.
3059*461cc63eStholo	(client_*): removed all of these routines, since they only call
3060*461cc63eStholo 	parse_cvsroot and then their respective operation functions.
3061*461cc63eStholo  	Since main.c has already called parse_cvsroot, we shouldn't bother
3062*461cc63eStholo 	with the extra function call, since client-server diffs are
3063*461cc63eStholo 	already handled in the core routines themselves.
3064*461cc63eStholo
3065*461cc63eStholo	* main.c: remove CVSroot as a global variable.  Remove
3066*461cc63eStholo 	use_authenticating_server variable since we have a new
3067*461cc63eStholo 	`CVSroot_method' variable instead.
3068*461cc63eStholo	(main): add `CVSroot' as a local variable.  Call parse_cvsroot
3069*461cc63eStholo 	after we're sure we have the right setting for `CVSroot.'
3070*461cc63eStholo
3071*461cc63eStholo	* login.c (login): update to use new global variables.  Instead of
3072*461cc63eStholo 	old behavior which let the user type in user@host when prompted,
3073*461cc63eStholo 	it makes them do it in CVSROOT proper.  The routine still lets the
3074*461cc63eStholo 	user type the password, however.
3075*461cc63eStholo	(get_cvs_password): make sure that CVSROOT is fully qualified
3076*461cc63eStholo 	before trying to find the entry in the .cvspass file.
3077*461cc63eStholo	* cvs.h: add prototype for get_cvs_password.
3078*461cc63eStholo
3079*461cc63eStholo	* add.c: use new globals that describe CVSROOT.
3080*461cc63eStholo	* admin.c: same.
3081*461cc63eStholo	* checkout.c: same.
3082*461cc63eStholo	* commit.c: same.
3083*461cc63eStholo	* create_adm.c: same.
3084*461cc63eStholo	* diff.c: same.
3085*461cc63eStholo	* edit.c: same.
3086*461cc63eStholo	* expand_path.c: same.
3087*461cc63eStholo	* history.c: same.
3088*461cc63eStholo	* ignore.c: same.
3089*461cc63eStholo	* import.c: same.
3090*461cc63eStholo	* log.c: same.
3091*461cc63eStholo	* mkmodules.c: same.
3092*461cc63eStholo	* modules.c: same.
3093*461cc63eStholo	* parseinfo.c: same.
3094*461cc63eStholo	* patch.c: same.
3095*461cc63eStholo	* rcs.c: same.
3096*461cc63eStholo	* recurse.c: same.
3097*461cc63eStholo	* release.c: same.
3098*461cc63eStholo	* remove.c: same.
3099*461cc63eStholo	* repos.c: same.
3100*461cc63eStholo	* rtag.c: same.
3101*461cc63eStholo	* status.c: same.
3102*461cc63eStholo	* tag.c: same.
3103*461cc63eStholo	* update.c: same.
3104*461cc63eStholo	* watch.c: same.
3105*461cc63eStholo	* wrapper.c: same.
3106*461cc63eStholo
3107*461cc63eStholo	* root.c (Name_Root): remove error message that reports missing
3108*461cc63eStholo 	CVSROOT, since new code in main.c will catch it and also print out
3109*461cc63eStholo 	an error.
3110*461cc63eStholo	(parse_cvsroot): new function -- takes a CVSROOT string and breaks
3111*461cc63eStholo 	it up into its component parts -- method, hostname, username, and
3112*461cc63eStholo 	repository directory.  Sets new global variables that describe the
3113*461cc63eStholo 	repository location more precisely: CVSroot_original,
3114*461cc63eStholo 	CVSroot_remote, CVSroot_method, CVSroot_username,
3115*461cc63eStholo 	CVSroot_hostname, CVSroot_directory for use by all other
3116*461cc63eStholo 	functions.  Checks for obvious errors in format of string.
3117*461cc63eStholo	(main): a short routine to test parse_cvsroot from the command
3118*461cc63eStholo 	line.
3119*461cc63eStholo	* cvs.h: add prototype for parse_cvsroot and extern definitions
3120*461cc63eStholo 	for new globals.
3121*461cc63eStholo
3122*461cc63eStholo	* cvs.h: removed CVSroot variable, since we don't want other
3123*461cc63eStholo 	routines using the raw CVSROOT (also helped to find all of the
3124*461cc63eStholo 	refs to the variable!).
3125*461cc63eStholo
3126*461cc63eStholoFri Apr 19 11:22:35 1996  Benjamin J. Lee  <benjamin@cyclic.com>
3127*461cc63eStholo
3128*461cc63eStholo        * Version 1.7.86
3129*461cc63eStholo
3130*461cc63eStholoThu Apr 18 1996  Jim Kingdon  <kingdon@cyclic.com>
3131*461cc63eStholo
3132*461cc63eStholo	* client.c (try_read_from_server): Compare return value from fwrite
3133*461cc63eStholo	with a size_t not an int (Visual C++ lint).
3134*461cc63eStholo
3135*461cc63eStholoWed Apr 17 11:56:32 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3136*461cc63eStholo
3137*461cc63eStholo	* client.c (try_read_from_server): New function.
3138*461cc63eStholo	(read_from_server): Use it.
3139*461cc63eStholo	(read_counted_file): New function.
3140*461cc63eStholo	* client.c, server.c: Add Template response.
3141*461cc63eStholo	* cvs.h (CVSADM_TEMPLATE): Added.
3142*461cc63eStholo	* logmsg.c (do_editor): If repository is NULL, use CVSADM_TEMPLATE
3143*461cc63eStholo	file in place of rcsinfo.
3144*461cc63eStholo	* server.c, server.h (server_template): New function.
3145*461cc63eStholo	* create_adm.c (Create_Admin): Call it.
3146*461cc63eStholo
3147*461cc63eStholoTue Apr 16 13:56:06 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3148*461cc63eStholo
3149*461cc63eStholo	* repos.c (Name_Repository): Fix comments.
3150*461cc63eStholo	* create_adm.c (Create_Admin): Fix indentation.
3151*461cc63eStholo
3152*461cc63eStholoWed Apr 10 16:46:54 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3153*461cc63eStholo
3154*461cc63eStholo	* options.h.in: Include relevant information here rather than
3155*461cc63eStholo	citing (former) FAQ.
3156*461cc63eStholo
3157*461cc63eStholo	* ChangeLog-9395: Fix typo in introductory paragraph.
3158*461cc63eStholo
3159*461cc63eStholoWed Apr 10 14:55:10 1996  code by Mike Spengler  mks@msc.edu
3160*461cc63eStholo	comments by Jim Kingdon  <kingdon@harvey.cyclic.com>
3161*461cc63eStholo
3162*461cc63eStholo	* filesubr.c (unlink_file_dir,deep_remove_dir): Don't call unlink
3163*461cc63eStholo	on something which might be a directory; check using isdir instead.
3164*461cc63eStholo
3165*461cc63eStholoWed Apr 10 14:55:10 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3166*461cc63eStholo
3167*461cc63eStholo	* checkout.c (build_dirs_and_chdir): Pass path, not cp, to
3168*461cc63eStholo	Create_Admin.  The former is the correct update dir.
3169*461cc63eStholo	* sanity.sh (modules): New tests modules-155* test, for above fix.
3170*461cc63eStholo
3171*461cc63eStholoMon Apr  8 13:53:27 1996  Samuel Tardieu  <sam@inf.enst.fr>
3172*461cc63eStholo
3173*461cc63eStholo	* rcs.c (annotate_fileproc): If the file is not under CVS control,
3174*461cc63eStholo	return instead of dumping a core. Don't bug on files with an empty
3175*461cc63eStholo	first revision.
3176*461cc63eStholo
3177*461cc63eStholoFri Mar 29 16:08:28 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3178*461cc63eStholo
3179*461cc63eStholo	* rcs.c (annotate_fileproc): If last line of add-chunk is not
3180*461cc63eStholo	newline terminated, end the loop when we find that out.
3181*461cc63eStholo
3182*461cc63eStholoFri Mar 29 16:59:34 1996  Norbert Kiesel  <nk@col.sw-ley.de>
3183*461cc63eStholo
3184*461cc63eStholo	* rcs.c (annotate_fileproc): allow last line of add-chunk not to
3185*461cc63eStholo	  be newline terminated
3186*461cc63eStholo
3187*461cc63eStholoThu Mar 28 10:56:36 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3188*461cc63eStholo
3189*461cc63eStholo	Add more diff tests:
3190*461cc63eStholo	* sanity.sh (basic2): Use dotest for test 61.
3191*461cc63eStholo	(basica): Add test basica-6.2.
3192*461cc63eStholo	(branches): Add tests branches-14.4 and branches-14.5.
3193*461cc63eStholo	(basic1): Remove tests 19, 20, 25, and 26.  The only thing this
3194*461cc63eStholo	might miss out on is diff's interaction with added and removed
3195*461cc63eStholo	files, but those tests didn't test that very well anyway.
3196*461cc63eStholo
3197*461cc63eStholo	* rcs.c (RCS_getrevtime): Add comment regarding years after 1999.
3198*461cc63eStholo
3199*461cc63eStholo	* rcs.c: Add "cvs annotate" command and related code.
3200*461cc63eStholo	(getrcskey): Move special handling of RCSDESC from here to
3201*461cc63eStholo	callers.  Handle those keys (desc, log, text) which do not
3202*461cc63eStholo	end in a semicolon.
3203*461cc63eStholo	* rcs.h (RCSVers): Add author field.
3204*461cc63eStholo	* rcs.c (RCS_reparsercsfile): Set it.
3205*461cc63eStholo	* cvs.h (annotate), main.c (cmd_usage, cmds), client.h client.c
3206*461cc63eStholo	(client_annotate), server.c (serve_annotate, requests): Usual
3207*461cc63eStholo	machinery to add a new command.
3208*461cc63eStholo	* sanity.sh (basica): Test cvs annotate.
3209*461cc63eStholo
3210*461cc63eStholo	* sanity.sh (branches): More tests, of things like adding files on
3211*461cc63eStholo	the trunk after a branch has been made.
3212*461cc63eStholo
3213*461cc63eStholoTue Mar 26 09:48:49 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3214*461cc63eStholo
3215*461cc63eStholo	* expand_path.c: Don't declare free and xmalloc; cvs.h already
3216*461cc63eStholo	takes care of that.
3217*461cc63eStholo
3218*461cc63eStholo	* sanity.sh (mflag): Don't use tag name reserved to CVS.
3219*461cc63eStholo
3220*461cc63eStholo	NT local changes plus miscellaneous things noticed in the process:
3221*461cc63eStholo	* import.c (add_rcs_file): Use binary mode to write RCS file.  Use
3222*461cc63eStholo	\012 where linefeed is intended.  Copy data a small block at a
3223*461cc63eStholo	time, until we hit EOF, rather than trying to read the whole file
3224*461cc63eStholo	into memory at once.
3225*461cc63eStholo	* client.c (send_modified): Add comments regarding st_size.
3226*461cc63eStholo	* commit.c (commit): Add comments regarding binary mode and read().
3227*461cc63eStholo	* logmsg.c (do_editor): Add comments regarding st_size.
3228*461cc63eStholo	* server.c (server_updated): Use binary mode to read file we are
3229*461cc63eStholo	sending.
3230*461cc63eStholo
3231*461cc63eStholo	* rcscmds.c (RCS_settag): Complain if user tries to add a tag name
3232*461cc63eStholo	reserved to CVS.
3233*461cc63eStholo	* sanity.sh (basica): Test for this behavior.
3234*461cc63eStholo
3235*461cc63eStholo	* sanity.sh (binfiles): New tests test ability to change keyword
3236*461cc63eStholo	expansion.
3237*461cc63eStholo
3238*461cc63eStholoMon Mar 25 1996  Jim Kingdon  <kingdon@cyclic.com>
3239*461cc63eStholo
3240*461cc63eStholo	* cvs.h, filesubr.c (expand_wild): New function.
3241*461cc63eStholo	* recurse.c (start_recursion): Call expand_wild at beginning and
3242*461cc63eStholo	free its results at the end.
3243*461cc63eStholo	* cvs.h, subr.c (xrealloc): Make argument and return value void *.
3244*461cc63eStholo	* client.h, client.c (send_file_names): Add flags argument.   If
3245*461cc63eStholo	SEND_EXPAND_WILD flag is passed, call expand_wild at beginning and
3246*461cc63eStholo	free its results at the end.
3247*461cc63eStholo	* admin.c, add.c, log.c, tag.c, status.c, edit.c, watch.c,
3248*461cc63eStholo	update.c, commit.c, remove.c, client.c, diff.c: Update callers.
3249*461cc63eStholo
3250*461cc63eStholoFri Mar 22 10:09:55 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3251*461cc63eStholo
3252*461cc63eStholo	* error.c (error, fperror): Exit with status EXIT_FAILURE rather
3253*461cc63eStholo	than STATUS.  We had been neglecting to check for 256, and the
3254*461cc63eStholo	value of providing a count of errors is probably minimal anyway.
3255*461cc63eStholo	* add.c, modules.c, mkmodules.c, tag.c, server.c, main.c,
3256*461cc63eStholo	import.c, client.c, scramble.c, recurse.c: Exit with status
3257*461cc63eStholo	EXIT_FAILURE rather than 1.  On VMS, 1 is success, not failure.
3258*461cc63eStholo	* main.c (main): Return EXIT_FAILURE or 0.  The value of providing
3259*461cc63eStholo	a count of errors is minimal.
3260*461cc63eStholo
3261*461cc63eStholo	* client.c (init_sockaddr): Exit with status 1 rather than
3262*461cc63eStholo	EXIT_FAILURE.  The latter apparently doesn't exist on SunOS4.
3263*461cc63eStholo	Reindent function.
3264*461cc63eStholo
3265*461cc63eStholoMon Mar 18 14:28:00 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3266*461cc63eStholo
3267*461cc63eStholo	* cvs.h, ignore.c: New variable ign_case.
3268*461cc63eStholo	* ignore.c (ign_name): If it is set, match in a case-insensitive
3269*461cc63eStholo	fashion.
3270*461cc63eStholo	* server.c (serve_case): New function.
3271*461cc63eStholo	(requests): Add Case request.
3272*461cc63eStholo	* client.c (start_server): If FILENAMES_CASE_INSENSITIVE is
3273*461cc63eStholo	defined, send Case request.
3274*461cc63eStholo
3275*461cc63eStholoSat Mar 16 08:20:01 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3276*461cc63eStholo
3277*461cc63eStholo	For reference, this change takes cvs's text segment from 315392
3278*461cc63eStholo	bytes to 311296 bytes (one 4096 byte page).
3279*461cc63eStholo	* cvs.h (struct file_info): Add fullname field.
3280*461cc63eStholo	* recurse.c (do_file_proc): Set it.
3281*461cc63eStholo	* commit.c (find_fileproc), client.c (send_fileproc), commit.c
3282*461cc63eStholo	(check_fileproc), diff.c (diff_fileproc), edit.c
3283*461cc63eStholo	(unedit_fileproc), patch.c (patch_fileproc), remove.c
3284*461cc63eStholo	(remove_fileproc), rtag.c (rtag_fileproc), tag.c (tag_fileproc),
3285*461cc63eStholo	update.c (update_fileproc), watch.c (watchers_fileproc): Use it
3286*461cc63eStholo	instead of computing it each time.
3287*461cc63eStholo	* diff.c (diff_fileproc), remove.c (remove_fileproc): Use fullname
3288*461cc63eStholo	where we had been (bogusly) omitting the directory from user
3289*461cc63eStholo	messages.
3290*461cc63eStholo	* edit.c (unedit_fileproc, edit_fileproc): If we cannot close
3291*461cc63eStholo	CVSADM_NOTIFY, mention CVSADM_NOTIFY rather than finfo->file in
3292*461cc63eStholo	error message.
3293*461cc63eStholo	* rtag.c (rtag_fileproc), tag.c (tag_fileproc): Reindent.
3294*461cc63eStholo
3295*461cc63eStholoFri Mar 15 15:12:11 1996  Norbert Kiesel  <nk@col.sw-ley.de>
3296*461cc63eStholo
3297*461cc63eStholo	* server.h: fix prototype of server_pause_check (was
3298*461cc63eStholo	  server_check_pause)
3299*461cc63eStholo
3300*461cc63eStholoThu Mar 14 1996  Jim Kingdon  <kingdon@cyclic.com>
3301*461cc63eStholo
3302*461cc63eStholo	* vers_ts.c (Version_TS), entries.c (Scratch_Entry, AddEntryNode):
3303*461cc63eStholo	Change findnode to findnode_fn.
3304*461cc63eStholo
3305*461cc63eStholo	* main.c: Depending on HAVE_WINSOCK_H, include winsock.h or
3306*461cc63eStholo	declare gethostname.
3307*461cc63eStholo	* cvs.h: Don't declare it here.
3308*461cc63eStholo
3309*461cc63eStholoThu Mar 14 07:06:59 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3310*461cc63eStholo
3311*461cc63eStholo	* commit.c (find_fileproc): If vn_user is NULL and ts_user is not,
3312*461cc63eStholo	print an error rather than silently succeeding.
3313*461cc63eStholo	* sanity.sh (basica-notadded): New test, for above fix.
3314*461cc63eStholo	(dotest_internal): New function.
3315*461cc63eStholo	(dotest,dotest_fail): Call it instead of duplicating code between
3316*461cc63eStholo	these two functions.
3317*461cc63eStholo
3318*461cc63eStholo	* sanity.sh: Skip tests binfiles-9 through binfiles-13 for remote.
3319*461cc63eStholo
3320*461cc63eStholo	* options.h.in: Adjust comment to reflect kfogel change.
3321*461cc63eStholo
3322*461cc63eStholoThu Mar 14 01:38:30 1996  Karl Fogel  <kfogel@floss.red-bean.com>
3323*461cc63eStholo
3324*461cc63eStholo        * options.h.in (AUTH_CLIENT_SUPPORT): turn on by default.
3325*461cc63eStholo
3326*461cc63eStholoWed Mar 13 09:25:56 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3327*461cc63eStholo
3328*461cc63eStholo	* vers_ts.c (Version_TS): Don't try to override options from rcs
3329*461cc63eStholo	file if there isn't an rcs file (e.g. called from send_fileproc).
3330*461cc63eStholo	This fixes a bug detected by test 59 in "make remotecheck".
3331*461cc63eStholo
3332*461cc63eStholo	* rcs.c (RCS_reparsercsfile, RCS_getexpand): Assert that argument
3333*461cc63eStholo	is not NULL.
3334*461cc63eStholo
3335*461cc63eStholo	Fix a gcc -Wall warning:
3336*461cc63eStholo	* rcs.c, rcs.h (RCS_getexpand): New function.
3337*461cc63eStholo	* vers_ts.c (Version_TS): Call it.
3338*461cc63eStholo	* rcs.c (RCS_reparsercsfile): Make static.
3339*461cc63eStholo
3340*461cc63eStholo	Add a "cvs init" command.  This is needed because cvsinit.sh
3341*461cc63eStholo	invoked mkmodules which doesn't exist any more.
3342*461cc63eStholo	* mkmodules.c: Break filelist out of mkmodules function, rename
3343*461cc63eStholo	struct _checkout_file to struct admin_file (for namespace
3344*461cc63eStholo	correctness), and add contents field.
3345*461cc63eStholo	(init,mkdir_if_needed): New functions.
3346*461cc63eStholo	* cvs.h (init): Declare.
3347*461cc63eStholo	* main.c (cmds): Add init.
3348*461cc63eStholo	(main): If command is init, don't require cvsroot to exist.
3349*461cc63eStholo	* client.c, client.h (client_init, send_init_command): New functions.
3350*461cc63eStholo	* client.c (start_server): Don't send Root request if command is init.
3351*461cc63eStholo	* server.c (serve_init): New function.
3352*461cc63eStholo	(requests): Add "init".
3353*461cc63eStholo
3354*461cc63eStholoWed Mar 13 09:51:03 MET 1996  Norbert Kiesel  <nk@col.sw-ley.de>
3355*461cc63eStholo
3356*461cc63eStholo	* vers_ts.c (Version_TS): set options to default option if the
3357*461cc63eStholo	  file if no -k option but -A was given.  This avoids the (wrong)
3358*461cc63eStholo	  update message for binary files which are up-to-date when
3359*461cc63eStholo	  running 'cvs -A'.
3360*461cc63eStholo
3361*461cc63eStholo	* update.c (checkout_file): remove test of -k option stored in the
3362*461cc63eStholo	  file itself because it was moved to vers_ts.c
3363*461cc63eStholo
3364*461cc63eStholo	* sanity.sh: added tests for the above fix.
3365*461cc63eStholo
3366*461cc63eStholoTue Mar 12 13:47:09 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3367*461cc63eStholo
3368*461cc63eStholo	* hash.c (findnode): Adjust comment regarding errors.
3369*461cc63eStholo
3370*461cc63eStholo	* hash.c (findnode, findnode_fn): Assert that key != NULL.  This
3371*461cc63eStholo	way the check still happens even if the function is later
3372*461cc63eStholo	rewritten to not start out by calling hashp.
3373*461cc63eStholo
3374*461cc63eStholoMon Mar 11 10:21:05 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3375*461cc63eStholo
3376*461cc63eStholo	* sanity.sh: If expr accepts multi-line patterns but is too
3377*461cc63eStholo	liberal in matching them, print a warning but keep going.
3378*461cc63eStholo
3379*461cc63eStholo	* sanity.sh: Add QUESTION variable, analogous to PLUS.  Use it
3380*461cc63eStholo	instead of \? to match a question mark.
3381*461cc63eStholo
3382*461cc63eStholo	* cvs.h (CVSMODULE_OPTS, CVSMODULE_SPEC): Move from here...
3383*461cc63eStholo	* modules.c: ...to here.  They are only used here and the code to
3384*461cc63eStholo	handle the syntax of modules files should not be scattered all over.
3385*461cc63eStholo	* modules.c (CVSMODULE_OPTS): Add "+" as first character.
3386*461cc63eStholo	* sanity.sh (modules): New tests 148a0 and 148a1 test for
3387*461cc63eStholo	above-fixed bug.
3388*461cc63eStholo
3389*461cc63eStholoMon Mar 11 13:11:04 1996  Samuel Tardieu  <sam@inf.enst.fr>
3390*461cc63eStholo
3391*461cc63eStholo	* modules.c (cat_module): set optind to 0 to force getopt() to
3392*461cc63eStholo	reinitialize its internal nextchar
3393*461cc63eStholo
3394*461cc63eStholoMon Mar 11 00:09:14 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3395*461cc63eStholo
3396*461cc63eStholo	* hash.c (findnode, findnode_fn): Revert changes of 7-8 Mar 1996.
3397*461cc63eStholo	The correct style is to assert() that key != NULL (see HACKING),
3398*461cc63eStholo	which is already done in the hashp function.
3399*461cc63eStholo	* fileattr.c (fileattr_delproc): Likewise, assert() that
3400*461cc63eStholo	node->data != NULL rather than trying to deal with it being NULL.
3401*461cc63eStholo
3402*461cc63eStholoFri Mar  8 01:31:04 1996  Greg A. Woods  <woods@most.weird.com>
3403*461cc63eStholo
3404*461cc63eStholo	* hash.c (findnode_fn): one more place to avoid calling hashp()
3405*461cc63eStholo	with a NULL key
3406*461cc63eStholo
3407*461cc63eStholoThu Mar  7 17:30:01 1996  Greg A. Woods  <woods@most.weird.com>
3408*461cc63eStholo
3409*461cc63eStholo	* hash.c (findnode): also return NULL if key is not set
3410*461cc63eStholo	[[ reported by Chris_Eich@optilink.optilink.dsccc.com, and
3411*461cc63eStholo	supposedly in a PR that should be marked "fixed"..... ]]
3412*461cc63eStholo
3413*461cc63eStholo	* fileattr.c (fileattr_set): set node->data to NULL after freeing
3414*461cc63eStholo	it to prevent subsequent accesses
3415*461cc63eStholo	(fileattr_delproc): don't free node->data if it's NULL, and set it
3416*461cc63eStholo	to NULL after freeing
3417*461cc63eStholo	[[ reported by Chris_Eich@optilink.optilink.dsccc.com, and
3418*461cc63eStholo	supposedly in a PR that should be marked "fixed"..... ]]
3419*461cc63eStholo
3420*461cc63eStholoFri Mar  1 14:56:08 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3421*461cc63eStholo
3422*461cc63eStholo	* sanity.sh (basica): New test basica-4a tests for bug fixed by
3423*461cc63eStholo	sam@inf.enst.fr on 1 Mar 96.
3424*461cc63eStholo
3425*461cc63eStholoFri Mar  1 18:10:49 1996  Samuel Tardieu  <sam@inf.enst.fr>
3426*461cc63eStholo
3427*461cc63eStholo	* tag.c (check_fileproc): Check for file existence before trying
3428*461cc63eStholo	to tag it.
3429*461cc63eStholo
3430*461cc63eStholoFri Mar  1 07:51:29 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3431*461cc63eStholo
3432*461cc63eStholo	* client.c (update_entries): If command is export, set options to
3433*461cc63eStholo	NULL.
3434*461cc63eStholo
3435*461cc63eStholoThu Feb 29 16:54:14 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3436*461cc63eStholo
3437*461cc63eStholo	* lock.c (write_lock, Reader_Lock): Remove
3438*461cc63eStholo	BOGUS_UNLESS_PROVEN_OTHERWISE code.  It was pretty bogus, and has
3439*461cc63eStholo	been ifdeffed out for a long time.
3440*461cc63eStholo	* cvs.h (CVSTFL): Removed; no longer used.
3441*461cc63eStholo
3442*461cc63eStholo	* cvsrc.c, cvs.h (read_cvsrc): Pass in command name rather than
3443*461cc63eStholo	using global variable command_name.
3444*461cc63eStholo	* main.c (command_name): Initialize to "", not "cvs" so that error
3445*461cc63eStholo	messages don't say "cvs cvs".  Update calls to read_cvsrc to pass
3446*461cc63eStholo	in command_name or "cvs" as appropriate.
3447*461cc63eStholo	* sanity.sh (basica): New test basica-9 tests for above-fixed bug.
3448*461cc63eStholo
3449*461cc63eStholo	* lock.c: Rename unlock to lock_simple_remove to avoid conflict
3450*461cc63eStholo	with builtin function on QNX.
3451*461cc63eStholo
3452*461cc63eStholoThu Feb 29 17:02:22 1996  Samuel Tardieu  <sam@inf.enst.fr>
3453*461cc63eStholo
3454*461cc63eStholo	* fileattr.c (fileattr_get): Removed NULL pointer dereference
3455*461cc63eStholo	which occurred in the absence of default attribute.
3456*461cc63eStholo
3457*461cc63eStholoThu Feb 29 07:36:57 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
3458*461cc63eStholo
3459*461cc63eStholo	* rcs.c (RCS_isbranch, RCS_whatbranch): Remove no longer used file
3460*461cc63eStholo 	argument, swap order of remaining two arguments to be like other
3461*461cc63eStholo	RCS_* functions.
3462*461cc63eStholo	(RCS_nodeisbranch): swap order of arguments to be like other RCS_*
3463*461cc63eStholo	functions.
3464*461cc63eStholo	* rcs.h (RCS_isbranch, RCS_whatbranch, RCS_nodeisbranch): Update
3465*461cc63eStholo	prototypes for above changes.
3466*461cc63eStholo	* commit.c, rtag.c, status.c, tag.c: Update for above calling
3467*461cc63eStholo 	convention changes.
3468*461cc63eStholo
3469*461cc63eStholoThu Feb 29 08:39:03 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3470*461cc63eStholo
3471*461cc63eStholo	* client.c (start_server): Revert changes which claimed to fall
3472*461cc63eStholo	back to a different way of connecting.  Add comments explaining
3473*461cc63eStholo	why.  (I don't think the changes did what they claimed, anyway).
3474*461cc63eStholo	Use indentation rather than comments to line up #if, #else, and
3475*461cc63eStholo	#endif.
3476*461cc63eStholo
3477*461cc63eStholo	* patch.c (patch, patch_fileproc): Revert change to add optional
3478*461cc63eStholo	arguments to -c and -u.  Optional arguments are evil and in
3479*461cc63eStholo	violation of the POSIX argument syntax guidelines.  The correct
3480*461cc63eStholo	way to do this is -C and -U.  Also change DIFF back to "diff" in
3481*461cc63eStholo	output (see comments).
3482*461cc63eStholo
3483*461cc63eStholo	gcc -Wall lint:
3484*461cc63eStholo	* client.c (copy_a_file): Declare p inside the #ifdef in which is
3485*461cc63eStholo	it used.
3486*461cc63eStholo	* commit.c (remove_file): Remove unused variable p.
3487*461cc63eStholo	* commit.c (checkaddfile): Remove unused variables p.
3488*461cc63eStholo	* rcs.c (RCS_isbranch): Remove unused variable p.
3489*461cc63eStholo	* rcs.c: Remove unused declarations and definitions of
3490*461cc63eStholo	parse_rcs_proc, rcsnode_delproc, rcslist, and repository.
3491*461cc63eStholo	* rtag.c (rtag_fileproc): Remove unused variable p.
3492*461cc63eStholo	* patch.c (patch_fileproc): Remove unused variable p.
3493*461cc63eStholo	* tag.c (val_fileproc): Remove unused variable node.
3494*461cc63eStholo	* client.c, import.c, lock.c, server.c: Cast pid_t to long before
3495*461cc63eStholo	passing it to %ld.
3496*461cc63eStholo
3497*461cc63eStholo	* cvs.h: Don't prototype gethostname; merely declare it (on linux,
3498*461cc63eStholo	second argument is size_t not int).
3499*461cc63eStholo
3500*461cc63eStholoThu Feb 29 10:29:25 MET 1996  Norbert Kiesel (nk)  <nk@col.sw-ley.de>
3501*461cc63eStholo
3502*461cc63eStholo	* sanity.sh: added "cat > /dev/null" to loginfo entry to avoid the
3503*461cc63eStholo	  SIGPIPE signal
3504*461cc63eStholo
3505*461cc63eStholoThu Feb 29 10:28:25 MET 1996  Norbert Kiesel (nk)  <nk@col.sw-ley.de>
3506*461cc63eStholo
3507*461cc63eStholo	* patch.c: added new variable diff_opt
3508*461cc63eStholo	(patch): allow optional parameter to -c and -u option, send it to
3509*461cc63eStholo	server
3510*461cc63eStholo	(patch_fileproc): cleaned up the code which prints the current
3511*461cc63eStholo	filename.  For "-s" option, print the pathname relative to CVSROOT
3512*461cc63eStholo	instead of just the filename.
3513*461cc63eStholo
3514*461cc63eStholo	* filesubr.c (xchmod): added cast to shut up gcc
3515*461cc63eStholo
3516*461cc63eStholo	* cvs.h: added prototype for gethostname
3517*461cc63eStholo
3518*461cc63eStholoThu Feb 29 10:27:25 MET 1996  Norbert Kiesel (nk)  <nk@col.sw-ley.de>
3519*461cc63eStholo
3520*461cc63eStholo	* lock.c (write_lock), (Reader_Lock), import.c (update_rcs_file),
3521*461cc63eStholo	  client.c (update_entries), (send_modified), server.c (server),
3522*461cc63eStholo	  (receive_file), (server_updated): use %ld for printing pid_t
3523*461cc63eStholo	  variables
3524*461cc63eStholo
3525*461cc63eStholoThu Feb 29 02:22:12 1996  Benjamin J. Lee  <benjamin@cyclic.com>
3526*461cc63eStholo
3527*461cc63eStholo	* run.c (run_exec): Added VMS return status support.
3528*461cc63eStholo
3529*461cc63eStholoThu Feb 29 01:07:43 1996  Benjamin J. Lee  <benjamin@cyclic.com>
3530*461cc63eStholo
3531*461cc63eStholo	* client.c (send_to_server): wrtn wasn't being declared under
3532*461cc63eStholo	VMS for some reason.
3533*461cc63eStholo
3534*461cc63eStholoWed Feb 28 23:27:04 1996  Benjamin J. Lee  <benjamin@cyclic.com>
3535*461cc63eStholo
3536*461cc63eStholo	* client.c: Changed #ifdef VMS && NO_SOCKET_TO_FD to
3537*461cc63eStholo	#if defined(VMS) && defined(NO_SOCKET_TO_FD)
3538*461cc63eStholo
3539*461cc63eStholoWed Feb 28 22:28:43 1996  Benjamin J. Lee  <benjamin@cyclic.com>
3540*461cc63eStholo
3541*461cc63eStholo	* build_src.com: Added DCL command procedure to build
3542*461cc63eStholo	and link CVS client for VMS.
3543*461cc63eStholo
3544*461cc63eStholoWed Feb 28 22:07:20 1996  Benjamin J. Lee  <benjamin@cyclic.com>
3545*461cc63eStholo
3546*461cc63eStholo	* client.c: VMS CVS client specific changes.
3547*461cc63eStholo
3548*461cc63eStholo	Added USE_DIRECT_TCP to allow CVS_PORT to be used to specify
3549*461cc63eStholo	a TCP connection port (no Kerberos).  Changed
3550*461cc63eStholo	start_kerberos_server() to start_tcp_server().
3551*461cc63eStholo
3552*461cc63eStholo	In copy_a_file(): transform a backup file to have a
3553*461cc63eStholo        VMS-friendly name.
3554*461cc63eStholo
3555*461cc63eStholo	Added HAVE_CONFIG_H to include "config.h".
3556*461cc63eStholo
3557*461cc63eStholo	start_server() will starts the first successful of any
3558*461cc63eStholo	mutually exclusive methods of starting the CVS server
3559*461cc63eStholo	which might be enabled.
3560*461cc63eStholo
3561*461cc63eStholo	Initialized use_socket_style and server_sock for VMS in
3562*461cc63eStholo	start_server().
3563*461cc63eStholo
3564*461cc63eStholoWed Feb 28 21:49:48 1996  Benjamin J. Lee  <benjamin@cyclic.com>
3565*461cc63eStholo
3566*461cc63eStholo	* find_names.c, recurse.c, cvs.h: Changed Find_Dirs() to
3567*461cc63eStholo	Find_Directories().
3568*461cc63eStholo	* cvs.h: Added VMS filenames enabled through USE_VMS_FILENAMES
3569*461cc63eStholo	VMS POSIX will require to use the regular CVS filenames
3570*461cc63eStholo	while VMS is #define'd.
3571*461cc63eStholo
3572*461cc63eStholoWed Feb 28 21:26:22 1996  Benjamin J. Lee  <benjamin@cyclic.com>
3573*461cc63eStholo
3574*461cc63eStholo	* ignore.c: Added the patterns *.olb *.exe _$* *$ to default
3575*461cc63eStholo	ignore list for VMS.
3576*461cc63eStholo
3577*461cc63eStholoWed Feb 28 13:32:28 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3578*461cc63eStholo
3579*461cc63eStholo	* logmsg.c (do_editor): Fix indentation.
3580*461cc63eStholo
3581*461cc63eStholoWed Feb 28 12:56:49 1996  Benjamin J. Lee  <benjamin@cyclic.com>
3582*461cc63eStholo
3583*461cc63eStholo	* logmsg.c (do_editor): If no editor is defined, exit and print
3584*461cc63eStholo	a message.
3585*461cc63eStholo
3586*461cc63eStholoWed Feb 28 10:40:25 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3587*461cc63eStholo
3588*461cc63eStholo	* vers_ts.c (time_stamp, time_stamp_server): Reindent and revise
3589*461cc63eStholo	comments.
3590*461cc63eStholo
3591*461cc63eStholoTue Feb 27 23:57:55 1996  Benjamin J. Lee  <benjamin@cyclic.com>
3592*461cc63eStholo
3593*461cc63eStholo	* vers_ts.c: gmtime() returns NULL on some systems (VMS)
3594*461cc63eStholo	revert to local time via ctime() if GMT is not avaiable.
3595*461cc63eStholo
3596*461cc63eStholoTue Feb 27 13:07:45 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
3597*461cc63eStholo
3598*461cc63eStholo	The changes listed below cause cvs to parse each rcs file (and
3599*461cc63eStholo 	free the associated rcsnode after the file has been processed)
3600*461cc63eStholo 	sequentially.  cvs used to parse all files in a directory, an
3601*461cc63eStholo	approach that does not scale to huge repositories with lots
3602*461cc63eStholo	of revisions/branches/tags/etc.
3603*461cc63eStholo
3604*461cc63eStholo	* cvs.h (struct file_info): Removed srcfiles field.  Added rcs
3605*461cc63eStholo 	(node) field.
3606*461cc63eStholo	* recurse.c (do_recursion): Removed code that pre-parsed all
3607*461cc63eStholo 	rcs files in the directory.
3608*461cc63eStholo	(do_file_proc): Parse current rcs file.
3609*461cc63eStholo	* rcs.c (RCS_parsefiles, parse_rcs_proc, RCS_addnode): Removed.
3610*461cc63eStholo	(RCS_isbranch, RCS_whatbranch): Changed srcfiles argument to
3611*461cc63eStholo	rcs (node).
3612*461cc63eStholo	* rcs.h (RCS_parsefiles, RCS_addnode): Removed prototypes.
3613*461cc63eStholo	(RCS_isbranch, RCS_whatbranch): Updated prototypes.
3614*461cc63eStholo	* add.c, admin.c, checkin.c, checkout.c, classify.c, client.c,
3615*461cc63eStholo	commit.c, diff.c, history.c, import.c, log.c, patch.c, remove.c,
3616*461cc63eStholo	rtag.c, status.c, tag.c, update.c, vers_ts: Updated for above
3617*461cc63eStholo	calling convention / data structure changes.
3618*461cc63eStholo
3619*461cc63eStholoMon Feb 26 16:07:56 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3620*461cc63eStholo
3621*461cc63eStholo	* Version 1.7.3.
3622*461cc63eStholo
3623*461cc63eStholo	* Version 1.7.2.
3624*461cc63eStholo
3625*461cc63eStholoMon Feb 26 1996  Jim Kingdon  <kingdon@cyclic.com>
3626*461cc63eStholo
3627*461cc63eStholo	* recurse.c (start_recursion): Use last_component rather than
3628*461cc63eStholo	checking for '/' directly.
3629*461cc63eStholo	(do_dir_proc): Likewise.
3630*461cc63eStholo
3631*461cc63eStholo	Visual C++ lint:
3632*461cc63eStholo	* client.c (send_to_server): Change wrtn to size_t.
3633*461cc63eStholo	(connect_to_pserver): Put tofd and fromfd declarations inside
3634*461cc63eStholo	#ifndef NO_SOCKET_TO_FD.
3635*461cc63eStholo	* scramble.c (shifts): Change from array of char to array of
3636*461cc63eStholo	unsigned char.
3637*461cc63eStholo
3638*461cc63eStholoMon Feb 26 13:31:25 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3639*461cc63eStholo
3640*461cc63eStholo	* server.c (check_repository_password): Remove unused variables
3641*461cc63eStholo	linelen, ch.
3642*461cc63eStholo
3643*461cc63eStholo	* client.c (send_file_names): Translate ISDIRSEP characters to '/'.
3644*461cc63eStholo
3645*461cc63eStholoSat Feb 24 21:25:46 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3646*461cc63eStholo
3647*461cc63eStholo	* checkout.c (safe_location): Re-indent one line.
3648*461cc63eStholo
3649*461cc63eStholoSat Feb 24 10:50:42 1996  Karl Fogel  <kfogel@floss.red-bean.com>
3650*461cc63eStholo
3651*461cc63eStholo        * checkout.c (safe_location): put assignment to hardpath[x] in an
3652*461cc63eStholo        `else'-clause, so we don't do it when x == -1.
3653*461cc63eStholo
3654*461cc63eStholoSat Feb 24 01:40:28 1996  Marcus Daniels  <marcus@sayre.sysc.pdx.edu>
3655*461cc63eStholo                          via Karl Fogel  <kfogel@floss.red-bean.com>
3656*461cc63eStholo
3657*461cc63eStholo 	* server.c (check_repository_password): Return by reference an
3658*461cc63eStholo  	  optional username, the `host_user', from the passwd file.  The
3659*461cc63eStholo  	  host_user will be the user-id under which the cvs repository is
3660*461cc63eStholo  	  run.
3661*461cc63eStholo 	  (check_repository_password): Use `read_line' instead of fgets to
3662*461cc63eStholo  	  allow for passwords larger than 32 characters, as well as the
3663*461cc63eStholo  	  optional host user argument.
3664*461cc63eStholo 	  (check_password): Modify to use host_user.
3665*461cc63eStholo 	  (authenticate_connection): Modify to use host_user.
3666*461cc63eStholo
3667*461cc63eStholoSat Feb 24 01:05:21 1996  Karl Fogel  <kfogel@floss.red-bean.com>
3668*461cc63eStholo
3669*461cc63eStholo        * scramble.c (descramble): just shift descrambled string to get
3670*461cc63eStholo        rid of tag char, instead of allocating a whole new copy.
3671*461cc63eStholo        (scramble): cast return value of xmalloc to avoid unsightly
3672*461cc63eStholo        compiler warnings.
3673*461cc63eStholo
3674*461cc63eStholo        * options.h.in (RCSBIN_DFLT): don't refer to AUTH_SERVER_SUPPORT
3675*461cc63eStholo        in comment anymore, now that it's not defined in this file.
3676*461cc63eStholo
3677*461cc63eStholoFri Feb 23 1996  Jim Kingdon  <kingdon@cyclic.com>
3678*461cc63eStholo
3679*461cc63eStholo	* client.c: Ifdef HAVE_WINSOCK_H, include winsock.h
3680*461cc63eStholo	instead of sys/socket.h and friends.
3681*461cc63eStholo	* login.c: Don't include sys/socket.h and friends.
3682*461cc63eStholo	* login.c (login): Only fclose fp in the case where it was
3683*461cc63eStholo	successfully fopen'd.
3684*461cc63eStholo	* login.c: Declare getpass.
3685*461cc63eStholo	* filesubr.c, cvs.h (get_homedir): New function.
3686*461cc63eStholo	* cvsrc.c, expand_path.c, history.c, login.c: Call it instead
3687*461cc63eStholo	of getenv ("HOME").
3688*461cc63eStholo
3689*461cc63eStholoFri Feb 23 09:23:20 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3690*461cc63eStholo
3691*461cc63eStholo	* client.c (connect_to_pserver): Remove unused variable host.
3692*461cc63eStholo	* login.c: Include getline.h.
3693*461cc63eStholo	(login): Remove unused variables i and username.
3694*461cc63eStholo	(get_cvs_password): Move free of linebuf to where it actually will
3695*461cc63eStholo	be called.  Add a "return NULL" at the end of the function to shut
3696*461cc63eStholo	up gcc -Wall.
3697*461cc63eStholo
3698*461cc63eStholo	* options.h.in: Remove AUTH_SERVER_SUPPORT.
3699*461cc63eStholo	* client.h (authenticate_connection): Declare.
3700*461cc63eStholo	* scramble.c (scramble): Cast char to unsigned char before using
3701*461cc63eStholo	it to look up in table (char might be signed).
3702*461cc63eStholo	* server.c [AUTH_SERVER_SUPPORT]: Include grp.h
3703*461cc63eStholo	(authenticate_connection): Remove unused variables len and
3704*461cc63eStholo	server_user.
3705*461cc63eStholo
3706*461cc63eStholo	* sanity.sh (basica): Add comments regarding creating a top-level
3707*461cc63eStholo	directory.
3708*461cc63eStholo	(basic1): Don't try to remove first-dir and
3709*461cc63eStholo	${CVSROOT_DIRNAME}/first-dir at start of test; tests are now
3710*461cc63eStholo	responsible for cleaning up at the end.
3711*461cc63eStholo	(PLUS,DOTSTAR,ENDANCHOR): Add comments regarding fixed GNU expr.
3712*461cc63eStholo
3713*461cc63eStholoThu Feb 22 22:34:11 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3714*461cc63eStholo
3715*461cc63eStholo	* cvs.h: Remove alloca cruft.
3716*461cc63eStholo
3717*461cc63eStholoWed Feb 21 07:30:16 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
3718*461cc63eStholo
3719*461cc63eStholo	* modules.c (do_module): call free_cwd before exiting.
3720*461cc63eStholo
3721*461cc63eStholo	* recurse.c: Removed entries global variable.
3722*461cc63eStholo	(do_recursion): Declare entries.  Moved call to Entries_Close so
3723*461cc63eStholo 	entries list is closed on all code paths.
3724*461cc63eStholo	(start_recursion): Removed call to Entries_Close, entries list has
3725*461cc63eStholo 	been moved to do_recursion only.
3726*461cc63eStholo
3727*461cc63eStholoTue Feb 20 22:10:05 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3728*461cc63eStholo
3729*461cc63eStholo	* update.c (update_dirent_proc): If dir lacks a CVS subdirectory,
3730*461cc63eStholo	don't recurse into it.
3731*461cc63eStholo	* sanity.sh (conflicts): Test for above-fixed bug.
3732*461cc63eStholo
3733*461cc63eStholo	* update.c (merge_file): Use write_letter not printf.
3734*461cc63eStholo
3735*461cc63eStholoTue Feb 20 12:34:07 EST 1996: Gary Oberbrunner <garyo@avs.com>
3736*461cc63eStholo			      and Jim Kingdon <kingdon@cyclic.com>
3737*461cc63eStholo
3738*461cc63eStholo	* history.c (history_write): Change username to char * and call
3739*461cc63eStholo	getcaller() to set it.  Setting username accidentally got deleted
3740*461cc63eStholo	8 Feb 96.
3741*461cc63eStholo	* sanity.sh: Revise test 64 to test for above-fixed bug.
3742*461cc63eStholo	* sanity.sh (PLUS): New variable, work around yet another GNU expr
3743*461cc63eStholo	bug.
3744*461cc63eStholo
3745*461cc63eStholoTue Feb 20 14:07:50 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3746*461cc63eStholo
3747*461cc63eStholo	* sanity.sh: Merge test rtags into test basic2.  They never were
3748*461cc63eStholo	capable of running separately of each other.
3749*461cc63eStholo
3750*461cc63eStholo	* sanity.sh (deep): New test, to test ability to operate in deeply
3751*461cc63eStholo	nested directories (more quickly than basic2 test did).
3752*461cc63eStholo	(basic2,rtags): Remove directories dir3 and dir4.  Remove file8,
3753*461cc63eStholo	file10, file12, file9, file11, file13, file15, file16, file17.
3754*461cc63eStholo	These additional files slowed down the tests considerably without
3755*461cc63eStholo	significantly increasing coverage.
3756*461cc63eStholo
3757*461cc63eStholo	* sanity.sh (PROG): New variable.  Use it instead of "cvs"
3758*461cc63eStholo	to match the name cvs prints out for itself.
3759*461cc63eStholo
3760*461cc63eStholoMon Feb 19 09:00:29 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3761*461cc63eStholo
3762*461cc63eStholo	This fixes a bug whereby old default attributes would get
3763*461cc63eStholo	clobbered instead of added to on "cvs watch add".
3764*461cc63eStholo	* hash.c (findnode): Don't check for key == NULL; let the
3765*461cc63eStholo	assertion in hashp take care of it.
3766*461cc63eStholo	* fileattr.h, fileattr.c (fileattr_get): If filename is NULL,
3767*461cc63eStholo	return default attributes.
3768*461cc63eStholo
3769*461cc63eStholo	* client.c (send_repository): Fix indentation.
3770*461cc63eStholo
3771*461cc63eStholoMon Feb 19 01:10:01 1996  Karl Fogel  <kfogel@floss.red-bean.com>
3772*461cc63eStholo
3773*461cc63eStholo        * login.c (login): print out full repos so user knows which server
3774*461cc63eStholo        she's logging into.
3775*461cc63eStholo
3776*461cc63eStholo        * client.c (send_repository): die if `repos' is NULL.  This is a
3777*461cc63eStholo        lame solution; see comments in code.
3778*461cc63eStholo
3779*461cc63eStholoThu Feb 15 15:04:01 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3780*461cc63eStholo
3781*461cc63eStholo	* error.c (error): Free entire and mess when done with them.
3782*461cc63eStholo
3783*461cc63eStholo	* sanity.sh (info): Correct syntax of .cvsrc file.
3784*461cc63eStholo
3785*461cc63eStholo	* cvs.h, expand_path.c, edit.c, parseinfo.c, wrapper.c:
3786*461cc63eStholo	expand_path now takes arguments containing file and line for error
3787*461cc63eStholo	message, and it prints the error message itself.
3788*461cc63eStholo	* sanity.sh (info-6a): Test printing of error message.
3789*461cc63eStholo
3790*461cc63eStholo	* expand_path.c (expand_variable): Add USER internal variable.
3791*461cc63eStholo	* sanity.sh (info): Test USER and CVSROOT internal variables too.
3792*461cc63eStholo
3793*461cc63eStholoWed Feb 14 19:11:08 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3794*461cc63eStholo
3795*461cc63eStholo	* main.c (usg): Add -s option.
3796*461cc63eStholo
3797*461cc63eStholoTue Feb 13 20:26:06 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3798*461cc63eStholo
3799*461cc63eStholo	gcc -Wall lint:
3800*461cc63eStholo	* mkmodules.c (mkmodules_usage): Remove declaration of
3801*461cc63eStholo	non-existent function.
3802*461cc63eStholo	* cvs.h (mkmodules): Declare.
3803*461cc63eStholo
3804*461cc63eStholoMon Feb 12 12:20:04 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3805*461cc63eStholo
3806*461cc63eStholo	* mkmodules.c: Rename main to mkmodules and remove various pieces
3807*461cc63eStholo	of scaffolding which it used to emulate non-existent parts of CVS.
3808*461cc63eStholo	Change calling convention to just take a char * not argc,argv.
3809*461cc63eStholo	Save and restore working directory.
3810*461cc63eStholo	* commit.c (commit_filesdoneproc): Call it if checking files into
3811*461cc63eStholo	CVSROOT.
3812*461cc63eStholo	* Makefile.in (SOURCES): Add mkmodules.c.
3813*461cc63eStholo	(OBJECTS): Add mkmodules.o.
3814*461cc63eStholo	(MSOURCES,MOBJECTS): Removed.
3815*461cc63eStholo	(COMMON_OBJECTS): Removed; move former contents into OBJECTS.
3816*461cc63eStholo	Update other rules accordingly.
3817*461cc63eStholo	* sanity.sh: Adjust to reflect nonexistence of mkmodules.
3818*461cc63eStholo
3819*461cc63eStholo	These changes introduce functions cvs_output and cvs_outerr;
3820*461cc63eStholo	eventually all server output will go through them rather than
3821*461cc63eStholo	stdio directly.
3822*461cc63eStholo	* server.c (saved_output, saved_outerr): New variables.
3823*461cc63eStholo	(do_cvs_command): Initialize them.
3824*461cc63eStholo	(buf_output): Don't require that buf->output be set; saved_* use
3825*461cc63eStholo	this to shove some data in a buffer which buf_copy_lines will
3826*461cc63eStholo	later want to get data from.
3827*461cc63eStholo	* server.c, cvs.h (cvs_output, cvs_outerr): New functions.
3828*461cc63eStholo	* mkmodules.c (cvs_outerr): New function, so error() works.
3829*461cc63eStholo	* error.c: Reindent.  Don't declare program_name and command_name;
3830*461cc63eStholo	cvs.h declares them.
3831*461cc63eStholo	(error): Use vasprintf and cvs_outerr (or fputs in the
3832*461cc63eStholo	error_use_protocol case) rather than stdio directly.
3833*461cc63eStholo	* import.c (import_descend_dir): Remove kludge which had prevented
3834*461cc63eStholo	messages from error() from being out of order with respect to
3835*461cc63eStholo	messages from printf; cvs_output and cvs_outerr are a cleaner
3836*461cc63eStholo	solution to the problem.
3837*461cc63eStholo	(add_log, import): Use cvs_output not printf.
3838*461cc63eStholo	* update.c (write_letter): Use cvs_output not printf.
3839*461cc63eStholo	(checkout_file): Use write_letter not printf.
3840*461cc63eStholo	* sanity.sh: Use dotest for test 56 (test that output is actually
3841*461cc63eStholo	correct).  In theory should test that the import.c bug is fixed,
3842*461cc63eStholo	but I was unable to reproduce the bug (it is timing dependent).
3843*461cc63eStholo
3844*461cc63eStholoMon Feb 12 16:07:45 1996  Norbert Kiesel  <nk@col.sw-ley.de>
3845*461cc63eStholo
3846*461cc63eStholo	* commit.c: define last_register_time
3847*461cc63eStholo	(commit): make sure cvs doesn't exit in the same second it wrote
3848*461cc63eStholo	the last timestamp
3849*461cc63eStholo	(commit_fileproc): set last_register_time
3850*461cc63eStholo	(finaladd): set last_register_time
3851*461cc63eStholo
3852*461cc63eStholo	* run.c, cvs.h: Changed more Popen() to run_popen()
3853*461cc63eStholo
3854*461cc63eStholoMon Feb 12 03:06:50 1996  Benjamin J. Lee  <benjamin@cyclic.com>
3855*461cc63eStholo
3856*461cc63eStholo	* release.c, rtag.c, tag.c: changed 'delete' to 'delete_flag'
3857*461cc63eStholo	to avoid symbol collision with DEC C RTL function delete()
3858*461cc63eStholo
3859*461cc63eStholoMon Feb 12 03:01:48 1996  Benjamin J. Lee  <benjamin@cyclic.com>
3860*461cc63eStholo
3861*461cc63eStholo	* mkmodules.c: changed 'void Lock_Cleanup()' to 'void static
3862*461cc63eStholo	Lock_Cleanup() to avoid conflict with more substantial
3863*461cc63eStholo	Lock_Cleanup() in lock.c
3864*461cc63eStholo
3865*461cc63eStholoMon Feb 12 02:50:19 1996  Benjamin J. Lee  <benjamin@cyclic.com>
3866*461cc63eStholo
3867*461cc63eStholo	* edit.c, logmsg.c, release.c, run.c: Changed Popen() to
3868*461cc63eStholo	run_popen().  VMS' linker is not case sensitive and considered
3869*461cc63eStholo	popen() and Popen() to be identical symbols.
3870*461cc63eStholo
3871*461cc63eStholoSun Feb 11 10:51:14 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3872*461cc63eStholo
3873*461cc63eStholo	* main.c (main) [!CLIENT_SUPPORT]: Silently ignore gzip level
3874*461cc63eStholo	rather than printing usage message.
3875*461cc63eStholo
3876*461cc63eStholo	* cvs.h, expand_path.c (variable_list): New variable.
3877*461cc63eStholo	(variable_set): New function.
3878*461cc63eStholo	* hash.h (enum ntype), hash.c (nodetypestring): Add VARIABLE.
3879*461cc63eStholo	* expand_path.c (expand_path, expand_variable): Reindent.
3880*461cc63eStholo	(expand_variable): Use user variables not environment variables
3881*461cc63eStholo	for ${=VAR} syntax.  The environment variables didn't work
3882*461cc63eStholo	client/server.
3883*461cc63eStholo	* main.c (main): Process new -s global option.
3884*461cc63eStholo	* client.c (send_variable_proc): New function.
3885*461cc63eStholo	(start_server): Call it, to send user variables.
3886*461cc63eStholo	* server.c (serve_set): New function.
3887*461cc63eStholo	(requests): Add Set request.
3888*461cc63eStholo	* sanity.sh: Revise info test to use user variables rather than
3889*461cc63eStholo	environment variables.
3890*461cc63eStholo
3891*461cc63eStholoSat Feb 10 16:55:37 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3892*461cc63eStholo
3893*461cc63eStholo	By itself this is only a small cleanup, but in the long run it
3894*461cc63eStholo	will be way cool (for reference, it takes CVS's text segment from
3895*461cc63eStholo	290816 bytes to 294912, which I expect will be made up by future
3896*461cc63eStholo	changes which this enables):
3897*461cc63eStholo	* cvs.h (struct file_info): Added.
3898*461cc63eStholo	(FILEPROC): Replace 5 args with single struct file_info *.
3899*461cc63eStholo	* recurse.c (do_file_proc): Adjust args to fileproc; passed in
3900*461cc63eStholo	instead of from globals.
3901*461cc63eStholo	(do_recursion): Call do_file_proc accordingly.  Remove srcfiles
3902*461cc63eStholo	global variable.
3903*461cc63eStholo	* update.c (update_fileproc): Renamed from update_file_proc.
3904*461cc63eStholo	* admin.c, client.c, commit.c, diff.c, edit.c, log.c, patch.c,
3905*461cc63eStholo	remove.c, rtag.c, status.c, tag.c, update.c, watch.c: Update
3906*461cc63eStholo	fileprocs to new calling convention.
3907*461cc63eStholo
3908*461cc63eStholoFri Feb  9 15:30:32 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3909*461cc63eStholo
3910*461cc63eStholo	* expand_path.c (expand_variable): Accept a variable name starting
3911*461cc63eStholo	with '=' as a way to specify an environment variable.
3912*461cc63eStholo	* sanity.sh (info): New tests, for above behavior.
3913*461cc63eStholo
3914*461cc63eStholo	* Makefile.in (clean): Also remove check.log check.plog.
3915*461cc63eStholo
3916*461cc63eStholo	* import.c (comtable): Remove SYSTEM_COMMENT_TABLE; the table
3917*461cc63eStholo	should *not* depend on what kind of machine the server happens to
3918*461cc63eStholo	be.  Add "mak", "rc", "dlg", "frm", and "bas" types which were
3919*461cc63eStholo	formerly included via SYSTEM_COMMENT_TABLE.
3920*461cc63eStholo
3921*461cc63eStholo	* cvs.h, rcs.h, add.c, checkin.c, classify.c, commit.c, diff.c,
3922*461cc63eStholo	import.c, patch.c, rcs.c, update.c, vers_ts.c: Remove
3923*461cc63eStholo	DEATH_SUPPORT ifdefs.  They were introduced to facilitate merging
3924*461cc63eStholo	between Cygnus and Berliner variants of CVS, not because it was
3925*461cc63eStholo	intended to subset CVS this way.  And they clutter up the code
3926*461cc63eStholo	quite a bit.
3927*461cc63eStholo	* cvs.h, create_adm.c, main.c, update.c: Likewise, remove
3928*461cc63eStholo	CVSADM_ROOT ifdefs (it is still a #define, of course).  I believe
3929*461cc63eStholo	they had a more-or-less similar motivation.
3930*461cc63eStholo
3931*461cc63eStholo	* sanity.sh: Move setting of HOME from ignore test to the start of
3932*461cc63eStholo	the tests so it applies to all tests.
3933*461cc63eStholo	(CVS): Remove -f; the above change takes care of it.
3934*461cc63eStholo
3935*461cc63eStholo	* rcs.h (RCS_MERGE): Removed; unused.
3936*461cc63eStholo
3937*461cc63eStholo	* commit.c (checkaddfile): Fix memory leak.
3938*461cc63eStholo
3939*461cc63eStholo	* admin.c, commit.c, diff.c, log.c, mkmodules.c: Pass -x,v/ to RCS
3940*461cc63eStholo	commands.
3941*461cc63eStholo
3942*461cc63eStholo	* rcscmds.c, cvs.h (RCS_checkin): New function.
3943*461cc63eStholo	* checkin.c, commit.c, import.c: Call it, rather than run_*.
3944*461cc63eStholo	* cvs.h, commit.c: Remove DEATH_STATE define; the behavior
3945*461cc63eStholo	which used to be the default (DEATH_STATE) is now the only one.
3946*461cc63eStholo	Failing to define DEATH_STATE has been commented as obsolete at
3947*461cc63eStholo	least since CVS 1.5.  We still can read repositories created with
3948*461cc63eStholo	such a CVS, however.
3949*461cc63eStholo	* rcs.h, rcs.c: Adjust comments regarding DEATH_STATE.
3950*461cc63eStholo	* subr.c (make_message_rcslegal): Add comment, describing
3951*461cc63eStholo	allocation of returned value.
3952*461cc63eStholo
3953*461cc63eStholoFri Feb  9 09:53:44 MET 1996  Norbert Kiesel  <nk@col.sw-ley.de>
3954*461cc63eStholo
3955*461cc63eStholo	* sanity.sh: use "${testcvs}" instead of "cvs" in devcom tests
3956*461cc63eStholo
3957*461cc63eStholo	* hash.c: fix "dereferencing a NULL pointer" bug triggered with
3958*461cc63eStholo	  "cvs watch add"
3959*461cc63eStholo	(findnode): return NULL if key == NULL
3960*461cc63eStholo	(hashp): assert (key != NULL)
3961*461cc63eStholo
3962*461cc63eStholoFri Feb  9 00:46:47 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
3963*461cc63eStholo
3964*461cc63eStholo	* rcs.c (RCS_reparsercsfile): Remove unused variable date.
3965*461cc63eStholo
3966*461cc63eStholo	* myndbm.c (mydbm_load_file): Fix typo ('015' -> '\015').
3967*461cc63eStholo
3968*461cc63eStholoThu Feb  8 13:00:00 1996  Jim Kingdon  <kingdon@peary.cyclic.com>
3969*461cc63eStholo
3970*461cc63eStholo	* rcs.c (RCS_parse, RCS_parsercsfile, RCS_reparsercsfile),
3971*461cc63eStholo	fileattr.c (fileattr_read), myndbm.c (myndbm_open):
3972*461cc63eStholo	Use FOPEN_BINARY_READ.
3973*461cc63eStholo	* fileattr.c (fileattr_write), myndbm.c (myndbm_close):
3974*461cc63eStholo	Use FOPEN_BINARY_WRITE.
3975*461cc63eStholo	* history.c (history_write, read_hrecs): Specify OPEN_BINARY.
3976*461cc63eStholo	* rcs.c: Remove calls to abort.
3977*461cc63eStholo	* myndbm.c (myndbm_load_file): Ignore CRs from ends of lines
3978*461cc63eStholo	if present.
3979*461cc63eStholo	* myndbm.c, fileattr.c: While I am at it, change \n to \012
3980*461cc63eStholo	a few places where LF is intended.
3981*461cc63eStholo	* history.c (history_write): Use getenv ("HOME"), not getpwnam,
3982*461cc63eStholo	to find home directory.  If it isn't set, just keep going; don't
3983*461cc63eStholo	print a message.
3984*461cc63eStholo	* rcscmds.c, cvs.h (RCS_checkout): New function.
3985*461cc63eStholo	* update.c, checkin.c, commit.c, diff.c, import.c, no_diff.c,
3986*461cc63eStholo	patch.c: Call it instead of run_*.
3987*461cc63eStholo	* patch.c (patch_fileproc): Clean up inconsistent handling of
3988*461cc63eStholo	noexec flag.
3989*461cc63eStholo	* rcscmds.c (RCS_*): Pass -x,v/ to RCS commands; elsewhere in
3990*461cc63eStholo	CVS it is assumed that ,v is a suffix.
3991*461cc63eStholo
3992*461cc63eStholoFri Feb  2 14:07:32 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
3993*461cc63eStholo
3994*461cc63eStholo	* rcs.h (struct rcsnode): Remove dates field (list of rcsversnodes
3995*461cc63eStholo 	indexed by date).  CVS maintained this list for each RCS file even
3996*461cc63eStholo	though it was never used.  This resulted in higher then necessary
3997*461cc63eStholo	memory requirements (and run time too).  Even if revision info was
3998*461cc63eStholo	needed, CVS' List data structure is inappropriate because can't
3999*461cc63eStholo	handle duplicate keys.  The above was discovered by tracking down
4000*461cc63eStholo	a memory leak.
4001*461cc63eStholo	* rcs.c (RCS_reparsercsfile): Don't build dates list.
4002*461cc63eStholo	(freercsnode): Don't delete dates list.
4003*461cc63eStholo	(rcsvers_delproc): Free date field.
4004*461cc63eStholo	(null_delproc): Removed.
4005*461cc63eStholo
4006*461cc63eStholoThu Feb  1 12:28:33 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
4007*461cc63eStholo
4008*461cc63eStholo	* remove.c (cvsremove): Don't tell user the name of the program
4009*461cc63eStholo	which they use to remove files; we don't have any way of knowing
4010*461cc63eStholo	that, and besides which they might use a GUI or emacs 'dired' anyway.
4011*461cc63eStholo	* update.c (update_filesdone_proc, update_dirleave_proc): Call
4012*461cc63eStholo	unlink_file_dir instead of rm -rf.
4013*461cc63eStholo	* options.h.in: Remove RM; no longer used.
4014*461cc63eStholo
4015*461cc63eStholo	* sanity.sh: New tests devcom-a* test "cvs watch add",
4016*461cc63eStholo	"cvs watch remove", and "cvs watchers".
4017*461cc63eStholo
4018*461cc63eStholo	* sanity.sh: New test 171a0 tests for watch.c bug just fixed by kfogel.
4019*461cc63eStholo
4020*461cc63eStholo	* Most .c files: Remove rcsids.
4021*461cc63eStholo	* cvs.h: Remove USE macro.
4022*461cc63eStholo
4023*461cc63eStholoThu Feb  1 13:07:15 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
4024*461cc63eStholo
4025*461cc63eStholo	* tag.c, rtag.c: Update various comments to reflect function name
4026*461cc63eStholo 	changes.
4027*461cc63eStholo
4028*461cc63eStholoThu Feb  1 14:14:31 1996  Karl Fogel  <kfogel@floss.red-bean.com>
4029*461cc63eStholo
4030*461cc63eStholo        * recurse.c (do_recursion): comment #endif.
4031*461cc63eStholo
4032*461cc63eStholo        * edit.c (notify_check): surround with #ifdef CLIENT_SUPPORT; else
4033*461cc63eStholo        CVS won't compile if CLIENT_SUPPORT is undefined.
4034*461cc63eStholo
4035*461cc63eStholo        * edit.h (notify_check): surround declaration with #ifdef
4036*461cc63eStholo        CLIENT_SUPPORT.
4037*461cc63eStholo
4038*461cc63eStholo        * watch.c (watch): if argc <= 1, then just give usage (previously
4039*461cc63eStholo        was "argc == -1").
4040*461cc63eStholo
4041*461cc63eStholoThu Feb  1 12:28:33 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
4042*461cc63eStholo
4043*461cc63eStholo	* README-rm-add: Remove information which is now in cvs.texinfo.
4044*461cc63eStholo
4045*461cc63eStholo	* sanity.sh: Remove basic0 tests.  Move a few to new tests
4046*461cc63eStholo	basica-1a* (but there is no need to test that *every* command
4047*461cc63eStholo	gracefully does nothing on an empty directory; exhaustive testing
4048*461cc63eStholo	is impractical and the generic recursion processor handles this
4049*461cc63eStholo	anyway).
4050*461cc63eStholo
4051*461cc63eStholo	* sanity.sh: New tests 69a* test use of update -p to restore old
4052*461cc63eStholo	version of dead file.
4053*461cc63eStholo
4054*461cc63eStholoWed Jan 31 18:32:34 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
4055*461cc63eStholo
4056*461cc63eStholo	* ChangeLog-9395: Remove duplicate entries from 1996 which
4057*461cc63eStholo	accidentally got into this file.
4058*461cc63eStholo
4059*461cc63eStholo	* client.c (read_line, read_from_server): Change "premature end of
4060*461cc63eStholo	file from server" message to "end of file from server (consult
4061*461cc63eStholo	above messages if any)" because 99% of the time it means rsh has
4062*461cc63eStholo	printed an error message and exited.
4063*461cc63eStholo
4064*461cc63eStholoWed Jan 31 15:09:51 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
4065*461cc63eStholo
4066*461cc63eStholo	* edit.c (ncheck_fileproc): Fix memory leak; free line before
4067*461cc63eStholo	returning.
4068*461cc63eStholo
4069*461cc63eStholoTue Jan 30 18:06:12 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
4070*461cc63eStholo
4071*461cc63eStholo	* recurse.c (do_recursion): Add comment about the fact that we
4072*461cc63eStholo	don't have locks in place at certain points.
4073*461cc63eStholo
4074*461cc63eStholoTue Jan 30 09:43:34 1996  Vince Demarco  <vdemarco@bou.shl.com>
4075*461cc63eStholo
4076*461cc63eStholo	* edit.c (notify_proc): have notify_proc call expand_path with
4077*461cc63eStholo	the name of the filter program. The user may have used a
4078*461cc63eStholo	cvs environmental variable. (Popen will expand it, but it may not
4079*461cc63eStholo	use the correct value)
4080*461cc63eStholo
4081*461cc63eStholoTue Jan 30 09:43:34 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
4082*461cc63eStholo
4083*461cc63eStholo	* ChangeLog: take the pre-1996 changes and put them in a new file
4084*461cc63eStholo	ChangeLog-9395.
4085*461cc63eStholo	* ChangeLog-9194: Renamed from ChangeLog.fsf.
4086*461cc63eStholo	* ChangeLog-9194, ChangeLog-9395, ChangeLog: Add additional text
4087*461cc63eStholo	explaining the difference between all these logs and pointing to
4088*461cc63eStholo	older logs.
4089*461cc63eStholo	* Makefile.in (DISTFILES): Add ChangeLog-9194 and ChangeLog-9395;
4090*461cc63eStholo	remove ChangeLog.fsf.
4091*461cc63eStholo
4092*461cc63eStholo	* modules.c (do_module): Don't fall through from 'l' to 'o' case
4093*461cc63eStholo	of option processing switch statement.
4094*461cc63eStholo
4095*461cc63eStholoTue Jan 30 06:50:19 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
4096*461cc63eStholo
4097*461cc63eStholo	* client.c (send_repository): Fix memory leak; free adm_name
4098*461cc63eStholo 	before returning.
4099*461cc63eStholo	* diff.c (diff_file_nodiff): Fix memory leak; free xvers before
4100*461cc63eStholo 	returning.
4101*461cc63eStholo	* rtag.c (rtag_fileproc): Fix memory leak; if branch_mode is set,
4102*461cc63eStholo 	free rev before returning.
4103*461cc63eStholo	* status.c (status_fileproc, tag_list_proc): Fix memory leak; free
4104*461cc63eStholo 	return value of RCS_whatbranch.
4105*461cc63eStholo	* tag.c (tag_fileproc): Fix memory leak; free vers before
4106*461cc63eStholo 	returning.
4107*461cc63eStholo	(val_fileproc): Fix memory leak; free return value of RCS_gettag.
4108*461cc63eStholo	* watch.c (watch_modify_watchers): Fix memory leak; free mynewattr
4109*461cc63eStholo	before returning.
4110*461cc63eStholo
4111*461cc63eStholoTue Jan 30 09:43:34 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
4112*461cc63eStholo
4113*461cc63eStholo	* lock.c (readers_exist): If stat gave an error, print an error
4114*461cc63eStholo	message saying it was from stat, rather than from "reading
4115*461cc63eStholo	directory".  Skip the message completely if it was an
4116*461cc63eStholo	existence_error.
4117*461cc63eStholo
4118*461cc63eStholo	* sanity.sh (branches): New tests (branches off of branches, etc.).
4119*461cc63eStholo
4120*461cc63eStholoTue Jan 30 11:55:34 MET 1996  Norbert Kiesel  <nk@col.sw-ley.de>
4121*461cc63eStholo
4122*461cc63eStholo	* main.c (main): Add change to run getopt_long twice again.
4123*461cc63eStholo
4124*461cc63eStholoMon Jan 29 15:59:31 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
4125*461cc63eStholo
4126*461cc63eStholo	gcc -Wall lint:
4127*461cc63eStholo	* client.c: Include edit.h
4128*461cc63eStholo
4129*461cc63eStholoSun Jan 28 09:45:53 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
4130*461cc63eStholo
4131*461cc63eStholo	* edit.c, edit.h (mark_up_to_date): New function, to remove file
4132*461cc63eStholo	in CVS/Base.
4133*461cc63eStholo	* client.c (update_entries): Call it if file is up to date.
4134*461cc63eStholo	* checkin.c (Checkin): Call it in non-server (local) case.
4135*461cc63eStholo	* sanity.sh: New test 182.5, tests for above-fixed bug.
4136*461cc63eStholo
4137*461cc63eStholoSun Jan 28 01:07:22 1996  Jim Kingdon  (kingdon@beezley)
4138*461cc63eStholo
4139*461cc63eStholo	* client.c (change_mode): Separate out CHMOD_BROKEN code to parse
4140*461cc63eStholo	mode_string, rather than going through a mode_t.  Cleaner than
4141*461cc63eStholo	the previous CHMOD_BROKEN code (which also had a typo of && not &).
4142*461cc63eStholo
4143*461cc63eStholoSat Jan 27 23:29:46 1996  Jim Kingdon  (kingdon@beezley)
4144*461cc63eStholo
4145*461cc63eStholo	* edit.c (edit_fileproc): Check for EACCESS as well as EEXIST.
4146*461cc63eStholo
4147*461cc63eStholoSat Jan 27 16:26:30 1996  Karl Fogel  (kfogel@floss.cyclic.com)
4148*461cc63eStholo
4149*461cc63eStholo        * client.c (notified_a_file): use rename_file() instead of
4150*461cc63eStholo        rename() (but temporarily set `noexec' to 0 so it runs
4151*461cc63eStholo        unconditionally).
4152*461cc63eStholo        (change_mode): deal with CHMOD_BROKEN.
4153*461cc63eStholo
4154*461cc63eStholoFri Jan 26 00:14:00 1996  Karl Fogel  <kfogel@floss.red-bean.com>
4155*461cc63eStholo
4156*461cc63eStholo        * server.c: renamed `dirname' to `dir_name', to avoid conflicts
4157*461cc63eStholo        with system headers.
4158*461cc63eStholo
4159*461cc63eStholo        * client.c: renamed `dirname' and `last_dirname' to `dir_name' and
4160*461cc63eStholo        last_dir_name' (see above).  Not strictly necessary, but
4161*461cc63eStholo        consistency is nice -- as long as you do it all the time.
4162*461cc63eStholo
4163*461cc63eStholoThu Jan 25 00:41:59 1996  Karl Fogel  <kfogel@floss.red-bean.com>
4164*461cc63eStholo
4165*461cc63eStholo        * options.h.in (AUTH_SERVER_SUPPORT, AUTH_CLIENT_SUPPORT): change
4166*461cc63eStholo        comment now that no longer under construction.
4167*461cc63eStholo
4168*461cc63eStholoWed Jan 24 15:25:22 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
4169*461cc63eStholo
4170*461cc63eStholo	* Version 1.7.1.
4171*461cc63eStholo
4172*461cc63eStholo	* Version 1.7.
4173*461cc63eStholo
4174*461cc63eStholoSat Jan 20 00:05:08 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
4175*461cc63eStholo
4176*461cc63eStholo	* Version 1.6.87.
4177*461cc63eStholo
4178*461cc63eStholoMon Jan 15 18:14:55 1996  Gary Oberbrunner  <garyo@avs.com>
4179*461cc63eStholo			  and Jim Kingdon  <kingdon@harvey.cyclic.com>
4180*461cc63eStholo
4181*461cc63eStholo	* tag.c (val_direntproc):  New function to ignore
4182*461cc63eStholo	  nonexistent dirs when recursing to check tag validity.
4183*461cc63eStholo	  (tag_check_valid): Pass it to start_recursion.
4184*461cc63eStholo	* sanity.sh (death): New tests 65a0-65a6 cause test 74 to test for
4185*461cc63eStholo	above-fixed bug.
4186*461cc63eStholo
4187*461cc63eStholoMon Jan 15 12:55:37 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
4188*461cc63eStholo
4189*461cc63eStholo	* main.c: Revert change to run getopt_long twice.  This can go in
4190*461cc63eStholo	after 1.7.
4191*461cc63eStholo
4192*461cc63eStholoMon Jan 15 13:03:28 1996  Norbert Kiesel  <nk@col.sw-ley.de>
4193*461cc63eStholo
4194*461cc63eStholo	* filesubr.c (deep_remove_dir): added test of EEXIST for nonempty
4195*461cc63eStholo	  directory (Posix states that both ENOTEMPTY (BSD) and EEXIST
4196*461cc63eStholo	  (SYSV) are valid)
4197*461cc63eStholo
4198*461cc63eStholo	* main.c (main): run getopt_long twice to allow command-line
4199*461cc63eStholo	  suppression of reading the cvsrc file
4200*461cc63eStholo
4201*461cc63eStholoFri Jan 12 10:02:43 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
4202*461cc63eStholo
4203*461cc63eStholo	* Version 1.6.86.
4204*461cc63eStholo
4205*461cc63eStholoThu Jan 11 23:28:05 1996  J.T. Conklin  <jtc@rtl.cygnus.com>
4206*461cc63eStholo			  and Jim Kingdon  <kingdon@harvey.cyclic.com>
4207*461cc63eStholo
4208*461cc63eStholo	* fileattr.h (fileattr_startdir): Add comment about REPOS == NULL.
4209*461cc63eStholo	* fileattr.c (fileattr_read, fileattr_write): Assert that
4210*461cc63eStholo	fileattr_stored_repos != NULL.
4211*461cc63eStholo	(fileattr_free): If fileattr_stored_repos is NULL, don't free it.
4212*461cc63eStholo
4213*461cc63eStholoThu Jan 11 18:03:21 1996  Karl Fogel  <kfogel@floss.red-bean.com>
4214*461cc63eStholo
4215*461cc63eStholo        * scramble.c (descramble): deal with DIAGNOSTIC better.
4216*461cc63eStholo
4217*461cc63eStholoThu Jan 11 12:04:42 1996  Norbert Kiesel  <nk@col.sw-ley.de>
4218*461cc63eStholo
4219*461cc63eStholo	* main.c: remove CVS_NOADMIN.
4220*461cc63eStholo
4221*461cc63eStholo	* options.h.in: remove CVS_NOADMIN
4222*461cc63eStholo
4223*461cc63eStholoThu Jan 11 10:28:44 1996  Karl Fogel  <kfogel@floss.red-bean.com>
4224*461cc63eStholo
4225*461cc63eStholo        * scramble.c (descramble): make sure the string returned is safe
4226*461cc63eStholo        to free().
4227*461cc63eStholo
4228*461cc63eStholoWed Jan 10 01:11:23 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
4229*461cc63eStholo
4230*461cc63eStholo	* server.c (serve_notify): Cast return value from malloc.
4231*461cc63eStholo
4232*461cc63eStholo	* edit.c (notify_do): Use struct assignment, not struct
4233*461cc63eStholo	initialization (which SunOS4 /bin/cc doesn't have).
4234*461cc63eStholo
4235*461cc63eStholoTue Jan  9 09:41:29 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
4236*461cc63eStholo
4237*461cc63eStholo	* Version 1.6.85.
4238*461cc63eStholo
4239*461cc63eStholo	We use version numbers instead of patchlevels.  But there was some
4240*461cc63eStholo	confusing patchlevel stuff lying around.  Nuke it:
4241*461cc63eStholo	* Makefile.in (HEADERS): Remove patchlevel.h
4242*461cc63eStholo	* patchlevel.h: Removed.
4243*461cc63eStholo	* main.c: Don't include patchlevel.h.
4244*461cc63eStholo	(main): Don't print patch level.
4245*461cc63eStholo
4246*461cc63eStholo	* server.c (check_repository_password): Check for errors from
4247*461cc63eStholo	system calls; reindent function.
4248*461cc63eStholo
4249*461cc63eStholoTue Jan  9 23:15:30 1996  Karl Fogel  <kfogel@floss.red-bean.com>
4250*461cc63eStholo
4251*461cc63eStholo        * expand_path.c: fix comments (explain expand_path()'s behavior
4252*461cc63eStholo        correctly).
4253*461cc63eStholo
4254*461cc63eStholoTue Jan  9 09:41:29 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
4255*461cc63eStholo
4256*461cc63eStholo	* edit.c (notify_proc): After copying in string following %s,
4257*461cc63eStholo	don't clobber it.  Instead set up q to end of string.
4258*461cc63eStholo
4259*461cc63eStholo	* watch.c (watch_modify_watchers), edit.c (editor_set): Fix sense
4260*461cc63eStholo	of test in trying to decide whether attributes are changed.
4261*461cc63eStholo
4262*461cc63eStholo	* cvs.h (CVSROOTADM_USERS): New macro.
4263*461cc63eStholo	* edit.c (notify_do): Look up notifyee in CVSROOTADM_USERS if it
4264*461cc63eStholo	exists.
4265*461cc63eStholo
4266*461cc63eStholoTue Jan  9 21:39:45 1996  Karl Fogel  <kfogel@floss.red-bean.com>
4267*461cc63eStholo
4268*461cc63eStholo        * expand_path.c: don't redundantly #include things that cvs.h
4269*461cc63eStholo        already #includes (i.e., stdio.h, ctype.h, string[s].h).
4270*461cc63eStholo
4271*461cc63eStholoTue Jan  9 09:41:29 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
4272*461cc63eStholo
4273*461cc63eStholo	* ignore.c (ign_default): Add *.obj.
4274*461cc63eStholo
4275*461cc63eStholo	* server.c: Put /* */ around #endif comment.
4276*461cc63eStholo
4277*461cc63eStholoMon Jan  8 20:37:17 1996  Karl Fogel  <kfogel@floss.red-bean.com>
4278*461cc63eStholo
4279*461cc63eStholo        * client.c (connect_to_pserver): check return value of recv().
4280*461cc63eStholo
4281*461cc63eStholoMon Jan  8 11:37:57 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
4282*461cc63eStholo
4283*461cc63eStholo	* client.c (connect_to_pserver): Check for error from connect;
4284*461cc63eStholo	reindent function.
4285*461cc63eStholo
4286*461cc63eStholo	* sanity.sh (4.75): Use dotest, so we get a PASS if test passes.
4287*461cc63eStholo
4288*461cc63eStholo	* sanity.sh (dotest): New argument OUTPUT2.
4289*461cc63eStholo	(188a): Use it instead of \|.
4290*461cc63eStholo
4291*461cc63eStholo	* sanity.sh (import): Avoid using string $ followed by Id followed
4292*461cc63eStholo	by $ in sanity.sh source, in case sanity.sh itself is under CVS.
4293*461cc63eStholo	I hate keyword expansion.
4294*461cc63eStholo
4295*461cc63eStholo	* sanity.sh: If expr cannot handle multiline expressions, fail and
4296*461cc63eStholo	tell the user to get one which can.
4297*461cc63eStholo
4298*461cc63eStholo	* release.c (release_delete): Remove unused variable retcode.
4299*461cc63eStholo
4300*461cc63eStholoFri Jan  5 13:30:00 1996  Jim Kingdon   <kingdon@peary.cyclic.com>
4301*461cc63eStholo
4302*461cc63eStholo	* release.c (release_delete): Call unlink_file_dir rather
4303*461cc63eStholo	than "rm -rf".
4304*461cc63eStholo
4305*461cc63eStholoThu Jan  4 09:58:30 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
4306*461cc63eStholo
4307*461cc63eStholo	* commit.c (find_fileproc): Print "nothing known about foo" and
4308*461cc63eStholo	return 1 if the file doesn't exist and isn't in CVS/Entries.
4309*461cc63eStholo	(commit): If the recursion over find_fileproc returns an error,
4310*461cc63eStholo	print "correct above errors first!" just like local CVS.
4311*461cc63eStholo	* sanity.sh (basica): Test for above-fixed bug.
4312*461cc63eStholo
4313*461cc63eStholo	* release.c (release): If we are the client, only unedit if the
4314*461cc63eStholo	server supports it.
4315*461cc63eStholo
4316*461cc63eStholo	* sanity.sh: Remove STARTANCHOR stuff; expr patterns are
4317*461cc63eStholo	automatically anchored to the start.  ENDANCHOR remains.
4318*461cc63eStholo
4319*461cc63eStholo	* commit.c (commit): Don't start the server until we have
4320*461cc63eStholo	determined that there is something to commit.
4321*461cc63eStholo
4322*461cc63eStholoThu Jan  4 09:48:33 1996  Ben Laurie  <ben@gonzo.ben.algroup.co.uk>
4323*461cc63eStholo			  and Jim Kingdon  <kingdon@harvey.cyclic.com>
4324*461cc63eStholo
4325*461cc63eStholo	* client.c (start_server): dup the file descriptor before
4326*461cc63eStholo	fdopening it.
4327*461cc63eStholo
4328*461cc63eStholoWed Jan  3 18:25:25 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
4329*461cc63eStholo
4330*461cc63eStholo	* sanity.sh: Remove tests 5, 5.5, and 5.75.  All that stuff is
4331*461cc63eStholo	tested elsewhere.
4332*461cc63eStholo
4333*461cc63eStholo	* ignore.c (ign_default): Change CVS* to CVS CVS.adm.  CVS* is too
4334*461cc63eStholo	broad, especially in a case-insensitive filesystem.
4335*461cc63eStholo
4336*461cc63eStholo	* Makefile.in (cvsbug): version.c is in srcdir.
4337*461cc63eStholo
4338*461cc63eStholoWed Jan  3 17:30:45 1996  Phi-Long Tran  <ptran@autodesk.com>
4339*461cc63eStholo
4340*461cc63eStholo	* modules.c (do_module): Honor error_use_protocol in printing trace.
4341*461cc63eStholo	* server.c (server_register): Move check for options NULL to above
4342*461cc63eStholo	printing of the trace.
4343*461cc63eStholo
4344*461cc63eStholoWed Jan  3 01:19:53 1996  Mark Immel <immel@centerline.com>
4345*461cc63eStholo			  and Jim Kingdon  <kingdon@harvey.cyclic.com>
4346*461cc63eStholo
4347*461cc63eStholo	* update.c (checkout_file): Do not resurrect file on join if it
4348*461cc63eStholo	doesn't contain the revisions we are joining.  Probably not a
4349*461cc63eStholo	perfect test, but should be an improvement.
4350*461cc63eStholo	* sanity.sh (death): New death-file4-* tests, for bug fixed above.
4351*461cc63eStholo
4352*461cc63eStholoWed Jan  3 01:19:53 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
4353*461cc63eStholo
4354*461cc63eStholo	* add.c, admin.c, checkout.c, client.c, commit.c, diff.c, edit.c,
4355*461cc63eStholo	history.c, import.c, log.c, patch.c, release.c, remove.c, rtag.c,
4356*461cc63eStholo	status.c, tag.c, update.c, watch.c: In calling send_to_server,
4357*461cc63eStholo	pass \012 not \n.  On the Mac \n is CR, not LF, and we want to
4358*461cc63eStholo	send LF.  I didn't try to deal with whether files in CVSADM should
4359*461cc63eStholo	contain CR or LF--in fact there is some code in client.c which
4360*461cc63eStholo	reads \n from CVSADM files and passes it to send_to_server; it
4361*461cc63eStholo	needs to be cleaned up one way or the other.
4362*461cc63eStholo
4363*461cc63eStholo	* entries.c (Entries_Open): Don't try to close fpin twice.
4364*461cc63eStholo
4365*461cc63eStholo	* client.c (update_entries): Fix typo ("strlen (filename + 10)"
4366*461cc63eStholo	-> "strlen (filename) + 10").
4367*461cc63eStholo
4368*461cc63eStholo	* commit.c (checkaddfile): Remove arbitrary limit.
4369*461cc63eStholo
4370*461cc63eStholoTue Jan  2 11:25:22 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
4371*461cc63eStholo
4372*461cc63eStholo	* commit.c (commit): Only pass files which were modified, added,
4373*461cc63eStholo	or removed to send_file_names.  This has as a side effect a
4374*461cc63eStholo	semantic change--the up-to-date check is now skipped for other
4375*461cc63eStholo	files--but probably a good one, or at least not a bad one.
4376*461cc63eStholo	* sanity.sh (basica): New test; tests for bug fixed above.
4377*461cc63eStholo	* sanity.sh (187a3): Adjust for new 'cvs commit' output.  Set up
4378*461cc63eStholo	DOTSTAR to match arbitrary text (another GNU expr bug/misfeature,
4379*461cc63eStholo	sigh).
4380*461cc63eStholo
4381*461cc63eStholo	* sanity.sh: Test that the commit in test 43 actually worked.
4382*461cc63eStholo	Merge tests basic2 and basic3 and make them independent of basic1.
4383*461cc63eStholo	(pass,fail): Don't insert spurious space.
4384*461cc63eStholo	(45.5): Fix typo in directory name.
4385*461cc63eStholo
4386*461cc63eStholoTue Jan  2 13:00:00 1996  Jim Kingdon  <kingdon@peary.cyclic.com>
4387*461cc63eStholo
4388*461cc63eStholo	Visual C++ lint:
4389*461cc63eStholo	* myndbm.c: Prototype write_item.
4390*461cc63eStholo
4391*461cc63eStholoTue Jan  2 11:25:22 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
4392*461cc63eStholo
4393*461cc63eStholo	gcc -Wall lint:
4394*461cc63eStholo	* client.c (client_expand_modules): Pass error message not "" to error.
4395*461cc63eStholo	* client.c (supported_request), server.c (supported_response):
4396*461cc63eStholo	Return a value (gcc -Wall can't know that error doesn't return).
4397*461cc63eStholo	* commit.c (copy_ulist): Return a value.
4398*461cc63eStholo	* history.c (fill_hrec): Don't make assumptions about whether
4399*461cc63eStholo	time_t is "int" or "long" or what.
4400*461cc63eStholo	* cvs.h: Declare link_file.
4401*461cc63eStholo	* server.c: Include fileattr.h.
4402*461cc63eStholo	* server.c (server_notify): Remove unused variable val.
4403*461cc63eStholo	* tag.c (val_fileproc): Remove unused variable foundtag.
4404*461cc63eStholo
4405*461cc63eStholoMon Jan  1 09:49:16 1996  Jim Kingdon  <kingdon@harvey.cyclic.com>
4406*461cc63eStholo
4407*461cc63eStholo	* Version 1.6.5.
4408*461cc63eStholo
4409*461cc63eStholo	* Version 1.6.4.
4410*461cc63eStholo
4411*461cc63eStholo	* filesubr.c (link_file): Add comment about link vs. copy semantics.
4412*461cc63eStholo
4413*461cc63eStholo	* cvs.h (struct vers_ts): Fix comments.
4414*461cc63eStholo	* commit.c (commit): Before we ask for a log message, figure out
4415*461cc63eStholo	what is modified and what is not and pass the information to
4416*461cc63eStholo	do_editor.
4417*461cc63eStholo	(copy_ulist,find_fileproc): New helper functions for above code.
4418*461cc63eStholo
4419*461cc63eStholo	* client.c (read_line): When writing to from_server_logfile, write
4420*461cc63eStholo	the \n too.
4421*461cc63eStholo
4422*461cc63eStholo	* client.c (send_files): No longer call send_file_names.
4423*461cc63eStholo	* client.h: Update comment.
4424*461cc63eStholo	* add.c, admin.c, commit.c, diff.c, edit.c, log.c, remove.c,
4425*461cc63eStholo	status.c, tag.c, update.c, watch.c: Call send_file_names before
4426*461cc63eStholo	send_files.
4427*461cc63eStholo	* client.c: New variables module_argc, module_argv.
4428*461cc63eStholo	(client_expand_modules): Set them, to arguments.
4429*461cc63eStholo	(client_send_expansions): Use them instead of modules_vector to
4430*461cc63eStholo	send arguments.
4431*461cc63eStholo	* sanity.sh (modules): Add test of modules -d flag.
4432*461cc63eStholo
4433*461cc63eStholo
4434*461cc63eStholoFor older changes see ChangeLog-9395.
4435