xref: /openbsd/gnu/usr.bin/cvs/src/ChangeLog (revision 43c1707e)
1*43c1707eStholo2001-04-27  Larry Jones  <larry.jones@sdrc.com>
2*43c1707eStholo
3*43c1707eStholo	* main.c (lookup_command_attribute): Lookup specified command, not
4*43c1707eStholo	whatever's in the global command_name.
5*43c1707eStholo
6*43c1707eStholo2001-04-25  Derek Price  <dprice@collab.net>
7*43c1707eStholo
8*43c1707eStholo	* Makefile.in: Regenerated using AM 1.4e as of today at 18:10 -0400.
9*43c1707eStholo	* version.c: Regenerated.
10*43c1707eStholo
11*43c1707eStholo2001-04-22  Larry Jones  <larry.jones@sdrc.com>
12*43c1707eStholo
13*43c1707eStholo	* tag.c (tag_check_valid): Make an unwritable val-tags file a
14*43c1707eStholo	warning instead of a fatal error.
15*43c1707eStholo
16*43c1707eStholo2001-04-20  Larry Jones  <larry.jones@sdrc.com>
17*43c1707eStholo
18*43c1707eStholo	* annotate.c (annotate_usage): -r and -D are not mutually exclusive.
19*43c1707eStholo	* main.c (cmd_usage): Add missing version subcommand.
20*43c1707eStholo	* update.c (update_usage): Add missing -C option.
21*43c1707eStholo
22*43c1707eStholo	* sanity.sh (death2): New tests for previous change.
23*43c1707eStholo
24*43c1707eStholo	* classify.c (Classify_File): Treat a dead revision like the RCS
25*43c1707eStholo	file doesn't exist.
26*43c1707eStholo	* sanity.sh: Update to match.
27*43c1707eStholo
28*43c1707eStholo2001-04-16  Larry Jones  <larry.jones@sdrc.com>
29*43c1707eStholo
30*43c1707eStholo	* checkout.c, update.c: Fix usage messages: -r and -D are not
31*43c1707eStholo	mutually exclusive.
32*43c1707eStholo	(Suggested by David L. Martin <dlmart2@home.com>.)
33*43c1707eStholo
34*43c1707eStholo	* logmsg.c (do_editor): Don't add a blank line to the message.
35*43c1707eStholo	* sanity.sh (editor-log-file*): Update to match.
36*43c1707eStholo
37*43c1707eStholo	* checkout.c, update.c: Note in usage message that -k is sticky.
38*43c1707eStholo
39*43c1707eStholo	* server.c: (server_cleanup, wait_sig): Remove ancient SunOS kludge.
40*43c1707eStholo	(Suggested by Rob Saccoccio <robs@chelsea.net>.)
41*43c1707eStholo
42*43c1707eStholo2001-04-04  Larry Jones  <larry.jones@sdrc.com>
43*43c1707eStholo
44*43c1707eStholo	* sanity.sh (dotest, dotest_lit, dotest_fail, dotest_status,
45*43c1707eStholo	dotest_sort): Don't count on $? being set in then or else clauses.
46*43c1707eStholo
47*43c1707eStholo	* ignore.c (ignore_files): Collect unignored files into a list and
48*43c1707eStholo	sort it before calling PROC to avoid order dependencies.  Rewrite
49*43c1707eStholo	the while loop to allow normal continues instead of goto.
50*43c1707eStholo
51*43c1707eStholo2001-04-04  Derek Price  <dprice@collab.net>
52*43c1707eStholo
53*43c1707eStholo	* sanity.sh (ignore-on-branch-3): Fix in the remote case.
54*43c1707eStholo
55*43c1707eStholo2001-04-03  Larry Jones  <larry.jones@sdrc.com>
56*43c1707eStholo
57*43c1707eStholo	* update.c (update_fileproc): Remove unused variable (resurrecting).
58*43c1707eStholo
59*43c1707eStholo2001-04-03  Derek Price  <dprice@collab.net>
60*43c1707eStholo	    Larry Jones  <larry.jones@sdrc.com>
61*43c1707eStholo	    reported by Jakob B�hm  <JB@Danware.dk>
62*43c1707eStholo
63*43c1707eStholo	* update.c (update_fileproc): Don't store a file with T_UNKNOWN status
64*43c1707eStholo	in ignlist if present in the sandbox.
65*43c1707eStholo	* sanity.sh (ignore-on-branch): New test.
66*43c1707eStholo	(ignore): Tidy this test.
67*43c1707eStholo
68*43c1707eStholo2001-04-02  Derek Price  <dprice@collab.net>
69*43c1707eStholo
70*43c1707eStholo	* sanity.sh: Make sure the test for `id' fails when a nonstandard `id'
71*43c1707eStholo	is used and the user is root.  Fix some quoting in error messages.
72*43c1707eStholo	(fork): Take `cvs' out of the PATH.
73*43c1707eStholo	(TODO): Add note about the test suite not working with user names over
74*43c1707eStholo	eight characters in length.
75*43c1707eStholo
76*43c1707eStholo2001-04-02  Derek Price  <dprice@collab.net>
77*43c1707eStholo
78*43c1707eStholo	* sanity.sh (fork): New test for CVS_SERVER default.
79*43c1707eStholo	(TODO): Note about eventually removing most of the references to
80*43c1707eStholo	CVS_SERVER.
81*43c1707eStholo
82*43c1707eStholo2001-04-02  Larry Jones  <larry.jones@sdrc.com>
83*43c1707eStholo
84*43c1707eStholo	* client.c (connect_to_forked_server): Use program_path as the default
85*43c1707eStholo	server instead of "cvs".
86*43c1707eStholo
87*43c1707eStholo2001-04-02  Derek Price  <dprice@collab.net>
88*43c1707eStholo
89*43c1707eStholo	* sanity.sh: Use less obfuscated English in my comment about sanity
90*43c1707eStholo	checking sanity.sh.
91*43c1707eStholo
92*43c1707eStholo2001-04-02  Derek Price  <dprice@collab.net>
93*43c1707eStholo
94*43c1707eStholo	* sanity.sh (rm-update-message): Create a test directory again but
95*43c1707eStholo	change back to the correct directory upon completion this time.
96*43c1707eStholo
97*43c1707eStholo2001-04-02  Derek Price  <dprice@collab.net>
98*43c1707eStholo
99*43c1707eStholo	* sanity.sh: Change last two '[.*]'s to 'test's for
100*43c1707eStholo	consistency and remove...
101*43c1707eStholo	(TODO): the note from the TODO list.
102*43c1707eStholo
103*43c1707eStholo2001-04-02  Derek Price  <dprice@collab.net>
104*43c1707eStholo
105*43c1707eStholo	* sanity.sh: Add test for PWD before successful exit.
106*43c1707eStholo
107*43c1707eStholo2001-03-30  Larry Jones  <larry.jones@sdrc.com>
108*43c1707eStholo
109*43c1707eStholo	* sanity.sh (rm-update-message): Remove duplicate code.
110*43c1707eStholo
111*43c1707eStholo2001-03-30  Derek Price  <dprice@collab.net>
112*43c1707eStholo
113*43c1707eStholo	* sanity.sh (rm-update-message): New test for local/client-server
114*43c1707eStholo	warning message discrepency.
115*43c1707eStholo
116*43c1707eStholo2001-03-30  Larry Jones  <larry.jones@sdrc.com>
117*43c1707eStholo
118*43c1707eStholo	* annotate.c: Move annotate() here from rcs.c, support rannotate.
119*43c1707eStholo	* Makefile.am, Makefile.in: Add annotate.c.
120*43c1707eStholo	* main.c (cmds[], cmd_usage[]): Add rannotate.
121*43c1707eStholo	* rcs.c: Move declarations of rcs_delta_op and RCS_deltas to...
122*43c1707eStholo	* rcs.h:    ... here.
123*43c1707eStholo	* server.c (serve_rannotate): New.
124*43c1707eStholo	(requests[]): Add rannotate.
125*43c1707eStholo	* sanity.sh (ann): New tests for rannotate.
126*43c1707eStholo
127*43c1707eStholo	* log.c (rlog_proc): Remove dead code.
128*43c1707eStholo
129*43c1707eStholo2001-03-30  Derek Price  <dprice@collab.net>
130*43c1707eStholo
131*43c1707eStholo	* sanity.sh (join-readonly-conflict): Run more of this through dotest.
132*43c1707eStholo
133*43c1707eStholo2001-03-30  Larry Jones  <larry.jones@sdrc.com>
134*43c1707eStholo
135*43c1707eStholo	* log.c (log_fileproc): Don't output working file for rlog.
136*43c1707eStholo	* sanity.sh (log): New tests for rlog.
137*43c1707eStholo
138*43c1707eStholo	* cvs.h (mtype): Add MISC type.
139*43c1707eStholo	* log.c (cvslog): Support rlog as well as log.
140*43c1707eStholo	(rlog_proc): New.
141*43c1707eStholo	* main.c (cmds[], cmd_usage[]): Add rlog.
142*43c1707eStholo	(main): Remove old rlog warning message.
143*43c1707eStholo	* server.c (serve_rlog): New.
144*43c1707eStholo	(requests[]): Add rlog.
145*43c1707eStholo
146*43c1707eStholo2001-03-29  Derek Price  <dprice@collab.net>
147*43c1707eStholo
148*43c1707eStholo	* sanity.sh: cd to $TESTDIR once after it is normalized.  Make TODO
149*43c1707eStholo	on history and symlinks more specific.  Tested properly this time.
150*43c1707eStholo
151*43c1707eStholo2001-03-29  Larry Jones  <larry.jones@sdrc.com>
152*43c1707eStholo
153*43c1707eStholo	* main.c (cmds[], lookup_command_attribute, main): Include the
154*43c1707eStholo	command attributes in the global command table instead of inferring
155*43c1707eStholo	them from the command names.  Change the sense of the
156*43c1707eStholo	CVS_CMD_IGNORE_ADMROOT attribute to match its name.
157*43c1707eStholo
158*43c1707eStholo2001-03-29  Derek Price  <dprice@collab.net>
159*43c1707eStholo
160*43c1707eStholo	* sanity.sh (*, basic2-64): Remove references to TMPPWD.  Fix FIXME
161*43c1707eStholo	at end of script now that $TESTDIR can't be relative.
162*43c1707eStholo
163*43c1707eStholo2001-03-29  Derek Price  <dprice@collab.net>
164*43c1707eStholo
165*43c1707eStholo	* sanity.sh: Normalize TESTDIR even when the user set it.
166*43c1707eStholo
167*43c1707eStholo2001-03-29  Larry Jones  <larry.jones@sdrc.com>
168*43c1707eStholo
169*43c1707eStholo	* client.c (connect_to_pserver, start_tcp_server): Add IP address
170*43c1707eStholo	to connect failed message.
171*43c1707eStholo	(connect_to_forked_server, connect_to_pserver, start_tcp_server): Add
172*43c1707eStholo	trace messages ala start_rsh_server.
173*43c1707eStholo	(start_rsh_server): Include entire command in trace message for
174*43c1707eStholo	START_RSH_WITH_POPEN_RW like ! START_RSH_WITH_POPEN_RW does.
175*43c1707eStholo
176*43c1707eStholo2001-03-29  Derek Price  <dprice@collab.net>
177*43c1707eStholo
178*43c1707eStholo	* sanity.sh: Global search & replace ${TESTDIR}/cvsroot with
179*43c1707eStholo	${CVSROOT_DIRNAME} for consistency.
180*43c1707eStholo
181*43c1707eStholo2001-03-29  Derek Price  <dprice@collab.net>
182*43c1707eStholo
183*43c1707eStholo	* sanity.sh (conflicts-12[68].5): Remove sanity hack which has allowed
184*43c1707eStholo	for a CVS bug since May 96/97.  Not sure when the bug went bye-bye, but
185*43c1707eStholo	the tests broke when $TESTDIR != $TMPPWD.
186*43c1707eStholo
187*43c1707eStholo2001-03-26  Larry Jones  <larry.jones@sdrc.com>
188*43c1707eStholo
189*43c1707eStholo	* classify.c (Classify_File): Don't report a conflict for a removed
190*43c1707eStholo	file when piping.  Also simplify the code structure.
191*43c1707eStholo	(Reported by Milos Kleint <milos.kleint@netbeans.com>.)
192*43c1707eStholo	* sanity.sh (rmadd2-14[abc]): New tests for above.
193*43c1707eStholo
194*43c1707eStholo2001-03-24  Noel Cragg  <noel@shave.cnet.com>
195*43c1707eStholo
196*43c1707eStholo	* diff.c: mods to allow `-T' and `-y' options to be passed through
197*43c1707eStholo	to the diff library.  This wasn't allowed earlier because of a
198*43c1707eStholo	similarly named options that got passed through to the old rcs
199*43c1707eStholo	programs.  We've long since stopped sending `-T' to any rcs
200*43c1707eStholo	utility and have never used `-y'.  Any users of moldly CVS
201*43c1707eStholo	versions which used to support `-T' have (hopefully) upgraded to
202*43c1707eStholo	one where that option isn't supported.  It seems reasonable to
203*43c1707eStholo	enable them again and pass them through.  (sanity.sh still works
204*43c1707eStholo	anyways...)
205*43c1707eStholo	(longopts): add short option equivalents for --initial-tab and
206*43c1707eStholo	--side-by-side.
207*43c1707eStholo	(diff): add new short options to getopt string and switch
208*43c1707eStholo	statement.
209*43c1707eStholo
210*43c1707eStholo2001-03-22  Larry Jones  <larry.jones@sdrc.com>
211*43c1707eStholo
212*43c1707eStholo	* sanity.sh: Add check for ${DOTSTAR} with large matches.
213*43c1707eStholo
214*43c1707eStholo2001-03-23  Derek Price  <dprice@collab.net>
215*43c1707eStholo
216*43c1707eStholo	* sanity.sh: Do the same as below for $keep.
217*43c1707eStholo
218*43c1707eStholo2001-03-23  Derek Price  <dprice@collab.net>
219*43c1707eStholo
220*43c1707eStholo	* sanity.sh: Replace 'remote=(yes|no)' with 'remote=(:|false)' since
221*43c1707eStholo	often 'false' and more often ':' are shell builtins.  This makes the
222*43c1707eStholo	succinct, 'if $remote; then' faster than 'if test $remote = yes; then'.
223*43c1707eStholo	Alter tests in the rest of the script to match the new usage.  Added
224*43c1707eStholo	a suffix of 'r' to remote test names when it was appropriate and I
225*43c1707eStholo	remembered.  Some reformatting.
226*43c1707eStholo
227*43c1707eStholo2001-03-22  Larry Jones  <larry.jones@sdrc.com>
228*43c1707eStholo
229*43c1707eStholo	* sanity.sh (diffmerge1_yours, diffmerge1_mine): Check for exact
230*43c1707eStholo	output instead of using wildcards to avoid buffer overflows in some
231*43c1707eStholo	versions of expr.
232*43c1707eStholo
233*43c1707eStholo2001-03-21  Derek Price  <dprice@collab.net>
234*43c1707eStholo
235*43c1707eStholo	* sanity.sh: cd to '/tmp' again rather than $HOME since HOME was set to
236*43c1707eStholo	a value inside ${TESTDIR} by the script.
237*43c1707eStholo
238*43c1707eStholo2001-03-20  Derek Price  <dprice@collab.net>
239*43c1707eStholo
240*43c1707eStholo	* sanity.sh (diffmerge1): Minor formatting and syntax changes.
241*43c1707eStholo
242*43c1707eStholo	    for Jacob Burckhardt  <bjacob@ca.metsci.com>
243*43c1707eStholo
244*43c1707eStholo	* sanity.sh (diffmerge1): More merging behavior tests.  Specifically,
245*43c1707eStholo	test some cases which broke before in Karl Tomlinson's diff fix was
246*43c1707eStholo	checked in today.
247*43c1707eStholo
248*43c1707eStholo2001-03-20  Derek Price  <dprice@collab.net>
249*43c1707eStholo
250*43c1707eStholo	* sanity.sh: Don't use unescaped parens in sh outside of quotes.
251*43c1707eStholo
252*43c1707eStholo2001-03-20  Derek Price  <dprice@collab.net>
253*43c1707eStholo
254*43c1707eStholo	* sanity.sh: Don't remove ${TESTDIR} when -k (keep) set.
255*43c1707eStholo
256*43c1707eStholo2001-03-20  Derek Price  <dprice@collab.net>
257*43c1707eStholo
258*43c1707eStholo	* sanity.sh: Change usage to match the new getopts format and comment.
259*43c1707eStholo
260*43c1707eStholo2001-03-16  Derek Price  <dprice@collab.net>
261*43c1707eStholo
262*43c1707eStholo	* sanity.sh (modules2-nestedrename): New test.  Verifies behavior of
263*43c1707eStholo	renames nested under an ampersand module.
264*43c1707eStholo	(modules2-ampertag): New test.  Verifies an error condition which
265*43c1707eStholo	prevents some ampersand modules from being checked out when a tag
266*43c1707eStholo	is specified.
267*43c1707eStholo
268*43c1707eStholo2001-03-16  Derek Price  <dprice@collab.net>
269*43c1707eStholo
270*43c1707eStholo	* sanity.sh (modules2): Additional test for ampersand module behavior
271*43c1707eStholo	with '-d'.
272*43c1707eStholo
273*43c1707eStholo	    for Greg Klanderman  <greg@itasoftware.com>
274*43c1707eStholo
275*43c1707eStholo	* checkout.c (build_one_dir): Fix typo where clauses of two
276*43c1707eStholo	conditionals were reversed in call to Create_Admin.  This caused
277*43c1707eStholo	the CVS/Tag file to be removed in cases where it should have been
278*43c1707eStholo	set, and vice-versa.  It only surfaced in rare cases as this code
279*43c1707eStholo	is only invoked when using the -d option to build the path to
280*43c1707eStholo	check out in.  Further, the bug would only matter when checking
281*43c1707eStholo	out a module containing ampersand modules within it, via
282*43c1707eStholo	client/server CVS.
283*43c1707eStholo
284*43c1707eStholo2001-03-16  Derek Price  <dprice@collab.net>
285*43c1707eStholo
286*43c1707eStholo	* sanity.sh (admin-28-5): Confirm that a missing tag during an
287*43c1707eStholo	'admin -n' operation is not a fatal error.
288*43c1707eStholo
289*43c1707eStholo2001-03-16  Derek Price  <dprice@collab.net>
290*43c1707eStholo
291*43c1707eStholo	* admin.c (admin_data): Remove 'quiet' member.
292*43c1707eStholo	(admin_fileproc): Use global 'really_quiet' rather than
293*43c1707eStholo	admin_data->quiet.
294*43c1707eStholo
295*43c1707eStholo2001-03-16  Derek Price  <dprice@collab.net>
296*43c1707eStholo
297*43c1707eStholo	* sanity.sh (admin): Replace hardcoded testdir path with the variable.
298*43c1707eStholo
299*43c1707eStholo2001-03-15  Derek Price  <derek.price@openavenue.com>
300*43c1707eStholo
301*43c1707eStholo	* sanity.sh (basica, binfiles, head, admin): Adjust for new messages.
302*43c1707eStholo	* admin.c (admin_fileproc): Only print messages when not in
303*43c1707eStholo	really_quiet mode.
304*43c1707eStholo
305*43c1707eStholo	    for Stephen Rasku  <stephen@tgivan.com>
306*43c1707eStholo
307*43c1707eStholo	* rcs.c (RCS_tag2rev): Make a missing tag a survivable error.
308*43c1707eStholo
309*43c1707eStholo2001-03-15  Larry Jones  <larry.jones@sdrc.com>
310*43c1707eStholo
311*43c1707eStholo	* subr.c (sleep_past): Fix various bugs that would result in a
312*43c1707eStholo	negative sleep time if it weren't unsigned; since it is, it would
313*43c1707eStholo	result in a very large sleep time.  Ensure that us is always less
314*43c1707eStholo	than 1000000.  Don't try to sleep for more 1 sec with usleep.
315*43c1707eStholo	Cast NULL select arguments to correct type just in case.
316*43c1707eStholo
317*43c1707eStholo2001-03-14  Derek Price  <derek.price@openavenue.com>
318*43c1707eStholo
319*43c1707eStholo	* subr.c (sleep_past): New function.
320*43c1707eStholo	* client.c (get_responses_and_close): Use new function.
321*43c1707eStholo	* commit.c (commit): Ditto.
322*43c1707eStholo	* update.c (do_update): Ditto.
323*43c1707eStholo	* cvs.h: Prototype new function.
324*43c1707eStholo
325*43c1707eStholo	* stamp-h2.in: Regenerated.
326*43c1707eStholo
327*43c1707eStholo2001-03-14  Derek Price  <derek.price@openavenue.com>
328*43c1707eStholo
329*43c1707eStholo	* Makefile.in: Regenerated.
330*43c1707eStholo	* stamp-h2.in: Ditto.
331*43c1707eStholo
332*43c1707eStholo2001-03-14  Larry Jones  <larry.jones@sdrc.com>
333*43c1707eStholo
334*43c1707eStholo	* commit.c (check_fileproc): Allow adding on the trunk when there's
335*43c1707eStholo	an existing non-Attic RCS file as long as the head revision is dead.
336*43c1707eStholo	This can happen due to an aborted resurrection.
337*43c1707eStholo	(commit_fileproc): When resurrecting, consider the dead revision
338*43c1707eStholo	along with the other files' revisions.
339*43c1707eStholo	(findmaxrev): Avoid unnecessary work.
340*43c1707eStholo	(checkaddfile): Only warn if file isn't in Attic as expected.
341*43c1707eStholo	(Reported by Ross Burton <r.burton@180sw.com>.)
342*43c1707eStholo	* sanity.sh (basica-r*): New tests for above.
343*43c1707eStholo	(basica-o4): Update to match.
344*43c1707eStholo
345*43c1707eStholo2001-03-09  Larry Jones  <larry.jones@sdrc.com>
346*43c1707eStholo
347*43c1707eStholo	* edit.c (edit_fileproc, unedit_fileproc): Some implementations of
348*43c1707eStholo	asctime/ctime apparently use a leading zero on the date instead
349*43c1707eStholo	of the space required by the C Standard.  Correct for this so that
350*43c1707eStholo	shared working directories work without hassle.
351*43c1707eStholo	(Reported by David L. Martin <dlmart2@home.com>.)
352*43c1707eStholo	* entries.c (fgetentent): Ditto.
353*43c1707eStholo	* vers_ts.c (time_stamp_server, time_stamp) Ditto.
354*43c1707eStholo
355*43c1707eStholo2001-03-07  Larry Jones  <larry.jones@sdrc.com>
356*43c1707eStholo
357*43c1707eStholo	* sanity.sh (basica, binfiles2, head, admin): Update to match
358*43c1707eStholo	change to admin.c.
359*43c1707eStholo
360*43c1707eStholo2001-03-06  Larry Jones  <larry.jones@sdrc.com>
361*43c1707eStholo
362*43c1707eStholo	* client.c (recv_bytes): Handle EOF as in recv_line().
363*43c1707eStholo	(Reported by Pavel Roskin <proski@gnu.org>.)
364*43c1707eStholo
365*43c1707eStholo	* admin.c (admin_fileproc): Change final error message to clarify
366*43c1707eStholo	that CVS refused to modify the RCS file rather than being unable to.
367*43c1707eStholo
368*43c1707eStholo2001-02-28  Jim Meyering  <meyering@lucent.com>
369*43c1707eStholo
370*43c1707eStholo	* commit.c (commit_usage): Use `-F logfile' (rather than -F file') in
371*43c1707eStholo	the description of that option, to be consistent with the `-F logfile'
372*43c1707eStholo	in the Usage: line.  Use spaces instead of TAB characters, and realign.
373*43c1707eStholo
374*43c1707eStholo2001-03-02  Derek Price  <derek.price@openavenue.com>
375*43c1707eStholo
376*43c1707eStholo	* sanity.sh (crerepos): Make failed ${CVS_RSH-rsh} attempt print the
377*43c1707eStholo	name of the command it actually used rather than 'rsh'.
378*43c1707eStholo
379*43c1707eStholo2001-02-27  Derek Price  <derek.price@openavenue.com>
380*43c1707eStholo
381*43c1707eStholo	* sanity.sh (modules2-ampermod-*): Added these tests to make sure the
382*43c1707eStholo	top level directory is created in an ampermodule when '-n' is passed to
383*43c1707eStholo	checkout.
384*43c1707eStholo
385*43c1707eStholo	original bug report from
386*43c1707eStholo	    Wolfgang Haefelinger <Wolfgang.Haefelinger@Dresdner-Bank.com>
387*43c1707eStholo
388*43c1707eStholo2001-02-27  Derek Price  <derek.price@openavenue.com>
389*43c1707eStholo
390*43c1707eStholo	* sanity.sh (version-[12]): replace ' (client/server)' with .* in these
391*43c1707eStholo	two tests so that 'make check' works with whatever client/server
392*43c1707eStholo	options the executable was compiled with.
393*43c1707eStholo
394*43c1707eStholo2001-02-23  Derek Price  <derek.price@openavenue.com>
395*43c1707eStholo
396*43c1707eStholo	* main.c (main): Only check a cvsroot_t's isremote member when client
397*43c1707eStholo	support is enabled.
398*43c1707eStholo	* server.c: Include GSSAPI headers with client support as well as
399*43c1707eStholo	server support.
400*43c1707eStholo
401*43c1707eStholo2001-02-21  Larry Jones  <larry.jones@sdrc.com>
402*43c1707eStholo
403*43c1707eStholo	* modules.c, cvs.h (do_module): Add build_dirs argument and use it
404*43c1707eStholo	instead of run_module_prog.  Change all callers.
405*43c1707eStholo	* tag.c (cvstag): For rtag, don't build directories.
406*43c1707eStholo	* sanity.sh (modules3): Update to match.
407*43c1707eStholo
408*43c1707eStholo2001-02-20  Derek Price  <derek.price@openavenue.com>
409*43c1707eStholo
410*43c1707eStholo	* client.c: Use xgssapi.h.
411*43c1707eStholo	* server.c: Ditto.
412*43c1707eStholo
413*43c1707eStholo2001-02-15  Derek Price  <derek.price@openavenue.com>
414*43c1707eStholo
415*43c1707eStholo	* Makefile.am (cvs_SOURCES): Correct error from yesterday.
416*43c1707eStholo	* Makefile.in: Regenerated.
417*43c1707eStholo
418*43c1707eStholo2001-02-14  Derek Price  <derek.price@openavenue.com>
419*43c1707eStholo
420*43c1707eStholo	* server.c: Include xselect.h.
421*43c1707eStholo	* update.c (do_update): Use best available sleep function.
422*43c1707eStholo
423*43c1707eStholo2001-02-14  Derek Price  <derek.price@openavenue.com>
424*43c1707eStholo
425*43c1707eStholo	* Makefile.am (cvs_SOURCES): Alphabetize and split to one/line.
426*43c1707eStholo	(cvs_LDADD): Alphabetize and split to one/line.
427*43c1707eStholo	* Makefile.in: Regenerated.
428*43c1707eStholo
429*43c1707eStholo2001-02-14  Larry Jones  <larry.jones@sdrc.com>
430*43c1707eStholo
431*43c1707eStholo	* build_src.com: Remove references to rtag.c & rtag.obj.
432*43c1707eStholo
433*43c1707eStholo2001-02-13  Derek Price  <derek.price@openavenue.com>
434*43c1707eStholo
435*43c1707eStholo	* main.c (date_to_tm): New function to convert an RCS date string to a
436*43c1707eStholo	struct tm.
437*43c1707eStholo	(tm_to_internet): New function to convert a struct tm to a date string
438*43c1707eStholo	as specified by RFC822 and amended by RFC 1123.
439*43c1707eStholo	(date_to_internet): Use the above two functions and a struct tm
440*43c1707eStholo	intermediary for conversion.
441*43c1707eStholo	* patch.c (patch_fileproc): Answer somebody's comment and use the new
442*43c1707eStholo	diff_exec API.
443*43c1707eStholo	* rcs.c (RCS_checkin): Use new diff_exec API.
444*43c1707eStholo	(RCS_delete_revs): Use new diff_exec API.
445*43c1707eStholo	(make_file_label): If the file name is DEVNULL, date it the Epoch for
446*43c1707eStholo	compatibility with the POSIX.2 spec and Larry Wall's patch
447*43c1707eStholo	implementation.
448*43c1707eStholo	* rcscmds.c (diff_exec): Accept new label arguments.
449*43c1707eStholo	* sanity.sh (death2): Update some diff tests to accept the new format.
450*43c1707eStholo	* update.c (patch_file): Use new diff_exec API.
451*43c1707eStholo	* diff.c (diff_fileproc): Create header labels appropriate for
452*43c1707eStholo	compatibility with the Larry Wall version of patch.
453*43c1707eStholo	(diff): Rename calls to strcat_and_allocate.
454*43c1707eStholo	(strcat_and_allocate): Rename and move...
455*43c1707eStholo	* subr.c (xrealloc_and_strcat): here.
456*43c1707eStholo	* cvs.h: Update prototypes to match.
457*43c1707eStholo
458*43c1707eStholo2001-02-13  Derek Price  <derek.price@openavenue.com>
459*43c1707eStholo
460*43c1707eStholo	* Makefile.am (cvs_SOURCES): Remove rtag.c.
461*43c1707eStholo
462*43c1707eStholo2001-02-07  Larry Jones  <larry.jones@sdrc.com>
463*43c1707eStholo
464*43c1707eStholo	* sanity.sh (directory_cmp): Return status rather than setting ISDIFF.
465*43c1707eStholo	(basic2): Rewrite using dotest.
466*43c1707eStholo
467*43c1707eStholo2001-02-06  Larry Jones  <larry.jones@sdrc.com>
468*43c1707eStholo
469*43c1707eStholo	* tag.c, rtag.c: Merge with tag.c being the surviving file.
470*43c1707eStholo	* Makefile.in: Update to match.
471*43c1707eStholo	* main.c (cmds): rtag() => cvstag().
472*43c1707eStholo	* server.c (serve_rtag): Ditto, and set command name.
473*43c1707eStholo
474*43c1707eStholo2001-02-06  Derek Price  <derek.price@openavenue.com>
475*43c1707eStholo	    Rex Jolliff  <Rex_Jolliff@notes.ymp.gov>
476*43c1707eStholo	    Shawn Smith  <Shawn_Smith@notes.ymp.gov>
477*43c1707eStholo
478*43c1707eStholo	* add.c: Replace opendir, closedir, & readdir calls with CVS_OPENDIR,
479*43c1707eStholo	CVS_CLOSEDIR, & CVS_READDIR in support of changes to handle VMS DEC C
480*43c1707eStholo	5.7 {open,read,close}dir problems.  Check today's entry in the vms
481*43c1707eStholo	subdir for more.
482*43c1707eStholo	* filesubr.c: ditto
483*43c1707eStholo	* find_names.c: ditto
484*43c1707eStholo	* ignore.c: ditto
485*43c1707eStholo	* import.c: ditto
486*43c1707eStholo	* lock.c: ditto
487*43c1707eStholo	* update.c: ditto
488*43c1707eStholo
489*43c1707eStholo2001-02-02  Larry Jones  <larry.jones@sdrc.com>
490*43c1707eStholo
491*43c1707eStholo	* error.h: Changed include guard macro from _error_h_ to ERROR_H;
492*43c1707eStholo	names beginning with underscore are reserved.
493*43c1707eStholo	* login.c (password_entry_parseline, password_entry_operation,
494*43c1707eStholo	password_entry_operation_e, password_entry_operation_t): Removed
495*43c1707eStholo	leading underscore(s).
496*43c1707eStholo	(password_entry_parseline): Corrected error messages.
497*43c1707eStholo	(password_entry_operation): Fixed uninitialized variable (password).
498*43c1707eStholo	(login): Removed unused variable (found_password).
499*43c1707eStholo
500*43c1707eStholo	* rtag.c (rtag_proc): Call lock_tree_for_write() before calling
501*43c1707eStholo	start_recursion.  This fixes a serious problem where do_recursion
502*43c1707eStholo	was reading and caching RCS files without any locks in place and
503*43c1707eStholo	that information was subsequently being used to rewrite the file
504*43c1707eStholo	causing any intermediate changes to be lost.
505*43c1707eStholo	(rtag_filesdoneproc): Defunct.
506*43c1707eStholo	(Reported by Karl Tomlinson <k.tomlinson@auckland.ac.nz>.)
507*43c1707eStholo	* tag.c (cvstag, tag_filesdoneproc): Ditto.
508*43c1707eStholo	* lock.c (lock_tree_for_write): Add which argument, change all
509*43c1707eStholo	callers to pass W_LOCAL.
510*43c1707eStholo	* rcs.h: Ditto.
511*43c1707eStholo
512*43c1707eStholo2001-01-29  Derek Price  <derek.price@openavenue.com>
513*43c1707eStholo
514*43c1707eStholo	* client.c (get_cvs_port_number): change the prototype to accept a
515*43c1707eStholo	const cvsroot_t * as input and add a FIXME comment
516*43c1707eStholo	* cvs.h: new prototypes for get_cvs_port_number & normalize_cvsroot
517*43c1707eStholo	* login.c (_password_entry_operation): consolidate all the ~/.cvspass
518*43c1707eStholo	access into a single new function which reads ~/.cvspass in a backwards
519*43c1707eStholo	compatible manner
520*43c1707eStholo	(logout): use the new _password_entry_operation function
521*43c1707eStholo	(login): ditto
522*43c1707eStholo	(get_cvs_password): ditto
523*43c1707eStholo	* root.c (normalize_cvsroot): move knowledge of default port & username
524*43c1707eStholo	values inside
525*43c1707eStholo
526*43c1707eStholo2001-01-29  Larry Jones  <larry.jones@sdrc.com>
527*43c1707eStholo
528*43c1707eStholo	* subr.c (shell_escape): New function.
529*43c1707eStholo	* cvs.h: Declare it.
530*43c1707eStholo	* logmsg.c (logfile_write): Use it to avoid problems with filenames
531*43c1707eStholo	containing "'".
532*43c1707eStholo	(Reported by Gerhard Ahuis <gerhard@ats.xs4all.nl>.)
533*43c1707eStholo
534*43c1707eStholo	* server.c (outbuf_memory_error, pserver_authenticate_connection,
535*43c1707eStholo	kserver_authenticate_connection): If available, use syslog() to
536*43c1707eStholo	record some errors.
537*43c1707eStholo
538*43c1707eStholo2001-01-25  Larry Jones  <larry.jones@sdrc.com>
539*43c1707eStholo
540*43c1707eStholo	* server.c (do_cvs_command): If there's a partial output line left
541*43c1707eStholo	over and the client doesn't support MT, go ahead and send it in an
542*43c1707eStholo	M response instead of just dropping it.
543*43c1707eStholo	(Reported by Milos Kleint <Milos.Kleint@netbeans.com>.)
544*43c1707eStholo
545*43c1707eStholo	* update.c (update_fileproc): Handle toss_local_changes in the
546*43c1707eStholo	T_NEEDS_MERGE case.
547*43c1707eStholo	(Inspired by Noel L Yap <yap_noel@jpmorgan.com>.)
548*43c1707eStholo	* sanity.sh (clean): New tests for above.
549*43c1707eStholo
550*43c1707eStholo2001-01-23  Derek Price  <derek.price@openavenue.com>
551*43c1707eStholo
552*43c1707eStholo	* run.c (run_exec): flush, if used, stderr and stdout before exit
553*43c1707eStholo	* server.c (cvs_flusherr): flush stderr & send a stderr flush command
554*43c1707eStholo	on the protocol pipe
555*43c1707eStholo	(cvs_flushout): like above, for stdout
556*43c1707eStholo	(do_cvs_command): handle flushes properly
557*43c1707eStholo	* sanity.sh (reserved): make the commitinfo script echo errors to
558*43c1707eStholo	stderr rather than stdin
559*43c1707eStholo
560*43c1707eStholo2001-01-18  Larry Jones  <larry.jones@sdrc.com>
561*43c1707eStholo
562*43c1707eStholo	* log.c (option_revlist, revlist, log_usage, cvslog,
563*43c1707eStholo	log_parse_revlist, log_expand_revlist, log_version_requested): Add
564*43c1707eStholo	support for :: for exclusive ranges.
565*43c1707eStholo	* admin.c (admin_usage): Reorder -o to be parallel to log -r.
566*43c1707eStholo	* sanity.sh (log): New tests for above.
567*43c1707eStholo
568*43c1707eStholo2001-01-18  Derek Price  <derek.price@openavenue.com>
569*43c1707eStholo
570*43c1707eStholo	* main.c: Add '2001' to the range of copyright years listed by the
571*43c1707eStholo	--version option
572*43c1707eStholo	* version.c.in (version): check current_parsed_root before its isremote
573*43c1707eStholo	member to avoid a core dump
574*43c1707eStholo	* sanity.sh (version): add a test for the version command
575*43c1707eStholo
576*43c1707eStholo	* version.c: regenerated
577*43c1707eStholo
578*43c1707eStholo2001-01-12  Larry Jones  <larry.jones@sdrc.com>
579*43c1707eStholo
580*43c1707eStholo	* rcs.c, rcs.h (RCS_lock, RCS_unlock): Use RCS_gettag to find the
581*43c1707eStholo	correct revision so that symbolic tags work correctly.  (This
582*43c1707eStholo	requires removing the "const" from the rev parameter since it's
583*43c1707eStholo	passed to RCS_gettag which might modify it.)
584*43c1707eStholo	(Reported by irina sturm <irina.sturm@st.com>.)
585*43c1707eStholo
586*43c1707eStholo2001-01-11  Larry Jones  <larry.jones@sdrc.com>
587*43c1707eStholo
588*43c1707eStholo	* run.c (close_on_exec): Remove check for FD_CLOEXEC.  As far as I
589*43c1707eStholo	can see, it's *never* been defined, which defeats the whole point.
590*43c1707eStholo	If F_SETFD is defined, it's probably safe to use it.
591*43c1707eStholo
592*43c1707eStholo	* server.c (do_cvs_command): Call close_on_exec on the protocol and
593*43c1707eStholo	flow control pipes in the child process so they don't get inherited
594*43c1707eStholo	by any subsidiary processes.
595*43c1707eStholo	(Reported by Tristan Gingold <tgi@netgem.com>.)
596*43c1707eStholo
597*43c1707eStholo	* cvs.h (free_cvsroot_t): Spell correctly (was free_CVSroot_t).
598*43c1707eStholo
599*43c1707eStholo2001-01-10  Derek Price  <derek.price@openavenue.com>
600*43c1707eStholo	    Rex Jolliff  <Rex_Jolliff@notes.ymp.gov>
601*43c1707eStholo
602*43c1707eStholo	* build_src.com: VMS changes
603*43c1707eStholo	* filesubr.c: replace calls to unlink() with CVS_UNLINK() for VMS
604*43c1707eStholo	* rcs.c: ditto
605*43c1707eStholo
606*43c1707eStholo2001-01-10  Derek Price  <derek.price@openavenue.com>
607*43c1707eStholo
608*43c1707eStholo	* main.c (current_root): explicitly list this as a static global
609*43c1707eStholo
610*43c1707eStholo2001-01-10  Derek Price  <derek.price@openavenue.com>
611*43c1707eStholo
612*43c1707eStholo	* cvs.h (get_cvs_port_number): change name & prototype from
613*43c1707eStholo	get_port_number
614*43c1707eStholo	* client.c (get_cvs_port_number): new function which returns a port
615*43c1707eStholo	number based on a cvsroot_t rather than requiring all possible sources
616*43c1707eStholo	passed in
617*43c1707eStholo	(connect_to_pserver): use new get_cvs_port_number function
618*43c1707eStholo	(connect_to_server): ditto
619*43c1707eStholo	* login.c (get_password): use new get_cvs_port_number function
620*43c1707eStholo	(login): ditto
621*43c1707eStholo	(logout): ditto
622*43c1707eStholo
623*43c1707eStholo2001-01-10  Derek Price  <derek.price@openavenue.com>
624*43c1707eStholo
625*43c1707eStholo	* Makefile.am ($(srcdir)/version.c): specify $(srcdir) for all subparts
626*43c1707eStholo	of the build since some systems don't allow mv's across partitions
627*43c1707eStholo	* Makefile.in: regenerated
628*43c1707eStholo
629*43c1707eStholo2001-01-10  Derek Price  <derek.price@openavenue.com>
630*43c1707eStholo
631*43c1707eStholo	* Makefile.am (version.c): specify $(srcdir) explicitly in target rule
632*43c1707eStholo	so version.c gets built properly for all makes.
633*43c1707eStholo	(version.o): specify $(srcdir)/version.c explicitly so dependency is
634*43c1707eStholo	found and built properly
635*43c1707eStholo	* Makefile.in: regenerated
636*43c1707eStholo
637*43c1707eStholo2001-01-09  Derek Price  <derek.price@openavenue.com>
638*43c1707eStholo
639*43c1707eStholo	* version.c: updated timestamp
640*43c1707eStholo
641*43c1707eStholo2001-01-09  Larry Jones  <larry.jones@sdrc.com>
642*43c1707eStholo
643*43c1707eStholo	* server.c (server): Change to server_temp_dir immediately after
644*43c1707eStholo	creating it so that any stray files that happen to be created go
645*43c1707eStholo	there instead of in the server's initial directory, wherever that
646*43c1707eStholo	may be.
647*43c1707eStholo	* sanity.sh (modules5-15): Update to match.
648*43c1707eStholo
649*43c1707eStholo	* version.c.in: Update to match Derek's change to version.c.
650*43c1707eStholo
651*43c1707eStholo2001-01-09  Derek Price  <derek.price@openavenue.com>
652*43c1707eStholo
653*43c1707eStholo	* cvs.h: Remove the various CVSroot_* bits and replace them with a
654*43c1707eStholo	single structure of type cvsroot_t (current_parsed_root)
655*43c1707eStholo
656*43c1707eStholo	* root.c (parse_cvsroot): return pointer to a new cvsroot_t rather than
657*43c1707eStholo	altering global variables
658*43c1707eStholo	(local_cvsroot): return a pointer to a new cvsroot_t rather than
659*43c1707eStholo	setting globals.  changed the name of this function from
660*43c1707eStholo	set_local_cvsroot to better explain new functionality
661*43c1707eStholo	(new_cvsroot_t): new initializer function
662*43c1707eStholo	(free_cvsroot_t): new function
663*43c1707eStholo	(others): use current_parsed_root rather than the old CVSroot_* globals
664*43c1707eStholo
665*43c1707eStholo	* add.c: use current_parsed_root rather than the old CVSroot_* globals
666*43c1707eStholo	* admin.c: ditto
667*43c1707eStholo	* checkout.c: ditto
668*43c1707eStholo	* client.c: ditto
669*43c1707eStholo	* commit.c: ditto
670*43c1707eStholo	* create_adm.c: ditto
671*43c1707eStholo	* diff.c: ditto
672*43c1707eStholo	* edit.c: ditto
673*43c1707eStholo	* expand_path.c: ditto
674*43c1707eStholo	* find_names.c: ditto
675*43c1707eStholo	* history.c: ditto
676*43c1707eStholo	* ignore.c: ditto
677*43c1707eStholo	* import.c: ditto
678*43c1707eStholo	* lock.c: ditto
679*43c1707eStholo	* log.c: ditto
680*43c1707eStholo	* login.c: ditto
681*43c1707eStholo	* logmsg.c: ditto
682*43c1707eStholo	* main.c: ditto
683*43c1707eStholo	* mkmodules.c: ditto
684*43c1707eStholo	* modules.c: ditto
685*43c1707eStholo	* parseinfo.c: ditto
686*43c1707eStholo	* patch.c: ditto
687*43c1707eStholo	* rcs.c: ditto
688*43c1707eStholo	* recurse.c: ditto
689*43c1707eStholo	* release.c: ditto
690*43c1707eStholo	* remove.c: ditto
691*43c1707eStholo	* repos.c: ditto
692*43c1707eStholo	* rtag.c: ditto
693*43c1707eStholo	* server.c: ditto
694*43c1707eStholo	* status.c: ditto
695*43c1707eStholo	* tag.c: ditto
696*43c1707eStholo	* update.c: ditto
697*43c1707eStholo	* version.c: ditto
698*43c1707eStholo	* watch.c: ditto
699*43c1707eStholo	* wrapper.c: ditto
700*43c1707eStholo
701*43c1707eStholo2001-01-05  Derek Price  <derek.price@openavenue.com>
702*43c1707eStholo
703*43c1707eStholo	* cvs.h (enum CVSmethod): add null_method
704*43c1707eStholo	* root.c (method_names): correlate null_method & "undefined"
705*43c1707eStholo	(parse_cvsroot): make two error cases non fatal
706*43c1707eStholo	* sanity.sh (crerepos-6b): account for new error message, re above
707*43c1707eStholo
708*43c1707eStholo2001-01-05  Derek Price  <derek.price@openavenue.com>
709*43c1707eStholo
710*43c1707eStholo	* src/Makefile.am (cvsbug, cvsbug_EXTRA_DIST, EXTRA_DIST): move cvsbug
711*43c1707eStholo	target to configure.in - see ../ChangeLog for more
712*43c1707eStholo	* src/cvsbug.in: Rename from cvsbug.sh
713*43c1707eStholo	* src/cvsbug.sh: Rename to cvsbug.in
714*43c1707eStholo
715*43c1707eStholo2001-01-04  Larry Jones  <larry.jones@sdrc.com>
716*43c1707eStholo
717*43c1707eStholo	* Makefile.am (cvsbug): Explicitly list input file ($< is only
718*43c1707eStholo	valid in inference rules).
719*43c1707eStholo	* Makefile.in: Ditto.
720*43c1707eStholo
721*43c1707eStholo2001-01-04  Derek Price  <derek.price@openavenue.com>
722*43c1707eStholo
723*43c1707eStholo	* sanity.sh: use getopts rather than getopt for portability reasons
724*43c1707eStholo
725*43c1707eStholo2001-01-03  Derek Price  <derek.price@openavenue.com>
726*43c1707eStholo
727*43c1707eStholo	* Makefile.am (remotecheck): depend on 'all'
728*43c1707eStholo	* Makefile.in: regenerated
729*43c1707eStholo
730*43c1707eStholo2000-12-29  Derek Price  <derek.price@openavenue.com>
731*43c1707eStholo
732*43c1707eStholo	* sanity.sh: remove explicit "$@" from last checkin and move the 'do'
733*43c1707eStholo	to the line following the 'for'.  Apparently this is more portable.
734*43c1707eStholo
735*43c1707eStholo2000-12-29  Derek Price  <derek.price@openavenue.com>
736*43c1707eStholo
737*43c1707eStholo	* sanity.sh: make "$@" explicit in 'for' statement since Solaris 5.6's
738*43c1707eStholo	implementation of Bourne shell doesn't seem to implement this default
739*43c1707eStholo	behavior.
740*43c1707eStholo
741*43c1707eStholo2000-12-27  Derek Price  <derek.price@openavenue.com>
742*43c1707eStholo
743*43c1707eStholo	* sanity.sh: add a -f option for continuing from a particular test
744*43c1707eStholo	and shorten --keep to -k so we can use the getopt function.
745*43c1707eStholo
746*43c1707eStholo2000-12-27  Derek Price  <derek.price@openavenue.com>
747*43c1707eStholo
748*43c1707eStholo	* Makefile.am (remotecheck): Make remotecheck dependant on all
749*43c1707eStholo	* Makefile.in: regenerated
750*43c1707eStholo
751*43c1707eStholo2000-12-26  Derek Price  <derek.price@openavenue.com>
752*43c1707eStholo
753*43c1707eStholo	* Makefile.in: update timestamp
754*43c1707eStholo	* stamp-h2.in: ditto
755*43c1707eStholo	* version.c: ditto
756*43c1707eStholo
757*43c1707eStholo2000-12-26  Derek Price  <derek.price@openavenue.com>
758*43c1707eStholo
759*43c1707eStholo	* Makefile.am: new target for version.c
760*43c1707eStholo	(EXTRA_DIST): add version.c.in & version.c so builds work when
761*43c1707eStholo	configure doesn't
762*43c1707eStholo	* Makefile.in: Regenerated
763*43c1707eStholo	* stamp-h2.in: update timestamp
764*43c1707eStholo	* version.c: ditto
765*43c1707eStholo
766*43c1707eStholo2000-12-26  Derek Price  <derek.price@openavenue.com>
767*43c1707eStholo
768*43c1707eStholo	* Makefile.am (INCLUDES): add zlib
769*43c1707eStholo	* Makefile.in: Regenerated
770*43c1707eStholo
771*43c1707eStholo2000-12-22  Derek Price  <derek.price@openavenue.com>
772*43c1707eStholo
773*43c1707eStholo	* Makefile.am (DISTCLEANFILES): added a few files
774*43c1707eStholo	(INCLUDES): commented
775*43c1707eStholo        * Makefile.in: Regenerated
776*43c1707eStholo
777*43c1707eStholo2000-12-21  Derek Price  <derek.price@openavenue.com>
778*43c1707eStholo
779*43c1707eStholo	* .cvsignore: Added .deps directory and a new stamp file
780*43c1707eStholo	* Makefile.am: New file needed by Automake
781*43c1707eStholo	* Makefile.in: Regenerated
782*43c1707eStholo	* stamp-h2.in: New stamp file created by Automake
783*43c1707eStholo	* version.c.in: use configure to generate version.c
784*43c1707eStholo
785*43c1707eStholo2000-12-16  Derek Price  <derek.price@openavenue.com>
786*43c1707eStholo
787*43c1707eStholo	* server.c (server_update): Keep the vers structure up to date after
788*43c1707eStholo	sending a Remove or Remove-entry command to the client
789*43c1707eStholo	* update.c (update): remove call to server_updated() after
790*43c1707eStholo	scratch_file()
791*43c1707eStholo	(scratch_file): in server mode, call server_updated(), otherwise keep
792*43c1707eStholo	the vers structure up to date
793*43c1707eStholo	(join_file): add a trace, save the revision to Register() on a remove
794*43c1707eStholo	before calling server_scratch & server_updated
795*43c1707eStholo	* sanity.sh (join): Add test for a remove/add caused by an update
796*43c1707eStholo	to a new branch and a join in the same step.
797*43c1707eStholo
798*43c1707eStholo2000-12-15  Larry Jones  <larry.jones@sdrc.com>
799*43c1707eStholo
800*43c1707eStholo	* error.c (error): Add %ld and %lu.
801*43c1707eStholo
802*43c1707eStholo	* history.c: Change hrec.idx from int to long, reformat NEXT_BAR
803*43c1707eStholo	for readability, add hrec_idx.
804*43c1707eStholo	(fill_hrec): Change initialization to be portable and always set
805*43c1707eStholo	idx so it can be used as a line number in error messages; improve
806*43c1707eStholo	parsing and error checking.
807*43c1707eStholo	(read_hrecs): Initialize hrec_idx, handle embedded NULs, warn about
808*43c1707eStholo	no newline at end of file.
809*43c1707eStholo	(select_hrec): Add basic validity checking.
810*43c1707eStholo
811*43c1707eStholo2000-12-07  Larry Jones  <larry.jones@sdrc.com>
812*43c1707eStholo
813*43c1707eStholo	* history.c (history): Allow multiple -m options as documented.
814*43c1707eStholo
815*43c1707eStholo2000-11-29  Derek Price  <derek.price@openavenue.com>
816*43c1707eStholo
817*43c1707eStholo	* root.c (parse_cvsroot): back out yesterday's redundant changes
818*43c1707eStholo	* main.c (main): fix CVSROOT trace message to look like other trace
819*43c1707eStholo	messages
820*43c1707eStholo	* sanity.sh (multiroot2-9): expect new trace message
821*43c1707eStholo
822*43c1707eStholo2000-11-28  Derek Price  <derek.price@openavenue.com>
823*43c1707eStholo
824*43c1707eStholo	* root.c (parse_cvsroot): add trace on this function
825*43c1707eStholo	* client.c (get_port_number): make trace print look like others
826*43c1707eStholo
827*43c1707eStholo2000-11-16  Derek Price  <derek.price@openavenue.com>
828*43c1707eStholo
829*43c1707eStholo	* filesubr.c (cvs_temp_file): back out the previous change in the
830*43c1707eStholo	interests of portability, add an assertion, and fix the header comment
831*43c1707eStholo
832*43c1707eStholo2000-11-16  Derek Price  <derek.price@openavenue.com>
833*43c1707eStholo
834*43c1707eStholo	* filesubr.c (cvs_temp_file): refine the exit behavior to notice if
835*43c1707eStholo	the out param was passed in NULL and, if so, avoid setting it and delete
836*43c1707eStholo	the temp file for later
837*43c1707eStholo
838*43c1707eStholo2000-11-16  Derek Price  <derek.price@openavenue.com>
839*43c1707eStholo
840*43c1707eStholo	* filesubr.c (cvs_temp_file): fixed a garble or two, added some
841*43c1707eStholo	additional error checking, and added a comment
842*43c1707eStholo
843*43c1707eStholo2000-11-15  Derek Price  <derek.price@openavenue.com>
844*43c1707eStholo
845*43c1707eStholo	* filesubr.c (cvs_temp_file): added cvs_temp_file
846*43c1707eStholo	function to use mkstemp rather than one of the other temp file
847*43c1707eStholo	generators as gcc keeps complaining I should.
848*43c1707eStholo	(cvs_temp_name): altered this function to simply wrap cvs_temp_file
849*43c1707eStholo	and deprecated it
850*43c1707eStholo	* cvs.h: added prototype for cvs_temp_file
851*43c1707eStholo	* commit.c (commit): use the new function instead of the old and plug
852*43c1707eStholo	an old (though related) memory leak.
853*43c1707eStholo	* import.c (import): use the new function
854*43c1707eStholo	* login.c (login): Ditto
855*43c1707eStholo	* logmsg.c (do_editor, do_verify): Ditto
856*43c1707eStholo	* patch.c (patch_fileproc): Ditto
857*43c1707eStholo
858*43c1707eStholo2000-11-14  Larry Jones  <larry.jones@sdrc.com>
859*43c1707eStholo
860*43c1707eStholo	* update.c, update.h (do_update): Add xdotemplate parameter.
861*43c1707eStholo	Change all callers.
862*43c1707eStholo	(update_dirent_proc): Use dotemplate for Create_Admin, not 1.
863*43c1707eStholo	* checkout.c (checkout_proc): Don't create CVS/Template if
864*43c1707eStholo	exporting.
865*43c1707eStholo	(Reported by Andrey Podkolzin <mdh@zenon.net>.)
866*43c1707eStholo
867*43c1707eStholo2000-11-08  Larry Jones  <larry.jones@sdrc.com>
868*43c1707eStholo
869*43c1707eStholo	* admin.c (admin): Use getgroups() to check for membership in
870*43c1707eStholo	CVS_ADMIN_GROUP if it exists.  In any event, check the user's
871*43c1707eStholo	primary group in addition to any additional groups.
872*43c1707eStholo	(Reported by Thomas Okken <TOkken@refco.com>.)
873*43c1707eStholo
874*43c1707eStholo2000-11-06  Jim Meyering  <meyering@lucent.com>
875*43c1707eStholo
876*43c1707eStholo	Compile with gcc's -Wformat and fix the exposed problems.
877*43c1707eStholo	* root.c (parse_cvsroot) [! HAVE_KERBEROS]: Provide an argument
878*43c1707eStholo	for the %s error format spec.
879*43c1707eStholo	[! HAVE_GSSAPI]: Likewise.
880*43c1707eStholo	(normalize_cvsroot): Put comment delimiters around token after `#endif'.
881*43c1707eStholo
882*43c1707eStholo2000-11-03  Larry Jones  <larry.jones@sdrc.com>
883*43c1707eStholo
884*43c1707eStholo	* sanity.sh: Some versions of sed require a space between -e and
885*43c1707eStholo	the value.
886*43c1707eStholo
887*43c1707eStholo2000-10-27  Larry Jones  <larry.jones@sdrc.com>
888*43c1707eStholo
889*43c1707eStholo	* checkout.c (checkout): Don't check for a safe location if just
890*43c1707eStholo	cat'ing the module database.
891*43c1707eStholo	(Reported by Ilya Martynov <m_ilya@agava.com>.)
892*43c1707eStholo	Have -s set cat as well as status; it simplifies the code.
893*43c1707eStholo
894*43c1707eStholo2000-10-26  Larry Jones  <larry.jones@sdrc.com>
895*43c1707eStholo
896*43c1707eStholo	* sanity.sh (join-admin-2): Check output from all commands instead
897*43c1707eStholo	of (mostly) discarding.  (Some of the tests used to produce stray
898*43c1707eStholo	output in remote mode.)
899*43c1707eStholo
900*43c1707eStholo	* sanity.sh (dotest_line_by_line): Handle empty lines in pattern
901*43c1707eStholo	(expr doesn't distingish between successfully matching nothing
902*43c1707eStholo	and failing to match anything).
903*43c1707eStholo
904*43c1707eStholo	* sanity.sh (dotest_internal): Rearrange and use elif to simplify.
905*43c1707eStholo
906*43c1707eStholo2000-10-24  Jim Meyering  <meyering@lucent.com>
907*43c1707eStholo
908*43c1707eStholo	Fix a bug, introduced with my fix of 2000-07-10, whereby -kk would
909*43c1707eStholo	sometimes be ignored for some of the files involved in an update.
910*43c1707eStholo
911*43c1707eStholo	* update.c (join_file): Restore the original value of `options'
912*43c1707eStholo	right after calling checkout_file.
913*43c1707eStholo	* sanity.sh (join-admin-2): New test for this.
914*43c1707eStholo
915*43c1707eStholo2000-10-23  Derek Price  <derek.price@openavenue.com>
916*43c1707eStholo            James Youngman  <jay@gnu.org>
917*43c1707eStholo
918*43c1707eStholo	* sanity.sh: it's /gnu/bin, not /gun/bin.  Thanks go to James Youngman
919*43c1707eStholo	<jay@gnu.org> for the bug report and patch.
920*43c1707eStholo
921*43c1707eStholo2000-10-20  Jim Kingdon  <http://sourceforge.net/users/kingdon/>
922*43c1707eStholo
923*43c1707eStholo	* server.c (switch_to_user): Set CVS_USER.  Patch from Sudish
924*43c1707eStholo	Joseph and popularized by dozens (e.g. mozilla.org, also others).
925*43c1707eStholo
926*43c1707eStholo2000-10-20  Derek Price  <derek.price@openavenue.com>
927*43c1707eStholo            KOIE Hidetaka  <hide@koie.org>
928*43c1707eStholo
929*43c1707eStholo	* root.c (normalize_cvsroot): plug a memory leak.  Thanks to
930*43c1707eStholo	KOIE Hidetaka <hide@koie.org>
931*43c1707eStholo
932*43c1707eStholo2000-10-18  Derek Price  <derek.price@openavenue.com>
933*43c1707eStholo
934*43c1707eStholo	* client.c (connect_to_pserver): added a close brace the lack of which
935*43c1707eStholo	was preventing compilation when gssapi was enabled.  Removed a
936*43c1707eStholo	redundant check for HAVE_KERBEROS.
937*43c1707eStholo
938*43c1707eStholo2000-10-18  Derek Price  <derek.price@openavenue.com>
939*43c1707eStholo
940*43c1707eStholo	* root.c (normalize_cvsroot): removed references to free_port_s and the
941*43c1707eStholo	now useless call to free now that port_s is on the stack.  Thanks to
942*43c1707eStholo	Jon Miner.
943*43c1707eStholo
944*43c1707eStholo2000-10-18  Derek Price  <derek.price@openavenue.com>
945*43c1707eStholo
946*43c1707eStholo	* root.c (normalize_cvsroot): remove calls to snprintf for
947*43c1707eStholo	compatibility with M$ Windoze.
948*43c1707eStholo
949*43c1707eStholo2000-10-18  Derek Price  <derek.price@openavenue.com>
950*43c1707eStholo
951*43c1707eStholo	* sanity.sh (crerepos-6a, crerepos-6a-r): fix a "?" in a regex & pipe
952*43c1707eStholo	the output of a test to /dev/null since we don't know what error
953*43c1707eStholo	messages specific rsh implementations will output.
954*43c1707eStholo
955*43c1707eStholo2000-10-17  Derek Price  <derek.price@openavenue.com>
956*43c1707eStholo
957*43c1707eStholo	* cvs.h: added CVSroot_password variable. Provided prototypes for
958*43c1707eStholo	get_port_number & normalize_cvsroot.
959*43c1707eStholo	* client.c (get_port_number): Fixed an ANSI prototype I had included
960*43c1707eStholo	for get_port_number.
961*43c1707eStholo	* login.c (login, logout): Removed two checks for a non-null
962*43c1707eStholo	CVSroot_username since parse_cvsroot now supplies a default in pserver
963*43c1707eStholo	mode. allow for a password in CVSROOT
964*43c1707eStholo	(get_cvs_passsword): return CVSroot_password if it was supplied
965*43c1707eStholo	in the CVSROOT.
966*43c1707eStholo	* root.c (parse_cvsroot): Changed CVSROOT spec from
967*43c1707eStholo	:method:user@host/port:/cvsroot to
968*43c1707eStholo	:method:[[user][:password]@]host[:[port]]/cvsroot
969*43c1707eStholo	Removed the xstrdup function since we'd rather have the error checking
970*43c1707eStholo	from the version in subr.c anyhow.  Moved some error messages which
971*43c1707eStholo	looked like they would print the wrong error message after a failed
972*43c1707eStholo	connect_to_gserver call.
973*43c1707eStholo	(normalize_cvsroot): return a normalized CVSROOT for use in the
974*43c1707eStholo	.cvspass file.
975*43c1707eStholo	* sanity.sh (crerepos-6): fix a test which was expecting an old error
976*43c1707eStholo	message.
977*43c1707eStholo
978*43c1707eStholo	* client.c (connect_to_pserver): Moved some error messages which looked like they
979*43c1707eStholo	would print the wrong error message after a failed connect_to_gserver
980*43c1707eStholo	call.
981*43c1707eStholo
982*43c1707eStholo	* login.c (login): Paranoiacly zero a password in memory.
983*43c1707eStholo
984*43c1707eStholo2000-10-12  Derek Price  <derek.price@openavenue.com>
985*43c1707eStholo
986*43c1707eStholo	* client.c (auth_server_port_number -> get_port_number, start_pserver,
987*43c1707eStholo	start_tcp_server): use a port specified in CVSROOT instead of the
988*43c1707eStholo	default port.  Failing that, use the CVS_CLIENT_PORT environment
989*43c1707eStholo	variable.
990*43c1707eStholo	* cvs.h: Added global CVSroot_port & renamed auth_server_port_number.
991*43c1707eStholo	* root.c (parse_cvsroot): Parse the new CVSROOT format properly.
992*43c1707eStholo	Incidentally reformated some error messages for uniformity and
993*43c1707eStholo	readability.
994*43c1707eStholo	* sanity.sh (crerepos): fix two tests which were now expecting the
995*43c1707eStholo	wrong error message.
996*43c1707eStholo
997*43c1707eStholo2000-10-11  Larry Jones  <larry.jones@sdrc.com>
998*43c1707eStholo
999*43c1707eStholo	* server.c (pserver_authenticate_connection): Fix stupid mistake
1000*43c1707eStholo	in previous change.
1001*43c1707eStholo
1002*43c1707eStholo2000-10-11  Derek Price  <derek.price@openavenue.com>
1003*43c1707eStholo
1004*43c1707eStholo	* main.c (main): Dispose old CVSroot when parsing a '-d' option if
1005*43c1707eStholo	free_CVSroot is set.
1006*43c1707eStholo	* root.c (parse_cvsroot): remove references to 'cvsroot_parsed', a
1007*43c1707eStholo	static boolean I expect hasn't been used since CVS learned to handle
1008*43c1707eStholo	multiple CVSROOTs.
1009*43c1707eStholo
1010*43c1707eStholo2000-10-10  Larry Jones  <larry.jones@sdrc.com>
1011*43c1707eStholo
1012*43c1707eStholo	* server.c (print_error): Make up a message if strerror fails.
1013*43c1707eStholo
1014*43c1707eStholo	* server.c (pserver_authenticate_connection): Give a real error
1015*43c1707eStholo	message for an invalid repository.
1016*43c1707eStholo
1017*43c1707eStholo2000-10-06  Derek Price  <derek.price@openavenue.com>
1018*43c1707eStholo
1019*43c1707eStholo	* add.c (add): Made quiet mode affect some warning messages as seemed
1020*43c1707eStholo	appropriate.  Specifically, some of the messages which a user might
1021*43c1707eStholo	want to ignore so they don't have to be quite so specific on the
1022*43c1707eStholo	command line: files added twice, files already in the repository and
1023*43c1707eStholo	check out properly (i.e. but picked up by 'cvs add *'), & files which
1024*43c1707eStholo	are readded in place of a dead revision or onto a branch.  '-q' will
1025*43c1707eStholo	not change the non-zero exit code for the cases where at least one
1026*43c1707eStholo	passed in file name was already in the Entries file.  There seems to
1027*43c1707eStholo	be a precedent in remove.c.
1028*43c1707eStholo	* remove.c (cvsremove): switched the "use cvs ci to make these changes
1029*43c1707eStholo	permanent message" to only print w/o '-Q' to match the new behavior of
1030*43c1707eStholo	add.  This seems appropriate as '-Q' is defined to restrict messages
1031*43c1707eStholo	to critical errors.
1032*43c1707eStholo	* sanity.sh (adderrmsg): Added some tests for the above behavior.
1033*43c1707eStholo
1034*43c1707eStholo2000-10-05  Larry Jones  <larry.jones@sdrc.com>
1035*43c1707eStholo
1036*43c1707eStholo	* client.c (call_in_directory): Create CVSADM directory if it doesn't
1037*43c1707eStholo	exist in the directory.  This makes client/server work more like
1038*43c1707eStholo	standalone when checking out into an existing (non-CVS) directory.
1039*43c1707eStholo	* sanity.sh (dirs2, conflicts3, toplevel): Update to match.
1040*43c1707eStholo
1041*43c1707eStholo2000-10-03  Larry Jones  <larry.jones@sdrc.com>
1042*43c1707eStholo
1043*43c1707eStholo	* filesubr.c (get_homedir): Ignore $HOME when running in server mode.
1044*43c1707eStholo
1045*43c1707eStholo2000-10-02  Larry Jones  <larry.jones@sdrc.com>
1046*43c1707eStholo
1047*43c1707eStholo	* cvs.h: Define (and use) T_PATCH as a valid file classification
1048*43c1707eStholo	even when SERVER_SUPPORT isn't defined -- it simplifies the code.
1049*43c1707eStholo	* classify.c (Classify_File): Ditto.
1050*43c1707eStholo	* commit.c (check_fileproc): Ditto.
1051*43c1707eStholo	* status.c (status_fileproc): Ditto.
1052*43c1707eStholo	* update.c (update_fileproc): Ditto.
1053*43c1707eStholo	* tag.c (check_fileproc): Accept T_PATCH in addition to T_CHECKOUT.
1054*43c1707eStholo	* sanity.sh (tagc-10): Update to match.
1055*43c1707eStholo
1056*43c1707eStholo2000-09-29  Larry Jones  <larry.jones@sdrc.com>
1057*43c1707eStholo
1058*43c1707eStholo	* client.c (get_responses_and_close): Reset server_fd to -1 after
1059*43c1707eStholo	shutting down.
1060*43c1707eStholo	(Reported by Joerg Thoennes <Joerg.Thoennes@data-sciences.de>.)
1061*43c1707eStholo
1062*43c1707eStholo2000-09-27  Larry Jones  <larry.jones@sdrc.com>
1063*43c1707eStholo
1064*43c1707eStholo	* commit.c (commit): Don't sleep before returning in server mode,
1065*43c1707eStholo	just let the client do it.
1066*43c1707eStholo	* update.c (do_update): Ditto.
1067*43c1707eStholo
1068*43c1707eStholo	* sanity.sh (find_tool): Correct method of checking for GNU tools.
1069*43c1707eStholo
1070*43c1707eStholo	* checkout.c (checkout_proc): Match up user directories with
1071*43c1707eStholo	repository directories instead of using Emptydir.
1072*43c1707eStholo	* sanity.sh (cvsadm, emptydir): Update to match.
1073*43c1707eStholo
1074e77048c1Stholo2000-09-19  Larry Jones  <larry.jones@sdrc.com>
1075e77048c1Stholo
1076*43c1707eStholo	* version.c: Push version number to 1.11.0.1.
1077*43c1707eStholo
1078e77048c1Stholo	* version.c: Version 1.11.
1079e77048c1Stholo
1080e77048c1Stholo2000-09-07  Larry Jones  <larry.jones@sdrc.com>
1081e77048c1Stholo
1082e77048c1Stholo	* Makefile.in: Use @bindir@, @libdir@, @infodir@, and @mandir@
1083e77048c1Stholo	from autoconf.
1084e77048c1Stholo
1085e77048c1Stholo2000-08-23  Larry Jones  <larry.jones@sdrc.com>
1086e77048c1Stholo
1087e77048c1Stholo	* mkmodules.c (init): Create an empty val-tags file if it doesn't
1088e77048c1Stholo	already exist to avoid problems with users not having sufficient
1089e77048c1Stholo	permissions to create it later.
1090e77048c1Stholo
1091e77048c1Stholo2000-09-06  Jim Kingdon  <jkingdon@dhcp-net200-89.su.valinux.com>
1092e77048c1Stholo
1093e77048c1Stholo	* main.c (lookup_command_attribute): Add "release" to commands
1094e77048c1Stholo	which can be done by a read-only user.
1095e77048c1Stholo
1096e77048c1Stholo2000-08-23  Larry Jones  <larry.jones@sdrc.com>
1097e77048c1Stholo
1098e77048c1Stholo	* repos.c (Name_Repository): Use pathname_levels to detect attempts
1099e77048c1Stholo	to get above the repository instead of checking for leading ..
1100e77048c1Stholo	which isn't reliable.
1101e77048c1Stholo	* sanity.sh (multiroot3-12 to multiroot3-15): New tests for above.
1102e77048c1Stholo
1103e77048c1Stholo2000-08-21  Larry Jones  <larry.jones@sdrc.com>
1104e77048c1Stholo
1105e77048c1Stholo	* rcs.c (expand_keywords): Handle the unusual case of log == NULL.
1106e77048c1Stholo	(Reported by Craig Metz <cmetz@inner.net>.)
1107e77048c1Stholo
1108e77048c1Stholo2000-08-01  Larry Jones  <larry.jones@sdrc.com>
1109e77048c1Stholo
1110e77048c1Stholo	* subr.c (pathname_levels): Fix bug that miscounts adjacent
1111e77048c1Stholo	slashes.
1112e77048c1Stholo	(Patch submitted by Tanaka Akira <akr@m17n.org>.)
1113e77048c1Stholo
1114e77048c1Stholo	* loginc.c (login): If available, use getpassphrase instead of
1115e77048c1Stholo	getpass to support long passwords on Solaris.
1116e77048c1Stholo
1117e77048c1Stholo2000-07-28  Larry Jones  <larry.jones@sdrc.com>
1118e77048c1Stholo
1119e77048c1Stholo	* server.c (server_noop): Avoid do_cvs_command() overhead.
1120e77048c1Stholo	(requests): Make noop RQ_ROOTLESS.
1121e77048c1Stholo
1122e77048c1Stholo2000-07-27  Noel Cragg  <noel@red-bean.com>
1123e77048c1Stholo
1124e77048c1Stholo	* root.c (parse_cvsroot): change fork method to behave like other
1125e77048c1Stholo	remote methods -- let the server check that the repository
1126e77048c1Stholo	directory is an absolute pathname.
1127e77048c1Stholo
1128e77048c1Stholo2000-07-27  Larry Jones  <larry.jones@sdrc.com>
1129e77048c1Stholo
1130e77048c1Stholo	* lock.c (set_lock): Include actual lock directory in error message.
1131e77048c1Stholo	* sanity.sh (multiroot3-10): Change to match.
1132e77048c1Stholo
1133e77048c1Stholo	* sanity.sh (client-3): Allow for a potential "broken pipe".
1134e77048c1Stholo
1135e77048c1Stholo2000-07-26  Larry Jones  <larry.jones@sdrc.com>
1136e77048c1Stholo
1137e77048c1Stholo	* commit.c (commit_filesdoneproc): Flush stdout before running script.
1138e77048c1Stholo	* modules.c (do_module): Ditto.
1139e77048c1Stholo	* update.c (update_dirleave_proc): Ditto.
1140e77048c1Stholo	* server.c (do_cvs_command): Give input from the protocol pipe
1141e77048c1Stholo	precedence over input from stdout/stderr.  There's no particularly
1142e77048c1Stholo	good justification for this other than helping to avoid out-of-order
1143e77048c1Stholo	messages in sanity.sh.
1144e77048c1Stholo
1145e77048c1Stholo	* admin.c (admin_usage): Add the supported options.
1146e77048c1Stholo
1147e77048c1Stholo	* sanity.sh (info): Try to avoid out-of-order messages.
1148e77048c1Stholo
1149e77048c1Stholo	* sanity.sh (info): Fix problems when running twice in a row.
1150e77048c1Stholo
1151e77048c1Stholo2000-07-17  Larry Jones  <larry.jones@sdrc.com>
1152e77048c1Stholo
1153e77048c1Stholo	* sanity.sh (modules5-7, cvsadm-1e, emptydir-2): Allow for a nil
1154e77048c1Stholo	commit (can happen if the test is run twice in a row).
1155e77048c1Stholo
1156e77048c1Stholo2000-07-19  Pavel Roskin  <proski@gnu.org>
1157e77048c1Stholo	and Larry Jones  <larry.jones@sdrc.com>
1158e77048c1Stholo
1159e77048c1Stholo	* mkmodules.c (config_contents): Add a commented out example for
1160e77048c1Stholo	LockDir. Don't suggest PreservePermissions unless it's enabled.
1161e77048c1Stholo
1162e77048c1Stholo2000-07-17  Larry Jones  <larry.jones@sdrc.com>
1163e77048c1Stholo
1164e77048c1Stholo	* login.c (get_cvs_password): Handle malformed ~/.cvspass more
1165e77048c1Stholo	gracefully.
1166e77048c1Stholo
1167e77048c1Stholo2000-07-12  Larry Jones  <larry.jones@sdrc.com>
1168e77048c1Stholo
1169e77048c1Stholo	* sanity.sh (modules5): New tests for module programs.
1170e77048c1Stholo
1171e77048c1Stholo2000-07-11  Larry Jones  <larry.jones@sdrc.com>
1172e77048c1Stholo
1173e77048c1Stholo	* filesubr.c (copy_file, xcmp): Handle systems (like Plan 9) that
1174e77048c1Stholo	don't support mknod() and/or st_rdev.
1175e77048c1Stholo	* import.c (add_rcs_file): Ditto.
1176e77048c1Stholo	* rcs.c (RCS_checkout, RCS_checkin): Ditto.
1177e77048c1Stholo	* update.c (special_file_mismatch): Ditto.
1178e77048c1Stholo
1179e77048c1Stholo2000-07-10  Larry Jones  <larry.jones@sdrc.com>
1180e77048c1Stholo
1181e77048c1Stholo	* zlib.c (gunzip_and_write): Fix type clashes.
1182e77048c1Stholo
1183e77048c1Stholo	* main.c (main): Remove unused variables.
1184e77048c1Stholo
1185e77048c1Stholo2000-07-10  Jim Meyering  <meyering@lucent.com>
1186e77048c1Stholo
1187e77048c1Stholo	When a command like `cvs update -kk -jT1 -jT2' creates a new file
1188e77048c1Stholo	(because it had the T2 tag, but not T1), the subsequent commit of
1189e77048c1Stholo	that just-added file would effectively set the admin `-kk' option
1190e77048c1Stholo	for that file in the repository.
1191e77048c1Stholo
1192e77048c1Stholo	* update.c (join_file): Rename global-shadowing local `options'
1193e77048c1Stholo	to `t_options'.
1194e77048c1Stholo	Set file-scoped global `options' to NULL just before
1195e77048c1Stholo	check-out.
1196e77048c1Stholo	* sanity.sh (join-admin): New test for this.
1197e77048c1Stholo
1198e77048c1Stholo2000-07-08  Larry Jones  <larry.jones@sdrc.com>
1199e77048c1Stholo
1200e77048c1Stholo	* version.c, cvs.h (version): New function.
1201e77048c1Stholo	* main.c (cmds[]): Add version command to invoke it.
1202e77048c1Stholo	(main): Also use it in -v.
1203e77048c1Stholo	* server.c (serve_version): New function.
1204e77048c1Stholo	(requests[]): Add version command to invoke it.
1205e77048c1Stholo
1206e77048c1Stholo2000-07-06  Karl Fogel  <kfogel@red-bean.com>
1207e77048c1Stholo
1208e77048c1Stholo	* sanity.sh (pserver-14): remove this test for portability
1209e77048c1Stholo	reasons (it was only recently added for the 2000-07-04 change).
1210e77048c1Stholo
1211e77048c1Stholo2000-07-06  Larry Jones  <larry.jones@sdrc.com>
1212e77048c1Stholo
1213e77048c1Stholo	sanity.sh (modules-148): Don't test for specific revisions.
1214e77048c1Stholo
1215e77048c1Stholo	* main.c (main): Catch SIGABRT to try to clean up after assertion
1216e77048c1Stholo	failures.  Don't bother SIG_register'ing Lock_Cleanup because
1217e77048c1Stholo	main_cleanup calls it indirectly anyway.
1218e77048c1Stholo	* patch.c (patch): Catch SIGABRT.
1219e77048c1Stholo	* rcs.c (rcs_internal_lockfile): Ditto.
1220e77048c1Stholo	* server.c (server): Ditto.
1221e77048c1Stholo
1222e77048c1Stholo	* fileattr.c (fileattr_write): Don't delete the unrecog_head list
1223e77048c1Stholo	when writing...
1224e77048c1Stholo	(fileattr_free): Delete it when freeing!
1225e77048c1Stholo
1226e77048c1Stholo2000-07-05  Larry Jones  <larry.jones@sdrc.com>
1227e77048c1Stholo
1228e77048c1Stholo	* admin.c (admin): Handle -t in client so reading from files works
1229e77048c1Stholo	correctly in client/server mode.
1230e77048c1Stholo	* sanity.sh (log2): Update to match.
1231e77048c1Stholo
1232e77048c1Stholo2000-07-04  Karl Fogel  <kfogel@red-bean.com>
1233e77048c1Stholo
1234e77048c1Stholo	* server.c (pserver_authenticate_connection): use new
1235e77048c1Stholo	getline_safe() during authentication phase, to avoid a
1236e77048c1Stholo	denial-of-service attack in which client sends arbitrary
1237e77048c1Stholo	amounts of data with no newlines.
1238e77048c1Stholo	(Reported by <jpmg@eng.cam.ac.uk>.)
1239e77048c1Stholo
1240e77048c1Stholo	* sanity.sh: new test pserver-14 for above.
1241e77048c1Stholo
1242e77048c1Stholo	* myndbm.c: #include getline.h.
1243e77048c1Stholo	(mydbm_load_file): pass new GETLINE_NO_LIMIT flag to getstr().
1244e77048c1Stholo
1245e77048c1Stholo2000-07-03  Larry Jones  <larry.jones@sdrc.com>
1246e77048c1Stholo
1247e77048c1Stholo	* sanity.sh (modules): Rewrite using dotest.  Add "modules-"
1248e77048c1Stholo	prefix to test names.
1249e77048c1Stholo
1250e77048c1Stholo2000-06-28  Larry Jones  <larry.jones@sdrc.com>
1251e77048c1Stholo
1252e77048c1Stholo	* error.c (error_exit): Call rcs_cleanup () to release any rcs locks.
1253e77048c1Stholo	* rcs.c, rcs.h (rcs_cleanup): Make public, close file before trying
1254e77048c1Stholo	to remove (some systems won't remove open files).
1255e77048c1Stholo	(RCS_putdtree): Don't worry about cleaning up before call error
1256e77048c1Stholo	since it now does it for us.
1257e77048c1Stholo	(rcs_internal_lockfile, rcs_internal_unlockfile): Keep track of
1258e77048c1Stholo	lock file fd for rcs_cleanup ().
1259e77048c1Stholo
1260e77048c1Stholo	* client.c (handle_set_checkin_prog, handle_set_update_prog):
1261e77048c1Stholo	Just ignore the request when exporting.
1262e77048c1Stholo
1263e77048c1Stholo2000-06-27  Larry Jones  <larry.jones@sdrc.com>
1264e77048c1Stholo
1265e77048c1Stholo	* create_adm.c, cvs.h (Create_Admin): Add dotemplate argument.
1266e77048c1Stholo	Change all callers.
1267e77048c1Stholo	* checkout.c (checkout_proc): Don't create CVS/Template if
1268e77048c1Stholo	exporting.
1269e77048c1Stholo
1270e77048c1Stholo2000-06-26  Pavel Roskin <proski@gnu.org>
1271e77048c1Stholo	and Larry Jones  <larry.jones@sdrc.com>
1272e77048c1Stholo
1273e77048c1Stholo	* server.c (switch_to_user): Only set CVS_Username if
1274e77048c1Stholo	AUTH_SERVER_SUPPORT is defined.
1275e77048c1Stholo
1276e77048c1Stholo2000-06-23  Larry Jones  <larry.jones@sdrc.com>
1277e77048c1Stholo
1278e77048c1Stholo	* client.c (send_dirent_proc): Don't allocate ignlist if you're
1279e77048c1Stholo	going to skip the directory (plugs memory leak).
1280e77048c1Stholo	(send_dirleave_proc): New function.
1281e77048c1Stholo	(send_files): Use it (plugs memory leak).
1282e77048c1Stholo	* root.c (root_allow_free): Plug memory leaks.
1283e77048c1Stholo	* server.c (serve_directory, serve_notify, check_password,
1284e77048c1Stholo	pserver_authenticate_connection): Ditto.
1285e77048c1Stholo	* update.c (update): Ditto.
1286e77048c1Stholo
1287e77048c1Stholo	This completes the memory leak shoot-out -- the Purify'ed version
1288e77048c1Stholo	of CVS now runs the entire test suite, both local and remote (except
1289e77048c1Stholo	for remote crerepos, which causes Purify to choke) with *no* memory
1290e77048c1Stholo	leaks.
1291e77048c1Stholo
1292e77048c1Stholo	* server.c (pserver_authenticate_connection): Don't free null pointer.
1293e77048c1Stholo
1294e77048c1Stholo2000-06-21  Larry Jones  <larry.jones@sdrc.com>
1295e77048c1Stholo
1296e77048c1Stholo	* client.c (update_entries, get_responses_and_close): Plug memory leaks.
1297e77048c1Stholo	* commit.c (find_fileproc, commit): Ditto.
1298e77048c1Stholo	* import.c (import): Ditto.
1299e77048c1Stholo	* log.c (cvslog): Ditto.
1300e77048c1Stholo	* recurse.c (start_recursion): Ditto.
1301e77048c1Stholo	* remove.c (cvsremove): Ditto.
1302e77048c1Stholo	* server.c (fd_buffer_initialize, server_notify, do_cvs_command): Ditto.
1303e77048c1Stholo	(fd_buffer_shutdown): New function.
1304e77048c1Stholo
1305e77048c1Stholo2000-06-20  Larry Jones  <larry.jones@sdrc.com>
1306e77048c1Stholo
1307e77048c1Stholo	* root.c (parse_cvsroot): Put the terminating NUL byte into the
1308e77048c1Stholo	string *before* copying it, not after. :-(
1309e77048c1Stholo
1310e77048c1Stholo2000-06-19  Larry Jones  <larry.jones@sdrc.com>
1311e77048c1Stholo
1312e77048c1Stholo	* main.c (main): Plug memory leaks.
1313e77048c1Stholo	* root.c (parse_cvsroot, set_local_cvsroot): Ditto.
1314e77048c1Stholo	* server.c (serve_root): Ditto.
1315e77048c1Stholo
1316e77048c1Stholo2000-06-16  Larry Jones  <larry.jones@sdrc.com>
1317e77048c1Stholo
1318e77048c1Stholo	* fileattr.c (fileattr_read): Plug memory leak.
1319e77048c1Stholo	* rcs.c (RCS_whatbranch): Ditto.
1320e77048c1Stholo	* update.c (update_dirleave_proc): Ditto.
1321e77048c1Stholo
1322e77048c1Stholo	* ignore.c (ign_dir_add): Duplicate string so caller can free.
1323e77048c1Stholo
1324e77048c1Stholo	* modules.c (do_module): Don't write into dbm's memory!
1325e77048c1Stholo
1326e77048c1Stholo2000-06-15  Larry Jones  <larry.jones@sdrc.com>
1327e77048c1Stholo
1328e77048c1Stholo	* checkout.c (checkout_proc): Fix non-ANSI code in call to
1329e77048c1Stholo	findslash(), minor cleanups.
1330e77048c1Stholo
1331e77048c1Stholo2000-06-14  Larry Jones  <larry.jones@sdrc.com>
1332e77048c1Stholo
1333e77048c1Stholo	* tag.c (val_direntproc): Return R_PROCESS instead of 0.
1334e77048c1Stholo
1335e77048c1Stholo	* client.c (update_entries): Fix type clash calling gunzip_and_write().
1336e77048c1Stholo	* server.c (receive_file): Fix type clash calling gunzip_and_write().
1337e77048c1Stholo	(server_updated): Fix type clash calling buf_output().
1338e77048c1Stholo	* error.c (error): Make buf char instead of unsigned char to avoid
1339e77048c1Stholo	type clashes.
1340e77048c1Stholo
1341e77048c1Stholo	* modules.c (do_module): Change callback_proc to pass argc by
1342e77048c1Stholo	value instead of by reference: callback procs shouldn't be
1343e77048c1Stholo	messing with the callers argc/argv, it makes correct memory
1344e77048c1Stholo	management impossible.  Plug memory leaks.
1345e77048c1Stholo	* cvs.h: Change to match.
1346e77048c1Stholo	* checkout.c (checkout_proc): Ditto; use a local argv array instead
1347e77048c1Stholo	of messing with caller's.
1348e77048c1Stholo	* modules.c (callback_proc): Ditto.
1349e77048c1Stholo	* patch.c (patch_proc): Ditto; use a local argv array instead
1350e77048c1Stholo	of messing with caller's.
1351e77048c1Stholo	* rtag.c (rtag_proc): Ditto; use a local argv array instead
1352e77048c1Stholo	of messing with caller's.
1353e77048c1Stholo	* server.c (expand_proc): Ditto.
1354e77048c1Stholo	* subr.c (line2argv): Change initial argv_allocated back to 1.
1355e77048c1Stholo
1356e77048c1Stholo	* checkout.c (findslash): Fix non-ANSI code.
1357e77048c1Stholo
1358e77048c1Stholo	* sanity.sh (modes3): Fix test names.
1359e77048c1Stholo
1360e77048c1Stholo2000-06-13  Larry Jones  <larry.jones@sdrc.com>
1361e77048c1Stholo
1362e77048c1Stholo	* add.c (add): Plug memory leaks.
1363e77048c1Stholo	* admin.c (admin_fileproc): Ditto.
1364e77048c1Stholo	* checkout.c (build_dirs_and_chdir): Ditto.
1365e77048c1Stholo	* edit.c (editors_fileproc): Ditto.
1366e77048c1Stholo	* log.c (cvslog, log_parse_revlist, log_parse_date): Ditto.
1367e77048c1Stholo	* rcs.c (RCS_addaccess): Ditto.
1368e77048c1Stholo	* tag.c (check_fileproc): Ditto.
1369e77048c1Stholo	* vers_ts.c (Version_TS): Ditto.
1370e77048c1Stholo	* watch.c (watchers_fileproc): Ditto.
1371e77048c1Stholo
1372e77048c1Stholo2000-06-12  Larry Jones  <larry.jones@sdrc.com>
1373e77048c1Stholo
1374e77048c1Stholo	* rcs.c (rcsbuf_valword): Set rcsbuf->vlen to keep rcsbuf_valcopy()
1375e77048c1Stholo	from allocating more memory than needed for @ strings.  Don't declare
1376e77048c1Stholo	unless PRESERVE_PERMISSIONS_SUPPORT (since not defined).
1377e77048c1Stholo
1378e77048c1Stholo	* rcs.c (RCS_abandon): New function to abandon changes.
1379e77048c1Stholo	* rcs.h: Declare it.
1380e77048c1Stholo	* admin.c (admin_fileproc): Use it instead of RCS_reparsercsfile.
1381e77048c1Stholo
1382e77048c1Stholo	* commit.c (commit_fileproc): Fix memory leaks.
1383e77048c1Stholo	* patch.c (patch_fileproc): Ditto.
1384e77048c1Stholo	* rcs.c (RCS_nodeisbranch, RCS_copydeltas): Ditto.
1385e77048c1Stholo	* tag.c (tag_fileproc): Ditto.
1386e77048c1Stholo	* update.c (update): Ditto.
1387e77048c1Stholo
1388e77048c1Stholo2000-06-09  Larry Jones  <larry.jones@sdrc.com>
1389e77048c1Stholo
1390e77048c1Stholo	* rcs.c (RCS_reparsercsfile, RCS_fully_parse, getdelta,
1391e77048c1Stholo	RCS_getdeltatext): Handle newphrases with composite values.
1392e77048c1Stholo	(rcsbuf_getkey): Don't remove @s in composite values -- it makes
1393e77048c1Stholo	it impossible to parse the value!  Set special flag to indicate
1394e77048c1Stholo	a composite value.
1395e77048c1Stholo	(rcsbuf_valcopy, rcsbuf_valpolish_internal): Handle composite values.
1396e77048c1Stholo	(putrcsfield): Write composite values.
1397e77048c1Stholo	(RCS_checkin): Set node types in other_delta list.
1398e77048c1Stholo	* hash.h: Add RCSCMPFLD.
1399e77048c1Stholo	* hash.c (nodetypestring): Ditto.
1400e77048c1Stholo
1401e77048c1Stholo	* rcs.c (getdelta): Never allocate space for value, just return
1402e77048c1Stholo	pointer into rcsbuf (fixes memory leaks).  Use rcsbuf_getkey to
1403e77048c1Stholo	read a key and value and then parse the value if needed rather
1404e77048c1Stholo	than trying to read it in bits and pieces with rcsbuf_getid,
1405e77048c1Stholo	rcsbuf_getstring, and rcsbuf_getword.
1406e77048c1Stholo	(RCS_reparsercsfile): Change callers to compensate.
1407e77048c1Stholo	(rcsbuf_valcmp, rcsbuf_valword): New functions.
1408e77048c1Stholo	(rcsbuf_getid, rcsbuf_getstring, rcsbuf_getword): Deleted.
1409e77048c1Stholo	* sanity.sh (rcs3-1): Now get slightly different error message.
1410e77048c1Stholo
1411e77048c1Stholo2000-06-08  Larry Jones  <larry.jones@sdrc.com>
1412e77048c1Stholo
1413e77048c1Stholo	* main.c (usg): Update CVS home page URL.
1414e77048c1Stholo
1415e77048c1Stholo	* main.c (main): Provide an actual error message for an unknown
1416e77048c1Stholo	command in addition to the usage message.
1417e77048c1Stholo
1418e77048c1Stholo2000-06-07  Larry Jones  <larry.jones@sdrc.com>
1419e77048c1Stholo
1420e77048c1Stholo	* server.c (serve_root, dirswitch, serve_repository,
1421e77048c1Stholo	serve_static_directory, serve_sticky, receive_partial_file,
1422e77048c1Stholo	receive_file, serve_modified, server_write_entries, serve_notify,
1423e77048c1Stholo	serve_checkin_prog, serve_update_prog, server): Don't set
1424e77048c1Stholo	pending_error before calling alloc_pending, it makes it fail;
1425e77048c1Stholo	use alloc_pending instead of malloc when reasonable; be sure to
1426e77048c1Stholo	save errno before calling functions that might change it.
1427e77048c1Stholo	(Patch submitted by Dietmar Petras <dietmar.petras@elsa.de>.)
1428e77048c1Stholo
1429e77048c1Stholo2000-06-03  Larry Jones  <larry.jones@sdrc.com>
1430e77048c1Stholo
1431e77048c1Stholo	* commit.c (checkaddfile): Plug memory leak.
1432e77048c1Stholo	* rcs.c (RCS_checkin): Plug memory leaks.
1433e77048c1Stholo	* server.c (do_cvs_command): Plug file descriptor leaks.
1434e77048c1Stholo	* tag.c (check_fileproc): Plug memory leak.
1435e77048c1Stholo
1436e77048c1Stholo2000-05-26  Larry Jones  <larry.jones@sdrc.com>
1437e77048c1Stholo
1438e77048c1Stholo	* recurse.c (unroll_files_proc): Plug memory leak.
1439e77048c1Stholo
1440e77048c1Stholo	* recurse.c (addfile): Fix nonportable pointer cast.
1441e77048c1Stholo
1442e77048c1Stholo	* rcs.c (rcsbuf_getstring, rcsbuf_getword, getdelta): Plug memory
1443e77048c1Stholo	leaks.
1444e77048c1Stholo
1445e77048c1Stholo2000-05-25  Larry Jones  <larry.jones@sdrc.com>
1446e77048c1Stholo
1447e77048c1Stholo	* checkout.c (checkout, build_one_dir, checkout_proc): Move m_type
1448e77048c1Stholo	to file scope and use it instead of continually doing strcmp on
1449e77048c1Stholo	command_name.
1450e77048c1Stholo	(build_one_dir, checkout_proc): Don't allow export if CVSADM
1451e77048c1Stholo	directory already exists.
1452e77048c1Stholo
1453e77048c1Stholo2000-05-23  Larry Jones  <larry.jones@sdrc.com>
1454e77048c1Stholo
1455e77048c1Stholo	* rcs.c (RCS_checkin, RCS_cmp_file): Plug memory leaks.  (Patch
1456e77048c1Stholo	submitted by Chris G. Demetriou <cgd@sibyte.com>.)
1457e77048c1Stholo
1458e77048c1Stholo2000-05-20  Ian Lance Taylor  <ian@zembu.com>
1459e77048c1Stholo
1460e77048c1Stholo	* client.c (connect_to_gserver): Handle server error messages
1461e77048c1Stholo	reasonably.
1462e77048c1Stholo
1463e77048c1Stholo2000-05-19  Larry Jones  <larry.jones@sdrc.com>
1464e77048c1Stholo
1465e77048c1Stholo	* server.c (requests): Make Global_option RQ_ROOTLESS so it can be
1466e77048c1Stholo	used with init.
1467e77048c1Stholo
1468e77048c1Stholo2000-05-18  Larry Jones  <larry.jones@sdrc.com>
1469e77048c1Stholo
1470e77048c1Stholo	* client.c (start_server): Don't do encryption, authentication,
1471e77048c1Stholo	compression, or case insensitivity when doing init because init
1472e77048c1Stholo	is ROOTLESS and they're not.
1473e77048c1Stholo
1474e77048c1Stholo	* client.c (connect_to_pserver): Include repository and username in
1475e77048c1Stholo	authorization failed message -- if a directory tree crosses multiple
1476e77048c1Stholo	repositories, it can be quite difficult for the user to figure out
1477e77048c1Stholo	which one is the problem.
1478e77048c1Stholo
1479e77048c1Stholo2000-05-17  Larry Jones  <larry.jones@sdrc.com>
1480e77048c1Stholo
1481e77048c1Stholo	* main.c (main): Use full set of options when looking for -f to
1482e77048c1Stholo	avoid misparsing options that take values (previously, -sVAR=foo
1483e77048c1Stholo	was incorrectly parsed as though it were -s -V -A -R -= -f -o -o
1484e77048c1Stholo	because it didn't know that -s takes a value).
1485e77048c1Stholo	* sanity.sh (info-6b): New test for above.
1486e77048c1Stholo
1487e77048c1Stholo	* sanity.sh (conflicts-status): Fix tests so they work remotely, too.
1488e77048c1Stholo
1489e77048c1Stholo2000-05-17  Jim Meyering  <meyering@lucent.com>
1490e77048c1Stholo
1491e77048c1Stholo	* sanity.sh (TESTDIR): Fix braino in last change:
1492e77048c1Stholo	cd to /tmp before invoking pwd.
1493e77048c1Stholo
1494e77048c1Stholo	* sanity.sh: Set TESTDIR so that `make check' passes even when /tmp
1495e77048c1Stholo	is a symlink.
1496e77048c1Stholo	(join-36): Use $TESTDIR rather than hard-coding `/tmp/cvs-sanity'.
1497e77048c1Stholo	(conflicts-132): Remove unnecessary `rm aa'.
1498e77048c1Stholo
1499e77048c1Stholo2000-05-16  Jim Kingdon  <kingdon@redhat.com>
1500e77048c1Stholo
1501e77048c1Stholo	* cvs.h, checkout.c (safe_location): Make extern.
1502e77048c1Stholo	* import.c (import): Call it rather than reimplementing
1503e77048c1Stholo	(incompletely) the same check.
1504e77048c1Stholo
1505e77048c1Stholo2000-05-16  Larry Jones  <larry.jones@sdrc.com>
1506e77048c1Stholo
1507e77048c1Stholo	* rcs.h, subr.c (file_has_markers): Check for any of the three
1508e77048c1Stholo	conflict marker lines, not just one.
1509e77048c1Stholo	* sanity.sh (conflicts-status): New tests for above.
1510e77048c1Stholo	* sanity.sh: Revise to avoid tripping the above check when merging
1511e77048c1Stholo	changes into sanity.sh itself.
1512e77048c1Stholo
1513e77048c1Stholo2000-05-15  Larry Jones  <larry.jones@sdrc.com>
1514e77048c1Stholo
1515e77048c1Stholo	* update.c (join_file): When registering the result of the merge,
1516e77048c1Stholo	make sure that the version number is valid (vers->vn_rcs may be
1517e77048c1Stholo	null if the file doesn't exist on the branch yet).  (Patch submitted
1518e77048c1Stholo	by Robert de Vries <rhdv@rhdv.cistron.nl>.)
1519e77048c1Stholo	* update.c (join_file): Correct diagnostics (previous change was not
1520e77048c1Stholo	correct -- the file *does* exist in the specified revision, it just
1521e77048c1Stholo	doesn't exist in the sandbox).
1522e77048c1Stholo	* sanity.sh (import-113, join): New tests and changes for above.
1523e77048c1Stholo
1524e77048c1Stholo2000-05-04  Larry Jones  <larry.jones@sdrc.com>
1525e77048c1Stholo
1526e77048c1Stholo	* sanity.sh: Look for a useful id program.  Since we're getting
1527e77048c1Stholo	the real username for some tests anyway, use it for all the
1528e77048c1Stholo	tests instead of a generic regular expression that may or may
1529e77048c1Stholo	not match the actual username.
1530e77048c1Stholo
1531e77048c1Stholo2000-05-04  Larry Jones  <larry.jones@sdrc.com>
1532e77048c1Stholo
1533e77048c1Stholo	* server.c: More error messages.
1534e77048c1Stholo
1535e77048c1Stholo2000-05-02  Donald Sharp <sharpd@cisco.com>
1536e77048c1Stholo	and Larry Jones  <larry.jones@sdrc.com>
1537e77048c1Stholo
1538e77048c1Stholo	* history.c (report_hrecs): Added code to print out year instead of
1539e77048c1Stholo	just month/day.
1540e77048c1Stholo	* sanity.sh (basic2-64, history): Update to match.
1541e77048c1Stholo
1542e77048c1Stholo2000-04-19  Larry Jones  <larry.jones@sdrc.com>
1543e77048c1Stholo
1544e77048c1Stholo	* server.c (dirswitch): Set pending_error_text in addition to
1545e77048c1Stholo	pending_error to aid in problem determination.
1546e77048c1Stholo
1547e77048c1Stholo2000-03-23  Larry Jones  <larry.jones@sdrc.com>
1548e77048c1Stholo
1549e77048c1Stholo	* mkmodules.c (mkmodules): Return without doing anything if noexec
1550e77048c1Stholo	is set to avoid trashing existing files.
1551e77048c1Stholo
1552e77048c1Stholo2000-03-23  Larry Jones  <larry.jones@sdrc.com>
1553e77048c1Stholo
1554e77048c1Stholo	* main.c: Alphabetize cmds[] and cmd_usage[] and add server
1555e77048c1Stholo	commands to cmd_usage[].
1556e77048c1Stholo
1557e77048c1Stholo2000-03-21  Larry Jones  <larry.jones@sdrc.com>
1558e77048c1Stholo
1559e77048c1Stholo	* sanity.sh (client-1): May get "Broken pipe" message from the
1560e77048c1Stholo	"server" in addition to the expected output.
1561e77048c1Stholo
1562e77048c1Stholo2000-03-17  Larry Jones  <larry.jones@sdrc.com>
1563e77048c1Stholo
1564e77048c1Stholo	* server.c (switch_to_user): Set CVS_Username if it hasn't already
1565e77048c1Stholo	been set elsewhere.  (Patch submitted by Gordon Matzigkeit
1566e77048c1Stholo	<gord@fig.org>).
1567e77048c1Stholo
1568e77048c1Stholo2000-03-13  Larry Jones  <larry.jones@sdrc.com>
1569e77048c1Stholo
1570e77048c1Stholo	* parseinfo.c: Add extern to logHistory declaration.  (Reported by
1571e77048c1Stholo	<John.Tytgat@aaug.net>.)
1572e77048c1Stholo	(parse_config): Reformat logHistory code.
1573e77048c1Stholo
1574e77048c1Stholo2000-03-10  Larry Jones  <larry.jones@sdrc.com>
1575e77048c1Stholo
1576e77048c1Stholo	* add.c (add): Don't try to set cvsroot_len until after checking
1577e77048c1Stholo	for help only -- CVSroot_directory isn't set in that case.
1578e77048c1Stholo
1579e77048c1Stholo2000-03-03  Larry Jones  <larry.jones@sdrc.com>
1580e77048c1Stholo
1581e77048c1Stholo	* mkmodules.c (init): Use mkdir_if_needed to create CVSROOT/Emptydir
1582e77048c1Stholo	so we don't fail if run multiple times.  (Reported by KOIE Hidetaka
1583e77048c1Stholo	<hide@koie.org>.)
1584e77048c1Stholo	* sanity.sh (1a): New test for above.
1585e77048c1Stholo
1586e77048c1Stholo2000-03-02  Larry Jones  <larry.jones@sdrc.com>
1587e77048c1Stholo
1588e77048c1Stholo	* main.c: Use identical #if's in the command table and the code
1589e77048c1Stholo	for pserver and kserver to prevent "peculiar" configurations from
1590e77048c1Stholo	having really perverse behavior because the command table entries
1591e77048c1Stholo	are present but the related code isn't.
1592e77048c1Stholo
1593e77048c1Stholo2000-03-01  Larry Jones  <larry.jones@sdrc.com>
1594e77048c1Stholo
1595e77048c1Stholo	* import.c (import): Don't allow importing the repository.
1596e77048c1Stholo	* sanity.sh (errmsg2-20, errmsg2-21): New tests for above.
1597e77048c1Stholo
1598e77048c1Stholo2000-03-01  Larry Jones  <larry.jones@sdrc.com>
1599e77048c1Stholo
1600e77048c1Stholo	* main.c (main): Update year in copyright message.
1601e77048c1Stholo
1602e77048c1Stholo2000-03-01  Larry Jones  <larry.jones@sdrc.com>
1603e77048c1Stholo
1604e77048c1Stholo	* logmsg.c (do_editor): Correct previous change.
1605e77048c1Stholo
1606e77048c1Stholo2000-02-29  Larry Jones  <larry.jones@sdrc.com>
1607e77048c1Stholo
1608e77048c1Stholo	* logmsg.c (do_editor): When reading temp file, check that message
1609e77048c1Stholo	buffer is large enough to hold the next line and expand if needed.
1610e77048c1Stholo
1611e77048c1Stholo2000-02-28  Larry Jones  <larry.jones@sdrc.com>
1612e77048c1Stholo
1613e77048c1Stholo	* commit.c (commit): Use get_file() to read log file correctly
1614e77048c1Stholo	and in text mode rather than binary mode.
1615e77048c1Stholo
1616e77048c1Stholo	* subr.c (get_file): Ignore bufsize if buf is NULL.  Include
1617e77048c1Stholo	terminating NUL byte when estimating required buffer size.
1618e77048c1Stholo
1619e77048c1Stholo2000-02-28  Larry Jones  <larry.jones@sdrc.com>
1620e77048c1Stholo
1621e77048c1Stholo	* sanity.sh (find_tool): New function to replace duplicated code.
1622e77048c1Stholo
1623e77048c1Stholo2000-02-25  Larry Jones  <larry.jones@sdrc.com>
1624e77048c1Stholo
1625e77048c1Stholo	* import.c (add_rcs_file): Don't abort just because lstat fails.
1626e77048c1Stholo
1627e77048c1Stholo2000-02-16  Jim Meyering  <meyering@lucent.com>
1628e77048c1Stholo
1629e77048c1Stholo	Avoid race condition whereby a catchable signal could
1630e77048c1Stholo	end up corrupting the repository.
1631e77048c1Stholo	* commit.c (checkaddfile): Put a critical section around the code
1632e77048c1Stholo	that handles the first commit on the trunk of a file that's already
1633e77048c1Stholo	been committed on a branch.
1634e77048c1Stholo	* cvs.h (Sig_inCrSect): Declare new function.
1635e77048c1Stholo
1636e77048c1Stholo2000-02-21  Karl Fogel  <kfogel@red-bean.com>
1637e77048c1Stholo
1638e77048c1Stholo	* main.c (main): still check for repository, but not history file
1639e77048c1Stholo	(correction to 2000-02-18 change -- that's what I get for
1640e77048c1Stholo	believing the comment rather than the code).
1641e77048c1Stholo
1642e77048c1Stholo2000-02-21  K.J. Paradise <kj@sourcegear.com>
1643e77048c1Stholo
1644e77048c1Stholo	* history.c mkmodules.c parseinfo.c: control which actions
1645e77048c1Stholo	get logged to the cvs history file via CVSROOT/config file
1646e77048c1Stholo	and LogHistory keyword. (John P Cavanaugh <cavanaug@sr.hp.com>)
1647e77048c1Stholo
1648e77048c1Stholo2000-02-18  Karl Fogel  <kfogel@red-bean.com>
1649e77048c1Stholo
1650e77048c1Stholo	* history.c (history_write): don't die if history file not
1651e77048c1Stholo	writable, just warn (unless `really_quiet') and skip out.
1652e77048c1Stholo
1653e77048c1Stholo	* main.c (main): don't bother checking if history file is
1654e77048c1Stholo	writable.
1655e77048c1Stholo
1656e77048c1Stholo	* server.c (serve_root): same.
1657e77048c1Stholo
1658e77048c1Stholo2000-02-17  Larry Jones  <larry.jones@sdrc.com>
1659e77048c1Stholo
1660e77048c1Stholo	* sanity.sh (perms symlinks symlinks2 hardlinks): Don't run by
1661e77048c1Stholo	default since PreservePermissions code is now disabled.
1662e77048c1Stholo
1663e77048c1Stholo2000-02-17  Larry Jones  <larry.jones@sdrc.com>
1664e77048c1Stholo
1665e77048c1Stholo	* sanity.sh (import-113): Revise to match Jim Meyering's fix.
1666e77048c1Stholo
1667e77048c1Stholo2000-02-16  Larry Jones  <larry.jones@sdrc.com>
1668e77048c1Stholo
1669e77048c1Stholo	* add.c (add): Don't allow adding files or directories to Emptydir.
1670e77048c1Stholo	(Patch submitted by Chris Cameron <chris.cameron@ot.co.nz>.)
1671e77048c1Stholo	* sanity.sh (emptydir): Revise (emptydir-7 and emptydir-8) for this.
1672e77048c1Stholo
1673e77048c1Stholo2000-02-16  Jim Meyering  <meyering@lucent.com>
1674e77048c1Stholo
1675e77048c1Stholo	* update.c (join_file): Correct typo in diagnostic:
1676e77048c1Stholo	change `file %s is present...' to `file %s is not present...'.
1677e77048c1Stholo
1678e77048c1Stholo2000-02-10  Larry Jones  <larry.jones@sdrc.com>
1679e77048c1Stholo
1680e77048c1Stholo	* parseinfo.c (Parse_Info): Treat matching lines with bad expansions
1681e77048c1Stholo	as errors rather than just ignoring.
1682e77048c1Stholo
1683e77048c1Stholo2000-02-10  Larry Jones  <larry.jones@sdrc.com>
1684e77048c1Stholo
1685e77048c1Stholo	* edit.c (edit): Check for invalid characters in hostname and CurDir.
1686e77048c1Stholo	(Reported by "Andrew S. Townley" <atownley@informix.com>.)
1687e77048c1Stholo	* sanity.sh (devcom2): New tests for above.
1688e77048c1Stholo
1689e77048c1Stholo2000-02-10  Larry Jones  <larry.jones@sdrc.com>
1690e77048c1Stholo
1691e77048c1Stholo	* cvs.h: Always #include "server.h" to prevent compile errors when
1692e77048c1Stholo	neither CLIENT_SUPPORT nor SERVER_SUPPORT is defined.
1693e77048c1Stholo	(Reported by "Crow, Ian" <ian.crow@linklaters.com>.)
1694e77048c1Stholo	* log.c (send_one, send_arg_list): Only define when CLIENT_SUPPORT
1695e77048c1Stholo	is defined to prevent link errors.
1696e77048c1Stholo
1697e77048c1Stholo	* server.c (server): Always create a new temporary directory, don't
1698e77048c1Stholo	try to reuse an existing one since we might not have correct
1699e77048c1Stholo	permissions.  Also, include directory name in error messages.
1700e77048c1Stholo
1701e77048c1Stholo2000-01-29  Jim Kingdon  <http://developer.redhat.com/>
1702e77048c1Stholo
1703e77048c1Stholo	* ignore.c (ignore_files): Correctly set errno to 0 when we go
1704e77048c1Stholo	back to the top of the loop.  Fixes spurious errors like "cvs
1705e77048c1Stholo	update: error reading current directory: No such file or
1706e77048c1Stholo	directory".
1707e77048c1Stholo
1708e77048c1Stholo2000-01-26  Larry Jones  <larry.jones@sdrc.com>
1709e77048c1Stholo
1710e77048c1Stholo	* run.c (run_exec): Conditionalize K.J.'s change so that it only
1711e77048c1Stholo	applies when SETXID_SUPPORT is defined since some platforms don't
1712e77048c1Stholo	have setegid().
1713e77048c1Stholo
1714e77048c1Stholo2000-01-26  Larry Jones  <larry.jones@sdrc.com>
1715e77048c1Stholo
1716e77048c1Stholo	* sanity.sh: Make TESTDIR earlier then use it to check for versions
1717e77048c1Stholo	of expr that don't work right with long expressions.
1718e77048c1Stholo
1719e77048c1Stholo	* sanity.sh (dotest_line_by_line): Have wc read from stdin so it
1720e77048c1Stholo	doesn't output the file name and confuse expr.  Make the output a
1721e77048c1Stholo	bit less verbose and easier to read.
1722e77048c1Stholo
1723e77048c1Stholo2000-01-24  K.J. Paradise <kj@sourcegear.com>
1724e77048c1Stholo
1725e77048c1Stholo	* run.c :> prevents a user from creating a privileged shell from the
1726e77048c1Stholo	text editor when the SETXID_SUPPORT option is selected.  This came from
1727e77048c1Stholo	Bob Colle <bcolle@ilx.com>, and is his completely.
1728e77048c1Stholo
1729e77048c1Stholo2000-01-22  Jim Kingdon  <http://developer.redhat.com/>
1730e77048c1Stholo
1731e77048c1Stholo	* sanity.sh (emptydir): Add a case in which one might hope for a
1732e77048c1Stholo	non-Emptydir result, but which result?
1733e77048c1Stholo
1734e77048c1Stholo2000-01-18  Larry Jones  <larry.jones@sdrc.com>
1735e77048c1Stholo
1736e77048c1Stholo	* main.c (main): Allow -z0 to disable gzip compression.
1737e77048c1Stholo
1738e77048c1Stholo2000-01-17  Larry Jones  <larry.jones@sdrc.com> for
1739e77048c1Stholo	K.J. Paradise (kj@sourcegear.com)
1740e77048c1Stholo
1741e77048c1Stholo	* version.c: Push version number to 1.10.8.1.
1742e77048c1Stholo
1743e77048c1Stholo	* version.c: Version 1.10.8.
1744e77048c1Stholo
1745e77048c1Stholo2000-01-17  Larry Jones  <larry.jones@sdrc.com>
1746e77048c1Stholo
1747e77048c1Stholo	* mkmodules.c (init): Create CVSROOT/Emptydir to avoid problems
1748e77048c1Stholo	with users not having sufficient permissions to create it later.
1749e77048c1Stholo
1750e77048c1Stholo2000-01-04  Larry Jones  <larry.jones@sdrc.com>
1751e77048c1Stholo
1752e77048c1Stholo	* client.c (get_responses_and_close): Simplify time-stamp race
1753e77048c1Stholo	avoidance code.
1754e77048c1Stholo	* commit.c (commit): Ditto.
1755e77048c1Stholo	* update.c (do_update): Ditto.
1756e77048c1Stholo	(Prompted by patch submitted by Pavel Roskin
1757e77048c1Stholo	<pavel_roskin@geocities.com>.)
1758e77048c1Stholo
1759e77048c1Stholo	* hardlink.c: sizeof (char) is 1, by definition.
1760e77048c1Stholo	* logmsg.c: Ditto.
1761e77048c1Stholo	* rcs.c: Ditto.
1762e77048c1Stholo
1763e77048c1Stholo2000-01-03  Karl Fogel  <kfogel@red-bean.com>
1764e77048c1Stholo
1765e77048c1Stholo	* filesubr.c, subr.c (backup_file): moved this function from
1766e77048c1Stholo	filesubr.c to subr.c, at JimK's suggestion.
1767e77048c1Stholo
1768e77048c1Stholo2000-01-03  Jim Kingdon  <http://developer.redhat.com/>
1769e77048c1Stholo
1770e77048c1Stholo	* sanity.sh (clean): Test the contents of the .#cleanme.txt.1.1
1771e77048c1Stholo	file, not just its existence.
1772e77048c1Stholo
1773e77048c1Stholo2000-01-03  Karl Fogel  <kfogel@red-bean.com>
1774e77048c1Stholo
1775e77048c1Stholo	* cvs.h, filesubr.c (backup_file): use `const' for suffix too;
1776e77048c1Stholo	correct suffix length calculation and appending behavior; discard
1777e77048c1Stholo	unnecessary `void' cast.  Thanks to Jim Meyering for noticing.
1778e77048c1Stholo
1779e77048c1Stholo2000-01-03  Larry Jones <larry.jones@sdrc.com>
1780e77048c1Stholo
1781e77048c1Stholo	* sanity.sh (clean): Fix up expected output.
1782e77048c1Stholo
1783e77048c1Stholo2000-01-02  John P Cavanaugh <cavanaug@sr.hp.com>
1784e77048c1Stholo        and Karl Fogel <kfogel@red-bean.com>
1785e77048c1Stholo
1786e77048c1Stholo	New -C option to update: overwrites local changes with clean
1787e77048c1Stholo	copies from the repository.  (This is an unreversion of the
1788e77048c1Stholo	1999-12-10 change, further modified to work remotely.)
1789e77048c1Stholo
1790e77048c1Stholo	* client.h (BACKUP_MODIFIED_FILES): new #define.
1791e77048c1Stholo
1792e77048c1Stholo	* client.c (struct send_data): new element `backup_modified'.
1793e77048c1Stholo	(send_files): set above element if BACKUP_MODIFIED_FILES flag is
1794e77048c1Stholo	present.
1795e77048c1Stholo
1796e77048c1Stholo	* filesubr.c (backup_file): new function.
1797e77048c1Stholo
1798e77048c1Stholo	* cvs.h: prototype for new function `backup_file'.
1799e77048c1Stholo
1800e77048c1Stholo	* update.c (toss_local_changes): new file-scoped global.
1801e77048c1Stholo	(update): set toss_local_changes if -C flag seen.  If
1802e77048c1Stholo	client_active, send "-C" to server, and set SEND_NO_CONTENTS and
1803e77048c1Stholo	BACKUP_MODIFIED_FILES flags before calling send_files().
1804e77048c1Stholo
1805e77048c1Stholo	(update_fileproc): if file is modified and toss_local_changes is
1806e77048c1Stholo	set, then back the file up and then check out a fresh copy from
1807e77048c1Stholo	the repository.  Also, fixed indentation and formatting for a
1808e77048c1Stholo	particularly bad stretch of code near (but unrelated to) these
1809e77048c1Stholo	changes.
1810e77048c1Stholo
1811e77048c1Stholo	* sanity.sh: new test `clean', for update -C option.
1812e77048c1Stholo
1813e77048c1Stholo1999-12-29  Jim Kingdon  <http://developer.redhat.com/>
1814e77048c1Stholo
1815e77048c1Stholo	* history.c (read_hrecs): st_blksize is unsigned long, not int.
1816e77048c1Stholo	This isn't just cosmetic - getting it wrong will cause coredumps
1817e77048c1Stholo	and such on 64 bit machines.
1818e77048c1Stholo
1819e77048c1Stholo	* import.c (import_descend), ignore.c (ignore_files): Placate gcc
1820e77048c1Stholo	-Wall by parenthesizing foo || (bar && baz).
1821e77048c1Stholo
1822e77048c1Stholo1999-12-24  Larry Jones <larry.jones@sdrc.com>
1823e77048c1Stholo
1824e77048c1Stholo	* release.c (release): Use fputs to echo lines from update instead
1825e77048c1Stholo	of printf to avoid problems with lines containing "%".  (Reported
1826e77048c1Stholo	by Jean-Luc Simard <Jean-Luc.Simard@matrox.com>.)
1827e77048c1Stholo
1828e77048c1Stholo	* history.c (read_hrecs): Allocate a single 2-block buffer instead
1829e77048c1Stholo	of allocating and freeing a buffer for each block.
1830e77048c1Stholo	(fill_hrec): Remove redundant code.
1831e77048c1Stholo	(select_hrec): Plug memory leak.
1832e77048c1Stholo
1833e77048c1Stholo1999-12-22  Larry Jones <larry.jones@sdrc.com>
1834e77048c1Stholo
1835e77048c1Stholo	* history.c (history): For "modified" or "checkout", sort on
1836e77048c1Stholo	file if user specified -l, even if user also specified a date-
1837e77048c1Stholo	oriented flag.
1838e77048c1Stholo	* sanity.sh (history): Update to match; add new tests.
1839e77048c1Stholo
1840e77048c1Stholo1999-12-15  Pavel Roskin <pavel_roskin@geocities.com>
1841e77048c1Stholo	and Larry Jones <larry.jones@sdrc.com>
1842e77048c1Stholo
1843e77048c1Stholo	* lock.c (lock_name): fixed assertion failure for the
1844e77048c1Stholo	top-level CVS directory when LockDir is used
1845e77048c1Stholo	* sanity.sh (lockfiles-9): new test for this case
1846e77048c1Stholo
1847e77048c1Stholo1999-12-11  Karl Fogel  <kfogel@red-bean.com>
1848e77048c1Stholo
1849e77048c1Stholo	* Revert previous change -- it doesn't work remotely yet.
1850e77048c1Stholo
1851e77048c1Stholo1999-12-10  John P Cavanaugh <cavanaug@sr.hp.com>
1852e77048c1Stholo        and Karl Fogel <kfogel@red-bean.com>
1853e77048c1Stholo
1854e77048c1Stholo	* update.c: new -C option to update, overwrites local changes with
1855e77048c1Stholo	clean copies from the repository.
1856e77048c1Stholo	Also, fixed indentation and formatting for a particularly bad
1857e77048c1Stholo	stretch of code near these changes in update_fileproc().
1858e77048c1Stholo
1859e77048c1Stholo	* sanity.sh: test new update -C option.
1860e77048c1Stholo
1861e77048c1Stholo1999-12-10  Larry Jones <larry.jones@sdrc.com>
1862e77048c1Stholo
1863e77048c1Stholo	* commit.c (remove_file): Call history_write with update_dir NULL
1864e77048c1Stholo	like Checkin() does for add and modify.
1865e77048c1Stholo	* sanity.sh (basic2-64): Update to match, add "R" records to expected
1866e77048c1Stholo	remote output.
1867e77048c1Stholo
1868e77048c1Stholo1999-12-09  K.J. Paradise (kj@sourcegear.com)
1869e77048c1Stholo
1870e77048c1Stholo	* history.c, commit.c, sanity.sh: found (I think) final
1871e77048c1Stholo	cause of seg fault in history command.  Also, added the "R"
1872e77048c1Stholo	history functionality.  Fixed basic2-64 so it looks correct for
1873e77048c1Stholo	the change.
1874e77048c1Stholo
1875e77048c1Stholo1999-11-30  K.J. Paradise (kj@sourcegear.com)
1876e77048c1Stholo
1877e77048c1Stholo	* history.c: fixed seg fault caused by 11-03 changes.
1878e77048c1Stholo	off by one in block memory allocations.
1879e77048c1Stholo
1880e77048c1Stholo1999-11-29  Karl Fogel  <kfogel@red-bean.com>
1881e77048c1Stholo
1882e77048c1Stholo	* login.c (logout): free `tmp_name' when done.
1883e77048c1Stholo	Correct a comment.
1884e77048c1Stholo
1885e77048c1Stholo1999-11-29  Larry Jones <larry.jones@sdrc.com>
1886e77048c1Stholo
1887e77048c1Stholo	* cvs.h, error.c, import.c: Rename fperror to avoid name clash
1888e77048c1Stholo	on LynxOS.  (Reported by Markus Braun <MarkusBraun@gmx.de>.)
1889e77048c1Stholo
1890e77048c1Stholo1999-11-23  Larry Jones <larry.jones@sdrc.com>
1891e77048c1Stholo
1892e77048c1Stholo	* checkout.c (checkout_proc): Split declaration and initialization
1893e77048c1Stholo	of rp to placate neurotic compilers that gripe about jumping past
1894e77048c1Stholo	an initialization, even when the variable is not subsequently used.
1895e77048c1Stholo
1896e77048c1Stholo1999-11-19  Larry Jones <larry.jones@sdrc.com>
1897e77048c1Stholo
1898e77048c1Stholo	* server.c (switch_to_user): Correct setgid error messages.
1899e77048c1Stholo
1900e77048c1Stholo1999-11-19  Karl Fogel  <kfogel@red-bean.com>
1901e77048c1Stholo
1902e77048c1Stholo	* edit.c (unedit_usage, unedit): new struct, use it.  Now "cvs
1903e77048c1Stholo	unedit" prints an accurate usage message (formerly it printed the
1904e77048c1Stholo	message for "cvs edit", even though the two commands do not have
1905e77048c1Stholo	identical usages).
1906e77048c1Stholo
1907e77048c1Stholo1999-11-19  Larry Jones <larry.jones@sdrc.com>
1908e77048c1Stholo
1909e77048c1Stholo	* history.c: Move -e documentation from Flags to Reports.
1910e77048c1Stholo	(history): Add -e to list of report types in error message.
1911e77048c1Stholo
1912e77048c1Stholo	* history.c (history): Process file arguments before client/server
1913e77048c1Stholo	processing so they get sent to the server.
1914e77048c1Stholo	* sanity.sh (history): New tests for above.  (Also remove comments
1915e77048c1Stholo	about variable spacing -- history output is in variable-width
1916e77048c1Stholo	columns with exactly one space between.)
1917e77048c1Stholo
1918e77048c1Stholo1999-11-19  Larry Jones <larry.jones@sdrc.com>
1919e77048c1Stholo
1920e77048c1Stholo	* sanity.sh: Reestablish check for running as root (using ``id -u''
1921e77048c1Stholo	instead of ``whoami'').
1922e77048c1Stholo
1923e77048c1Stholo	* sanity.sh(dotest, dotest_lit, dotest_fail, dotest_status,
1924e77048c1Stholo	dotest_sort): Eval the command so quoting and pipes work right.
1925e77048c1Stholo	(spacefiles, dirs, rcslib, modules, unedit-without-baserev,
1926e77048c1Stholo	ignore, rcs, rcs2, history, tagdate, pserver, server, server2)
1927e77048c1Stholo	Simplify various tests based on above.
1928e77048c1Stholo
1929e77048c1Stholo1999-11-19  Karl Fogel  <kfogel@red-bean.com>
1930e77048c1Stholo
1931e77048c1Stholo	* mkmodules.c (init): make history file world-writeable after
1932e77048c1Stholo	creating it, since it needs to be writeable for virtually any
1933e77048c1Stholo	CVS operation.
1934e77048c1Stholo
1935e77048c1Stholo1999-11-10  Jim Kingdon  <http://developer.redhat.com/>
1936e77048c1Stholo
1937e77048c1Stholo	* admin.c: Revert change to add -H command option.  The help
1938e77048c1Stholo	invocation is "cvs -H admin" not "cvs admin -H" (see cvs.texinfo,
1939e77048c1Stholo	basicb-21 in sanity.sh; fix to cvs.1)
1940e77048c1Stholo
1941e77048c1Stholo1999-11-08  Jim Kingdon  <http://developer.redhat.com/>
1942e77048c1Stholo
1943e77048c1Stholo	* log.c (cvslog): If client_active, send options to the server
1944e77048c1Stholo	based on our parsed options rather than trying to send the exact
1945e77048c1Stholo	strings specified (using canonical forms, like RFC822/1123
1946e77048c1Stholo	dates, in the protocol is just cleaner).
1947e77048c1Stholo	(send_one, send_arg_list): New functions, helpers for above.
1948e77048c1Stholo	* sanity.sh (logopt-6a): New test, for this fix.
1949e77048c1Stholo
1950e77048c1Stholo1999-11-09  K.J. Paradise <kj@sourcegear.com>
1951e77048c1Stholo
1952e77048c1Stholo	* admin.c: made the -H option do what it is documented to
1953e77048c1Stholo	do.  a
1954e77048c1Stholo
1955e77048c1Stholo1999-11-08  Tom Tromey  <tromey@cygnus.com>
1956e77048c1Stholo
1957e77048c1Stholo	* client.c (connect_to_gserver): Print more error text if gssapi
1958e77048c1Stholo	initialization fails.  From Assar Westerlund <assar@sics.se>.
1959e77048c1Stholo
1960e77048c1Stholo1999-11-06  Larry Jones <larry.jones@sdrc.com>
1961e77048c1Stholo
1962e77048c1Stholo	*sanity.sh(rcs3-5): Remote output can be out-of-order, so need a
1963e77048c1Stholo	more general pattern to match the assertion failure.
1964e77048c1Stholo
1965e77048c1Stholo1999-11-05  K.J. Paradise (kj@sourcegear.com)
1966e77048c1Stholo
1967e77048c1Stholo	* history.c: Added a trap to verify that if a
1968e77048c1Stholo	read(file, buffer,blocksize) returns less than blocksize,
1969e77048c1Stholo	that we really are at the end of the file.  I can't easily
1970e77048c1Stholo	come up with a test case where this code gets touched, so
1971e77048c1Stholo	it may cause problems.  All sanity tests still pass though.
1972e77048c1Stholo
1973e77048c1Stholo1999-11-05  Jim Kingdon  <http://developer.redhat.com/>
1974e77048c1Stholo
1975e77048c1Stholo	* sanity.sh (logopt): New test, for Larry's fix.
1976e77048c1Stholo	* sanity.sh (log-18a, rcs-15 to rcs-19): New tests, to test -d
1977e77048c1Stholo	and -r more thoroughly.
1978e77048c1Stholo
1979e77048c1Stholo1999-11-05  Larry Jones <larry.jones@sdrc.com>
1980e77048c1Stholo
1981e77048c1Stholo	* log.c (cvslog): Fix -s and -d with spaces on client side.
1982e77048c1Stholo	(log_usage): Revert Karl's change once again.
1983e77048c1Stholo	sanity.sh(rcs3-5): No longer get different results from local
1984e77048c1Stholo	and client/server.
1985e77048c1Stholo
1986e77048c1Stholo1999-11-04  Karl Fogel  <kfogel@red-bean.com>
1987e77048c1Stholo
1988e77048c1Stholo	* log.c (log_usage): Revert Jim Kingdon's reversion of my change
1989e77048c1Stholo	of 1999-11-03.  Allowing a space between option and argument
1990e77048c1Stholo	results in lossage; here is a reproduction recipe: run this from
1991e77048c1Stholo	the top of a remote copy of the cvs source tree
1992e77048c1Stholo
1993e77048c1Stholo	   cvs log -d '>1999-03-01' > log-out.with-space
1994e77048c1Stholo
1995e77048c1Stholo	and then run this (note there's no space after -d now):
1996e77048c1Stholo
1997e77048c1Stholo	   cvs log -d'>1999-03-01' > log-out.no-space
1998e77048c1Stholo
1999e77048c1Stholo	The resulting files differ; furthermore, a glance at the output of
2000e77048c1Stholo	cvs shows that the first command failed to recurse into
2001e77048c1Stholo	subdirectories.  Until this misbehavior can be fixed in the source
2002e77048c1Stholo	code, the documentation should reflect the true state of affairs:
2003e77048c1Stholo	if one simply omits the space, everything works fine.
2004e77048c1Stholo
2005e77048c1Stholo1999-11-04  Jim Kingdon  <http://developer.redhat.com/>
2006e77048c1Stholo
2007e77048c1Stholo	* log.c (log_usage): Revert Karl's change regarding -d and
2008e77048c1Stholo	-s.  A space is allowed (see sanity.sh for example).
2009e77048c1Stholo
2010e77048c1Stholo1999-11-03  K.J. Paradise (kj@sourcegear.com>
2011e77048c1Stholo
2012e77048c1Stholo	* history.c: cleaned up my prior change a bit, per Larry Jones'
2013e77048c1Stholo	comments, and John O'Conner's additional comments about bits of
2014e77048c1Stholo	non MS-Visual C++ compliancy of my code.
2015e77048c1Stholo
2016e77048c1Stholo1999-11-04  Larry Jones <larry.jones@sdrc.com>
2017e77048c1Stholo
2018e77048c1Stholo	* sanity.sh: Check that tr that correctly handles NULs; if not, try
2019e77048c1Stholo	to find a version that does; if none can be found, warn user.
2020e77048c1Stholo	Also fix warnings for defective expr.
2021e77048c1Stholo
2022e77048c1Stholo1999-11-04  Karl Fogel  <kfogel@red-bean.com>
2023e77048c1Stholo
2024e77048c1Stholo	Changes for empty/random passwords in anon pserver access:
2025e77048c1Stholo
2026e77048c1Stholo	* server.c (check_repository_password): if password empty, grant
2027e77048c1Stholo	access no matter what password is received; this is so anon CVS no
2028e77048c1Stholo	longer requires a password but remains backwards-compatible with
2029e77048c1Stholo	all those clients out there.
2030e77048c1Stholo
2031e77048c1Stholo	* client.c (connect_to_pserver): proceed with login even if
2032e77048c1Stholo	password not found in .cvspass file -- just use empty string as
2033e77048c1Stholo	password.  And if such a login fails, print a descriptive error.
2034e77048c1Stholo
2035e77048c1Stholo	* login.c (get_cvs_password): don't complain if file or password
2036e77048c1Stholo	not found.  That condition is no longer a showstopper, now that
2037e77048c1Stholo	empty passwords are permissible.
2038e77048c1Stholo	Cleaned up conditional chaining a bit, too.
2039e77048c1Stholo
2040e77048c1Stholo	* sanity.sh (pserver-9, pserver-10, pserver-11, pserver-12,
2041e77048c1Stholo	pserver-13): new tests, about empty-password pserver access.
2042e77048c1Stholo
2043e77048c1Stholo1999-11-03  K.J. Paradise (kj@sourcegear.com>
2044e77048c1Stholo
2045e77048c1Stholo	* history.c:  modify parsing routines to parse the history
2046e77048c1Stholo	file a block at a time, rather than all at once.  This allows
2047e77048c1Stholo	people with large history files and small amount of memory
2048e77048c1Stholo	to still get some functionality out of the history file.
2049e77048c1Stholo
2050e77048c1Stholo1999-11-03  Karl Fogel  <kfogel@red-bean.com>
2051e77048c1Stholo
2052e77048c1Stholo	* log.c (log_usage): correct usage message for -d and -s options.
2053e77048c1Stholo	Because the space between the option letter and its argument has
2054e77048c1Stholo	been eliminated, I capitalized the argument portion to distinguish
2055e77048c1Stholo	it from the option letter.  This makes it slightly inconsistent
2056e77048c1Stholo	with other such usage summaries, but at least it is now both
2057e77048c1Stholo	correct and readable.
2058e77048c1Stholo
2059e77048c1Stholo1999-10-22  Larry Jones  <larry.jones@sdrc.com>
2060e77048c1Stholo
2061e77048c1Stholo	* sanity.sh (dotest_sort): Old versions of tr don't understand \t
2062e77048c1Stholo	so use a literal tab instead.
2063e77048c1Stholo
2064e77048c1Stholo1999-10-21  Larry Jones  <larry.jones@sdrc.com>
2065e77048c1Stholo
2066e77048c1Stholo	* sanity.sh (dotest_sort): Convert any tabs in the output into spaces
2067e77048c1Stholo	before sorting to avoid POSIX.2 sort weirdness.
2068e77048c1Stholo	(import-106, importb-2): Change expected output per above.
2069e77048c1Stholo
2070e77048c1Stholo1999-10-18  K.J. Paradise <kj@sourcegear.com>
2071e77048c1Stholo
2072e77048c1Stholo	Bug: users 'stan' and 'cartman' both have full read/write access
2073e77048c1Stholo	to the cvs repository.  'cartman' does a 'cvs admin -l foo.c'.
2074e77048c1Stholo	'stan' then does a 'cvs admin -u foo.c'.  The lock wouldn't be
2075e77048c1Stholo	removed, and no warning/error would be given.  This is now fixed.
2076e77048c1Stholo	* rcs.c:(c.6157) remove caller/user check on the multiple lock
2077e77048c1Stholo        detection routines.  Sanity.sh runs with no errors after this fix.
2078e77048c1Stholo
2079e77048c1Stholo1999-10-14  Larry Jones  <larry.jones@sdrc.com>
2080e77048c1Stholo
2081e77048c1Stholo	Make "cvs admin -e" (with no list of users) work:
2082e77048c1Stholo	* admin.c (admin): Remove error message.
2083e77048c1Stholo	(admin_fileproc): If no args for -e, call RCS_delaccess with NULL user.
2084e77048c1Stholo	* rcs.c (RCS_delaccess): Interpret NULL user as request to delete
2085e77048c1Stholo	entire access list.
2086e77048c1Stholo	* sanity.sh (admin-19a-*): Test.
2087e77048c1Stholo
2088e77048c1Stholo1999-09-29  Larry Jones  <larry.jones@sdrc.com>
2089e77048c1Stholo
2090e77048c1Stholo	* entries.c (Subdirs_Known): Use entfilename when opening CVSADM_ENTLOG
2091e77048c1Stholo	like everywhere else.  Although this isn't strictly necessary (since
2092e77048c1Stholo	we immediately close it again), it keeps the code consistent and fixes
2093e77048c1Stholo	a bug where an open error reported the wrong file name.
2094e77048c1Stholo
2095e77048c1Stholo1999-09-16  Larry Jones  <larry.jones@sdrc.com>
2096e77048c1Stholo
2097e77048c1Stholo	* log.c (log_parse_revlist): Handle peculiar revision specs like
2098e77048c1Stholo	"-r.", "-r:", and "-r," correctly.  (Thanks to Pavel Roskin
2099e77048c1Stholo	<pavel_roskin@geocities.com> for submitting a patch, this fix is
2100e77048c1Stholo	somewhat different.)
2101e77048c1Stholo	* sanity.sh (log): New tests for above.
2102e77048c1Stholo
2103e77048c1Stholo1999-09-15  Larry Jones  <larry.jones@sdrc.com>
2104e77048c1Stholo
2105e77048c1Stholo	* sanity.sh (basica-8b1): New test to check fix for bad diff options
2106e77048c1Stholo	causing cvs to crash.
2107e77048c1Stholo
2108e77048c1Stholo1999-09-02  Larry Jones  <larry.jones@sdrc.com>
2109e77048c1Stholo
2110e77048c1Stholo	* modules.c (do_module): Handle case where module definition has
2111e77048c1Stholo	options and special options but no directory; fix potential problems
2112e77048c1Stholo	running off beginning of string while stripping trailing blanks.
2113e77048c1Stholo	* sanity.sh (modules2): New tests for above.
2114e77048c1Stholo
2115e77048c1Stholo1999-08-26  Larry Jones  <larry.jones@sdrc.com>
2116e77048c1Stholo
2117e77048c1Stholo	* lock.c (lock_name): Remove side-effects from assert() expression
2118e77048c1Stholo	since they won't occur if NDEBUG is defined (not that that's a good
2119e77048c1Stholo	thing to do).  (Reported by KOIE Hidetaka <hide@koie.org>.)
2120e77048c1Stholo
2121e77048c1Stholo1999-08-25  Larry Jones  <larry.jones@sdrc.com>
2122e77048c1Stholo
2123e77048c1Stholo	* sanity.sh: Use "${AWK}" instead of "awk" to make it easier for
2124e77048c1Stholo	people to use nawk/gawk/etc.; use an explicit "-print" with find
2125e77048c1Stholo	since some older version don't assume it; rename tests to avoid
2126e77048c1Stholo	duplicate importc-8.  (Changes along these lines suggested by
2127e77048c1Stholo	Chris Cameron <chris.cameron@ot.co.nz>.)
2128e77048c1Stholo
2129e77048c1Stholo1999-08-24  Larry Jones  <larry.jones@sdrc.com>
2130e77048c1Stholo
2131e77048c1Stholo	* commit.c (check_fileproc): Don't crash when a file has no
2132e77048c1Stholo	repository, just treat it as unknown.  (Reported by Stefaan
2133e77048c1Stholo	Diericx <stefaan.diericx@argenta.be>.)
2134e77048c1Stholo	* sanity.sh (errmsg2): New tests, for this fix.
2135e77048c1Stholo
2136e77048c1Stholo1999-08-18  Larry Jones  <larry.jones@sdrc.com>
2137e77048c1Stholo
2138e77048c1Stholo	* update.c (special_file_mismatch): Initialize *_hardlinks to
2139e77048c1Stholo	avoid trying to free garbage later on.  (Reported by Jan
2140e77048c1Stholo	Scheffczyk <herta@Xterminator.StudFB.UniBw-Muenchen.de>.)
2141e77048c1Stholo
2142e77048c1Stholo1999-08-17  Larry Jones  <larry.jones@sdrc.com>
2143e77048c1Stholo
2144e77048c1Stholo	* sanity.sh (basicc-11): Older versions of sh don't understand
2145e77048c1Stholo	``if ! test...''.  (Patch submitted by David J N Begley
2146e77048c1Stholo	<david@avarice.nepean.uws.edu.au>.)
2147e77048c1Stholo
2148e77048c1Stholo1999-08-17  Larry Jones  <larry.jones@sdrc.com>
2149e77048c1Stholo
2150e77048c1Stholo	* client.c, hardlink.c, hash.c, hash.h, main.c, recurse.c: Change
2151e77048c1Stholo	enum constant UNKNOWN to avoid conflicts on HPUX 11.0.  (Reported
2152e77048c1Stholo	by Laurent Duperval <laurent.duperval@cgi.ca>.)
2153e77048c1Stholo
2154e77048c1Stholo1999-08-16  Larry Jones  <larry.jones@sdrc.com>
2155e77048c1Stholo
2156e77048c1Stholo	client.c: Eliminate redundant #if.  (Patch submitted by Assar
2157e77048c1Stholo	Westerlund <assar@sics.se>.)
2158e77048c1Stholo
2159e77048c1Stholo1999-07-30  Larry Jones  <larry.jones@sdrc.com>
2160e77048c1Stholo
2161e77048c1Stholo	* rcs.c (RCS_checkin): Terminate cleanly if RCS_addbranch fails
2162e77048c1Stholo	rather than blithely continuing on and crashing.
2163e77048c1Stholo	* sanity.sh (basica): New tests, for this fix.
2164e77048c1Stholo
2165e77048c1Stholo1999-07-29  Larry Jones  <larry.jones@sdrc.com>
2166e77048c1Stholo
2167e77048c1Stholo	* import.c (add_rcs_file): change "cannot lstat" message to include
2168e77048c1Stholo	userfile (the actual file causing the problem) instead of user
2169e77048c1Stholo	(which may or may not be the same).
2170e77048c1Stholo
2171e77048c1Stholo1999-07-29  Eric Sink   <eric@sourcegear.com>
2172e77048c1Stholo
2173e77048c1Stholo	* version.c: Push version number to 1.10.7.1.
2174e77048c1Stholo
2175e77048c1Stholo	* version.c: Version 1.10.7.
2176e77048c1Stholo
2177892c0aadStholo1999-07-28  Eric Sink   <eric@sourcegear.com>
2178892c0aadStholo
2179892c0aadStholo	* sanity.sh: before running basicc-11, we need to see if
2180892c0aadStholo	the cwd has been deleted (by basicc-8).  If so, we
2181892c0aadStholo	recreate it to allow basicc-11 to proceed.  This may be
2182892c0aadStholo	something that only happens under the Linux 2.2 kernel.
2183892c0aadStholo
2184892c0aadStholo1999-07-18  Karl Fogel  <kfogel@floss.red-bean.com>
2185892c0aadStholo
2186892c0aadStholo	* edit.c (notify_do): chop newline, if any, from the value
2187892c0aadStholo	obtained from CVSROOT/users.  Otherwise it just gets passed along
2188892c0aadStholo	in the argument to the notification program (usually mail), which
2189892c0aadStholo	will misinterpret it as signifying the end of the command.
2190892c0aadStholo
2191892c0aadStholo1999-07-19  Larry Jones  <larry.jones@sdrc.com>
2192892c0aadStholo
2193892c0aadStholo	* rcs.c (RCS_delete_revs): In the WIN32 kludge, be sure that the result
2194892c0aadStholo	of RCS_getexpand is not NULL before trying to use what it points to.
2195892c0aadStholo	(Patch submitted by Timothy L. Taylor <ttaylor@mitre.org>.)
2196892c0aadStholo
2197892c0aadStholo1999-07-16  Tom Tromey  <tromey@cygnus.com>
2198892c0aadStholo
2199892c0aadStholo	* admin.c (admin): Allow `-k' options to be used unrestricted.
2200892c0aadStholo
2201892c0aadStholo1999-06-23  Jim Kingdon  <http://www.cyclic.com>
2202892c0aadStholo
2203892c0aadStholo	* sanity.sh (symlinks2): New test, for symlinks in working
2204892c0aadStholo	directory without PreservePermissions.  This test (modulo a few
2205892c0aadStholo	details not relevant to testing whether we are following symlinks)
2206892c0aadStholo	worked remote as of now, or either remote or local for CVS 1.9.
2207892c0aadStholo	* subr.c (get_file): Revert 1998-02-15 change to special-case
2208892c0aadStholo	symlinks.  This makes the above test work local too.
2209892c0aadStholo	* rcs.c (RCS_checkin): Move the logic to handle special-case
2210892c0aadStholo	symlinks (and other files other than regular files) here, and make
2211892c0aadStholo	it only happen if PreservePermissions is on.
2212892c0aadStholo
2213892c0aadStholo1999-06-18  Larry Jones  <larry.jones@sdrc.com>
2214892c0aadStholo
2215892c0aadStholo	* sanity.sh (devcom3-9a): Be less specific about the expected
2216892c0aadStholo	error message (BSD/OS 4.0 has a bug that can cause exec* to fail
2217892c0aadStholo	with EACCES instead of ENOENT).
2218892c0aadStholo
2219892c0aadStholo1999-06-08  Larry Jones  <larry.jones@sdrc.com>
2220892c0aadStholo
2221892c0aadStholo	* sanity.sh (diff-4, dirs2-10, tagf-13, importc-7, conflicts2-142b8):
2222892c0aadStholo	Use ${PROG} instead of "cvs".
2223892c0aadStholo
2224892c0aadStholo1999-06-05  Jim Kingdon  <http://www.cyclic.com>
2225892c0aadStholo
2226892c0aadStholo	* recurse.c (do_recursion, do_dir_proc): Make the SERVER_ACTIVE
2227892c0aadStholo	#ifdef be only around the check for server_active.  Modulo a few
2228892c0aadStholo	cosmetic tweaks, same as a patch submitted by Johannes Stezenbach
2229892c0aadStholo	of propack-data.de.
2230892c0aadStholo
2231892c0aadStholo1999-06-01  Jim Kingdon  <http://www.cyclic.com>
2232892c0aadStholo
2233892c0aadStholo	* sanity.sh: Add comment about rcs2-7 failures on certain days.
2234892c0aadStholo
2235892c0aadStholo	Make "cvs status -v" on a removed file work:
2236892c0aadStholo	* status.c (cvsstatus): Reindent the client code.
2237892c0aadStholo	(status_fileproc): Don't need a CVS/Entries listing to show the
2238892c0aadStholo	tags.
2239892c0aadStholo	* sanity.sh (rmadd2): New test rmadd2-16 tests the existing
2240892c0aadStholo	behavior with "cvs log"; new test rmadd2-17 tests the new behavior
2241892c0aadStholo	with "cvs status".
2242892c0aadStholo
2243892c0aadStholo	* sanity.sh (basicc): To match no output in dotest, put the empty
2244892c0aadStholo	regexp first.  Remove tests which check that first-dir exists,
2245892c0aadStholo	since that isn't true in the case where the OS let us delete it.
2246892c0aadStholo	(dotest_internal): Fix so that things work with two regexps, with
2247892c0aadStholo	an empty one first.
2248892c0aadStholo
2249892c0aadStholo1999-05-28  Larry Jones  <larry.jones@sdrc.com>
2250892c0aadStholo
2251892c0aadStholo	* sanity.sh (server-4): Replace bogus directory with real one since
2252892c0aadStholo	the server now checks it.
2253892c0aadStholo
2254892c0aadStholo1999-05-27  Jim Kingdon  <http://www.cyclic.com>
2255892c0aadStholo
2256892c0aadStholo	* sanity.sh (spacefiles): Clean up -c, top, and -b at end.
2257892c0aadStholo	(spacefiles, files): Fix bad references to CVSROOT_DIRNAME.
2258892c0aadStholo
2259892c0aadStholo	Fix two problems pointed out by Olaf Kirch of swb.de/caldera.de:
2260892c0aadStholo	* server.c (outside_root): New function, contains expanded version
2261892c0aadStholo	of code from serve_directory.
2262892c0aadStholo	(serve_directory): Call outside_root.
2263892c0aadStholo	(outside_dir): New function
2264892c0aadStholo	(serve_modified, serve_is_modified, serve_notify,
2265892c0aadStholo	serve_questionable, serve_unchanged): Call outside_dir.
2266892c0aadStholo	* sanity.sh (server2): New tests, for these fixes.
2267892c0aadStholo
2268892c0aadStholo1999-05-26  Jim Kingdon  <http://www.cyclic.com>
2269892c0aadStholo
2270892c0aadStholo	* cvs.h, subr.c (xmalloc): Return void* not char*, like xrealloc
2271892c0aadStholo	has done for some time.
2272892c0aadStholo	* modules.c (do_module): If we find the module as a directory/file
2273892c0aadStholo	(rather than in the modules file), skip a bunch of processing
2274892c0aadStholo	which was unnecessary and also broken in most of the cases
2275892c0aadStholo	now tested for by the spacefiles sanity.sh test.
2276892c0aadStholo	* sanity.sh (spacefiles): New test, for specifying filenames
2277892c0aadStholo	(containing spaces, or starting with '-', or starting with '/') to
2278892c0aadStholo	"cvs co".
2279892c0aadStholo
2280892c0aadStholo1999-05-25  Jim Kingdon  <http://www.cyclic.com>
2281892c0aadStholo
2282892c0aadStholo	* client.c (update_entries): Make the old DONT_USE_PATCH code the
2283892c0aadStholo	only code.  This means that if people are still on CVS 1.9
2284892c0aadStholo	servers, then CVS will fall back to transferring entire files.
2285892c0aadStholo	This is better than looking for an external "patch" program which
2286892c0aadStholo	causes no end of troubles (especially on Windows, but someone just
2287892c0aadStholo	posted to info-cvs about a problem with the Solaris patch).  (This
2288892c0aadStholo	change was run by devel-cvs and feedback was positive).
2289892c0aadStholo
2290892c0aadStholo	* subr.c (xmalloc, xrealloc): The new error.c does not support
2291892c0aadStholo	%lu; use sprintf instead.
2292892c0aadStholo
2293892c0aadStholo1999-05-25 Derek Price
2294892c0aadStholo	<http://www-personal.engin.umich.edu/~oberon/resume.html>
2295892c0aadStholo
2296892c0aadStholo	* sanity.sh (server): Escaped a few more newlines in
2297892c0aadStholo	another awk script.  Solaris awk still don't like 'em.
2298892c0aadStholo
2299892c0aadStholo1999-05-25 Derek Price
2300892c0aadStholo	<http://www-personal.engin.umich.edu/~oberon/resume.html>
2301892c0aadStholo	and Jim Kingdon
2302892c0aadStholo
2303892c0aadStholo	* log.c: Remove comment which said "you can delete [this line]"
2304892c0aadStholo	and which stuck around for over 3 years.
2305892c0aadStholo	* sanity.sh (errmsg2 & tagdate): Added tests to prove the
2306892c0aadStholo	current functionality with respect to combining -r and -D.
2307892c0aadStholo
2308892c0aadStholo1999-05-20  Larry Jones  <larry.jones@sdrc.com>
2309892c0aadStholo
2310892c0aadStholo	* server.c (pserver_authenticate_connection): Previous changes
2311892c0aadStholo	broke verify_and_exit (reported by Robert Fitzsimons, thanks).
2312892c0aadStholo	* sanity.sh (pserver): New tests pserver-7 and pserver-8 for this.
2313892c0aadStholo
2314892c0aadStholo1999-05-18 Derek Price
2315892c0aadStholo	<http://www-personal.engin.umich.edu/~oberon/resume.html>
2316892c0aadStholo
2317892c0aadStholo	* sanity.sh (keyword2): Escaped a newline in an awk script.
2318892c0aadStholo	Apparently Solaris awk don't like 'em.
2319892c0aadStholo
2320892c0aadStholo1999-05-18  Jim Kingdon  <http://www.cyclic.com>
2321892c0aadStholo
2322892c0aadStholo	* sanity.sh (basicc): Allow the behavior whereby unlink(".")
2323892c0aadStholo	succeeds.  Reported by Jeremy Buhler and Pavel Roskin.
2324892c0aadStholo
2325892c0aadStholo1999-05-17  Steve Cameron of Compaq
2326892c0aadStholo
2327892c0aadStholo	* sanity.sh: Modified to no longer use "test -e" for existence
2328892c0aadStholo	test as it has turned out to be not portable enough.  Instead use
2329892c0aadStholo	"test -f", "test -d", etc.
2330892c0aadStholo	[SCO Unixware 7 apparently doesn't always support it -kingdon]
2331892c0aadStholo
2332892c0aadStholo1999-05-17  Jim Kingdon  <http://www.cyclic.com>
2333892c0aadStholo
2334892c0aadStholo	* version.c: Push version number to 1.10.6.1.
2335892c0aadStholo
2336892c0aadStholo	* version.c: Version 1.10.6.
2337892c0aadStholo
2338892c0aadStholo1999-05-16  Jim Kingdon  <http://www.cyclic.com>
2339892c0aadStholo
2340892c0aadStholo	* update.c (patch_file): When we are passing vn_rcs to
2341892c0aadStholo	RCS_checkout, pass vn_tag as well.
2342892c0aadStholo	* sanity.sh (keyword): In test keyword-22, test for the fixed
2343892c0aadStholo	behavior rather than the buggy behavior.  Adjust keyword-23.  Add
2344892c0aadStholo	test keyword-24, to see whether keyword-23 really worked.
2345892c0aadStholo
2346892c0aadStholo1999-05-12  Larry Jones  <larry.jones@sdrc.com>
2347892c0aadStholo
2348892c0aadStholo	* sanity.sh (pserver-4, pserver-5): Bogus error messages from
2349892c0aadStholo	non-root initgroups on some 4.4BSD derived systems now show up
2350892c0aadStholo	in different places in the output.
2351892c0aadStholo
2352892c0aadStholo1999-05-12  Jim Kingdon  <http://www.cyclic.com>
2353892c0aadStholo
2354892c0aadStholo	* import.c (import): Don't allow the user to supply a repository
2355892c0aadStholo	directory which takes us out of the cvsroot.
2356892c0aadStholo	* sanity.sh (importc): New tests importc-10 to importc-12, for this.
2357892c0aadStholo
2358892c0aadStholo1999-05-11  Larry Jones  <larry.jones@sdrc.com>
2359892c0aadStholo
2360892c0aadStholo	* server.c (serve_notify): Allocate enough memory to hold the
2361892c0aadStholo	"misformed Notify request" message in pending_error_text.
2362892c0aadStholo
2363892c0aadStholo1999-05-11  Jim Kingdon  <http://www.cyclic.com>
2364892c0aadStholo
2365892c0aadStholo	* server.c (switch_to_user): Ignore EPERM from initgroups.  Fixes
2366892c0aadStholo	pserver-4 in testsuite.
2367892c0aadStholo	(pserver_authenticate_connection): Only print "I LOVE YOU" after
2368892c0aadStholo	switch_to_user has come back successfully.
2369892c0aadStholo
2370892c0aadStholo	* server.c (pserver_authenticate_connection): Call error_exit
2371892c0aadStholo	rather than reinventing the wheel ourselves.
2372892c0aadStholo	(switch_to_user): Check for errors from setuid, setgid, and
2373892c0aadStholo	initgroups.  Fix the #ifdef's (the previous code would skip the
2374892c0aadStholo	setuid call if SETXID_SUPPORT).
2375892c0aadStholo
2376892c0aadStholo1999-05-10  Jim Kingdon  <http://www.cyclic.com>
2377892c0aadStholo
2378892c0aadStholo	* server.c (serve_notify), edit.c (notify_do): Check for
2379892c0aadStholo	and reject characters which will get confused with delimiters.
2380892c0aadStholo	* sanity.sh (server): New tests server-7 through server-15 test
2381892c0aadStholo	for this and for other notify behaviors.
2382892c0aadStholo
2383892c0aadStholo	* rcs.c (RCS_tag2rev): Also look for a physical branch with
2384892c0aadStholo	RCS_getversion.
2385892c0aadStholo	* sanity.sh (tagf): Adjust tagf-12 and following tests to test for
2386892c0aadStholo	the fixed behavior rather than the broken behavior.
2387892c0aadStholo
2388892c0aadStholo1999-05-07  Jim Kingdon  <http://www.cyclic.com>
2389892c0aadStholo
2390892c0aadStholo	* server.c (server_notify): Also set last_node to NULL.
2391892c0aadStholo	* sanity.sh (server): New tests server-6 and server-7, for this.
2392892c0aadStholo
2393892c0aadStholo1999-05-05  Jim Kingdon  <http://www.cyclic.com>
2394892c0aadStholo
2395892c0aadStholo	* rcs.c (rcs_internal_lockfile): Remove unused variable lockfile.
2396892c0aadStholo
2397892c0aadStholo	* add.c (add): Look for directories with the same name in a
2398892c0aadStholo	different case where appropriate (analogous to fopen_case).
2399892c0aadStholo	In client code, add comment about how this doesn't do quite
2400892c0aadStholo	everything.
2401892c0aadStholo
2402892c0aadStholo1999-05-03  Jim Meyering  <meyering@ascend.com>
2403892c0aadStholo
2404892c0aadStholo	Remove rcs-style ,file, lock files upon signal.
2405892c0aadStholo	* rcs.c (rcs_lockfile): New file-scoped global.
2406892c0aadStholo	(rcs_cleanup): New function (similar to patch_cleanup).
2407892c0aadStholo	(rcs_internal_lockfile): Register rcs_cleanup the first time this
2408892c0aadStholo	function is called.  Rename uses of local `lockfile' to refer to new
2409892c0aadStholo	global, `rcs_lockfile'.  Don't free the lock file name string, now
2410892c0aadStholo	that it's global.
2411892c0aadStholo	(rcs_internal_unlockfile): Rename `lockfile', as above, and carefully
2412892c0aadStholo	free and NULL-out the global, rcs_lockfile.
2413892c0aadStholo
2414892c0aadStholo1999-04-30  Jim Kingdon  <http://www.cyclic.com>
2415892c0aadStholo
2416892c0aadStholo	* rcs.c (annotate_fileproc): Don't cast NULL in passing it to
2417892c0aadStholo	RCS_deltas.  Because there is a prototype in scope the cast is
2418892c0aadStholo	unnecessary (per HACKING's ANSI C or SunOS4 rule), and in fact it
2419892c0aadStholo	was causing failures on UNICOS because it cast to size_t instead
2420892c0aadStholo	of size_t*.  (Thanks to Dean Kopesky for reporting this).
2421892c0aadStholo
2422892c0aadStholo1999-04-29  Jim Kingdon  <http://www.cyclic.com>
2423892c0aadStholo
2424892c0aadStholo	* sanity.sh: If invoked without any arguments, print a usage
2425892c0aadStholo	message (thanks to Pavel Roskin for a report/patch).
2426892c0aadStholo
2427892c0aadStholo	* run.c (piped_child): Make the error messages more verbose.
2428892c0aadStholo	(close_on_exec): Reindent.
2429892c0aadStholo	* sanity.sh (devcom3): Several errors are possible in devcom3-9a.
2430892c0aadStholo	Adjust for change to piped_child error message.
2431892c0aadStholo
2432892c0aadStholo1999-04-28  Jim Kingdon  <http://www.cyclic.com>
2433892c0aadStholo
2434892c0aadStholo	* sanity.sh (devcom3): Add some tests of the CVS/Notify file and
2435892c0aadStholo	disconnected "cvs edit".
2436892c0aadStholo
2437892c0aadStholo	* main.c (opt_usage): Remove -b.
2438892c0aadStholo
2439892c0aadStholo1999-04-20 Derek Price
2440892c0aadStholo	<http://www-personal.engin.umich.edu/~oberon/resume.html>
2441892c0aadStholo
2442892c0aadStholo	* rcs.c (RCS_delete_revs):  RCS_delete_revs uses an
2443892c0aadStholo	RCS_checkout call to get a new copy of a revision to be
2444892c0aadStholo	used internally after old revisions were deleted and it was
2445892c0aadStholo	performing keyword substitutions.  This munged all the
2446892c0aadStholo	the revisions of the file on the branch containing the
2447892c0aadStholo	deleted revisions and its sub-branches, as the original they
2448892c0aadStholo	were being patched from was incorrect.  Corrected this by
2449892c0aadStholo	passing in "-ko" as an option to RCS_checkout.
2450892c0aadStholo	* sanity.sh (keywordlog):  modified this test to verify the
2451892c0aadStholo	correct behavior of 'cvs admin -o'.
2452892c0aadStholo	[Fixed use of \$ in keywordlog test; added code in RCS_delete_revs
2453892c0aadStholo	to abort on binary file on Windows -kingdon]
2454892c0aadStholo
2455892c0aadStholo1999-04-21  Derek Price
2456892c0aadStholo	<http://www-personal.engin.umich.edu/~oberon/resume.html>
2457892c0aadStholo	and Jim Kingdon
2458892c0aadStholo
2459892c0aadStholo	* tag.c (tag_check_valid): A bug was causing CVS to spin
2460892c0aadStholo	indefinately when -j:<date> was specified.  CVS now returns
2461892c0aadStholo	an error.
2462892c0aadStholo	* sanity.sh: Added a test (tagdate-12) to test this.
2463892c0aadStholo
2464892c0aadStholo1999-04-19  Jim Kingdon  <http://www.cyclic.com>
2465892c0aadStholo
2466892c0aadStholo	* sanity.sh (backuprecover): Clean up the repository at the end.
2467892c0aadStholo
2468892c0aadStholo1999-04-18  Derek Price
2469892c0aadStholo	<http://www-personal.engin.umich.edu/~oberon/resume.html>
2470892c0aadStholo
2471892c0aadStholo	* sanity.sh added a test (backuprecover) to test cvs behavior
2472892c0aadStholo	with a repository that is out of date relative to the
2473892c0aadStholo	developer's workspaces.
2474892c0aadStholo	[Fix --keep code; move test to "Repository Storage" section since
2475892c0aadStholo	it doesn't really exercise the diff/diff3 library. -kingdon]
2476892c0aadStholo
2477892c0aadStholo1999-04-13  Derek Price
2478892c0aadStholo	<http://www-personal.engin.umich.edu/~oberon/resume.html>
2479892c0aadStholo
2480892c0aadStholo	* sanity.sh (diff):  Tests to verify correct operation of
2481892c0aadStholo	the --ifdef parameter to cvs diff.
2482892c0aadStholo	[indentation fixed -kingdon].
2483892c0aadStholo
2484892c0aadStholo1999-04-13  Derek Price
2485892c0aadStholo	<http://www-personal.engin.umich.edu/~oberon/resume.html>
2486892c0aadStholo	for Noah Friedman  <friedman@splode.com>
2487892c0aadStholo
2488892c0aadStholo        * diff.c (diff): Put "--ifdef=" in opts string, not "-D"; the
2489892c0aadStholo        latter is confused by pserver for a date spec.
2490892c0aadStholo
2491892c0aadStholo1999-04-14  Jim Kingdon  <http://www.cyclic.com>
2492892c0aadStholo
2493892c0aadStholo	* fileattr.h: Adjust comments to reflect the official version of
2494892c0aadStholo	the fileattr format now being in cvs.texinfo.
2495892c0aadStholo
2496892c0aadStholo1999-04-05  Jim Kingdon
2497892c0aadStholo
2498892c0aadStholo	* sanity.sh (watch5): Remove nonstandard --keep code.  Don't pass
2499892c0aadStholo	-f to rm when cleaning up (that tends to mask bugs).  Add watch5
2500892c0aadStholo	to list of tests at start.  Add comment explaining why we consider
2501892c0aadStholo	the behavior we test for the right one.  Rename a few tests which
2502892c0aadStholo	had been erroneously named watch6* instead of watch5*.
2503892c0aadStholo	* client.c (update_entries): Add comment with brief discussion of
2504892c0aadStholo	whether there is a better way.
2505892c0aadStholo
2506892c0aadStholo1999-04-05  Derek Price
2507892c0aadStholo	<http://www-personal.engin.umich.edu/~oberon/resume.html>
2508892c0aadStholo
2509892c0aadStholo	* client.c (update_entries):  Only call mark_up_to_date
2510892c0aadStholo	(which deletes the CVS/Base/<filename> file for watched
2511892c0aadStholo	and edited files) on commit.
2512892c0aadStholo	* sanity.sh:  Make sure the CVS/Base/<filename> file for
2513892c0aadStholo	a watched and edited file is not removed on a status or
2514892c0aadStholo	update of a touched/unmodfied file.
2515892c0aadStholo
2516892c0aadStholo1999-03-30  Larry Jones  <larry.jones@sdrc.com>
2517892c0aadStholo
2518892c0aadStholo	* client.c (get_responses_and_close), commit.c (commit),
2519892c0aadStholo	update.c (do_update): If the sleep(1) call returns prematurely
2520892c0aadStholo	(due to the way wakeup is scheduled or receiving a signal), do
2521892c0aadStholo	it again.
2522892c0aadStholo
2523892c0aadStholo1999-03-26  Jim Kingdon  <http://www.cyclic.com>
2524892c0aadStholo
2525892c0aadStholo	* server.c (server): Add comment about Gzip-stream vs. RQ_ROOTLESS.
2526892c0aadStholo
2527892c0aadStholo	* sanity.sh (modules3-11b): Adjust exact text of error message to
2528892c0aadStholo	reflect 1999-03-24 change to dirswitch.
2529892c0aadStholo
2530892c0aadStholo1999-03-25  Jim Kingdon  <http://www.cyclic.com>
2531892c0aadStholo
2532892c0aadStholo	* admin.c (admin): Make argument to -e optional, to match the
2533892c0aadStholo	documentation.
2534892c0aadStholo	* sanity.sh (admin-19a-2): Test for this.
2535892c0aadStholo
2536892c0aadStholo	* server.c (serve_root): Update comment about checking for missing
2537892c0aadStholo	Root request.
2538892c0aadStholo
2539892c0aadStholo1999-03-24  Jim Kingdon  <http://www.cyclic.com>
2540892c0aadStholo
2541892c0aadStholo	* server.c (dirswitch): Also check dir here, similar to
2542892c0aadStholo	what server_pathname_check does for other cases.
2543892c0aadStholo	* sanity.sh (files): Adjust files-14 to test for this.
2544892c0aadStholo
2545892c0aadStholo1999-03-24  Derek Price
2546892c0aadStholo	<http://www-personal.engin.umich.edu/~oberon/resume.html>
2547892c0aadStholo	and Jim Kingdon
2548892c0aadStholo
2549892c0aadStholo	* sanity.sh: added a test (files-13) to test .. indirection
2550892c0aadStholo	in a path and another (files-14) to make sure we still fail
2551892c0aadStholo	out when the '..' indirection takes us into the $CVSROOT
2552892c0aadStholo	directory or beyond.
2553892c0aadStholo
2554892c0aadStholo1999-03-24  Larry Jones  <larry.jones@sdrc.com>
2555892c0aadStholo
2556892c0aadStholo	* rcs.c: Change enum constants ADD and DELETE to something less
2557892c0aadStholo	likely to run into conflicts.
2558892c0aadStholo
2559892c0aadStholo1999-03-21  Jim Kingdon  <http://www.cyclic.com>
2560892c0aadStholo
2561892c0aadStholo	* sanity.sh (tagf): New test, tests for moving a branch tag to a
2562892c0aadStholo	non-branch tag and trying to recover.
2563892c0aadStholo
2564892c0aadStholo1999-03-12  Jim Kingdon  <http://www.cyclic.com>
2565892c0aadStholo
2566892c0aadStholo	* sanity.sh (branches): Tweak test branches-5 to test the case in
2567892c0aadStholo	which one modifies a file and then branches it.
2568892c0aadStholo
2569892c0aadStholo1999-03-09  John Bley of duke.edu
2570892c0aadStholo
2571892c0aadStholo	* mkmodules.c (filelist): Missed a NULL in this struct (should
2572892c0aadStholo	have 3 members, only had 2).
2573892c0aadStholo
2574892c0aadStholo1999-03-07  Jim Kingdon  <http://www.cyclic.com>
2575892c0aadStholo
2576892c0aadStholo	* sanity.sh (Index): Rename new test from rm_CVS/Root to rmroot
2577892c0aadStholo	(we don't have a formal rule about funky punctuation in test names
2578892c0aadStholo	but both underscore and a slash is too funky for me :-)).
2579892c0aadStholo	Reindent a few tests which were off.
2580892c0aadStholo
2581892c0aadStholo	* root.c: Remove the sentence which had the improper English;
2582892c0aadStholo	there isn't really a need for that sentence and it isn't
2583892c0aadStholo	particularly accurate any more.
2584892c0aadStholo
2585892c0aadStholo1999-02-27  Derek Price
2586892c0aadStholo	<http://www-personal.engin.umich.edu/~oberon/resume.html>
2587892c0aadStholo
2588892c0aadStholo	* sanity.sh:  Added rm_CVS/Root test to test that CVS uses
2589892c0aadStholo	$CVSROOT rather than dumping core when running remotely and
2590892c0aadStholo	the admin file CVS/Root is deleted from the workspace.
2591892c0aadStholo
2592892c0aadStholo	Also, altered a few 'cvs commit' 's in regular expressions to
2593892c0aadStholo	fit the .${PROG} commit. portability syntax.
2594892c0aadStholo
2595892c0aadStholo	* recurse.c:  Stopped CVS from dumping core in the case tested
2596892c0aadStholo	above.
2597892c0aadStholo
2598892c0aadStholo	* root.c:  Fixed somebody's improper english.
2599892c0aadStholo
2600892c0aadStholo1999-02-25  Larry Jones  <larry.jones@sdrc.com>
2601892c0aadStholo
2602892c0aadStholo	* sanity.sh (keyword2-12): Use ${QUESTION} instead of ? in the
2603892c0aadStholo	expected result.
2604892c0aadStholo
2605892c0aadStholo1999-02-24  Jim Kingdon  <http://www.cyclic.com>
2606892c0aadStholo
2607892c0aadStholo	* sanity.sh (keyword2): Restore the original \\\$ instead of $.
2608892c0aadStholo	The latter ends up working due to various kludgy semantics in the
2609892c0aadStholo	shell and regular expressions, but the former is cleaner.
2610892c0aadStholo
2611892c0aadStholo	* sanity.sh (keyword2): Protect keywords against accidental
2612892c0aadStholo	expansion in sanity.sh itself (most occurrences had this, but not
2613892c0aadStholo	all).
2614892c0aadStholo
2615892c0aadStholo1999-02-23  Derek Price  <http://www.cyclic.com>
2616892c0aadStholo	and Jim Kingdon.
2617892c0aadStholo
2618892c0aadStholo	* sanity.sh (keyword2): New test, tests for merging with -kk.
2619892c0aadStholo
2620892c0aadStholo1999-02-22  Jim Kingdon  <http://www.cyclic.com>
2621892c0aadStholo
2622892c0aadStholo	* version.c: Ease version number to 1.10.5.1.
2623892c0aadStholo
2624892c0aadStholo	* version.c: Version 1.10.5.
2625892c0aadStholo
2626c71bc7e2Stholo1999-02-18  Jim Kingdon  <http://www.cyclic.com>
2627c71bc7e2Stholo
2628c71bc7e2Stholo	* sanity.sh (files): New test, for a relatively obscure spurious
2629c71bc7e2Stholo	"Up-to-date check failed" in client/server.
2630c71bc7e2Stholo
2631c71bc7e2Stholo	* main.c (lookup_command_attribute): Don't check for "history"
2632c71bc7e2Stholo	twice.
2633c71bc7e2Stholo
2634c71bc7e2Stholo1999-02-17  Jim Kingdon  <http://www.cyclic.com>
2635c71bc7e2Stholo	    and Hallvard B Furuseth
2636c71bc7e2Stholo
2637c71bc7e2Stholo	* root.c (parse_cvsroot): Rearrange ifdefs to squelch possible
2638c71bc7e2Stholo	warnings about statement not reached.
2639c71bc7e2Stholo
2640c71bc7e2Stholo1999-02-16  Jim Kingdon  <http://www.cyclic.com>
2641c71bc7e2Stholo
2642c71bc7e2Stholo	* recurse.c (start_recursion): If we are skipping the current
2643c71bc7e2Stholo	directory (due to it being from the wrong repository), also adjust
2644c71bc7e2Stholo	the arguments we send to the server accordingly (like we already
2645c71bc7e2Stholo	do for the case in which there is no CVS directory).
2646c71bc7e2Stholo	* sanity.sh (multiroot4): New test, for this.  All these tests had
2647c71bc7e2Stholo	passed locally, but remote multiroot4-12 tests for this fix.
2648c71bc7e2Stholo	(multiroot): Adjust multiroot-diff-1, multiroot-update-2,
2649c71bc7e2Stholo	multiroot-tag-1, multiroot-status-1, multiroot-update-3, and
2650c71bc7e2Stholo	multiroot-log-1 to reflect the cosmetic change this produces (one
2651c71bc7e2Stholo	less "Diffing ." message).
2652c71bc7e2Stholo	(multiroot2): multiroot2-8 likewise.
2653c71bc7e2Stholo
2654c71bc7e2Stholo1999-02-10  Jim Kingdon  <http://www.cyclic.com>
2655c71bc7e2Stholo
2656c71bc7e2Stholo	* tag.c (cvstag): Don't pass SEND_NO_CONTENTS if -c specified.
2657c71bc7e2Stholo	* sanity.sh (tagc): New test, for various tag -c behaviors.
2658c71bc7e2Stholo	Test tagc-6 tests for this fix.
2659c71bc7e2Stholo
2660c71bc7e2Stholo1999-02-09  Jim Kingdon  <http://www.cyclic.com>
2661c71bc7e2Stholo
2662c71bc7e2Stholo	* error.c (error): Rewrite to no longer use vasprintf (see
2663c71bc7e2Stholo	../lib/ChangeLog for rationale).  Note the slight change in
2664c71bc7e2Stholo	interface - callers which want %8.8s or similar formats need to
2665c71bc7e2Stholo	call sprintf.
2666c71bc7e2Stholo	* lock.c (lock_wait, lock_obtained): Use sprintf.
2667c71bc7e2Stholo
2668c71bc7e2Stholo1999-02-08  Jim Kingdon  <http://www.cyclic.com>
2669c71bc7e2Stholo
2670c71bc7e2Stholo	* rcs.c (RCS_delete_revs): Pass -a to diff_exec.
2671c71bc7e2Stholo	* sanity.sh (binfiles3): New tests binfiles3-9 through
2672c71bc7e2Stholo	binfiles3-13 test for this fix.
2673c71bc7e2Stholo	* sanity.sh (binfiles): New tests binfiles-o4 and binfiles-o5
2674c71bc7e2Stholo	(which don't test this bug, just on general principles).
2675c71bc7e2Stholo
2676c71bc7e2Stholo1999-02-04  Jim Kingdon  <http://www.cyclic.com>
2677c71bc7e2Stholo
2678c71bc7e2Stholo	* lock.c (lock_name): Permissions of directories in LockDir
2679c71bc7e2Stholo	shouldn't depend on the umask.
2680c71bc7e2Stholo	* sanity.sh (lockfiles): Set umask and CVSUMASK, to test for this.
2681c71bc7e2Stholo
2682c71bc7e2Stholo1999-02-01  Jim Kingdon  <http://www.cyclic.com>
2683c71bc7e2Stholo
2684c71bc7e2Stholo	* sanity.sh (keywordlog): New tests keywordlog-22 and
2685c71bc7e2Stholo	keywordlog-23 test keyword expansion and $Log.  Adjust other tests
2686c71bc7e2Stholo	so that revisions differ more from each other, so this is a
2687c71bc7e2Stholo	better test.
2688c71bc7e2Stholo
2689c71bc7e2Stholo1999-01-29  Jim Kingdon  <http://www.cyclic.com>
2690c71bc7e2Stholo
2691c71bc7e2Stholo	* commit.c (checkaddfile): If options is "", treat it the same as
2692c71bc7e2Stholo	NULL.  Centralize this check, and the one for it starting with
2693c71bc7e2Stholo	"-k", at the start of the function.
2694c71bc7e2Stholo
2695c71bc7e2Stholo	* rcs.c, rcs.h (RCS_setexpand): New function.
2696c71bc7e2Stholo	* admin.c (admin_fileproc): Access keyword expansion field via
2697c71bc7e2Stholo	RCS_getexpand and RCS_setexpand, rather than directly.
2698c71bc7e2Stholo	* commit.c (checkaddfile): When resurrecting, set the keyword
2699c71bc7e2Stholo	expansion mode.
2700c71bc7e2Stholo	* sanity.sh (binfiles3): Adjust tests binfiles3-7 and binfiles3-8
2701c71bc7e2Stholo	for the new behavior.
2702c71bc7e2Stholo
2703c71bc7e2Stholo1999-01-27  Jim Kingdon  <http://www.cyclic.com>
2704c71bc7e2Stholo
2705c71bc7e2Stholo	* sanity.sh (multiroot3): Add new variant of multiroot3-10 test
2706c71bc7e2Stholo	for RELATIVE_REPOS.  Move multiroot3-11 test out of the
2707c71bc7e2Stholo	conditionals; it works the same for remote or local,
2708c71bc7e2Stholo	RELATIVE_REPOS or no.
2709c71bc7e2Stholo
2710c71bc7e2Stholo	* options.h.in: Make RELATIVE_REPOS the default, as has been
2711c71bc7e2Stholo	announced as a future direction since 1997-10-11.
2712c71bc7e2Stholo	* sanity.sh (multiroot): Tweak multiroot-update-1a and
2713c71bc7e2Stholo	multiroot-update-1b tests to work with either RELATIVE_REPOS or
2714c71bc7e2Stholo	non-RELATIVE_REPOS.
2715c71bc7e2Stholo
2716c71bc7e2Stholo	* sanity.sh (client-9): Don't assume the time zone.
2717c71bc7e2Stholo
2718c71bc7e2Stholo1999-01-26  Jim Kingdon  <http://www.cyclic.com>
2719c71bc7e2Stholo
2720c71bc7e2Stholo	Fix one facet of the "cvs add -kb" re-adding problem (the other
2721c71bc7e2Stholo	known facet is tested for by binfiles3-8).
2722c71bc7e2Stholo	* add.c (add): When re-adding a file, set the keyword expansion
2723c71bc7e2Stholo	as we normally would.
2724c71bc7e2Stholo	* sanity.sh (binfiles3): New test binfiles3-6a tests for this.
2725c71bc7e2Stholo
2726c71bc7e2Stholo1999-01-22  Jim Kingdon  <http://www.cyclic.com>
2727c71bc7e2Stholo
2728c71bc7e2Stholo	* sanity.sh (rmadd2): New tests, for undoing a commit.
2729c71bc7e2Stholo
2730c71bc7e2Stholo1999-01-21  Eric Mumpower  <nocturne@cygnus.com>
2731c71bc7e2Stholo
2732c71bc7e2Stholo	* sanity.sh (reposmv): Actually modify CVSROOT in current
2733c71bc7e2Stholo	environment when calling functions, rather than trying to achieve
2734c71bc7e2Stholo	the same effect with "CVSROOT=foo functionname". (Many common
2735c71bc7e2Stholo	bourne shells, including those in SunOS and Solaris 2.4-2.7,
2736c71bc7e2Stholo	do not properly handle "ENVVAR=foo command" when "command" is
2737c71bc7e2Stholo	a user-defined shell function rather than an actual executable.)
2738c71bc7e2Stholo
2739c71bc7e2Stholo1999-01-15  Jim Kingdon  <http://www.cyclic.com>
2740c71bc7e2Stholo
2741c71bc7e2Stholo	* sanity.sh (rcs3): Redirect awk's stdin to /dev/null like all the
2742c71bc7e2Stholo	other awk invocations.  GNU awk seems not to read stdin in this
2743c71bc7e2Stholo	case, but that behavior is hard to reconcile with the Single Unix
2744c71bc7e2Stholo	Spec and some awks don't do it.
2745c71bc7e2Stholo
2746c71bc7e2Stholo	* sanity.sh (binfiles, binfiles2, binfiles3, server): Use the same
2747c71bc7e2Stholo	tr trick as in rcs3.  People don't seem to have been complaining,
2748c71bc7e2Stholo	and this should fix server-4 for HPUX.
2749c71bc7e2Stholo
2750c71bc7e2Stholo1999-01-14  Jim Kingdon  <http://www.cyclic.com>
2751c71bc7e2Stholo
2752c71bc7e2Stholo	* client.c (recv_line): If the line we are reading contains a
2753c71bc7e2Stholo	character which would sign-extend to EOF, don't treat it as end of
2754c71bc7e2Stholo	file.  recv() doesn't report end of file this way and this might
2755c71bc7e2Stholo	fix bugs with 0xff characters.
2756c71bc7e2Stholo
2757c71bc7e2Stholo1999-01-14  Larry Jones  <larry.jones@sdrc.com>
2758c71bc7e2Stholo
2759c71bc7e2Stholo	* client.c (recv_line): Handle EOF from server.
2760c71bc7e2Stholo
2761c71bc7e2Stholo	* sanity.sh (importc-8, importc-9): Accept anything in the seconds
2762c71bc7e2Stholo	fields of the timestamps since touch doesn't set it reliably.
2763c71bc7e2Stholo	(This isn't great, but it's better than nothing.)
2764c71bc7e2Stholo
2765c71bc7e2Stholo1999-01-14  Jim Kingdon  <http://www.cyclic.com>
2766c71bc7e2Stholo
2767c71bc7e2Stholo	* run.c (run_exec): Adjust comment about vfork; this isn't the place
2768c71bc7e2Stholo	to get into a treatise about fork performance vs. vfork
2769c71bc7e2Stholo	performance but it isn't quite as simple as whether one has
2770c71bc7e2Stholo	copy-on-write.
2771c71bc7e2Stholo
2772c71bc7e2Stholo1999-01-13  Larry Jones  <larry.jones@sdrc.com>
2773c71bc7e2Stholo
2774c71bc7e2Stholo	* sanity.sh (dotest_fail): Handle spurrious output from assert better.
2775c71bc7e2Stholo
2776c71bc7e2Stholo	* sanity.sh (rcs3-4, rcs3-5a): Handle even more variants of the
2777c71bc7e2Stholo	assertion failure message.
2778c71bc7e2Stholo
2779c71bc7e2Stholo1999-01-12  Larry Jones  <larry.jones@sdrc.com>
2780c71bc7e2Stholo
2781c71bc7e2Stholo	* sanity.sh (mtfr-3): ls behavior varies wildly on nonexistant files,
2782c71bc7e2Stholo        just use echo instead.
2783c71bc7e2Stholo
2784c71bc7e2Stholo1999-01-11  Jim Meyering  <meyering@ascend.com>
2785c71bc7e2Stholo
2786c71bc7e2Stholo	* sanity.sh (mkmodules-temp-file-removal): New test, for this.
2787c71bc7e2Stholo	* mkmodules.c (mkmodules): Remove each `CVSROOT/.#[0-9]*' temporary
2788c71bc7e2Stholo	file that's used to check out files listed in CVSROOT/checkoutlist.
2789c71bc7e2Stholo	Remove extra semicolon at end of line.
2790c71bc7e2Stholo
2791c71bc7e2Stholo1999-01-11  Larry Jones  <larry.jones@sdrc.com>
2792c71bc7e2Stholo
2793c71bc7e2Stholo	* sanity.sh (rcs3-5a): Allow for multiple lines of output before the
2794c71bc7e2Stholo	assertion failure message.
2795c71bc7e2Stholo
2796c71bc7e2Stholo	* sanity.sh (lockfiles-6, client-8): Work around bug in HP-UX chmod
2797c71bc7e2Stholo	(doesn't allow anything to follow omitted permissions).
2798c71bc7e2Stholo
2799c71bc7e2Stholo1999-01-09  Jim Kingdon  <http://www.cyclic.com>
2800c71bc7e2Stholo
2801c71bc7e2Stholo	* client.c (set_sticky): Nonfatal error if we can't write it.
2802c71bc7e2Stholo	* sanity.sh (dirs2-8 through dirs2-14): New tests, for this.
2803c71bc7e2Stholo
2804c71bc7e2Stholo	* sanity.sh (rcs3): Write NUL character with tr not awk, in
2805c71bc7e2Stholo	accordance with Single Unix Specification.  Hopefully will fix
2806c71bc7e2Stholo	rcs3-7 for HPUX.  Will not work on SunOS4, but then again neither
2807c71bc7e2Stholo	did the old syntax.
2808c71bc7e2Stholo
2809c71bc7e2Stholo1999-01-05  Jim Kingdon  <http://www.cyclic.com>
2810c71bc7e2Stholo
2811c71bc7e2Stholo	* client.c, update.c: Rename MD5* functions to cvs_MD5* per
2812c71bc7e2Stholo	corresponding change to ../lib/md5.h.
2813c71bc7e2Stholo
2814c71bc7e2Stholo1999-01-03  Jim Kingdon  <http://www.cyclic.com>
2815c71bc7e2Stholo
2816c71bc7e2Stholo	* sanity.sh (client): Give file1 a predictable mode so that the
2817c71bc7e2Stholo	output in client-9 will not depend on the umask of the user
2818c71bc7e2Stholo	running the tests.
2819c71bc7e2Stholo
2820c71bc7e2Stholo1998-12-29  Jim Kingdon  <http://www.cyclic.com>
2821c71bc7e2Stholo
2822c71bc7e2Stholo	* client.c (client_senddate): Use date_to_internet rather than
2823c71bc7e2Stholo	using our own "5/26/1997 13:01:40 GMT" date format.
2824c71bc7e2Stholo	* main.c (date_to_internet): Check for errors from sscanf.  Always
2825c71bc7e2Stholo	send a four digit year.  Send hours, minutes, and seconds as two
2826c71bc7e2Stholo	digits per RFC822.
2827c71bc7e2Stholo	* sanity.sh (client): New tests client-8 and client-9 test for this.
2828c71bc7e2Stholo
2829c71bc7e2Stholo	* sanity.sh (rcs2): New tests rcs2-6 through rcs2-8 test for fix
2830c71bc7e2Stholo	to lib/getdate.y (before the fix, "100 months" or "8 years" would
2831c71bc7e2Stholo	tend to mean the year 1969, thus the tests would give "cvs update:
2832c71bc7e2Stholo	file1 is no longer in the repository").
2833c71bc7e2Stholo
2834c71bc7e2Stholo1998-12-28  Larry Jones  <larry.jones@sdrc.com>
2835c71bc7e2Stholo
2836c71bc7e2Stholo	* entries.c (Register): Return if unable to open log file to avoid
2837c71bc7e2Stholo	referencing the invalid file pointer.
2838c71bc7e2Stholo	* sanity.sh (dirs2-7): With above change, no longer fails.
2839c71bc7e2Stholo	* sanity.sh (rcs3-5a): Another assertion failure message.
2840c71bc7e2Stholo	* sanity.sh (pserver-4, pserver-5): Some 4.4BSD derived systems spit
2841c71bc7e2Stholo	out bogus error messages when initgroups is called as non-root.
2842c71bc7e2Stholo
2843c71bc7e2Stholo1998-12-23  Larry Jones  <larry.jones@sdrc.com>
2844c71bc7e2Stholo
2845c71bc7e2Stholo	* sanity.sh (rcs3, dotest_fail): The assertion failure message varies
2846c71bc7e2Stholo	wildly between different systems and the resulting abort call can
2847c71bc7e2Stholo	even result in spurrious output.  Fix the regexp to accept nearly
2848c71bc7e2Stholo	anything containing some kind of assertion failure and ensure that
2849c71bc7e2Stholo	any spurrious output ends up in the output file instead of on the
2850c71bc7e2Stholo	terminal.
2851c71bc7e2Stholo
2852c71bc7e2Stholo1998-12-23  Jim Kingdon  <http://www.cyclic.com>
2853c71bc7e2Stholo
2854c71bc7e2Stholo	* admin.c, checkout.c, commit.c, cvsrc.c, expand_path.c,
2855c71bc7e2Stholo	history.c, ignore.c, import.c, log.c, mkmodules.c, modules.c,
2856c71bc7e2Stholo	myndbm.c, parseinfo.c, rcs.c, remove.c, rtag.c, status.c, subr.c,
2857c71bc7e2Stholo	tag.c, wrapper.c: Cast all char's to unsigned char before passing
2858c71bc7e2Stholo	them to ctype.h functions (isalpha, isgraph, isalnum, isspace,
2859c71bc7e2Stholo	isdigit, isprint, isupper).  Whether using ctype.h is the right
2860c71bc7e2Stholo	thing at all is unclear to me (having the server depend on locale
2861c71bc7e2Stholo	seems wrong, as we don't necessarily have any good way to set the
2862c71bc7e2Stholo	right locale, if there even is such a concept as 'right' locale in
2863c71bc7e2Stholo	this context), but as long as we use ctype.h we might as use it
2864c71bc7e2Stholo	according to the standards (this affects systems where plain char
2865c71bc7e2Stholo	is signed but users supply characters with the 8th bit set).
2866c71bc7e2Stholo	Thanks to Paul Eggert for suggesting this.
2867c71bc7e2Stholo
2868c71bc7e2Stholo1998-12-22  Jim Kingdon  <http://www.cyclic.com>
2869c71bc7e2Stholo
2870c71bc7e2Stholo	* sanity.sh (rcs3): Oops, the earlier fix for srcdir only fixed
2871c71bc7e2Stholo	the non-remote case, not the remote case.  Fix the other occurrence.
2872c71bc7e2Stholo
2873c71bc7e2Stholo1998-12-22  Jim Kingdon
2874c71bc7e2Stholo
2875c71bc7e2Stholo	* sanity.sh (rcs3): The assertion failure message varies slightly
2876c71bc7e2Stholo	depending on whether CVS was built with srcdir != ".".  Fix regexp.
2877c71bc7e2Stholo
2878c71bc7e2Stholo1998-12-21  Jim Kingdon
2879c71bc7e2Stholo
2880c71bc7e2Stholo	* rcs.c (RCS_getdate): Reindent Jim Meyering's change; remove
2881c71bc7e2Stholo	unused variable x_vers.
2882c71bc7e2Stholo
2883c71bc7e2Stholo	* rcs.c: When printing an unexpected character we found in the RCS
2884c71bc7e2Stholo	file, print it in hex rather than as a character (see comment for
2885c71bc7e2Stholo	rationale).
2886c71bc7e2Stholo	* sanity.sh (rcs3): Adjust rcs3-2 and rcs3-7 tests accordingly.
2887c71bc7e2Stholo
2888c71bc7e2Stholo	* sanity.sh (rcs3): New test, for some error handling cases
2889c71bc7e2Stholo	involving parsing RCS files.
2890c71bc7e2Stholo
2891c71bc7e2Stholo1998-12-16  Jim Meyering  <meyering@ascend.com>
2892c71bc7e2Stholo
2893c71bc7e2Stholo	* rcs.c (RCS_getdate): Handle the case in which a file is first
2894c71bc7e2Stholo	imported after its initial version has been created.
2895c71bc7e2Stholo	* sanity.sh (import-after-initial): New test for that.
2896c71bc7e2Stholo
2897c71bc7e2Stholo1998-12-17  Jim Kingdon
2898c71bc7e2Stholo
2899c71bc7e2Stholo	* server.c (serve_root): Pserver_Repos only exists if
2900c71bc7e2Stholo	AUTH_SERVER_SUPPORT is defined.
2901c71bc7e2Stholo
2902c71bc7e2Stholo1998-12-12  Jim Kingdon, and Derek R. Price of Stortek.
2903c71bc7e2Stholo
2904c71bc7e2Stholo	* sanity.sh (multiroot): Change + to ${PLUS}.
2905c71bc7e2Stholo
2906c71bc7e2Stholo1998-12-12  Jim Kingdon, and Gary Young of Motorola
2907c71bc7e2Stholo
2908c71bc7e2Stholo	* sanity.sh (admin): In tests admin-13, admin-25, and admin-29,
2909c71bc7e2Stholo	allow 4 digit year in addition to 2 digit year.
2910c71bc7e2Stholo
2911c71bc7e2Stholo1998-12-12  Jim Kingdon
2912c71bc7e2Stholo
2913c71bc7e2Stholo	* sanity.sh (log): New tests log-14a and log-14b test for -rHEAD
2914c71bc7e2Stholo	and for HEAD as (nonexistent) file name.
2915c71bc7e2Stholo
2916c71bc7e2Stholo1998-12-02  Jim Kingdon
2917c71bc7e2Stholo
2918c71bc7e2Stholo	* version.c: Squish version number to 1.10.4.1.
2919c71bc7e2Stholo
2920c71bc7e2Stholo	* version.c: Version 1.10.4.
2921c71bc7e2Stholo
2922c71bc7e2Stholo1998-11-24  Jim Kingdon
2923c71bc7e2Stholo
2924c71bc7e2Stholo	* recurse.c (do_file_proc): Check for errors from RCS_parse.
2925c71bc7e2Stholo	* sanity.sh (rcslib-symlink-7 through rcslib-symlink-10): New
2926c71bc7e2Stholo	tests, test for this.
2927c71bc7e2Stholo
2928c71bc7e2Stholo	* sanity.sh (reposmv-2): Adjust for 22-Nov change to Find_Names.
2929c71bc7e2Stholo
2930c71bc7e2Stholo	* entries.c (Register): If we can't write Entries.Log, make it a
2931c71bc7e2Stholo	nonfatal error.
2932c71bc7e2Stholo	* sanity.sh (dirs2): Test for this fix.
2933c71bc7e2Stholo
2934c71bc7e2Stholo	* sanity.sh (dirs2): Clean up working directory at end of test.
2935c71bc7e2Stholo
2936c71bc7e2Stholo1998-11-23  Jim Kingdon
2937c71bc7e2Stholo
2938c71bc7e2Stholo	* sanity.sh (dirs2): New test, for some more cases involving
2939c71bc7e2Stholo	deleting directories and such.
2940c71bc7e2Stholo
2941c71bc7e2Stholo	* sanity.sh (dirs): Update for yesterday's change in Find_Names
2942c71bc7e2Stholo	error handling.  The error in dirs-4 is fairly different now; in
2943c71bc7e2Stholo	dirs-3 and dirs-3a it is the obvious change.
2944c71bc7e2Stholo
2945c71bc7e2Stholo1998-11-22  Jim Kingdon
2946c71bc7e2Stholo
2947c71bc7e2Stholo	* sanity.sh (release): Move the commments listing "cvs release"
2948c71bc7e2Stholo	tests from modules2-6 to here.
2949c71bc7e2Stholo	* release.c (release): Update comment to reflect "? foo" case.
2950c71bc7e2Stholo
2951c71bc7e2Stholo	* find_names.c (Find_Names): If we can't read the repository, make
2952c71bc7e2Stholo	it a nonfatal error.  Tell the caller whether this happened.
2953c71bc7e2Stholo	(find_rcs): Add comment regarding this behavior.
2954c71bc7e2Stholo	* recurse.c (do_recursion): If Find_Names gives an error, skip
2955c71bc7e2Stholo	the directory and print a message saying so.
2956c71bc7e2Stholo	* sanity.sh (modes3): New test, for this.
2957c71bc7e2Stholo
2958c71bc7e2Stholo1998-11-18  Jim Kingdon
2959c71bc7e2Stholo
2960c71bc7e2Stholo	* rtag.c (rtag_usage), tag.c (tag_usage): Use "-r rev"
2961c71bc7e2Stholo	consistently.
2962c71bc7e2Stholo
2963c71bc7e2Stholo	* sanity.sh (conflicts3): Tests conflicts3-24 through
2964c71bc7e2Stholo	conflicts3-28 test for another case similar to conflicts3-22.
2965c71bc7e2Stholo
2966c71bc7e2Stholo1998-11-14  Jim Kingdon
2967c71bc7e2Stholo
2968c71bc7e2Stholo	* sanity.sh (diff): New test, for now just tests for the "I know
2969c71bc7e2Stholo	nothing" message.
2970c71bc7e2Stholo
2971c71bc7e2Stholo	* sanity.sh (conflicts2-142b7 through conflicts2-142b11): New
2972c71bc7e2Stholo	tests; resurrecting doesn't work from one level up.
2973c71bc7e2Stholo
2974c71bc7e2Stholo	* sanity.sh (mwrap-7): Remote prints the messages in a different
2975c71bc7e2Stholo	order.
2976c71bc7e2Stholo
2977c71bc7e2Stholo1998-11-13  Jim Kingdon
2978c71bc7e2Stholo
2979c71bc7e2Stholo	* tag.c (check_fileproc): Log tag deletions.
2980c71bc7e2Stholo	* rtag.c (check_fileproc): Likewise.
2981c71bc7e2Stholo	* sanity.sh (taginfo-14 through taginfo-18): New tests, for
2982c71bc7e2Stholo	these behaviors.
2983c71bc7e2Stholo
2984c71bc7e2Stholo1998-11-12  Jim Kingdon
2985c71bc7e2Stholo
2986c71bc7e2Stholo	* sanity.sh (mwrap-7): Update for the noexec fix.
2987c71bc7e2Stholo
2988c71bc7e2Stholo	* server.c (server_copy_file): Add comment about noexec.
2989c71bc7e2Stholo
2990c71bc7e2Stholo	* update.c (checkout_file): Handle noexec case involving revbuf
2991c71bc7e2Stholo	and modes.
2992c71bc7e2Stholo	(update_fileproc): In case T_NEEDS_MERGE, let merge_file take care
2993c71bc7e2Stholo	of noexec, so it can tell the user if there would be conflicts.
2994c71bc7e2Stholo	(merge_file): Print "conflicts found in FILE" message
2995c71bc7e2Stholo	regardless of noexec.  Add comment about checking for whether the
2996c71bc7e2Stholo	file already contained the changes, and noexec.
2997c71bc7e2Stholo	* sanity.sh (conflicts-192a): New test, for this.
2998c71bc7e2Stholo
2999c71bc7e2Stholo1998-10-20  Jim Kingdon
3000c71bc7e2Stholo
3001c71bc7e2Stholo	Use the gzip library on the server.  Probably doesn't speed things
3002c71bc7e2Stholo	up as currently implemented, but does avoid hassles in terms of
3003c71bc7e2Stholo	finding an external gzip program.
3004c71bc7e2Stholo	* zlib.c, server.h (gunzip_and_write, read_and_gzip): Now returns
3005c71bc7e2Stholo	whether a fatal error occurred, rather than expecting error (1,
3006c71bc7e2Stholo	...) to work.
3007c71bc7e2Stholo	* client.c (update_entries, send_modified): Change callers.
3008c71bc7e2Stholo	* server.c (receive_file): Rewrite gzip code to use
3009c71bc7e2Stholo	gunzip_and_write rather than filter_through_gunzip.
3010c71bc7e2Stholo	(server_updated): Likewise, use read_and_gzip rather than
3011c71bc7e2Stholo	filter_through_gzip.
3012c71bc7e2Stholo	* client.c, client.h (filter_through_gzip, filter_through_gunzip),
3013c71bc7e2Stholo	run.c, cvs.h (filter_stream_through_program): Removed; no longer used.
3014c71bc7e2Stholo	* sanity.sh (server): New tests server-4 and server-5 test
3015c71bc7e2Stholo	this feature (note that CVS 1.10 also passes these tests; the
3016c71bc7e2Stholo	behavior is supposed to be unchanged).
3017c71bc7e2Stholo
3018c71bc7e2Stholo1998-10-19  Jim Kingdon
3019c71bc7e2Stholo
3020c71bc7e2Stholo	* sanity.sh (multiroot3): New test, tests for a few more
3021c71bc7e2Stholo	multiroot cases.
3022c71bc7e2Stholo
3023c71bc7e2Stholo	* lock.c (lock_name): Set the permissions on each directory we
3024c71bc7e2Stholo	create to that of the parent directory.
3025c71bc7e2Stholo	* sanity.sh (lockfiles): New chmod and tests lockfiles-7a and
3026c71bc7e2Stholo	lockfiles-7b test for this.  Adjust lockfiles-5 for new text of
3027c71bc7e2Stholo	error message.
3028c71bc7e2Stholo
3029c71bc7e2Stholo1998-10-15  Jim Kingdon
3030c71bc7e2Stholo
3031c71bc7e2Stholo	* server.c (requests): Set RQ_ROOTLESS for "Set".
3032c71bc7e2Stholo	* sanity.sh (info): Also clean up $HOME/.cvsrc.
3033c71bc7e2Stholo	(server): Test that we can send Set before Root (had been tested
3034c71bc7e2Stholo	by crerepos-6b, but only if you ran the info test first).  Tests
3035c71bc7e2Stholo	for this fix.
3036c71bc7e2Stholo
3037c71bc7e2Stholo1998-10-14  Jim Kingdon
3038c71bc7e2Stholo
3039c71bc7e2Stholo	* subr.c (expand_string): Tweak the algorithm so that the size
3040c71bc7e2Stholo	that it allocates is generally a power of two.
3041c71bc7e2Stholo
3042c71bc7e2Stholo1998-10-14  Eivind Eklund and Jim Kingdon
3043c71bc7e2Stholo
3044c71bc7e2Stholo	* commit.c (commit): For the client, don't worry about whether we
3045c71bc7e2Stholo	are root.
3046c71bc7e2Stholo
3047c71bc7e2Stholo1998-10-13  Jim Kingdon
3048c71bc7e2Stholo
3049c71bc7e2Stholo	* server.h (struct request): Change status field to flags and add
3050c71bc7e2Stholo	RQ_ROOTLESS.
3051c71bc7e2Stholo	* client.c (handle_valid_requests, supported_request): Change
3052c71bc7e2Stholo	status to flags.
3053c71bc7e2Stholo	* server.c (requests): Change status to flags.  Add RQ_ROOTLESS.
3054c71bc7e2Stholo	* server.c (server): If not RQ_ROOTLESS, and we haven't gotten a
3055c71bc7e2Stholo	Root request, give an error.
3056c71bc7e2Stholo
3057c71bc7e2Stholo1998-10-12  Jim Kingdon
3058c71bc7e2Stholo
3059c71bc7e2Stholo	* version.c: Slide version number to 1.10.3.1.
3060c71bc7e2Stholo
3061c71bc7e2Stholo	* Version 1.10.3.
3062c71bc7e2Stholo
3063c71bc7e2Stholo	* sanity.sh (modules2-17): Update for 9 Oct 1998 change to
3064c71bc7e2Stholo	update_dirent_proc.
3065c71bc7e2Stholo
3066c71bc7e2Stholo1998-10-11  Jim Kingdon
3067c71bc7e2Stholo
3068c71bc7e2Stholo	* commit.c (checkaddfile, commit_fileproc): A numeric value for
3069c71bc7e2Stholo	'tag' does not mean that we are adding on a branch.
3070c71bc7e2Stholo	* sanity.sh (keywordlog): Adjust this test, to test for this
3071c71bc7e2Stholo	(replaces comment saying we should be doing it).
3072c71bc7e2Stholo	(rmadd): Likewise.
3073c71bc7e2Stholo
3074c71bc7e2Stholo	* sanity.sh (rmadd): New test, tests for various existing
3075c71bc7e2Stholo	behaviors with "cvs ci -r".
3076c71bc7e2Stholo
3077c71bc7e2Stholo1998-10-09  Jim Kingdon
3078c71bc7e2Stholo
3079c71bc7e2Stholo	* update.c (update_dirent_proc): For local CVS, if the directory
3080c71bc7e2Stholo	does not exist in the working directory nor in the repository,
3081c71bc7e2Stholo	just skip it.
3082c71bc7e2Stholo	* sanity.sh (dirs): New tests dirs-3a, dirs-7 and dirs-8 test for
3083c71bc7e2Stholo	this and related behaviors.  Note that the new behavior was also
3084c71bc7e2Stholo	the previous behavior for remote; we are only changing it for local.
3085c71bc7e2Stholo
3086c71bc7e2Stholo	* wrapper.c, cvsrc.c, ignore.c: Add comments about ignoring .cvsrc
3087c71bc7e2Stholo	and friends if we can't find a home directory.
3088c71bc7e2Stholo	* expand_path.c (expand_path): If we can't find the home
3089c71bc7e2Stholo	directory, give an error rather than a coredump (or worse).
3090c71bc7e2Stholo	* login.c (construct_cvspass_filename): Don't use errno in error
3091c71bc7e2Stholo	message; get_homedir doesn't set it.  Add comment about this
3092c71bc7e2Stholo	message.
3093c71bc7e2Stholo
3094c71bc7e2Stholo1998-10-07  Jim Kingdon  <kingdon@harvey.cyclic.com>
3095c71bc7e2Stholo
3096c71bc7e2Stholo	* diff.c (diff): Set variables to NULL at the start, and free
3097c71bc7e2Stholo	memory at the end.
3098c71bc7e2Stholo	* sanity.sh (multiroot2): Add tests for this (before the fix,
3099c71bc7e2Stholo	multiroot2-12 would abort with "no more than two revisions/dates
3100c71bc7e2Stholo	can be specified").
3101c71bc7e2Stholo
3102c71bc7e2Stholo1998-10-06  Jim Kingdon  <kingdon@harvey.cyclic.com>
3103c71bc7e2Stholo
3104c71bc7e2Stholo	* Makefile.in (installcheck check): Remove references to RCSBIN;
3105c71bc7e2Stholo	they don't do anything now that RCSBIN is ignored.
3106c71bc7e2Stholo
3107c71bc7e2Stholo	* client.c: Clean up horrible confusion about whether stored_mode
3108c71bc7e2Stholo	or stored_mode_valid (or nothing :-)) indicates whether
3109c71bc7e2Stholo	stored_mode is allocated.  Should fix crashes (for example, on NT
3110c71bc7e2Stholo	when the server has renamed multiple files from uppercase to
3111c71bc7e2Stholo	lowercase).
3112c71bc7e2Stholo
3113c71bc7e2Stholo	* sanity.sh (dirs): New tests, tests for some cases involving
3114c71bc7e2Stholo	admins who do surgery on the repository.
3115c71bc7e2Stholo
3116c71bc7e2Stholo1998-10-03  Johannes Stezenbach <johannes.stezenbach@propack-data.de>
3117c71bc7e2Stholo
3118c71bc7e2Stholo	* vers_ts.c (Version_TS): If UTIME_EXPECTS_WRITABLE, if
3119c71bc7e2Stholo	necessary change the file to be writable temporarily to set its
3120c71bc7e2Stholo	modification time.
3121c71bc7e2Stholo
3122c71bc7e2Stholo1998-10-03  Jim Kingdon  <kingdon@harvey.cyclic.com>
3123c71bc7e2Stholo
3124c71bc7e2Stholo	* client.c (handle_error): Add comment about indicating which
3125c71bc7e2Stholo	errors are from the server.
3126c71bc7e2Stholo
3127c71bc7e2Stholo1998-10-01  Jim Kingdon  <kingdon@harvey.cyclic.com>
3128c71bc7e2Stholo
3129c71bc7e2Stholo	* sanity.sh (devcom-180): Allow one digit day.
3130c71bc7e2Stholo
3131c71bc7e2Stholo1998-09-30  Jim Kingdon  <kingdon@harvey.cyclic.com>
3132c71bc7e2Stholo
3133c71bc7e2Stholo	* main.c (main): Don't call Name_Root if -d specified.
3134c71bc7e2Stholo	* recurse.c (do_recursion, do_dir_proc): Don't check CVS/Root
3135c71bc7e2Stholo	if -d was specified.
3136c71bc7e2Stholo	* import.c (import): Indentation fix.
3137c71bc7e2Stholo	* sanity.sh (multiroot): Update for this change.
3138c71bc7e2Stholo	(reposmv): New test, tests for this.
3139c71bc7e2Stholo
3140c71bc7e2Stholo1998-09-28  Jim Kingdon  <kingdon@harvey.cyclic.com>
3141c71bc7e2Stholo
3142c71bc7e2Stholo	* sanity.sh (multiroot2): New test, tests some nested directory
3143c71bc7e2Stholo	cases.
3144c71bc7e2Stholo
3145c71bc7e2Stholo1998-09-25  Jim Kingdon  <kingdon@harvey.cyclic.com>
3146c71bc7e2Stholo
3147c71bc7e2Stholo	* sanity.sh (multiroot): Change a few comments which said modules
3148c71bc7e2Stholo	when they meant directories.
3149c71bc7e2Stholo
3150c71bc7e2Stholo1998-09-25  Jim Meyering  <meyering@ascend.com>
3151c71bc7e2Stholo
3152c71bc7e2Stholo	* sanity.sh (devcom-180): Add 0-9 to the range of characters allowed
3153c71bc7e2Stholo	in hostname regexp.
3154c71bc7e2Stholo
3155c71bc7e2Stholo1998-09-25  Jim Kingdon  <kingdon@harvey.cyclic.com>
3156c71bc7e2Stholo
3157c71bc7e2Stholo	* sanity.sh (log2): New test log2-7a tests for one error handling
3158c71bc7e2Stholo	case.  Add a comment about another.
3159c71bc7e2Stholo
3160c71bc7e2Stholo1998-09-24  Jim Kingdon  <kingdon@harvey.cyclic.com>
3161c71bc7e2Stholo
3162c71bc7e2Stholo	* sanity.sh: Change crerepos test back to :ext: (for several
3163c71bc7e2Stholo	reasons; see comments).
3164c71bc7e2Stholo
3165c71bc7e2Stholo1998-09-24  Noel Cragg  <noel@swish.red-bean.com>
3166c71bc7e2Stholo
3167c71bc7e2Stholo	* sanity.sh (rcslib-symlink-5, rcslib-symlink-6): new tests to
3168c71bc7e2Stholo	check the operation of "tag" when there are symlinks in the
3169c71bc7e2Stholo	repository.
3170c71bc7e2Stholo
3171c71bc7e2Stholo	* rcs.c (RCS_checkin): remove old code that resolved the symlink
3172c71bc7e2Stholo	and call resolve_symlink instead.
3173c71bc7e2Stholo	(RCS_rewrite): call resolve_symlink before doing anything else to
3174c71bc7e2Stholo	make sure we're operating on the file and not the symlink.
3175c71bc7e2Stholo
3176c71bc7e2Stholo	* subr.c (resolve_symlink): new routine -- resolves a symbolic
3177c71bc7e2Stholo	link chain to its destination.
3178c71bc7e2Stholo	* cvs.h: add prototype.
3179c71bc7e2Stholo
3180c71bc7e2Stholo	* sanity.sh (basica-6.2, basica-6.3): changed match expressions to
3181c71bc7e2Stholo	reflect new diff output.
3182c71bc7e2Stholo
3183c71bc7e2Stholo	* rcs.c (make_file_label): generate labels for files that include
3184c71bc7e2Stholo	the pathname so that output from "cvs diff" is useable by patch.
3185c71bc7e2Stholo	Looks like I came up with the mods as Andy Piper
3186c71bc7e2Stholo	<andyp@parallax.co.uk>; his patch was on the Cyclic unofficial
3187c71bc7e2Stholo	patches page.
3188c71bc7e2Stholo
3189c71bc7e2Stholo	* sanity.sh: change remote access method from ext to fork.  This
3190c71bc7e2Stholo	results in a significant speed improvement when running the
3191c71bc7e2Stholo	testsuite.  The ext method on my machine (i586 120MHz Linux 2.0.35
3192c71bc7e2Stholo	with TCP wrappers installed) runs in 450% of the time of the local
3193c71bc7e2Stholo	method while the fork method runs in only 150% of the time of the
3194c71bc7e2Stholo	local method!  Yow!  Am I SWAPPING yet?!
3195c71bc7e2Stholo	(crerepos-6a, crerepos-6b): change to reflect different error
3196c71bc7e2Stholo	messages for fork method.
3197c71bc7e2Stholo	(modes-15): same.
3198c71bc7e2Stholo
3199c71bc7e2Stholo	* client.c (connect_to_forked_server): new routine.
3200c71bc7e2Stholo	(start_server): call the above when method is fork_method.
3201c71bc7e2Stholo
3202c71bc7e2Stholo	* root.c: add a new method named "fork".  This method uses the
3203c71bc7e2Stholo	remote protocol, but does so by forking a "cvs server" process
3204c71bc7e2Stholo	directly rather than doing "rsh host cvs server" (for example).
3205c71bc7e2Stholo	This new method has few advantages for day-to-day use, but has
3206c71bc7e2Stholo	three important benefits for debugging:
3207c71bc7e2Stholo
3208c71bc7e2Stholo	  1) Most secure installations these days don't allow rsh access.
3209c71bc7e2Stholo	  With this new method, we can still test the remote protocol on
3210c71bc7e2Stholo	  these machines because we don't need to be able to make a local
3211c71bc7e2Stholo	  TCP connection.
3212c71bc7e2Stholo
3213c71bc7e2Stholo	  2) Even if installations allow rsh access, they almost always
3214c71bc7e2Stholo	  have TCP wrappers to check permissions by IP/hostname.  This
3215c71bc7e2Stholo	  causes a short delay for every connection.  For invocations from
3216c71bc7e2Stholo	  the command line, this doesn't matter much, but it adds up to a
3217c71bc7e2Stholo	  significant amount of time when running the testsuite.
3218c71bc7e2Stholo
3219c71bc7e2Stholo	  3) On machines that can't (or do not usually) provide rshd
3220c71bc7e2Stholo	  access (I'm thinking of WNT/W95 in particular), we can now run
3221c71bc7e2Stholo	  tests of the remote protocol using this method.  Indeed, we can
3222c71bc7e2Stholo	  run remote protocol tests on any machine that has an
3223c71bc7e2Stholo	  implementation of piped_child().
3224c71bc7e2Stholo
3225c71bc7e2Stholo	(parse_cvsroot): handle new method.
3226c71bc7e2Stholo	(error_exit, xstrdup, isabsolute): new stub functions to use when
3227c71bc7e2Stholo	compiling root.c with the DEBUG option.
3228c71bc7e2Stholo	(main): fix a few typos.
3229c71bc7e2Stholo	* cvs.h (CVSmethod): add fork_method.
3230c71bc7e2Stholo
3231c71bc7e2Stholo	* server.c (create_adm_p): use Emptydir as the placeholder
3232c71bc7e2Stholo	directory instead of "." to avoid problems with "cvs update -d" et
3233c71bc7e2Stholo	al.
3234c71bc7e2Stholo
3235c71bc7e2Stholo1998-09-22  Noel Cragg  <noel@swish.red-bean.com>
3236c71bc7e2Stholo
3237c71bc7e2Stholo	* sanity.sh (devcom-180): fixed typo in regexp.
3238c71bc7e2Stholo
3239c71bc7e2Stholo	* main.c (main): remove need_to_create_root and related code
3240c71bc7e2Stholo	(including CVS_IGNORE_REMOTE_ROOT environment variable).  The
3241c71bc7e2Stholo	current implementation (just removed) of rewriting the contents of
3242c71bc7e2Stholo	the CVS/Root file isn't desirable for a number of reasons:
3243c71bc7e2Stholo
3244c71bc7e2Stholo	  1) Only the top-level CVS/Root directory is updated.  If we're
3245c71bc7e2Stholo	  really interested in pointing our WD at another CVSROOT, we
3246c71bc7e2Stholo	  should have a separate command.
3247c71bc7e2Stholo
3248c71bc7e2Stholo	  2) With the new multiroot mods, we don't ever want to rewrite
3249c71bc7e2Stholo	  CVS/Root files in the way the removed code did.  Consider:
3250c71bc7e2Stholo
3251c71bc7e2Stholo	    cvs -d repository1 co a
3252c71bc7e2Stholo	    cd a
3253c71bc7e2Stholo	    cvs -d repository2 co b
3254c71bc7e2Stholo            cvs -d repository2 update b
3255c71bc7e2Stholo
3256c71bc7e2Stholo	  The update command would rewrite the contents of a/CVS/Root to
3257c71bc7e2Stholo	  the incorrect value.  Bad.  We then wouldn't be talking to the
3258c71bc7e2Stholo	  correct repository for files in a.
3259c71bc7e2Stholo
3260c71bc7e2Stholo	  3) The removed code seems to be a quick hack to support working
3261c71bc7e2Stholo	  directories checked out from multiple repositories.  With the
3262c71bc7e2Stholo	  CVS_IGNORE_REMOTE_ROOT variable set, one could perform commands
3263c71bc7e2Stholo	  as in example 2, above, without worring about updating CVS/Root
3264c71bc7e2Stholo	  files.  While in pre-1.10.1 recursive commands wouldn't handle
3265c71bc7e2Stholo	  that working directory hierarchy, one could use commands like
3266c71bc7e2Stholo	  "cvs foo -l" instead.  While not great, this allows you (with a
3267c71bc7e2Stholo	  lot of manual interaction) to have a multiroot WD.  Since we now
3268c71bc7e2Stholo	  have multiroot mods checked in, we don't need this code.
3269c71bc7e2Stholo
3270c71bc7e2Stholo	(lookup_command_attribute): while we don't need the
3271c71bc7e2Stholo	CVS_CMD_USES_WORK_DIR flag anymore (since it only was supporting
3272c71bc7e2Stholo	the need_to_create_root code), I'm leaving it in.  It may come in
3273c71bc7e2Stholo	handy at some later date.
3274c71bc7e2Stholo
3275c71bc7e2Stholo1998-09-18  Jim Kingdon  <kingdon@pennington.cyclic.com>
3276c71bc7e2Stholo
3277c71bc7e2Stholo	* version.c: Advance version number to 1.10.2.1.
3278c71bc7e2Stholo
3279c71bc7e2Stholo	* Version 1.10.2.
3280c71bc7e2Stholo
3281c71bc7e2Stholo1998-09-13  Jim Kingdon  <kingdon@harvey.cyclic.com>
3282c71bc7e2Stholo
3283c71bc7e2Stholo	* client.c: Refuse to Copy-file to another directory
3284c71bc7e2Stholo	* sanity.sh (client): New test, tests for this.
3285c71bc7e2Stholo
3286c71bc7e2Stholo	* edit.c (editors_fileproc), watch.c (watchers_fileproc): Use
3287c71bc7e2Stholo	cvs_output rather than writing to stdout.
3288c71bc7e2Stholo	* sanity.sh (devcom): Use dotest for tests 178, 180, and 183
3289c71bc7e2Stholo	(tests that we preserve existing behavior on "cvs editors").
3290c71bc7e2Stholo
3291c71bc7e2Stholo	* commit.c (check_fileproc): Don't allow commits in Emptydir.
3292c71bc7e2Stholo	* sanity.sh (emptydir-8): Test for this change in behavior.
3293c71bc7e2Stholo
3294c71bc7e2Stholo	* sanity.sh: Add some compatibility tests to TODO comments at end.
3295c71bc7e2Stholo
3296c71bc7e2Stholo1998-09-10  Jim Kingdon  <kingdon@harvey.cyclic.com>
3297c71bc7e2Stholo
3298c71bc7e2Stholo	* wrapper.c (wrap_add): Remove obsolete comment about -m.
3299c71bc7e2Stholo
3300c71bc7e2Stholo	* server.c (server_updated): Check for error from CVS_UNLINK.
3301c71bc7e2Stholo
3302c71bc7e2Stholo1998-09-09  Jim Kingdon  <kingdon@harvey.cyclic.com>
3303c71bc7e2Stholo
3304c71bc7e2Stholo	* server.c (serve_root): Allocate with malloc, not xmalloc.
3305c71bc7e2Stholo
3306c71bc7e2Stholo	* root.c (set_local_cvsroot): Move memory allocation from here...
3307c71bc7e2Stholo	* server.c (serve_root): ...to here.  Fixes error handling.
3308c71bc7e2Stholo
3309c71bc7e2Stholo	* root.c (parse_cvsroot): Don't call check_root_consistent;
3310c71bc7e2Stholo	parse_cvsroot is only used for local and client.
3311c71bc7e2Stholo	* root.c (set_local_cvsroot): Move check_root_consistent
3312c71bc7e2Stholo	functionality from here...
3313c71bc7e2Stholo	* server.c (serve_root): ...to here.  Fixes error handling.  Also
3314c71bc7e2Stholo	made the error more explicit, while I am at it.
3315c71bc7e2Stholo	* server.c (Pserver_Repos): Now static.
3316c71bc7e2Stholo	* cvs.h: Don't declare it.
3317c71bc7e2Stholo	* root.c (check_root_consistent): Removed; no longer needed.
3318c71bc7e2Stholo	* sanity.sh (pserver): New test, tests for this behavior and some
3319c71bc7e2Stholo	other basic pserver stuff.
3320c71bc7e2Stholo
3321c71bc7e2Stholo	* update.c (merge_file): Use cvs_output for "already contains the
3322c71bc7e2Stholo	differences" message.  Found this one when I actually observed the
3323c71bc7e2Stholo	out-of-order bug in Real Life(TM).
3324c71bc7e2Stholo
3325c71bc7e2Stholo1998-09-09  Jim Kingdon
3326c71bc7e2Stholo
3327c71bc7e2Stholo	* find_names.c (find_dirs): Make sure to zero errno before
3328c71bc7e2Stholo	going around the loop again.
3329c71bc7e2Stholo	* find_names.c (find_rcs): Make sure to set save_errno.
3330c71bc7e2Stholo	(thanks to Alexandre Parenteau for reporting both problems).
3331c71bc7e2Stholo
3332c71bc7e2Stholo1998-09-09  Jim Kingdon  <kingdon@harvey.cyclic.com> and Michael Pakovic
3333c71bc7e2Stholo
3334c71bc7e2Stholo	* edit.c (notify_do): Only free line if it is not NULL.
3335c71bc7e2Stholo
3336c71bc7e2Stholo1998-09-07  Jim Kingdon  <kingdon@harvey.cyclic.com>
3337c71bc7e2Stholo
3338c71bc7e2Stholo	* cvs.h: dirs_sent_to_server should not be inside
3339c71bc7e2Stholo	AUTH_SERVER_SUPPORT (reported by both Richard Levitte and Murray
3340c71bc7e2Stholo	Bishop, thanks).
3341c71bc7e2Stholo
3342c71bc7e2Stholo	* lock.c, cvs.h: New variable lock_dir.
3343c71bc7e2Stholo	* parseinfo.c (parse_config): New option LockDir.
3344c71bc7e2Stholo	* lock.c (lock_name): New function, abstracts out lock file naming
3345c71bc7e2Stholo	and also supports LockDir.
3346c71bc7e2Stholo	* lock.c (lock_simple_remove, Reader_Lock, write_lock, set_lock):
3347c71bc7e2Stholo	Call it (6 places, to create/remove read/write/master locks).
3348c71bc7e2Stholo	(Lock_Cleanup): Refuse to reenter this function.
3349c71bc7e2Stholo	* sanity.sh (lockfiles): New test, tests for this feature.
3350c71bc7e2Stholo
3351c71bc7e2Stholo1998-09-03  Jim Kingdon  <kingdon@harvey.cyclic.com>
3352c71bc7e2Stholo
3353c71bc7e2Stholo	* sanity.sh (multiroot): Expect ${TESTDIR} in output instead of
3354c71bc7e2Stholo	assuming it is /tmp/cvs-sanity (thanks to Mark D. Baushke of Cisco).
3355c71bc7e2Stholo	Clean up working directory when done (fixes apparent thinko).
3356c71bc7e2Stholo
3357c71bc7e2Stholo	* server.c (create_adm_p): Fix one "return" which didn't return a
3358c71bc7e2Stholo	value.
3359c71bc7e2Stholo	(dirswitch): Check for errors from create_adm_p.
3360c71bc7e2Stholo
3361c71bc7e2Stholo	* sanity.sh: Set LC_ALL rather than just LC_COLLATE.
3362c71bc7e2Stholo
3363c71bc7e2StholoWed Sep  2 02:30:22 1998  Jim Kingdon  <kingdon@pennington.cyclic.com>
3364c71bc7e2Stholo
3365c71bc7e2Stholo	* version.c: Bump version number to 1.10.1.1.
3366c71bc7e2Stholo
3367c71bc7e2Stholo	* Version 1.10.1.
3368c71bc7e2Stholo
3369c71bc7e2Stholo1998-09-01  Jim Kingdon  <kingdon@harvey.cyclic.com>
3370c71bc7e2Stholo
3371c71bc7e2Stholo	Administrative note regarding Noel's changes to allow one to
3372c71bc7e2Stholo	switch from one CVS root to another in a single command: The
3373c71bc7e2Stholo	ChangeLog entries for the changes which Noel just checked in
3374c71bc7e2Stholo	appear for 1998-09-01, 1998-08-28, 1998-08-25, 1998-08-19, and
3375c71bc7e2Stholo	1998-08-18, rather than being all together.
3376c71bc7e2Stholo
3377c71bc7e2Stholo	* main.c (set_root_directory): Fix whitespace.
3378c71bc7e2Stholo	(main): Nuke new -m option and just have that message controlled
3379c71bc7e2Stholo	by -t.
3380c71bc7e2Stholo	* server.c (server): Revert the CVS_SERVER_SLEEP code back the way
3381c71bc7e2Stholo	it was in CVS 1.10.  Attaching to the parent process is relatively
3382c71bc7e2Stholo	boring (you can just run "cvs server" under a debugger instead),
3383c71bc7e2Stholo	but connecting to the child process is what the old code was for.
3384c71bc7e2Stholo	* recurse.c, server.c: Remove DEBUG_NJC code.
3385c71bc7e2Stholo
3386c71bc7e2Stholo1998-09-01  Noel Cragg  <noel@swish.red-bean.com>
3387c71bc7e2Stholo
3388c71bc7e2Stholo	* server.c (do_cvs_command): add another environment variable,
3389c71bc7e2Stholo	CVS_SERVER_SLEEP2, after forking to pause the program so one can
3390c71bc7e2Stholo	attach a debugger.
3391c71bc7e2Stholo
3392c71bc7e2Stholo	* sanity.sh (crerepos): clean up crerepos-18 now that multiroot
3393c71bc7e2Stholo	works in this case.
3394c71bc7e2Stholo	(multiroot): finalize tests for local vs. remote operation.
3395c71bc7e2Stholo
3396c71bc7e2Stholo	* recurse.c (start_recursion): near the beginning, save the list
3397c71bc7e2Stholo	of directories to spoof as command-line arguments, if necessary.
3398c71bc7e2Stholo	Use that list near the end and call send_file_names to send those
3399c71bc7e2Stholo	arguments to the server.
3400c71bc7e2Stholo	(do_argument_proc): removed, since we call send_file_names now.
3401c71bc7e2Stholo
3402c71bc7e2Stholo	* main.c (main): re-initialize dirs_sent_to_server on each pass
3403c71bc7e2Stholo	through the loop for each CVSROOT.
3404c71bc7e2Stholo
3405c71bc7e2Stholo	* cvs.h: add proto for global variable which keeps track of which
3406c71bc7e2Stholo	directories have been sent to the server when in client mode.
3407c71bc7e2Stholo
3408c71bc7e2Stholo	* client.c (is_arg_a_parent_or_listed_dir): new function.
3409c71bc7e2Stholo	(arg_should_not_be_sent_to_server): new function.  Tries to decide
3410c71bc7e2Stholo	whether the given argument should be sent to the server, based on
3411c71bc7e2Stholo	the current CVSROOT and the list of directories sent to the
3412c71bc7e2Stholo	server.
3413c71bc7e2Stholo	(send_repository): add the directory name to the list of
3414c71bc7e2Stholo	directories sent to the server.
3415c71bc7e2Stholo	(send_file_names): call arg_should_not_be_sent_to_server.
3416c71bc7e2Stholo
3417c71bc7e2Stholo	* add.c (add): switch the order of send_files and send_file_names
3418c71bc7e2Stholo	to make multiple repository support possible.  send_files needs to
3419c71bc7e2Stholo	create a list of directories being requested so that
3420c71bc7e2Stholo	send_file_names can decide which command-line arguments to send to
3421c71bc7e2Stholo	the server for the given current CVSROOT.
3422c71bc7e2Stholo	* admin.c (admin): same.
3423c71bc7e2Stholo	* commit.c (commit): same.
3424c71bc7e2Stholo	* diff.c (diff): same.
3425c71bc7e2Stholo	* edit.c (editors): same.
3426c71bc7e2Stholo	* log.c (cvslog): same.
3427c71bc7e2Stholo	* rcs.c (annotate): same.
3428c71bc7e2Stholo	* remove.c (cvsremove): same.
3429c71bc7e2Stholo	* status.c (cvsstatus): same.
3430c71bc7e2Stholo	* tag.c (cvstag): same.
3431c71bc7e2Stholo	* update.c (update): same.
3432c71bc7e2Stholo	* watch.c (watch_addremove): same.
3433c71bc7e2Stholo	(watchers): same.
3434c71bc7e2Stholo
3435c71bc7e2Stholo1998-08-31  Jim Kingdon  <kingdon@harvey.cyclic.com>
3436c71bc7e2Stholo
3437c71bc7e2Stholo	* sanity.sh: Remove "debug" function; it was apparently checked
3438c71bc7e2Stholo	in accidentally by Norbert Kiesel's change.
3439c71bc7e2Stholo
3440c71bc7e2Stholo1998-08-31  Norbert Kiesel  <nk@iname.com>
3441c71bc7e2Stholo
3442c71bc7e2Stholo	* release.c (release): modify last patch to release so that
3443c71bc7e2Stholo	save_cwd is called only once and restore_cwd is always called when
3444c71bc7e2Stholo	neccessary.  Also fixed a tiny memory leak.
3445c71bc7e2Stholo
3446c71bc7e2Stholo	* sanity.sh (release): added some more tests for "cvs release"
3447c71bc7e2Stholo	including a test with two dirs and a "no" for the first one (which
3448c71bc7e2Stholo	fails without the above patch).
3449c71bc7e2Stholo
3450c71bc7e2Stholo1998-08-28  Noel Cragg  <noel@swish.red-bean.com>
3451c71bc7e2Stholo
3452c71bc7e2Stholo	* sanity.sh (crerepos-18): add new comment and change test
3453c71bc7e2Stholo	slightly to support multiroot.
3454c71bc7e2Stholo	(multiroot): add more tests.
3455c71bc7e2Stholo
3456c71bc7e2Stholo	* server.c (create_adm_p): new function.
3457c71bc7e2Stholo	(dirswitch): call create_adm_p.  Modify the code to always write a
3458c71bc7e2Stholo	new CVSADM_REP file, since create_adm_p might have put a
3459c71bc7e2Stholo	placeholder there and our value is guaranteed to be correct.
3460c71bc7e2Stholo	(server): move the CVS_SERVER_SLEEP check here so we can debug
3461c71bc7e2Stholo	things at an earlier stage.
3462c71bc7e2Stholo
3463c71bc7e2Stholo	* recurse.c (start_recursion): add large comment about the ideal
3464c71bc7e2Stholo	solution to the "Argument xxx" problem.
3465c71bc7e2Stholo
3466c71bc7e2Stholo	* main.c (main): move position of debugging comment for -m flag.
3467c71bc7e2Stholo
3468c71bc7e2Stholo	* diff.c (diff): clear a static variable.
3469c71bc7e2Stholo
3470c71bc7e2Stholo	* client.c (send_file_names): check to see if we should send this
3471c71bc7e2Stholo	argument to the server based on the contents of the appropriate
3472c71bc7e2Stholo	CVSADM directory.  This avoids "nothing known about foo" messages
3473c71bc7e2Stholo	and problems with duplicate modules names in multiple
3474c71bc7e2Stholo	repositories.
3475c71bc7e2Stholo	(send_a_repository): change method of calculating toplevel_repos
3476c71bc7e2Stholo	to support multiple CVSROOTs.
3477c71bc7e2Stholo	(start_server): clear some static variables.
3478c71bc7e2Stholo
3479c71bc7e2Stholo1998-08-28  Jim Meyering  <meyering@ascend.com>
3480c71bc7e2Stholo
3481c71bc7e2Stholo	* sanity.sh (basicc-8, basicc-11): Use `.*' instead of explicit
3482c71bc7e2Stholo	`Operation not permitted'.  Solaris2.5.1 gets a different error:
3483c71bc7e2Stholo	`Invalid argument'.
3484c71bc7e2Stholo
3485c71bc7e2Stholo1998-08-26  Eric M. Hopper
3486c71bc7e2Stholo
3487c71bc7e2Stholo	* sanity.sh: Set LC_COLLATE to "C".
3488c71bc7e2Stholo
3489c71bc7e2Stholo1998-08-25  Noel Cragg  <noel@swish.red-bean.com>
3490c71bc7e2Stholo
3491c71bc7e2Stholo	* sanity.sh (multiroot): new set of tests to check the behavior of
3492c71bc7e2Stholo	multiroot.
3493c71bc7e2Stholo
3494c71bc7e2Stholo	* diff.c (diff): set options value to NULL after freeing to reset
3495c71bc7e2Stholo	the state for the next time around.
3496c71bc7e2Stholo
3497c71bc7e2Stholo1998-08-25  Jim Kingdon  <kingdon@harvey.cyclic.com>
3498c71bc7e2Stholo
3499c71bc7e2Stholo	Fix problems with trying to rename an open file:
3500c71bc7e2Stholo	* rcs.c, rcs.h (RCS_setattic): New function.
3501c71bc7e2Stholo	* commit.c (remove_file, checkaddfile): Call it.
3502c71bc7e2Stholo
3503c71bc7e2Stholo1998-08-24  Jim Kingdon  <kingdon@harvey.cyclic.com>
3504c71bc7e2Stholo
3505c71bc7e2Stholo	* release.c (release): Use save_cwd and restore_cwd to get back to
3506c71bc7e2Stholo	where we started, rather than hoping that CVS_CHDIR ("..") will do
3507c71bc7e2Stholo	something useful.  This removes the need for most of
3508c71bc7e2Stholo	release_delete, so remove that function and inline what is left.
3509c71bc7e2Stholo	* sanity.sh (basicc): Adjust tests for this fix, also some tests
3510c71bc7e2Stholo	with multiple arguments to "cvs release" (in the non-"-d"-case, it
3511c71bc7e2Stholo	would seem like the old code would CVS_CHDIR into directories and not
3512c71bc7e2Stholo	CVS_CHDIR back, but I'm not going to investigate this and it
3513c71bc7e2Stholo	should be a moot point with this fix.).
3514c71bc7e2Stholo
3515c71bc7e2Stholo	* sanity.sh (basicc): Add tests for a serious bug in "cvs release
3516c71bc7e2Stholo	-d .".
3517c71bc7e2Stholo
3518c71bc7e2Stholo	More error handling fixes:
3519c71bc7e2Stholo	* ignore.c (ignore_files): Check for errors from opendir and
3520c71bc7e2Stholo	readdir.
3521c71bc7e2Stholo	* find_names.c (Find_Names): Check for errors from find_rcs.
3522c71bc7e2Stholo	(find_rcs, find_dirs): Comment error handling better; also return
3523c71bc7e2Stholo	an error if we got one from readdir.
3524c71bc7e2Stholo	* filesubr.c (deep_remove_dir): Also check for errors from readdir.
3525c71bc7e2Stholo	* import.c (import_descend): Print message on error from opendir
3526c71bc7e2Stholo	or readdir.
3527c71bc7e2Stholo	* commit.c (remove_file): Check for errors from CVS_MKDIR and
3528c71bc7e2Stholo	CVS_RENAME.
3529c71bc7e2Stholo	(remove_file): No need to remove the file in the temporary
3530c71bc7e2Stholo	directory; server.c now informs time_stamp_server of what is going
3531c71bc7e2Stholo	on via CVS/Entries rather than a file with a kludged up timestamp.
3532c71bc7e2Stholo	* client.c, entries.c, login.c, logmsg.c, mkmodules.c, patch.c,
3533c71bc7e2Stholo	remove.c, update.c: Check for errors from unlink_file.
3534c71bc7e2Stholo	* mkmodules.c (write_dbmfile, rename_dbfile, rename_rcsfile):
3535c71bc7e2Stholo	Check for errors from fclose, CVS_RENAME, and CVS_STAT.
3536c71bc7e2Stholo	* mkmodules.c (checkout_file): Clarify error handling convention.
3537c71bc7e2Stholo	* mkmodules.c (mkmodules): Call checkout_file accordingly.
3538c71bc7e2Stholo	* entries.c (Entries_Open): Check for errors from fclose.
3539c71bc7e2Stholo
3540c71bc7e2Stholo1998-08-21  Ian Lance Taylor  <ian@cygnus.com>
3541c71bc7e2Stholo
3542c71bc7e2Stholo	* import.c (import): Output suggested merge command using
3543c71bc7e2Stholo	cvs_output_tagged rather than just cvs_output.  Don't put
3544c71bc7e2Stholo	CVSroot_cmdline in the log file.
3545c71bc7e2Stholo	* client.c (importmergecmd): New static struct.
3546c71bc7e2Stholo	(handle_mt): Handle +importmergecmd tag.
3547c71bc7e2Stholo	* sanity.sh (import): Use an explicit -d in importb-2, to test
3548c71bc7e2Stholo	whether it is reported in the suggested merge command.
3549c71bc7e2Stholo
3550c71bc7e2Stholo1998-08-20  Ian Lance Taylor  <ian@cygnus.com>
3551c71bc7e2Stholo
3552c71bc7e2Stholo	* sanity.sh (import): Rewrite tests to use dotest.
3553c71bc7e2Stholo
3554c71bc7e2Stholo1998-08-20  Jim Kingdon  <kingdon@harvey.cyclic.com>
3555c71bc7e2Stholo
3556c71bc7e2Stholo	* sanity.sh: Add comments about binary files and cvs import.
3557c71bc7e2Stholo
3558c71bc7e2Stholo1998-08-19  Jim Kingdon  <kingdon@harvey.cyclic.com>
3559c71bc7e2Stholo
3560c71bc7e2Stholo	* sanity.sh (importc): Use ${username} in one place where I had
3561c71bc7e2Stholo	missed it.
3562c71bc7e2Stholo
3563c71bc7e2Stholo	Make import -d work client/server:
3564c71bc7e2Stholo	* client.c, client.h (client_process_import_file): Take new
3565c71bc7e2Stholo	argument, for whether -d is specified, and send Checkin-time
3566c71bc7e2Stholo	request if it is set.
3567c71bc7e2Stholo	* import.c (import_descend): Pass it.
3568c71bc7e2Stholo	* main.c, cvs.h (date_to_internet): New function.
3569c71bc7e2Stholo	* server.c (server_modtime): Call date_to_internet.
3570c71bc7e2Stholo	* server.c (serve_checkin_time): New function.
3571c71bc7e2Stholo	(requests): Add "Checkin-time" request.
3572c71bc7e2Stholo	(serve_modified): If it was sent, set the timestamp in the
3573c71bc7e2Stholo	temporary directory.
3574c71bc7e2Stholo	* import.c (import): If the client sends a -d option, complain.
3575c71bc7e2Stholo	(import): For the server, always use the timestamps from the temp
3576c71bc7e2Stholo	directory.
3577c71bc7e2Stholo	(import): Don't send a -d option to the server.
3578c71bc7e2Stholo	* sanity.sh (importc): Add tests for import -d.
3579c71bc7e2Stholo
3580c71bc7e2StholoWed Aug 19 15:19:13 1998  Larry Jones  <larry.jones@sdrc.com>
3581c71bc7e2Stholo
3582c71bc7e2Stholo	* sanity.sh (unedit-without-baserev-5): use ${DOTSTAR} instead
3583c71bc7e2Stholo	of .* since we expect to match multiple lines.
3584c71bc7e2Stholo
3585c71bc7e2Stholo1998-08-19  Ian Lance Taylor  <ian@cygnus.com>
3586c71bc7e2Stholo
3587c71bc7e2Stholo	* cvs.h (CVSroot_cmdline): Declare.
3588c71bc7e2Stholo	* root.c (CVSroot_cmdline): Define.
3589c71bc7e2Stholo	* main.c (main): Set CVSroot_cmdline if the -d option is used.
3590c71bc7e2Stholo	* import.c (import): If CVSroot_cmdline is not NULL, then mention
3591c71bc7e2Stholo	an explicit -d option in the suggested merge command line.
3592c71bc7e2Stholo
3593c71bc7e2StholoWed Aug 19 00:28:50 1998  Noel Cragg  <noel@swish.red-bean.com>
3594c71bc7e2Stholo
3595c71bc7e2Stholo	* recurse.c (do_dir_proc): don't muck with CVS/Root directories
3596c71bc7e2Stholo 	when running in server mode.
3597c71bc7e2Stholo	(do_recursion): same.
3598c71bc7e2Stholo
3599c71bc7e2Stholo	* main.c (main): add the command-line option `m' to help debug the
3600c71bc7e2Stholo 	multiroot environment; it prints out the value of CVSROOT for each
3601c71bc7e2Stholo 	iteration through the main loop.  Also, changed the main loop so
3602c71bc7e2Stholo 	that it gets executed only once when running in server mode (the
3603c71bc7e2Stholo 	server will only deal with a single CVSROOT).
3604c71bc7e2Stholo
3605c71bc7e2Stholo	* recurse.c (do_recursion): change default for
3606c71bc7e2Stholo 	PROCESS_THIS_DIRECTORY to true; we should always process a
3607c71bc7e2Stholo 	directory's contents unless there's an existing CVS/Root file with
3608c71bc7e2Stholo 	a different root than the current root to tell us otherwise.
3609c71bc7e2Stholo	(do_dir_proc): same.
3610c71bc7e2Stholo
3611c71bc7e2StholoTue Aug 18 14:30:59 1998  Noel Cragg  <noel@swish.red-bean.com>
3612c71bc7e2Stholo
3613c71bc7e2Stholo	* recurse.c (do_recursion): check the current value of CVS/Root
3614c71bc7e2Stholo 	and add it to our list of CVSROOTs if it doesn't exist.  Decide
3615c71bc7e2Stholo 	whether or not to process files in this directory based based on
3616c71bc7e2Stholo 	the value of CURRENT_ROOT.
3617c71bc7e2Stholo	(do_dir_proc): same.
3618c71bc7e2Stholo
3619c71bc7e2Stholo	* main.c: add two new globals -- root_directories and current_root
3620c71bc7e2Stholo 	-- which keep track of the values of CVSROOT we've seen and which
3621c71bc7e2Stholo 	value of CVSROOT we're currently processing.
3622c71bc7e2Stholo	(main): put the main loop for stepping through cvsroot values
3623c71bc7e2Stholo 	here, since we might need to send command-specific arguments for
3624c71bc7e2Stholo 	every unique non-local cvsroot.  Moved blocks of code around so
3625c71bc7e2Stholo 	that one-time initializations happen first (outside the loop) and
3626c71bc7e2Stholo 	the other stuff happens inside the loop.
3627c71bc7e2Stholo	(set_root_directory): helper function.
3628c71bc7e2Stholo
3629c71bc7e2Stholo	* cvs.h: add prototypes for root_directories and current_root, two
3630c71bc7e2Stholo 	new globals for keeping track of multiple CVSROOT information.
3631c71bc7e2Stholo
3632c71bc7e2Stholo1998-08-18  Jim Kingdon  <kingdon@harvey.cyclic.com>
3633c71bc7e2Stholo
3634c71bc7e2Stholo	* sanity.sh: Don't assume that the shell leaves $^ unexpanded in
3635c71bc7e2Stholo	an unquoted here-document (suggested by Bart Schaefer to help when
3636c71bc7e2Stholo	zsh is the shell).
3637c71bc7e2Stholo
3638c71bc7e2Stholo1998-08-17  Ian Lance Taylor  <ian@cygnus.com>
3639c71bc7e2Stholo
3640c71bc7e2Stholo	* commit.c (checkaddfile): Don't call fix_rcs_modes.
3641c71bc7e2Stholo	(fix_rcs_modes): Remove.
3642c71bc7e2Stholo
3643c71bc7e2Stholo1998-08-16  Jim Kingdon  <kingdon@harvey.cyclic.com>
3644c71bc7e2Stholo
3645c71bc7e2Stholo	* create_adm.c (Create_Admin): Don't condition traces on
3646c71bc7e2Stholo	SERVER_SUPPORT; SERVER_SUPPORT shouldn't do (much of) anything
3647c71bc7e2Stholo	independent of server_active.
3648c71bc7e2Stholo
3649c71bc7e2Stholo	* sanity.sh (binfiles3): New test, for yet another binary file
3650c71bc7e2Stholo	bug (sigh).  Thanks to Jason Aten for reporting this one.
3651c71bc7e2Stholo
3652c71bc7e2Stholo1998-08-15  Jim Kingdon  <kingdon@harvey.cyclic.com>
3653c71bc7e2Stholo
3654c71bc7e2Stholo	* rcscmds.c (call_diff_write_output): Update to reflect new
3655c71bc7e2Stholo	calling convention for the write_output callback.
3656c71bc7e2Stholo
3657c71bc7e2Stholo1998-08-15  Jim Meyering  <meyering@ascend.com>
3658c71bc7e2Stholo
3659c71bc7e2Stholo	* update.c (merge_file): Warn about failed unlink when not due
3660c71bc7e2Stholo	to ENOENT.
3661c71bc7e2Stholo
3662c71bc7e2Stholo	* server.h (CLIENT_SERVER_STR): New macro
3663c71bc7e2Stholo	* create_adm.c (Create_Admin): Use it.
3664c71bc7e2Stholo	* entries.c (Scratch_Entry, Register): Use it.
3665c71bc7e2Stholo	* filesubr.c (copy_file, xchmod, rename_file, unlink_file): Use it.
3666c71bc7e2Stholo	* history.c (history_write): Use it.
3667c71bc7e2Stholo	* modules.c (do_module): Use it.
3668c71bc7e2Stholo	* no_diff.c (No_Difference): Use it.
3669c71bc7e2Stholo	* run.c (run_popen): Use it.
3670c71bc7e2Stholo	* server.c (server_register): Use it.
3671c71bc7e2Stholo
3672c71bc7e2Stholo1998-08-14  Jim Meyering  <meyering@ascend.com>
3673c71bc7e2Stholo
3674c71bc7e2Stholo	* hardlink.c (lookup_file_by_inode): Use existence_error rather than
3675c71bc7e2Stholo	comparing errno to ENOENT directly.
3676c71bc7e2Stholo
3677c71bc7e2Stholo	* client.c (copy_a_file): Unlink destination before doing copy.
3678c71bc7e2Stholo	* sanity.sh (join-readonly-conflict): New test for this -- it would
3679c71bc7e2Stholo	fail only in client/server mode.
3680c71bc7e2Stholo
3681c71bc7e2Stholo	* sanity.sh (rcsmerge-symlink-4): Don't use `test -L', it's not
3682c71bc7e2Stholo	portable.  Instead, match against the output of `ls -l'.
3683c71bc7e2Stholo	(dotest tag8k-16): Simplify tag-construction code and at the same
3684c71bc7e2Stholo	time, avoid using expr's `length' and `substr' operators.  Not
3685c71bc7e2Stholo	all versions of expr support those.
3686c71bc7e2Stholo
3687c71bc7e2Stholo1998-08-14  Jim Kingdon  <kingdon@harvey.cyclic.com>
3688c71bc7e2Stholo
3689c71bc7e2Stholo	* version.c: Bump version number to 1.10.0.1.
3690c71bc7e2Stholo
3691b2346922StholoThu Aug 13 11:15:24 1998  Noel Cragg  <noel@swish.red-bean.com>
3692b2346922Stholo
3693b2346922Stholo	* version.c: Change version number to 1.10 and name to `Halibut'.
3694b2346922Stholo
3695b2346922Stholo	* sanity.sh (rcslib): new tests to check behavior of symlinks in
3696b2346922Stholo 	the repository.
3697b2346922Stholo
3698b2346922StholoWed Aug 12 15:39:38 1998  Noel Cragg  <noel@swish.red-bean.com>
3699b2346922Stholo
3700b2346922Stholo	* main.c (lookup_command_attribute): the `annotate' command
3701b2346922Stholo 	shouldn't require access to the repository.  Add comment about
3702b2346922Stholo 	commands that do not use the working directory.
3703b2346922Stholo
3704b2346922StholoMon Aug 10 10:26:38 1998  Noel Cragg  <noel@swish.red-bean.com>
3705b2346922Stholo
3706b2346922Stholo	* version.c: Change version number to 1.9.30.
3707b2346922Stholo
3708b2346922StholoThu Aug  6 17:44:50 1998  Noel Cragg  <noel@swish.red-bean.com>
3709b2346922Stholo
3710b2346922Stholo	* server.c (serve_rdiff): change the name of the command (for
3711b2346922Stholo 	error reporting, etc.) from "patch" to "rdiff."
3712b2346922Stholo	(serve_remove): rename from "cvsremove" to "remove."
3713b2346922Stholo
3714b2346922Stholo	* main.c (lookup_command_attribute): the `rdiff' command shouldn't
3715b2346922Stholo 	require write access to the repository.
3716b2346922Stholo
3717b2346922Stholo1998-08-06  David Masterson of kla-tencor.com
3718b2346922Stholo	and Jim Kingdon
3719b2346922Stholo
3720b2346922Stholo	* commit.c (commit_filesdoneproc): Don't call strlen ("CVSROOT")
3721b2346922Stholo	from within the assert statement.  Apparently HP's cc compiler on
3722b2346922Stholo	HPUX 10.20 has trouble with that.
3723b2346922Stholo
3724b2346922Stholo1998-08-06  Jim Kingdon  <kingdon@harvey.cyclic.com>
3725b2346922Stholo
3726b2346922Stholo	* rcs.c (RCS_checkin): When adding branch, if there is a lock on
3727b2346922Stholo	the branchpoint owned by someone else, leave it alone.  This
3728b2346922Stholo	restores CVS 1.9 (RCS 5.7) behavior, fixing a core dump.
3729b2346922Stholo	* sanity.sh (reserved): New tests reserved-16 through reserved-19
3730b2346922Stholo	test for this fix.
3731b2346922Stholo
3732b2346922Stholo1998-08-05  Jim Kingdon  <kingdon@harvey.cyclic.com>
3733b2346922Stholo
3734b2346922Stholo	* sanity.sh (unedit-without-baserev): Use ${QUESTION} not "?".
3735b2346922Stholo	This makes it work with GNU expr 1.12 as well as 1.16.
3736b2346922Stholo
3737b2346922StholoSun Aug  2 20:27:44 1998  Noel Cragg  <noel@swish.red-bean.com>
3738b2346922Stholo
3739b2346922Stholo	* mkmodules.c: add comment about TopLevelAdmin for the initial
3740b2346922Stholo 	contents of CVSROOT/config.
3741b2346922Stholo
3742b2346922Stholo1998-07-29  Jim Kingdon  <kingdon@harvey.cyclic.com>
3743b2346922Stholo
3744b2346922Stholo	* rcs.c (RCS_checkin): Only try to call xreadlink if HAVE_READLINK
3745b2346922Stholo	is defined.
3746b2346922Stholo
3747b2346922StholoTue Jul 28 19:33:08 1998  Noel Cragg  <noel@swish.red-bean.com>
3748b2346922Stholo
3749b2346922Stholo	* version.c: Change version number to 1.9.29.
3750b2346922Stholo
3751b2346922Stholo	* rcs.c (RCS_checkin): add code to follow symbolic links in the
3752b2346922Stholo 	repository.
3753b2346922Stholo
3754b2346922StholoSun Jul 26 05:14:41 1998  Noel Cragg  <noel@swish.red-bean.com>
3755b2346922Stholo
3756b2346922Stholo	* This set of changes reverts the code to pre-1.9.2 behavior and
3757b2346922Stholo 	does not create CVS directories at top-level (except for the
3758b2346922Stholo 	obvious "cvs co .").  Added a new configuration option to switch
3759b2346922Stholo 	between 1.9 and 1.9.2 behavior.
3760b2346922Stholo
3761b2346922Stholo	* recurse.c (do_argument_proc): new function.
3762b2346922Stholo	(start_recursion): in the case that we've done a command from
3763b2346922Stholo 	top-level but have no CVS directory there, the behavior should be
3764b2346922Stholo 	the same as "cvs <cmd> dir1 dir2 dir3...".  Make sure that the
3765b2346922Stholo 	appropriate "Argument" commands are sent to the server by calling
3766b2346922Stholo 	walklist with do_argument_proc.
3767b2346922Stholo
3768b2346922Stholo	* client.c (call_in_directory): only create the top-level CVS
3769b2346922Stholo 	directory when we're checking out "." explicitly.  The server will
3770b2346922Stholo 	force creation of this directory in all other cases.
3771b2346922Stholo
3772b2346922Stholo	* checkout.c (checkout_proc): only generate the top-level
3773b2346922Stholo 	directory when the TopLevelAdmin=yes.  Also send a message to the
3774b2346922Stholo 	client to do the same.
3775b2346922Stholo
3776b2346922Stholo	* parseinfo.c (parse_config): handle TopLevelAdmin option.  Set
3777b2346922Stholo 	top_level_admin.
3778b2346922Stholo
3779b2346922Stholo	* main.c: add new variable top_level_admin.
3780b2346922Stholo	* cvs.h: add extern definition for above.
3781b2346922Stholo
3782b2346922Stholo	* sanity.sh: since we're reverting to pre 1.9.2 behavior for
3783b2346922Stholo 	top-level CVS directories, I needed to make changes to a bunch of
3784b2346922Stholo 	tests that made assumptions about said directories.
3785b2346922Stholo	(preamble): make sure to add read and execute access to everything
3786b2346922Stholo 	in TMPDIR before removing, since some tests make things read-only.
3787b2346922Stholo	(basicb-1a, basicb-1b, basicb-9a, basicb-9b): use dotest_fail
3788b2346922Stholo 	because these tests check for the non-existant top-level CVS
3789b2346922Stholo 	directory.
3790b2346922Stholo	(basicc-3, emptydir-6, emptydir-7, crerepos-6): use "rm -rf" so it
3791b2346922Stholo 	won't complain when trying to remove the non-existant top-level
3792b2346922Stholo 	CVS directory.
3793b2346922Stholo	(106.5): remove imported-f2-orig.tmp.
3794b2346922Stholo	(modules2-10, emptydir-4, abspath-1ba, abspath-1bb): cd into the
3795b2346922Stholo 	directory where files exist before using the "add" command so cvs
3796b2346922Stholo 	can find CVSROOT in CVS/Root.
3797b2346922Stholo	(cvsadm-2): look at a different CVS/Repository file, since the
3798b2346922Stholo 	top-level one doesn't exist.
3799b2346922Stholo	(taginfo-3): create the directory in the repository directly
3800b2346922Stholo 	rather than relying on the fact that the top-level CVS directory
3801b2346922Stholo 	was created in a previous test.
3802b2346922Stholo	(serverpatch-6): update first-dir explicity, rather than relying
3803b2346922Stholo 	on the non-existant top-level CVS/Entries file.
3804b2346922Stholo	(crerepos-18): look at CVS/Repository in a subdirectory rather
3805b2346922Stholo 	than in the non-existant top-level CVS directory.
3806b2346922Stholo	(toplevel): add code to set TopLevelAdmin=yes.
3807b2346922Stholo	(toplevel2): new tests -- same as toplevel, but TopLevelAdmin=no.
3808b2346922Stholo
3809b2346922Stholo1998-07-21  Jim Meyering  <meyering@ascend.com>
3810b2346922Stholo
3811b2346922Stholo	* rcs.c (RCS_checkout): Hoist frees of rev and value.
3812b2346922Stholo	Warn and return 1 in several cases rather than exiting via
3813b2346922Stholo	`error (1, ...'.  The latter could abort a multi-file commit
3814b2346922Stholo	in mid-stream, leaving stale locks in the repository.
3815b2346922Stholo
3816b2346922Stholo1998-07-16  Jim Kingdon  <kingdon@harvey.cyclic.com>
3817b2346922Stholo
3818b2346922Stholo	* build_src.com (rcscmds.c): Also look for include files in
3819b2346922Stholo	[-.diff], just like Ian's 1998-06-18 change to Makefile.in
3820b2346922Stholo
3821b2346922Stholo1998-07-14  Jim Kingdon  <kingdon@harvey.cyclic.com>
3822b2346922Stholo
3823b2346922Stholo	* tag.c (pretag_proc), rtag.c (pretag_proc): Don't pass RUN_REALLY
3824b2346922Stholo	to run_exec.  This means that taginfo does not get executed if the
3825b2346922Stholo	global -n option is specified.  Which makes it like loginfo, -i,
3826b2346922Stholo	-e, -o, -t, -u in modules, editinfo, and verifymsg and unlike
3827b2346922Stholo	commitinfo.  The old behavior was pretty bad in the sense that it
3828b2346922Stholo	doesn't provide any way to log only the tags which actually
3829b2346922Stholo	happen.
3830b2346922Stholo	* sanity.sh (taginfo): New tests taginfo-11 to taginfo-13, for this.
3831b2346922Stholo
3832b2346922Stholo1998-07-12  Jim Kingdon  <kingdon@harvey.cyclic.com>
3833b2346922Stholo
3834b2346922Stholo	* sanity.sh (ann-id): Write the test so that it tests for the
3835b2346922Stholo	current (buggy) behavior.
3836b2346922Stholo
3837b2346922Stholo	* sanity.sh (taginfo): Also clean up cvsroot/first-dir.
3838b2346922Stholo
3839b2346922Stholo1998-07-12  Jim Meyering  <meyering@ascend.com>
3840b2346922Stholo
3841b2346922Stholo	* sanity.sh (ann-id): New (currently failing) test for bug in how
3842b2346922Stholo	rcs keywords are expanded in the output of `cvs annotate'.
3843b2346922Stholo
3844b2346922Stholo1998-07-12  Jim Kingdon  <kingdon@harvey.cyclic.com>
3845b2346922Stholo
3846b2346922Stholo	* sanity.sh (taginfo): Write the TESTDIR into the script rather
3847b2346922Stholo	than having the script look at the environment.  This means that
3848b2346922Stholo	it will work if TESTDIR is set by sanity.sh as well as if
3849b2346922Stholo	sanity.sh finds TESTDIR in the environment.
3850b2346922Stholo
3851b2346922Stholo1998-07-11  Jim Kingdon  <kingdon@harvey.cyclic.com>
3852b2346922Stholo
3853b2346922Stholo	* tag.c (check_fileproc): Calculate the revision to be tagged the
3854b2346922Stholo	same way that tag_fileproc does.
3855b2346922Stholo	* sanity.sh (taginfo): New tests, test for this (before this fix,
3856b2346922Stholo	brtag had said 1.1 not 1.1.2.1).
3857b2346922Stholo
3858b2346922Stholo1998-07-10  Jim Kingdon  <kingdon@harvey.cyclic.com>
3859b2346922Stholo
3860b2346922Stholo	* sanity.sh (unedit-without-baserev): Also clean up "2" directory.
3861b2346922Stholo
3862b2346922Stholo1998-07-08  Jim Kingdon  <kingdon@harvey.cyclic.com>
3863b2346922Stholo
3864b2346922Stholo	* edit.c (unedit_fileproc): If the Baserev file is missing, don't
3865b2346922Stholo	get the working file from CVS/Base.  The previous code could get
3866b2346922Stholo	you version 1.1 of the working file and put 1.2 in CVS/Entries.
3867b2346922Stholo	* sanity.sh (unedit-without-baserev): New tests test for this.
3868b2346922Stholo
3869b2346922Stholo1998-07-02  Jim Kingdon  <kingdon@harvey.cyclic.com>
3870b2346922Stholo
3871b2346922Stholo	* sanity.sh (unedit-without-baserev): Move the test itself to be
3872b2346922Stholo	in the same order as in the "tests" variable.
3873b2346922Stholo
3874b2346922Stholo1998-07-02  Ian Lance Taylor  <ian@cygnus.com>
3875b2346922Stholo
3876b2346922Stholo	* rcscmds.c: Don't include <stdarg.h> or <vasprintf.h>.  Don't
3877b2346922Stholo	declare vasprintf.
3878b2346922Stholo	(call_diff_printf_output): Remove.
3879b2346922Stholo	(call_diff_stdout_callbacks): Don't initialize printf_output
3880b2346922Stholo	field--it has been removed from the interface.
3881b2346922Stholo	(call_diff_file_callbacks): Likewise.
3882b2346922Stholo
3883b2346922Stholo1998-07-01  Jim Meyering  <meyering@ascend.com>
3884b2346922Stholo
3885b2346922Stholo	* edit.c (unedit_fileproc): Handle the case in which base_get
3886b2346922Stholo	returns a NULL baserev.  That happens when a file being `unedit'ed
3887b2346922Stholo	exists in the CVS/Base directory, but isn't listed in the CVS/Baserev
3888b2346922Stholo	file.  The one case I've seen had no Baserev file at all.  The symptom
3889b2346922Stholo	(if you're lucky) is a segmentation fault upon unedit.  If you use
3890b2346922Stholo	SunOS4.1.4 for which printf prints NULL pointers as `(null)', your
3891b2346922Stholo	unedit command will complete normally, but it will have corrupted
3892b2346922Stholo	your CVS/Entries file and a subsequent update may result in an
3893b2346922Stholo	assertion failure, a core dump, and a stale lock in the repository.
3894b2346922Stholo	* sanity.sh (unedit-without-baserev): New test for this.
3895b2346922Stholo
3896b2346922Stholo1998-07-01  Andy Mortimer of aeat.co.uk
3897b2346922Stholo	and Jim Kingdon  <kingdon@harvey.cyclic.com>
3898b2346922Stholo
3899b2346922Stholo	* server.c (server_updated): Use a prototype if we are using them
3900b2346922Stholo	for declarations.
3901b2346922Stholo
3902b2346922Stholo1998-06-29  Jim Kingdon  <kingdon@harvey.cyclic.com>
3903b2346922Stholo
3904b2346922Stholo	* sanity.sh (commit-readonly): Protect keyword against expansion
3905b2346922Stholo	in sanity.sh itself.  Keep the keyword in the file which we check
3906b2346922Stholo	in (or else this fails to test for the RCS_checkout change).
3907b2346922Stholo
3908b2346922Stholo1998-06-27  Jim Meyering  <meyering@ascend.com>
3909b2346922Stholo
3910b2346922Stholo	* rcs.c (RCS_checkout): If opening the local workfile fails due to
3911b2346922Stholo	lack of write access, try to chmod the file and retry the open.
3912b2346922Stholo	Before, a commit could fail part way through merely because the
3913b2346922Stholo	open to rewrite with newly expanded rcs keywords would fail.  It's
3914b2346922Stholo	easy to make this happen if you use `cvs -r' or CVSREAD and you
3915b2346922Stholo	apply a patch to one of your read-only source files -- patch
3916b2346922Stholo	preserves the read-only setting for the file and your next commit
3917b2346922Stholo	will fail after committing that file, but before rewriting
3918b2346922Stholo	(checking out) your working copy.
3919b2346922Stholo	* sanity.sh (commit-readonly): New test for this.
3920b2346922Stholo
3921b2346922Stholo1998-06-25  Jim Kingdon  <kingdon@harvey.cyclic.com>
3922b2346922Stholo
3923b2346922Stholo	* update.c (patch_file): Update comments regarding context diffs
3924b2346922Stholo	to reflect diff library.
3925b2346922Stholo
3926b2346922Stholo1998-06-23  Jim Kingdon  <kingdon@harvey.cyclic.com>
3927b2346922Stholo
3928b2346922Stholo	* sanity.sh (modules4): Add tests for reversing the order of the
3929b2346922Stholo	"!first-dir/sdir" and "first-dir".
3930b2346922Stholo
3931b2346922Stholo1998-06-23  Jim Kingdon  <kingdon@harvey.cyclic.com>
3932b2346922Stholo	and Dave Wolfe@Motorola.
3933b2346922Stholo
3934b2346922Stholo	* sanity.sh (modes2): Touch the file before chmod'ing it.
3935b2346922Stholo
3936b2346922Stholo1998-06-21  Ian Lance Taylor  <ian@cygnus.com>
3937b2346922Stholo
3938b2346922Stholo	* update.c (merge_files): Revert changes of 1998-06-19.  Instead,
3939b2346922Stholo	register a merged file with a dummy time stamp.  Only set
3940b2346922Stholo	last_register_time if we need to.
3941b2346922Stholo	(join_file): Likewise.  Always register a merged file, not just
3942b2346922Stholo	when the merge fails.
3943b2346922Stholo
3944b2346922Stholo1998-06-21  Jim Kingdon  <kingdon@harvey.cyclic.com>
3945b2346922Stholo
3946b2346922Stholo	* call_diff_write_output, call_diff_printf_output,
3947b2346922Stholo	call_diff_flush_output, call_diff_write_stdout, call_diff_error,
3948b2346922Stholo	call_diff_stdout_callbacks, call_diff_file_callbacks): Re-indent.
3949b2346922Stholo
3950b2346922Stholo1998-06-19  Ian Lance Taylor  <ian@cygnus.com>
3951b2346922Stholo
3952b2346922Stholo	* update.c (merge_file): Make sure the time stamp of the file is
3953b2346922Stholo	different from the time stamp we register in the Entries file.
3954b2346922Stholo	(join_file): Likewise.
3955b2346922Stholo
3956b2346922Stholo1998-06-18  Ian Lance Taylor  <ian@cygnus.com>
3957b2346922Stholo
3958b2346922Stholo	* rcscmds.c: Include <stdio.h>.  Include either <stdarg.h> or
3959b2346922Stholo	<varargs.h>.  Declare vasprintf.
3960b2346922Stholo	(call_diff_write_output): New static function.
3961b2346922Stholo	(call_diff_printf_output): New static function.
3962b2346922Stholo	(call_diff_flush_output): New static function.
3963b2346922Stholo	(call_diff_write_stdout): New static function.
3964b2346922Stholo	(call_diff_error): New static function.
3965b2346922Stholo	(call_diff_stdout_callbacks): New static variable.
3966b2346922Stholo	(call_diff_file_callbacks): New static variable.
3967b2346922Stholo	(call_diff): Don't sleep.  Use a callback structure when calling
3968b2346922Stholo	the diff library.
3969b2346922Stholo	(call_diff3): Likewise.
3970b2346922Stholo
3971b2346922Stholo	* rcscmds.c: Include diffrun.h.
3972b2346922Stholo	(call_diff, call_diff3): Pass NULL callback parameter.
3973b2346922Stholo	(diff_run, diff3_run): Don't declare.
3974b2346922Stholo	* Makefile.in (rcscmds.o): New target, to use -I for diff
3975b2346922Stholo	directory.
3976b2346922Stholo	(zlib.o): Depend upon zlib.h.
3977b2346922Stholo
3978b2346922Stholo1998-06-09  Mike Sutton@SAIC
3979b2346922Stholo
3980b2346922Stholo	Make it compile with Sun's bundled K&R C compiler:
3981b2346922Stholo	* rcs.c (count_delta_actions): Change to static to match
3982b2346922Stholo	declaration.
3983b2346922Stholo	* client.c (handle_wrapper_rcs_option): Rename error label to
3984b2346922Stholo	handle_error to avoid clash with function name.
3985b2346922Stholo
3986b2346922Stholo1998-06-09  Jim Kingdon  <kingdon@harvey.cyclic.com>
3987b2346922Stholo
3988b2346922Stholo	* rcs.c (RCS_delete_revs): If we are trying to delete all
3989b2346922Stholo	revisions, give an error rather than assertion failed.
3990b2346922Stholo	* sanity.sh (basicb): New tests basicb-o* test for this.
3991b2346922Stholo
3992b2346922Stholo1998-06-04  Jim Kingdon  <kingdon@harvey.cyclic.com>
3993b2346922Stholo
3994b2346922Stholo	* add.c (add): Only send "Directory" requests if we need to.
3995b2346922Stholo
3996b2346922Stholo1998-06-02  Assar Westerlund  <assar@sics.se>
3997b2346922Stholo
3998b2346922Stholo	* client.c: Check for HAVE_GSS_C_NT_HOSTBASED_SERVICE rather than
3999b2346922Stholo	assuming that GSS_C_NT_HOSTBASED_SERVICE is a macro.
4000b2346922Stholo	* server.c: Likewise.
4001b2346922Stholo
4002b2346922Stholo1998-06-02  Jim Kingdon  <kingdon@harvey.cyclic.com>
4003b2346922Stholo
4004b2346922Stholo	* fileattr.c (fileattr_read): Check for NULL return from strchr.
4005b2346922Stholo	* sanity.sh (devcom3): New test devcom3-10 checks for this.
4006b2346922Stholo
4007b2346922Stholo1998-06-01  Assar Westerlund  <assar@sics.se>
4008b2346922Stholo	and Ian Lance Taylor  <ian@cygnus.com>
4009b2346922Stholo
4010b2346922Stholo	* client.c: If HAVE_GSSAPI_H, include <gssapi.h>.  Only include
4011b2346922Stholo	<gssapi/gssapi.h> if HAVE_GSSAPI_GSSAPI_H.  Only include
4012b2346922Stholo	<gssapi/gssapi_generic.h> if HAVE_GSSAPI_GSSAPI_GENERIC_H.
4013b2346922Stholo	(GSS_C_NT_HOSTBASED_SERVICE): Define if not defined.
4014b2346922Stholo	(connect_to_gserver): Use GSS_C_NT_HOSTBASED_SERVICE instead of
4015b2346922Stholo	gss_nt_service_name.
4016b2346922Stholo	* server.c: Same header file changes.
4017b2346922Stholo	(GSS_C_NT_HOSTBASED_SERVICE): Define if not defined.
4018b2346922Stholo	(gserver_authenticate_connection): Use GSS_C_NT_HOSTBASED_SERVICE
4019b2346922Stholo	instead of gss_nt_service_name.
4020b2346922Stholo
4021b2346922Stholo1998-06-01  Jim Meyering  <meyering@ascend.com>
4022b2346922Stholo
4023b2346922Stholo	* sanity.sh (tag8k): Add a test for the 1998-05-02 rcs.c bug fix.
4024b2346922Stholo
4025b2346922Stholo1998-05-26  Jim Kingdon  <kingdon@harvey.cyclic.com>
4026b2346922Stholo
4027b2346922Stholo	* rcs.c (annotate): Call tag_check_valid like the other functions
4028b2346922Stholo	which have a -r option.
4029b2346922Stholo	* sanity.sh (ann): New test ann-14 tests for this.
4030b2346922Stholo
4031b2346922Stholo1998-05-24  Jim Kingdon  <kingdon@harvey.cyclic.com>
4032b2346922Stholo
4033b2346922Stholo	* sanity.sh (importc): New tests importc-5 through importc-8 test
4034b2346922Stholo	for a (fairly obscure) regression from CVS 1.9.
4035b2346922Stholo
4036b6f6614eStholo1998-05-23  Jim Kingdon  <kingdon@harvey.cyclic.com>
4037b6f6614eStholo
4038b2346922Stholo	* sanity.sh (modules2): Add comment listing cvs release tests.
4039b2346922Stholo	(info): New test info-cleanup-0 tests "cvs -n release".
4040b2346922Stholo
4041b2346922Stholo	* rcs.c (rcsbuf_getid): Remove semicolon at end of #undef.  I'm
4042b2346922Stholo	kind of surprised that compilers accepted this at all, but
4043b2346922Stholo	removing it squelches a warning for some compilers.
4044b2346922Stholo
4045b2346922Stholo	* version.c: Change version number to 1.9.28.1.
4046b2346922Stholo
4047b6f6614eStholo	* Version 1.9.28.
4048b6f6614eStholo
4049b6f6614eStholo1998-05-22  Jim Kingdon  <kingdon@harvey.cyclic.com>
4050b6f6614eStholo
4051b6f6614eStholo	* rcs.c (RCS_cmp_file): Check for errors from CVS_FOPEN.  This
4052b6f6614eStholo	restores the CVS 1.9 behavior (fatal error if we can't open the
4053b6f6614eStholo	file), and corrects an apparent oversight in Ian's 13 Apr 1997
4054b6f6614eStholo	change.
4055b6f6614eStholo	* sanity.sh (modes2): New test, tests for this.
4056b6f6614eStholo
4057b6f6614eStholo1998-05-22  Ian Lance Taylor  <ian@cygnus.com>
4058b6f6614eStholo
4059b6f6614eStholo        * server.c (server_updated): Correct test for whether to unlink
4060b6f6614eStholo        the file.
4061b6f6614eStholo
4062b6f6614eStholo1998-05-20  Jim Kingdon  <kingdon@harvey.cyclic.com>
4063b6f6614eStholo
4064b6f6614eStholo	* wrapper.c (wrap_add): Disable -t/-f wrappers at least until the
4065b6f6614eStholo	serious bug can be fixed.
4066b6f6614eStholo
4067b6f6614eStholo1998-05-15  Jim Kingdon  <kingdon@harvey.cyclic.com>
4068b6f6614eStholo
4069b6f6614eStholo	* checkout.c (checkout): Call server_pathname_check on the
4070b6f6614eStholo	argument to "cvs co -d".
4071b6f6614eStholo	* server.c (server_pathname_check): Add comment about how we could
4072b6f6614eStholo	be handling absolute pathnames.
4073b6f6614eStholo	* sanity.sh (abspath): Rewrite the tests which run "cvs co -d /foo"
4074b6f6614eStholo	for remote, to reflect this.
4075b6f6614eStholo
4076b6f6614eStholo	* sanity.sh (abspath): Also do the "cannot rename" work-around for
4077b6f6614eStholo	abspath-7d.
4078b6f6614eStholo
4079b6f6614eStholo1998-05-13  Jim Kingdon  <kingdon@harvey.cyclic.com>
4080b6f6614eStholo
4081b6f6614eStholo	* commit.c (commit_filesdoneproc): Free admin_dir when done with it.
4082b6f6614eStholo
4083b6f6614eStholo1998-05-13  Jim Meyering  <meyering@ascend.com>
4084b6f6614eStholo
4085b6f6614eStholo	* sanity.sh (editor): Change bogus sed command, `s/^/x&/g', to `s/^/x/'.
4086b6f6614eStholo	The former exercised a bug in GNU sed-3.01-beta3.
4087b6f6614eStholo	(emptydir-8): Add `Rebuilding administrative file database' message,
4088b6f6614eStholo	since now it does that.
4089b6f6614eStholo	* commit.c (commit_filesdoneproc): Pass only the admin directory
4090b6f6614eStholo	pathname to mkmodules.
4091b6f6614eStholo	Remove #if 0, now that it's fixed.
4092b6f6614eStholo
4093b6f6614eStholo	* status.c (cvsstatus): Rename from `status' to avoid shadowing
4094b6f6614eStholo	lots of locals and parameters by the same name.
4095b6f6614eStholo	* server.c (serve_status): Update caller.
4096b6f6614eStholo	* main.c (cmds[]): Update table entry.
4097b6f6614eStholo	* cvs.h: Update prototype.
4098b6f6614eStholo
4099b6f6614eStholo	* commit.c (commit_filesdoneproc): Remove trailing blanks.
4100b6f6614eStholo	(commit) [CLIENT_SUPPORT]: Remove unnecessary (and local-shadowing)
4101b6f6614eStholo	declaration of `err'.
4102b6f6614eStholo	Rename global `tag' to `saved_tag' to avoid overshadowing `tag'
4103b6f6614eStholo	parameters of three functions.
4104b6f6614eStholo	Rename global `message' to `saved_message' to avoid overshadowing
4105b6f6614eStholo	`message' parameter of a function.
4106b6f6614eStholo	Rename global `ulist' to `saved_ulist' and move dcl up with others.
4107b6f6614eStholo
4108b6f6614eStholo1998-05-12  Jim Kingdon  <kingdon@harvey.cyclic.com>
4109b6f6614eStholo
4110b6f6614eStholo	* commit.c (commit_filesdoneproc): #if 0 the new code until it can
4111b6f6614eStholo	be fixed.
4112b6f6614eStholo
4113b6f6614eStholo	* commit.c (commit_filesdoneproc): Add comment explaining last
4114b6f6614eStholo	change.
4115b6f6614eStholo
4116b6f6614eStholo1998-05-12  Jim Meyering  <meyering@ascend.com>
4117b6f6614eStholo
4118b6f6614eStholo	* commit.c (commit_filesdoneproc): Call mkmodules not just when
4119b6f6614eStholo	committing a file directly under CVSROOT, but also when committing
4120b6f6614eStholo	files in subdirectories of CVSROOT.
4121b6f6614eStholo
4122b6f6614eStholo1998-05-08  Jim Meyering  <meyering@ascend.com>
4123b6f6614eStholo
4124b6f6614eStholo	* filesubr.c (xreadlink):  NUL-terminate the symbolic link name.
4125b6f6614eStholo	Use a much smaller initial buffer length.
4126b6f6614eStholo	Test errno only if readlink fails.
4127b6f6614eStholo	Use xstrdup then free the original link name so we don't waste space.
4128b6f6614eStholo
4129b6f6614eStholo1998-05-02  Jim Meyering  <meyering@ascend.com>
4130b6f6614eStholo
4131b6f6614eStholo	* rcs.c (rcsbuf_getword): Fix off-by-one error that would result in
4132b6f6614eStholo	an abort (the first one in rcsbuf_getkey) when operating on on some
4133b6f6614eStholo	,v files with over 8192 bytes of tag and branch info.
4134b6f6614eStholo
4135b6f6614eStholo1998-05-04  Jim Kingdon  <kingdon@harvey.cyclic.com>
4136b6f6614eStholo
4137b6f6614eStholo	* sanity.sh (ann): New tests ann-12 and ann-13 test for specifying
4138b6f6614eStholo	a numeric branch.
4139b6f6614eStholo
4140b6f6614eStholo1998-05-02  Jim Kingdon  <kingdon@harvey.cyclic.com>
4141b6f6614eStholo
4142b6f6614eStholo	* rcs.c: Add comments about getting rid of rcsbuf_getid,
4143b6f6614eStholo	rcsbuf_getword, and rcsbuf_getstring.
4144b6f6614eStholo
4145b6f6614eStholo	* sanity.sh (abspath): Revise the workarounds to deal with exit
4146b6f6614eStholo	status.
4147b6f6614eStholo
4148b6f6614eStholo1998-04-30  Jim Kingdon  <kingdon@harvey.cyclic.com>
4149b6f6614eStholo
4150b6f6614eStholo	* sanity.sh (abspath): Work around the "cannot rename" bug.
4151b6f6614eStholo
4152b6f6614eStholo1998-04-27  Jim Kingdon  <kingdon@harvey.cyclic.com>
4153b6f6614eStholo
4154b6f6614eStholo	* classify.c (Classify_File): Add comments about checking whether
4155b6f6614eStholo	command name is "update".
4156b6f6614eStholo
4157b6f6614eStholo1998-04-22  Jim Kingdon  <kingdon@harvey.cyclic.com>
4158b6f6614eStholo
4159b6f6614eStholo	* version.c: Change version number to 1.9.27.1.
4160b6f6614eStholo
4161b6f6614eStholo	* Version 1.9.27.
4162b6f6614eStholo
4163b6f6614eStholo1998-04-20  Jim Kingdon  <kingdon@harvey.cyclic.com>
4164b6f6614eStholo
4165b6f6614eStholo	(This diff was run by devel-cvs and everyone seemed to like it).
4166b6f6614eStholo	* diff.c (diff_file_nodiff): Make HEAD mean the head of the branch
4167b6f6614eStholo	which contains the sticky tag, not the sticky tag itself.
4168b6f6614eStholo	* rcs.c, rcs.h (RCS_branch_head): New function.
4169b6f6614eStholo	* sanity.sh (head): Update for this changed behavior.
4170b6f6614eStholo
4171b6f6614eStholo1998-04-19  Jim Kingdon  <kingdon@harvey.cyclic.com>
4172b6f6614eStholo
4173b6f6614eStholo	* sanity.sh: Move emptydir tests from basicb to new test emptydir.
4174b6f6614eStholo	This is because we now need a module definition to create Emptydir;
4175b6f6614eStholo	"co -d" doesn't cut it anymore.
4176b6f6614eStholo
4177b6f6614eStholo1998-04-17  Petri Virkkula
4178b6f6614eStholo
4179b6f6614eStholo	* server.c (mkdir_p): Ignore EROFS error (like for EACCES).
4180b6f6614eStholo
4181b6f6614eStholo1998-04-16  Jim Kingdon  <kingdon@harvey.cyclic.com>
4182b6f6614eStholo
4183b6f6614eStholo	* checkout.c (checkout_proc): Don't create directories above the
4184b6f6614eStholo	last one specified in "co -d".
4185b6f6614eStholo	(build_dirs_and_chdir): Revert Noel's change of 17 Feb 1998.
4186b6f6614eStholo	(struct dir_to_build): New field just_chdir.
4187b6f6614eStholo	(build_dirs_and_chdir): Test it.
4188b6f6614eStholo	* sanity.sh (abspath): New tests abspath-7* test for a bug which
4189b6f6614eStholo	we fix, in which CVS would create bogus "D/////" entries in
4190b6f6614eStholo	CVS/Entries.
4191b6f6614eStholo	(abspath): Revise abspath-3* tests to test for the fact that we no
4192b6f6614eStholo	longer create directories above the last one specified in "co -d".
4193b6f6614eStholo	I checked that CVS 1.9 gives an error on this, so changing this
4194b6f6614eStholo	behavior back should be OK.
4195b6f6614eStholo	(cvsadm-2d3): Likewise (also checked CVS 1.9 for this case).
4196b6f6614eStholo	(cvsadm-2d3d): Likewise (also checked CVS 1.9 for this case).
4197b6f6614eStholo	(cvsadm-2d{4,5,6,7,8}, cvsadm-N2d{3,4,5,6,7,8}): Adjust for new
4198b6f6614eStholo	behavior (same case as cvsadm-2d3).
4199b6f6614eStholo	(cvsadm-2d{4,5,6,7,8}d, cvsadm-N2d{3,4,5,6,7,8}d): Remove test
4200b6f6614eStholo	(same case as cvsadm-2d3d).
4201b6f6614eStholo	(cvsadm): For remote, skip most these tests.
4202b6f6614eStholo	(abspath): When cleaning up, delete mod1 and mod2 rather than mod1
4203b6f6614eStholo	twice (longstanding bug, apparently only becomes visible if you
4204b6f6614eStholo	run the tests in a certain order).
4205b6f6614eStholo
4206b6f6614eStholo1998-04-14  Wilfredo Sanchez  <wsanchez@apple.com>
4207b6f6614eStholo
4208b6f6614eStholo	* rcs.c: variable "lockfile" was being referenced after being
4209b6f6614eStholo	free'd.  Bad.  Moved the free() call down.
4210b6f6614eStholo
4211b6f6614eStholo1998-04-12  Jim Kingdon  <kingdon@harvey.cyclic.com>
4212b6f6614eStholo
4213b6f6614eStholo	* sanity.sh (rcs): Add test for annotate and the year 2000.
4214b6f6614eStholo
4215b6f6614eStholo	* server.c (do_cvs_command): If there are partial lines left when
4216b6f6614eStholo	the child process is done, send them along.
4217b6f6614eStholo	* sanity.sh (rcs, rcs2): Enable all tests for remote; tests for
4218b6f6614eStholo	this fix.
4219b6f6614eStholo
4220b6f6614eStholo1998-04-11  Jim Kingdon  <kingdon@harvey.cyclic.com>
4221b6f6614eStholo
4222b6f6614eStholo	* client.c (client_senddate): Pass SDATEFORM not DATEFORM to
4223b6f6614eStholo	sscanf.  This fixes a Y2K bug.
4224b6f6614eStholo
4225b6f6614eStholo	* history.c (history, select_hrec): Change since_date from time_t
4226b6f6614eStholo	to RCS format.  Use the usual machinery (in particular, Make_Date
4227b6f6614eStholo	and client_senddate) so that it will work on VMS too.
4228b6f6614eStholo	* main.c, cvs.h (date_from_time_t): New function.
4229b6f6614eStholo	* sanity.sh (history): New test, to test that this didn't break
4230b6f6614eStholo	anything (also tests client_senddate fix).
4231b6f6614eStholo
4232b6f6614eStholo1998-04-11  Norbert Kiesel  <nk@iname.com>
4233b6f6614eStholo
4234b6f6614eStholo	* server.c (cvs_output_binary): Shut up "gcc -Wall" by removing
4235b6f6614eStholo	unnecessary else if test.
4236b6f6614eStholo	* server.c (check_password): Fix uninitialized memory read if
4237b6f6614eStholo 	shadow passwords are used.  Also added some comments.
4238b6f6614eStholo	* rcs.c (RCS_checkout): Make sure to call chown with -1 for uid or
4239b6f6614eStholo	gid if they should not be changed
4240b6f6614eStholo
4241b6f6614eStholo1998-04-10  Jim Kingdon  <kingdon@harvey.cyclic.com>
4242b6f6614eStholo
4243b6f6614eStholo	* sanity.sh (rcs2): New test, tests for various Y2K cases.
4244b6f6614eStholo	* rcs.c (getdelta): Value for "state" keyword is optional (bug
4245b6f6614eStholo	discovered incidentally in writing rcs2 test).
4246b6f6614eStholo
4247b6f6614eStholo1998-04-09  Jim Kingdon  <kingdon@harvey.cyclic.com>
4248b6f6614eStholo
4249b6f6614eStholo	* filesubr.c, cvs.h (link_file): Remove; no longer used.
4250b6f6614eStholo
4251b6f6614eStholo1998-04-08  Jim Kingdon  <kingdon@harvey.cyclic.com>
4252b6f6614eStholo
4253b6f6614eStholo	* recurse.c (do_dir_proc): Restore update_dir rather than a
4254b6f6614eStholo	computation which appears to, but does not necessarily, restore it
4255b6f6614eStholo	(reported by various people; this fix is from Greg Hudson).
4256b6f6614eStholo	* sanity.sh (importc): New test, tests for this fix.
4257b6f6614eStholo
4258b6f6614eStholo1998-03-27  Jim Kingdon  <kingdon@harvey.cyclic.com>
4259b6f6614eStholo
4260b6f6614eStholo	* rcs.c (RCS_lock): If the revision is already locked, give an
4261b6f6614eStholo	error rather than dumping core.
4262b6f6614eStholo	* sanity.sh (reserved): New test reserved-13c tests for this.
4263b6f6614eStholo
4264b6f6614eStholo1998-03-25  Loren J. Rittle
4265b6f6614eStholo
4266b6f6614eStholo	* import.c (add_rev): Rewrite to use RCS_FLAGS_KEEPFILE option
4267b6f6614eStholo	of RCS_checkin() to avoid damage to imported files instead of
4268b6f6614eStholo	externally undoing damage after the fact.  The side effect is
4269b6f6614eStholo	that callers of add_rev() may now incrementally walk the
4270b6f6614eStholo	entries of the current directory without seeing gratuitous
4271b6f6614eStholo	changes to the directory structure (under at least one file
4272b6f6614eStholo	system under at least one OS).
4273b6f6614eStholo
4274b6f6614eStholo1998-03-18  Jim Kingdon  <kingdon@harvey.cyclic.com>
4275b6f6614eStholo
4276b6f6614eStholo	* error.c (error): Save and restore errno.  Should fix test case
4277b6f6614eStholo	conflicts3-23 on SCO 5.0.2.  Reported by Steve Cameron.
4278b6f6614eStholo
4279b6f6614eStholo	* sanity.sh (admin): Rename admin-26-o* to admin-26-*; the "o"
4280b6f6614eStholo	stands for "cvs admin -o".  Add comment about length of tests.
4281b6f6614eStholo	Use ${PLUS}.
4282b6f6614eStholo
4283b6f6614eStholo1998-03-05  Dan Wilder <dan@gasboy.com>
4284b6f6614eStholo
4285b6f6614eStholo 	* Fix problem with cvs admin in which -ntag:branch
4286b6f6614eStholo 	option associated tag with the branch's head revision.
4287b6f6614eStholo 	Should have used branch number.  Entailed in this fix,
4288b6f6614eStholo 	the following.
4289b6f6614eStholo
4290b6f6614eStholo 	* Add new functions "RCS_exist_rev", "RCS_exist_tag",
4291b6f6614eStholo 	"RCS_tag2rev", and "RCS_valid_rev" to rcs.c.  RCS_tag2rev
4292b6f6614eStholo 	is similar to RCS_gettag, but does less interpretation.
4293b6f6614eStholo
4294b6f6614eStholo 	* Plug a small memory leak.
4295b6f6614eStholo
4296b6f6614eStholo 	* Add tests admin-26 through admin-29 to sanity.sh,
4297b6f6614eStholo 	to test "cvs admin -n".
4298b6f6614eStholo
4299b6f6614eStholo1998-03-17  Samuel Tardieu  <sam@inf.enst.fr>
4300b6f6614eStholo
4301b6f6614eStholo	* server.c (server_register): protect dereferencing timestamp in
4302b6f6614eStholo	the trace message when it is null, to avoid a segmentation fault.
4303b6f6614eStholo
4304b6f6614eStholo1998-03-16  Jim Kingdon  <kingdon@harvey.cyclic.com>
4305b6f6614eStholo
4306b6f6614eStholo	* options.h.in (MY_NDBM): Rewrite the comment explaining this
4307b6f6614eStholo	option.  It was not clear to everyone who "my" referred to, for
4308b6f6614eStholo	example.
4309b6f6614eStholo
4310b6f6614eStholo	* hardlink.c (list_linked_files_on_disk): Remove unused variables
4311b6f6614eStholo	err and p.
4312b6f6614eStholo	(list_linked_files_on_disk): Add comment about memory allocation
4313b6f6614eStholo	of return value.
4314b6f6614eStholo	* rcs.c (rcsbuf_getword): Shut up gcc -Wall with a "return 0".
4315b6f6614eStholo	(RCS_checkin): Remove unused variable fullpath.
4316b6f6614eStholo	* sanity.sh (hardlinks): Remove comment about spurious warnings;
4317b6f6614eStholo	the warnings are gone.
4318b6f6614eStholo
4319b6f6614eStholo1998-03-12  Tim Pierce  <twp@skepsis.com>
4320b6f6614eStholo
4321b6f6614eStholo	New functions for parsing and writing hardlink fields.
4322b6f6614eStholo	* rcs.c [PRESERVE_PERMISSIONS_SUPPORT] (puthardlink_proc): New
4323b6f6614eStholo	function.
4324b6f6614eStholo	(putdelta) [PRESERVE_PERMISSIONS_SUPPORT]: Use it.
4325b6f6614eStholo	(rcsbuf_getid, rcsbuf_getstring, rcsbuf_getword): New functions.
4326b6f6614eStholo	(getdelta): Call them, storing `hardlinks' field in vnode->hardlinks.
4327b6f6614eStholo	(RCS_reparsercsfile): When setting rdata->desc, xstrdup value
4328b6f6614eStholo	rather than rcsbuf_valcopying it (due to changes in how getdelta
4329b6f6614eStholo	handles keys and values in newphrases).
4330b6f6614eStholo
4331b6f6614eStholo	* sanity.sh (hardlinks): Use uglier filenames.  Checking out
4332b6f6614eStholo	hardlinked files no longer produces the same spurious diagnostics,
4333b6f6614eStholo	so fix that test.
4334b6f6614eStholo	(hardlinks-2.3): Renamed from hardlinks-2.2 (duplicate test name).
4335b6f6614eStholo
4336b6f6614eStholo	New infrastructure for managing hardlink lists internally...
4337b6f6614eStholo	* hardlink.c, hardlink.h (list_linked_files_on_disk,
4338b6f6614eStholo	compare_linkage_lists, find_checkedout_proc): New functions.
4339b6f6614eStholo	* rcs.h (struct rcsversnode) [PRESERVE_PERMISSIONS_SUPPORT]: New
4340b6f6614eStholo	member `hardlinks'.
4341b6f6614eStholo	* update.c (special_file_mismatch): Get hardlinks from
4342b6f6614eStholo	vp->hardlinks instead of from vp->other_delta.
4343b6f6614eStholo	* rcs.c (free_rcsvers_contents): Comment about freeing hardlinks
4344b6f6614eStholo	member.
4345b6f6614eStholo	(RCS_checkout) [PRESERVE_PERMISSIONS_SUPPORT]: Get hardlinks from
4346b6f6614eStholo	vers->hardlinks list instead of vers->other_delta.
4347b6f6614eStholo
4348b6f6614eStholo	... and removed obsolete code from earlier revs.
4349b6f6614eStholo	* hardlink.c, hardlink.h (list_files_linked_to,
4350b6f6614eStholo	cache_hardlinks_proc, list_files_proc, set_hardlink_field_proc):
4351b6f6614eStholo	Removed.
4352b6f6614eStholo	* hardlink.h: Removed `links' member from hardlink_info struct.
4353b6f6614eStholo	* commit.c (commit): Remove the call to cache_hardlinks_proc.
4354b6f6614eStholo	(check_fileproc) [PRESERVE_PERMISSIONS_SUPPORT]: Removed reference
4355b6f6614eStholo	to hlinfo->links.
4356b6f6614eStholo	* hardlink.c (update_hardlink_info): Same.
4357b6f6614eStholo	* update.c (get_linkinfo_proc): Same.
4358b6f6614eStholo
4359b6f6614eStholo	* rcs.c (RCS_checkout) [PRESERVE_PERMISSIONS_SUPPORT]: Use
4360b6f6614eStholo	vp->hardlinks and find_checkedout_proc to find recently-updated
4361b6f6614eStholo	files that may be hardlinked.
4362b6f6614eStholo	* update.c (special_file_mismatch): Use List * structures and
4363b6f6614eStholo	compare_linkage_lists for rev1_hardlinks and rev2_hardlinks.
4364b6f6614eStholo
4365b6f6614eStholo1998-03-16  Larry Jones  <larry.jones@sdrc.com>
4366b6f6614eStholo
4367b6f6614eStholo	* server.c (check_password): If shadow passwords are supported but no
4368b6f6614eStholo	entry is found in the shadow file, check the regular password file.
4369b6f6614eStholo
4370b6f6614eStholo1998-03-07  Jim Kingdon  <kingdon@harvey.cyclic.com>
4371b6f6614eStholo
4372b6f6614eStholo	* sanity.sh: Rename permissions test to perms since that is what
4373b6f6614eStholo	each of its individual tests are named.
4374b6f6614eStholo	* sanity.sh (perms symlinks hardlinks): Change CVSROOT to
4375b6f6614eStholo	CVSROOT_DIRNAME where appropriate.
4376b6f6614eStholo	(perms symlinks hardlinks): Disable/adjust the meat of the tests for
4377b6f6614eStholo	remote.
4378b6f6614eStholo	(symlinks): Link to ${TESTDIR}/fumble rather than
4379b6f6614eStholo	/fumble/mumble/grumble.  We shouldn't be making assumptions about
4380b6f6614eStholo	what might exist in random directories outside ${TESTDIR}.
4381b6f6614eStholo	* hardlink.c (cache_hardlinks_proc): Add comment about trimming
4382b6f6614eStholo	whitespace.
4383b6f6614eStholo
4384b6f6614eStholo1998-03-07  Tim Pierce  <twp@skepsis.com>
4385b6f6614eStholo
4386b6f6614eStholo	* rcs.c (RCS_checkout): Negation bug when checking out symlinks:
4387b6f6614eStholo	existence_error should be !existence_error.
4388b6f6614eStholo	* sanity.sh (permissions symlinks hardlinks): New tests, for
4389b6f6614eStholo	PreservePermissions.
4390b6f6614eStholo
43915e617892Stholo1998-03-04  Jim Kingdon  <kingdon@harvey.cyclic.com>
43925e617892Stholo
4393b6f6614eStholo	* version.c: Change version number to 1.9.26.1.
4394b6f6614eStholo
4395b6f6614eStholo	* Version 1.9.26.
4396b6f6614eStholo
43975e617892Stholo	* entries.c, cvs.h (Entries_Open): New argument update_dir; use it
43985e617892Stholo	in error message.
43995e617892Stholo	* add.c, checkout.c, client.c, find_names.c, import.c, recurse.c,
44005e617892Stholo	update.c: Pass it (as NULL except in call_in_directory).
44015e617892Stholo	* entries.c (Subdirs_Known): Just return if there is no CVSADM
44025e617892Stholo	directory (as in subdir_record).
44035e617892Stholo	* sanity.sh (conflicts3): New tests conflicts3-20a and
44045e617892Stholo	conflicts3-23 test for these fixes.
44055e617892Stholo
44065e617892Stholo	* commit.c (commit): Only set up hardlist if preserve_perms.
44075e617892Stholo
44085e617892Stholo	* commit.c, import.c, no_diff.c, parseinfo.c, rcs.c, rcscmds.c,
44095e617892Stholo	update.c: Omit the preserve_perms code if
44105e617892Stholo	PRESERVE_PERMISSIONS_SUPPORT is not defined.  Much of that code
44115e617892Stholo	won't even compile on non-unix systems.
44125e617892Stholo
44135e617892Stholo	* hardlink.c, hardlink.h: Use the 'standard' copyright (as found
44145e617892Stholo	in server.c).
44155e617892Stholo	* commit.c, rcs.c: Minor whitespace changes to Tim's submission.
44165e617892Stholo	* commit.c (check_fileproc), update.c (get_linkinfo_proc): Remove
44175e617892Stholo	unused variable delta.
44185e617892Stholo	* hardlink.c (set_hardlink_field_proc), update.c
44195e617892Stholo	(get_linkinfo_proc): Return a value rather than falling off the
44205e617892Stholo	end of the function.
44215e617892Stholo
44225e617892Stholo1998-03-02  Tim Pierce  <twp@skepsis.com>
44235e617892Stholo
44245e617892Stholo	* update.c (special_file_mismatch): Compare the hard links of the
44255e617892Stholo	two revisions.
44265e617892Stholo
44275e617892Stholo	* rcs.c (RCS_checkout):
44285e617892Stholo
44295e617892Stholo	* hardlink.c, hardlink.h: New files.
44305e617892Stholo	(hardlink_info): New struct.
44315e617892Stholo	(hardlist, working_dir): New variables.
44325e617892Stholo	(list_files_proc, cache_hardlinks_proc, set_hardlink_field_proc,
44335e617892Stholo	lookup_file_by_inode, update_hardlink_info, list_files_linked_to):
44345e617892Stholo	New functions.
44355e617892Stholo
44365e617892Stholo	* Makefile.in (SOURCES): Add hardlink.c.
44375e617892Stholo	(OBJECTS): Add hardlink.o.
44385e617892Stholo	(HEADERS): Add hardlink.h.
44395e617892Stholo	* commit.c: Include hardlink.h.
44405e617892Stholo	(commit): Save the working directory before recursing.  Walk the
44415e617892Stholo	hardlink list, calling set_hardlink_field_proc on each node.
44425e617892Stholo	(check_fileproc): Add each file's link information to hardlist.
44435e617892Stholo	* rcs.c: Include hardlink.h.
44445e617892Stholo	(RCS_checkin): Save list of hardlinks in delta node.
44455e617892Stholo	(RCS_checkout): Look up the file's `hardlinks' delta field, and
44465e617892Stholo	see if any of the files linked to it have been checked out
44475e617892Stholo	already.  Link to one of those files if so.
44485e617892Stholo	* update.c: Include hardlink.h.
44495e617892Stholo	(get_linkinfo_proc): New function.
44505e617892Stholo	(do_update): Extra recursion to collect hardlink info.
44515e617892Stholo	(special_file_mismatch): Reparse the RCS file if necessary.
44525e617892Stholo
44535e617892Stholo	fsortcmp is now used by several files, so let's make it extern.
44545e617892Stholo	* hash.c, hash.h (fsortcmp): New function.
44555e617892Stholo	* find_names.c (fsortcmp): Removed.
44565e617892Stholo	* lock.c (fsortcmp): Removed.
44575e617892Stholo
44585e617892Stholo1998-03-03  Jim Kingdon  <kingdon@harvey.cyclic.com>
44595e617892Stholo
44605e617892Stholo	* sanity.sh (conflicts3): New tests conflicts3-14a,
44615e617892Stholo	conflicts3-14b, and conflicts3-21, conflicts3-22 test that we can
44625e617892Stholo	skip over a working directory with a CVSADM directory missing.
44635e617892Stholo
44645e617892Stholo1998-02-26  Jim Kingdon  <kingdon@harvey.cyclic.com>
44655e617892Stholo
44665e617892Stholo	* sanity.sh (conflicts3): Tests conflicts3-16 and conflicts3-20
44675e617892Stholo	test that we include update_dir in messages.  Rename test
44685e617892Stholo	conflicts3-14 to fix typo.
44695e617892Stholo
44705e617892StholoSun Feb 22 23:14:25 1998  Steve Cameron  <steve.cameron@compaq.com>
44715e617892Stholo	and Ian Lance Taylor  <ian@cygnus.com>
44725e617892Stholo
44735e617892Stholo	* update.c (tag_update_dir): New static variable.
44745e617892Stholo	(update_dirent_proc): If no tag or date were specified when
44755e617892Stholo	creating a subdirectory, use the tag and/or date of the parent
44765e617892Stholo	directory.
44775e617892Stholo	(update_dirleave_proc): If we set the tag and/or date in
44785e617892Stholo	update_dirent_proc, reset them when we leave the directory.
44795e617892Stholo	* sanity.sh (branches2): New set of tests for above patch, and
44805e617892Stholo	related behaviour.
44815e617892Stholo
44825e617892StholoSun Feb 22 13:31:51 1998  Ian Lance Taylor  <ian@cygnus.com>
44835e617892Stholo
44845e617892Stholo	* commit.c (lock_RCS): Don't call RCS_rewrite.
44855e617892Stholo
44865e617892Stholo	* update.c (patch_file): If the revision is dead, let
44875e617892Stholo	checkout_file handle it.
44885e617892Stholo	* sanity.sh (death2): Add test for above patch: add
44895e617892Stholo	death2-10a, death2-10b, death2-13a, and adjust
44905e617892Stholo	death2-{2,4,5,11,14,diff-11,diff-12,19}.
44915e617892Stholo
44925e617892Stholo	* cvs.h (RCS_FLAGS_KEEPFILE): Define.
44935e617892Stholo	* rcs.c (RCS_checkin): If RCS_FLAGS_KEEPFILE is set in the flags
44945e617892Stholo	parameter, don't unlink the working file.
44955e617892Stholo	* checkin.c (Checkin): Don't copy the file.  Instead pass
44965e617892Stholo 	RCS_FLAGS_KEEPFILE to RCS_checkin, and only check the file out
44975e617892Stholo	again if it has changed.
44985e617892Stholo
44995e617892Stholo1998-02-21  Jim Kingdon  <kingdon@harvey.cyclic.com>
45005e617892Stholo
45015e617892Stholo	* rcs.c (rcs_internal_unlockfile, RCS_rewrite): Don't assume errno
45025e617892Stholo	means anything just because ferror is set.
45035e617892Stholo
45045e617892StholoSat Feb 21 20:02:24 1998  Ian Lance Taylor  <ian@cygnus.com>
45055e617892Stholo
45065e617892Stholo	* Makefile.in (clean): Change "/bin/rm" to "rm".
45075e617892Stholo
45085e617892Stholo	* buffer.c (buf_append_buffer): Correct typo in comment.
45095e617892Stholo	* rcs.c (RCS_putadmin): Likewise.
45105e617892Stholo
45115e617892StholoFri Feb 20 17:53:06 1998  Ian Lance Taylor  <ian@cygnus.com>
45125e617892Stholo
45135e617892Stholo	* rcs.c (rcs_internal_unlockfile): Pass errno when calling error
45145e617892Stholo 	because ferror is true.
45155e617892Stholo
45165e617892Stholo1998-02-20  Jim Kingdon  <kingdon@harvey.cyclic.com>
45175e617892Stholo
45185e617892Stholo	* sanity.sh (abspath): Don't assume that we can't write to /; this
45195e617892Stholo	is the kind of thing that is sure to break sooner or later
45205e617892Stholo	(especially on Windows).
45215e617892Stholo
45225e617892Stholo	* sanity.sh: Add summary of which modules tests are which (at
45235e617892Stholo	"modules").  Move cvsadm, abspath, and toplevel next to modules.
45245e617892Stholo	Add comments to clarify the structure (such as it is).
45255e617892Stholo
45265e617892StholoFri Feb 20 12:47:14 1998  Larry Jones  <larry.jones@sdrc.com>
45275e617892Stholo
45285e617892Stholo	* admin.c (admin_fileproc): Better fix for -b.
45295e617892Stholo
45305e617892Stholo	* rcs.c (RCS_whatbranch): Back out previous change.
45315e617892Stholo	(RCS_getversion): Ditto.
45325e617892Stholo	(RCS_setbranch): Treat an empty revision string like a null pointer.
45335e617892Stholo
45345e617892Stholo1998-02-18  Jim Kingdon  <kingdon@harvey.cyclic.com>
45355e617892Stholo
45365e617892Stholo	* rcs.c (RCS_whatbranch): Fix indentation.
45375e617892Stholo
45385e617892Stholo	* patch.c (patch_fileproc): Check for errors from fclose; check
45395e617892Stholo	for errors from fopen properly.
45405e617892Stholo
45415e617892StholoWed Feb 18 16:03:37 1998  Larry Jones  <larry.jones@sdrc.com>
45425e617892Stholo
45435e617892Stholo	* admin.c (admin_fileproc): Convert -b argument from symbolic name
45445e617892Stholo	to revision number before storing in the RCS file.
45455e617892Stholo	* rcs.c (RCS_whatbranch): Allow numeric as well as symbolic revision.
45465e617892Stholo	(RCS_getversion): Take advantage of above.
45475e617892Stholo	* sanity.sh (admin): Add/revise/renumber admin-10c, admin-11a,
45485e617892Stholo	admin-12, and admin-12a to check above.
45495e617892Stholo
45505e617892Stholo	* commmit.c (lock_RCS): Minor clean-up.
45515e617892Stholo
45525e617892Stholo	* sanity.sh (abspath-6a): Don't depend on the sepcific contents of
45535e617892Stholo	CVSROOT, it depends on which other tests have been run.
45545e617892Stholo
45555e617892StholoWed Feb 18 01:56:04 1998  Ian Lance Taylor  <ian@cygnus.com>
45565e617892Stholo
45575e617892Stholo	* rcs.c (putsymbol_proc): Use putc and fputs rather than fprintf.
45585e617892Stholo	(RCS_putadmin): Don't call RCS_symbols if the symbols have not yet
45595e617892Stholo	been converted to a list.
45605e617892Stholo
45615e617892Stholo	* rcs.c (rcsbuf_cache, rcsbuf_cache_open, rcsbuf_cache_close): New
45625e617892Stholo	static functions to avoid closing and reopening the RCS file.
45635e617892Stholo	(cached_rcs, cached_rcsbuf): New static variables.
45645e617892Stholo 	(RCS_parse): Call rcsbuf_cache_close.  Don't call fclose.
45655e617892Stholo	(RCS_parsercsfile): Likewise.
45665e617892Stholo	(RCS_parsercsfile_i): Call rcsbuf_cache rather than
45675e617892Stholo	rcsbuf_close.  Call fclose on error.  Remove comment about
45685e617892Stholo	inefficiency of opening file twice.
45695e617892Stholo	(RCS_reparsercsfile): Call rcsbuf_cache_open rather than fopen and
45705e617892Stholo	rcsbuf_open.  Call rcsbuf_cache rather than rcsbuf_close and
45715e617892Stholo	fclose.
45725e617892Stholo	(RCS_fully_parse, RCS_checkout, RCS_deltas): Likewise.
45735e617892Stholo	(RCS_rewrite): Likewise.
45745e617892Stholo	(RCS_checkin): Call rcsbuf_cache_close.
45755e617892Stholo
45765e617892Stholo	* rcs.c (RCS_copydeltas): Fix code which checks for an extra
45775e617892Stholo	newline in buffered data.
45785e617892Stholo
45795e617892Stholo	* rcs.c (rcsbuf_getkey): Save an indirection by using start rather
45805e617892Stholo	than *valp when trimming trailing whitespace from value.
45815e617892Stholo
45825e617892Stholo	* rcs.c (rcsbuf_get_buffered): New static function.
45835e617892Stholo	(RCS_copydeltas): After we have done all the required special
45845e617892Stholo 	actions, and inserted any new revision, just copy the file bytes
45855e617892Stholo 	directly, rather than interpreting all the data.
45865e617892Stholo	(count_delta_actions): New static function.
45875e617892Stholo	* sanity.sh (rcs): Add rcs-6a and rcs-6b to commit a new branch
45885e617892Stholo	revision, to force CVS to interpret all the data, rather than just
45895e617892Stholo	copying it.  Adjust rcs-5 to add a branch tag.  Adjust rcs-8a and
45905e617892Stholo	rcs-14 for the changes created by rcs-6b.
45915e617892Stholo
45925e617892StholoTue Feb 17 18:34:01 1998  Ian Lance Taylor  <ian@cygnus.com>
45935e617892Stholo
45945e617892Stholo	* sanity.sh (cvsadm, diffmerge2): Remove directories at the end of
45955e617892Stholo	the test.
45965e617892Stholo
45975e617892Stholo	* import.c (expand_at_signs): Rewrite to use memchr and fwrite
45985e617892Stholo	rather than putc.
45995e617892Stholo
46005e617892Stholo	Rewrite RCS file reading routines for speed:
46015e617892Stholo	* rcs.c (struct rcsbuffer): Define.
46025e617892Stholo	(rcsbuf_open, rcsbuf_close, rcsbuf_getkey, rcsbuf_getrevnum,
46035e617892Stholo	rcsbuf_fill, rcsbuf_valcopy, rcsbuf_valpolish,
46045e617892Stholo	rcsbuf_valpolish_internal, rcsbuf_ftell): New static functions.
46055e617892Stholo	(getrcskey, getrcsrev, getrevnum): Remove.
46065e617892Stholo	(many functions): Change to use new rcsbuf functions instead of
46075e617892Stholo	old getrcskey/getrcsrev/getrevnum functions.
46085e617892Stholo	(RCS_reparsercsfile): Add rcsbufp parameter.  Change all callers.
46095e617892Stholo	(RCS_deltas): Add rcsbuf parameter.  Change all callers.
46105e617892Stholo	(getdelta): Change fp parameter to rcsbuf parameter.  Change all
46115e617892Stholo	callers.
46125e617892Stholo	(RCS_getdeltatext): Add rcsbuf parameter.  Change all callers.
46135e617892Stholo	(RCS_copydeltas): Add rcsbufin parameter.  Change all callers.
46145e617892Stholo	* rcs.h (RCS_reparsercsfile): Update declaration.
46155e617892Stholo	* admin.c (admin_fileproc): Update calls to RCS_reparsercsfile for
46165e617892Stholo	new parameters.
46175e617892Stholo
46185e617892Stholo1998-02-17  Jim Kingdon  <kingdon@harvey.cyclic.com>
46195e617892Stholo
46205e617892Stholo	* sanity.sh (toplevel): Also clean up second-dir (not a new
46215e617892Stholo	bug, but triggered by running tests as "toplevel abspath").
46225e617892Stholo
46235e617892Stholo	* create_adm.c (Create_Admin): Just print update_dir to tell the
46245e617892Stholo	user where we are; not the whole xgetwd.  Cleaner than
46255e617892Stholo	Noel's change (which also had problems in errno handling).
46265e617892Stholo	* sanity.sh (toplevel-12): Update accordingly.
46275e617892Stholo
46285e617892StholoTue Feb 17 02:32:21 1998  Noel Cragg  <noel@swish.red-bean.com>
46295e617892Stholo
46305e617892Stholo	[These mods make "checkout" work with "-d /absolute/pathname"
46315e617892Stholo	once again.]
46325e617892Stholo
46335e617892Stholo	* checkout.c (checkout_proc): the -d flag on the command line
46345e617892Stholo 	should override the -d flag in the modules file if the latter is
46355e617892Stholo 	an absolute path.  The loop that assembles the list of directories
46365e617892Stholo 	to build has been reorganized slightly to prepare for rewriting
46375e617892Stholo 	with last_component rather than assuming '/' as a path separator.
46385e617892Stholo  	Also added to that loop was some code to handle absolute
46395e617892Stholo 	pathnames.
46405e617892Stholo	(build_dirs_and_chdir): add a new argument that tells this routine
46415e617892Stholo 	whether or not to check before it creates and populates
46425e617892Stholo 	directories or not.
46435e617892Stholo
46445e617892Stholo	* filesubr.c (last_component): return the top-level directory when
46455e617892Stholo 	asked about the top-level directory.
46465e617892Stholo
46475e617892Stholo	* sanity.sh (toplevel-12): change test to reflect the new style of
46485e617892Stholo 	this error message.
46495e617892Stholo
46505e617892Stholo	* create_adm.c (Create_Admin): include the directory in the error
46515e617892Stholo 	message.
46525e617892Stholo
46535e617892Stholo1998-02-16  Jim Kingdon  <kingdon@harvey.cyclic.com>
46545e617892Stholo
46555e617892Stholo	* diff.c (diff_fileproc), import.c (import, add_rcs_file), rcs.c
46565e617892Stholo	(RCS_cmp_file): Don't ignore errors from CVS_UNLINK and fclose.
46575e617892Stholo
46585e617892Stholo	* patch.c (patch_fileproc): Check for errors from fclose; if we
46595e617892Stholo	get -1 from getline check for end of file vs. error.
46605e617892Stholo
46615e617892Stholo	* rcs.c (RCS_checkout): Comment return value (0/1, not -1).
46625e617892Stholo	* commit.c, diff.c, mkmodules.c, patch.c, rcs.c, update.c: Update
46635e617892Stholo	to match this convention.  Don't suppress errors based on
46645e617892Stholo	quiet or really_quiet variables.
46655e617892Stholo
46665e617892Stholo	Fix a longstanding bug which also makes stamps-8kw in make
46675e617892Stholo	remotecheck work again (it stopped working with Ian's 8 Feb 98
46685e617892Stholo	checkin):
46695e617892Stholo	* client.c, client.h (change_mode): If new argument respect_umask
46705e617892Stholo	is set, then honor the umask.
46715e617892Stholo	* client.c, server.c: Update callers.
46725e617892Stholo
46735e617892Stholo	Cleanups to Tim's checkin:
46745e617892Stholo	* rcs.c (RCS_checkout): Use existence_error not ENOENT.
46755e617892Stholo	* commit.c (checkaddfile): Remove comment about whether we want to
46765e617892Stholo	check for errors from fclose; there is no reason not to.
46775e617892Stholo	* rcs.c (RCS_checkout), update.c (special_file_mismatch): sscanf
46785e617892Stholo	on %ld requires an unsigned long, not a dev_t.
46795e617892Stholo	* update.c (special_file_mismatch): Remove unused variable
46805e617892Stholo	check_devnums.
46815e617892Stholo	* mkmodules.c (config_contents): Between two settings, use a blank
46825e617892Stholo	line not a "#" line.
46835e617892Stholo
46845e617892Stholo1998-02-15  Tim Pierce  <twp@skepsis.com>
46855e617892Stholo
46865e617892Stholo	[This is the code as submitted.  I'll be checking in my cleanups
46875e617892Stholo	shortly.  This work sponsored by Abbott Labs.  -kingdon]
46885e617892Stholo
46895e617892Stholo	Support for device special files, symbolic links, user and group
46905e617892Stholo	ownerships, and file permissions.
46915e617892Stholo
46925e617892Stholo	* parseinfo.c: (parse_config): Handle new config variable
46935e617892Stholo	`PreservePermissions'.
46945e617892Stholo	* mkmodules.c (config_contents): Add new PreservePermissions var.
46955e617892Stholo
46965e617892Stholo	* rcs.c, rcs.h (preserve_perms): New variable.
46975e617892Stholo	(RCS_checkout, RCS_checkin): Support for newphrases `owner',
46985e617892Stholo	`group', `permissions', `special', `symlink'.
46995e617892Stholo	(RCS_checkout): If `workfile' and `sout' are symlinks, remove them
47005e617892Stholo	before attempting to open them for writing.
47015e617892Stholo	* import.c (add_rcs_file): Support for newphrases.  Do not attempt
47025e617892Stholo	to read data from special files or symlinks.  Error message
47035e617892Stholo	`cannot fstat' is now `cannot lstat'.
47045e617892Stholo
47055e617892Stholo	New metrics for deciding when two files are different:
47065e617892Stholo
47075e617892Stholo	* update.c, cvs.h (special_file_mismatch): New function.
47085e617892Stholo	(merge_file, join_file): Call it.
47095e617892Stholo	* no_diff.c (No_Difference): Call it.
47105e617892Stholo
47115e617892Stholo	* filesubr.c (xcmp): Consider files to be different if they are of
47125e617892Stholo	different types; if they are symlinks which link to different
47135e617892Stholo	pathnames; or if they are devices with different device numbers.
47145e617892Stholo	Error message is now `cannot lstat'.
47155e617892Stholo	* rcs.c (RCS_cmp_file): Use `xcmp' to compare files, simplifying
47165e617892Stholo	the special handling for nonregular files.
47175e617892Stholo
47185e617892Stholo	* rcscmds.c (diff_exec, diff_execv): If asked to obtain diffs for
47195e617892Stholo	special files, report no differences.
47205e617892Stholo
47215e617892Stholo	Miscellaneous changes to make special file support possible:
47225e617892Stholo
47235e617892Stholo	* commit.c (fix_rcs_modes): Don't attempt to `fix' permissions on
47245e617892Stholo	a symlink.
47255e617892Stholo
47265e617892Stholo	* import.c (add_rcs_file): Don't try to close fpuser if it was
47275e617892Stholo	never opened (e.g. when operating on a symlink).
47285e617892Stholo
47295e617892Stholo	* filesubr.c, cvs.h (isdevice, xreadlink): New functions.
47305e617892Stholo	* filesubr.c (copy_file): Handle special files and symlinks.
47315e617892Stholo	(xchmod): Do nothing if `preserve_perms' is set.
47325e617892Stholo
47335e617892Stholo	* commit.c (checkaddfile): Replace `copy_file (DEVNULL, ...)' with
47345e617892Stholo	fopen/fclose calls.  Copy_file no longer attempts to read data
47355e617892Stholo	from device files.
47365e617892Stholo
47375e617892Stholo	* filesubr.c (islink): Use CVS_LSTAT, not lstat.
47385e617892Stholo	* vers_ts.c (time_stamp, time_stamp_server): Use CVS_LSTAT, not stat,
47395e617892Stholo	to get symlinks right.
47405e617892Stholo	* subr.c (get_file): Same.  Don't attempt to read from special
47415e617892Stholo	files or symlinks.
47425e617892Stholo
47435e617892Stholo	* classify.c (Classify_File): Doc fix.
47445e617892Stholo
47455e617892StholoFri Feb 13 17:07:32 1998  Eric Mumpower  <nocturne@cygnus.com>
47465e617892Stholo	and Ian Lance Taylor  <ian@cygnus.com>
47475e617892Stholo
47485e617892Stholo	Fix some file system ordering problems found on Irix 6.4:
47495e617892Stholo	* sanity.sh (basic2): Use dotest_sort for test 56.
47505e617892Stholo	(importb): Use dotest_sort for tests importb-1 and importb-2.
47515e617892Stholo	(head): Use dotest_sort for test head-1.
47525e617892Stholo
47535e617892StholoThu Feb 12 15:15:33 1998  Jim Kingdon  <kingdon@harvey.cyclic.com>
47545e617892Stholo
47555e617892Stholo	* import.c (add_rcs_file): If add_logfp is NULL, don't call fperror.
47565e617892Stholo
47575e617892Stholo11 Feb 1998  Andy Piper
47585e617892Stholo
47595e617892Stholo	* server.c (cvs_output_binary): Use OPEN_BINARY not _O_BINARY.
47605e617892Stholo
47615e617892StholoMon Feb  9 18:34:39 1998  Jim Kingdon  <kingdon@harvey.cyclic.com>
47625e617892Stholo
47635e617892Stholo	Tweaks to Ian's checkin:
47645e617892Stholo	* update.c (merge_file): Remove comment about sending file to
47655e617892Stholo	client before the message.  It doesn't apply to this code any more
47665e617892Stholo	(it does apply to checkout_file, but I'm not sure it is important
47675e617892Stholo	to have such a comment anyway).
47685e617892Stholo	* buffer.c (buf_default_memory_error, buf_length): Reindent.
47695e617892Stholo	* server.h: Declare struct buffer before use.
47705e617892Stholo
47715e617892StholoMon Feb  9 21:05:28 1998  Ian Lance Taylor  <ian@cygnus.com>
47725e617892Stholo
47735e617892Stholo	* rcs.c (RCS_fully_parse): Call getrevnum rather than getrcsrev.
47745e617892Stholo	Don't bother with ungetc.
47755e617892Stholo
47765e617892Stholo	* rcs.c (getrcsrev): Rewrite to simply call getrevnum.
47775e617892Stholo
47785e617892StholoSun Feb  8 15:49:39 1998  Ian Lance Taylor  <ian@cygnus.com>
47795e617892Stholo
47805e617892Stholo	Don't have the server check out a revision into a file and then
47815e617892Stholo	immediately read the file; just read into a buffer instead.
47825e617892Stholo	* update.c: Include buffer.h.
47835e617892Stholo	(update_fileproc): Let checkout_file call server_updated.
47845e617892Stholo	(checkout_file): Add merging and update_server parameters.  Change
47855e617892Stholo	all callers.  If server_active, don't mess with backup files.  If
47865e617892Stholo	server_active, copy the revision into a buffer rather than a file
47875e617892Stholo	when possible.  If update_server, call server_updated.  Fix
47885e617892Stholo	handling of error status.
47895e617892Stholo	(checkout_to_buffer): New static function used by checkout_file.
47905e617892Stholo	(merge_file): Let checkout_file call server_updated.
47915e617892Stholo	(join_file): Likewise.
47925e617892Stholo	* server.c (server_updated): Change file_info parameter to mode
47935e617892Stholo	parameter.  Add filebuf parameter.  Change all callers.  If
47945e617892Stholo	filebuf is not NULL, don't read the file.
47955e617892Stholo	* server.h (server_updated): Update declaration.
47965e617892Stholo	* buffer.c (buf_free): New function.
47975e617892Stholo	(buf_append_buffer): New function.
47985e617892Stholo	(buf_length): New function.
47995e617892Stholo	* buffer.h (buf_free, buf_append_buffer, buf_length): Declare.
48005e617892Stholo
48015e617892Stholo	* buffer.c: (buf_initialize): If the memory parameter is NULL, use
48025e617892Stholo	buf_default_memory_error.
48035e617892Stholo	(buf_default_memory_error): New static function.
48045e617892Stholo	* buffer.h (BUFMEMERRPROC): Define typedef.
48055e617892Stholo	* client.c (buf_memory_error): Remove.
48065e617892Stholo	(start_server): Pass NULL rather than buf_memory_error as buffer
48075e617892Stholo	memory error function.
48085e617892Stholo
48095e617892StholoSat Feb  7 16:27:30 1998  Ian Lance Taylor  <ian@cygnus.com>
48105e617892Stholo
48115e617892Stholo	* rcs.c (RCS_parsercsfile_i): Read the expand keyword from the RCS
48125e617892Stholo	file.  We do this because Version_TS calls RCS_getexpand in many
48135e617892Stholo	common cases, and we don't want to reopen the file just for that.
48145e617892Stholo	(RCS_reparsercsfile): Skip the expand keyword.
48155e617892Stholo	(RCS_getexpand): Don't call RCS_reparsercsfile.
48165e617892Stholo
48175e617892Stholo	* rcs.c (STREQ): New macro.  In all string equality tests in the
48185e617892Stholo	file, replace strcmp with STREQ.
48195e617892Stholo
48205e617892StholoFri Feb  6 16:14:49 1998  Ian Lance Taylor  <ian@cygnus.com>
48215e617892Stholo
48225e617892Stholo	* update.c (checkout_file): If we've already removed the backup
48235e617892Stholo	file once, don't try to remove it again.
48245e617892Stholo
48255e617892Stholo	* filesubr.c (unlink_file_dir): Call stat rather than isdir, and
48265e617892Stholo	don't call unlink if the file does not exist.
48275e617892Stholo
48285e617892Stholo	* myndbm.c (mydbm_load_file): Rename line_len to line_size.  Call
48295e617892Stholo	getstr rather than getline, to avoid any confusion between \n and
48305e617892Stholo	\012.  Use the line length returned by getstr rather than calling
48315e617892Stholo	strlen.  Remove local variable len.
48325e617892Stholo
48335e617892StholoFri Feb  6 13:23:46 1998  Jim Kingdon  <kingdon@harvey.cyclic.com>
48345e617892Stholo
48355e617892Stholo	* rcs.c (RCS_parsercsfile_i): Don't suppress errors on
48365e617892Stholo	really_quiet.
48375e617892Stholo	(RCS_parsercsfile_i, RCS_reparsercsfile, RCS_fully_parse,
48385e617892Stholo	RCS_deltas, getdelta, getrcskey, RCS_getdeltatext):
48395e617892Stholo	Check for errors.  Include errno in error messages.  Include
48405e617892Stholo	filename in error messages.  Pass new argument to getrcskey.
48415e617892Stholo	(getrcskey): New argument NAME, so we can report errors ourself.
48425e617892Stholo
48435e617892StholoFri Feb  6 12:10:18 1998  Ian Lance Taylor  <ian@cygnus.com>
48445e617892Stholo
48455e617892Stholo	* rcs.c (RCS_reparsercsfile): Don't use ftell/fseek; just keep
48465e617892Stholo	track of whether we've already read a key/value pair.  Use sizeof
48475e617892Stholo	rather than strlen for a constant string.  Pass the current key
48485e617892Stholo	and value to getdelta, and get them back as well.
48495e617892Stholo	(getdelta): Add keyp and valp parameters.  Don't use ftell/fseek;
48505e617892Stholo	just return the key/value pair to the caller.  Don't allocate
48515e617892Stholo	vnode before we know we need it.  Check one getrcskey return
48525e617892Stholo	value.  Use sizeof rather than strlen for a constant string.
48535e617892Stholo
48545e617892Stholo	* rcs.c (getrcskey): Correct comment describing return value.
48555e617892Stholo
48565e617892StholoThu Feb  5 22:51:13 1998  Ian Lance Taylor  <ian@cygnus.com>
48575e617892Stholo
48585e617892Stholo	* subr.c (getcaller): Cache the result, so that we don't keep
48595e617892Stholo	searching the password file.
48605e617892Stholo
48615e617892StholoWed Feb  4 23:31:08 1998  Jim Kingdon  <kingdon@harvey.cyclic.com>
48625e617892Stholo
48635e617892Stholo	* rcs.c (max_rev): Don't prototype.  Interesting that noone
48645e617892Stholo	complained about this until now.
48655e617892Stholo
48665e617892Stholo4 Feb 1998  Jim Kingdon
48675e617892Stholo
48685e617892Stholo	* rcs.c (RCS_checkin): When adding a new file, read it
48695e617892Stholo	with "rb" if binary.
48705e617892Stholo
48715e617892StholoFri Jan 30 11:32:41 1998  Jim Kingdon  <kingdon@harvey.cyclic.com>
48725e617892Stholo
48735e617892Stholo	* sanity.sh: Also test "first-dir" as the regexp in loginfo in
48745e617892Stholo	addition to ALL.
48755e617892Stholo
48765e617892Stholo	* main.c (main): Update year in copyright notice to 1998.
48775e617892Stholo
48782286d8edStholoThu Jan 29 00:01:05 1998  Jim Kingdon  <kingdon@harvey.cyclic.com>
48792770ece5Stholo
48805e617892Stholo	* version.c: Change version number to 1.9.25.
48815e617892Stholo
48822286d8edStholo	* Version 1.9.24.
48832770ece5Stholo
48842286d8edStholo	* sanity.sh (multibranch2): File file2 and tests multibranch2-13
48852286d8edStholo	through multibranch2-15 test a slightly different case than the
48862286d8edStholo	rest of multibranch2.
48872770ece5Stholo
48882286d8edStholo	* mkmodules.c (cvswrappers_contents): Rewrite.  The text didn't
48892286d8edStholo	describe -k and had various other problems.
48902770ece5Stholo
48912286d8edStholo28 Jan 1998  Karl Fogel and Jim Kingdon
48922770ece5Stholo
48932286d8edStholo	New feature to let server tell client about wrappers.
48942286d8edStholo	* client.h (struct response): Add comment about args being
48952286d8edStholo	'\0' terminated when passed to handle_* functions.
48962286d8edStholo	* client.c (start_server): send "wrapper-sendme-rcsOptions" to
48972286d8edStholo	server iff supported.
48982286d8edStholo	(responses): new response "Wrapper-rcsOption"; allows the server
48992286d8edStholo	to send certain lines from its cvswrappers file.
49002286d8edStholo	(handle_wrapper_rcs_option): new func, handles "Wrapper-rcsOption"
49012286d8edStholo	response from server.
49022286d8edStholo	* server.c (serve_wrapper_sendme_rcs_options): new func, sends
49032286d8edStholo	server side CVSROOT/cvswrappers rcs option lines to client.
49042286d8edStholo	(requests): new request "wrapper-sendme-rcsOptions"; if received,
49052286d8edStholo	we know we can send "Wrapper-rcsOption..." to the client.
49062286d8edStholo	* wrapper.c (wrap_unparse_rcs_options): new func; repeated calls
49072286d8edStholo	step down the wrapper list returning rcs option entries, but
49082286d8edStholo	repackaged as cvswrappers lines.
49092286d8edStholo	(wrap_setup): new guard variable `wrap_setup_already_done'; if
49102286d8edStholo	this function has run already, just return having done nothing.
49112286d8edStholo	Add comment concerning environment variable.
49122286d8edStholo	* cvs.h: declare wrap_unparse_rcs_options().
49132770ece5Stholo
49142286d8edStholoTue Jan 27 18:27:19 1998  Ian Lance Taylor  <ian@cygnus.com>
49152770ece5Stholo
49162286d8edStholo	* rtag.c (rtag_dirproc): Call ignore_directory, and skip the
49172286d8edStholo	directory if it returns true.
49182286d8edStholo	* sanity.sh (modules4): New set of tests to test some aspects of
49192286d8edStholo	excluding directories in the modules file, including the above
4920780d15dfStholo	patch.
4921780d15dfStholo
49222286d8edStholoThu Jan 22 10:05:55 1998  Jim Kingdon  <kingdon@harvey.cyclic.com>
4923780d15dfStholo
49242286d8edStholo	* server.c (serve_kopt): Check for length of arg.  Based on
49252286d8edStholo	inspection of the code, plugs a buffer overrun security hole which
49262286d8edStholo	was introduced Monday.
4927780d15dfStholo
49282286d8edStholo	* server.c (serve_is_modified): Don't call xmalloc; we aren't
49292286d8edStholo	allowed to call error() here.  Remove duplicate (and potentially
49302286d8edStholo	confusing) variable 'p'.
4931780d15dfStholo
49322286d8edStholo	* log.c (log_fileproc): Look for first character of version
49332286d8edStholo	'0' AND second character '\0', rather than OR.  I didn't try to
49342286d8edStholo	come up with a test case but this looks like a simple thinko
49352286d8edStholo	(albeit one which would show up in obscure cases if at all).
4936780d15dfStholo
49372286d8edStholoTue Jan 20 19:37:53 1998  Jim Kingdon  <kingdon@harvey.cyclic.com>
4938780d15dfStholo
49392286d8edStholo	* client.c (send_dirent_proc): Don't send nonexistent directories
49402286d8edStholo	unless noexec.
49412286d8edStholo	* sanity.sh (modules2): New tests modules2-13 through modules2-18
49422286d8edStholo	test for this fix.
4943780d15dfStholo
49442286d8edStholoMon Jan 19 11:17:51 1998  Jim Kingdon  <kingdon@harvey.cyclic.com>
4945780d15dfStholo
49462286d8edStholo	* server.c (serve_kopt): New function.
49472286d8edStholo	(requests): Add "Kopt" request.
49482286d8edStholo	(kopt): New variable.
49492286d8edStholo	(serve_is_modified): Write kopts from there into entries.
49502286d8edStholo	(serve_modified): Call serve_is_modified so we do the same.
49512286d8edStholo	Declare serve_modified and serve_is_modified.
49522286d8edStholo	* vers_ts.c (Version_TS): Set ->options even for a dummy ("D"
49532286d8edStholo	timestamp) entry.
49542286d8edStholo	* import.c (process_import_file): Check for -k options.
49552286d8edStholo	* client.c (client_process_import_file): Send Kopt request.
49562286d8edStholo	(send_fileproc): Likewise, for "cvs add".
49572286d8edStholo	* sanity.sh: Enable test binwrap3-sub2-add1 for remote.
49582286d8edStholo	Add -I .cvswrappers to binwrap3-2a; adjust binwrap3-2d
49592286d8edStholo	accordingly.  Tests for this fix.
4960780d15dfStholo
49612286d8edStholoMon Jan 19 08:48:59 1998  Larry Jones  <larry.jones@sdrc.com>
4962780d15dfStholo
49632286d8edStholo	* sanity.sh (errmsg1): Append test 168 output to log file.
4964780d15dfStholo
49652286d8edStholoSat Jan 17 08:01:51 1998  Jim Kingdon  <kingdon@harvey.cyclic.com>
4966780d15dfStholo
49672286d8edStholo	* sanity.sh (ann-10, ann-11): Don't make assumptions about the
49682286d8edStholo	number of characters in the username.
4969780d15dfStholo
49702286d8edStholoFri Jan 16 15:34:02 1998  Larry Jones  <larry.jones@sdrc.com>
4971780d15dfStholo
49722286d8edStholo	* diff.c (diff_fileproc): Free label1 and label2 when finished.
4973780d15dfStholo
49742286d8edStholo	* edit.c (editor_set): Don't free edlist until after we're
49752286d8edStholo	done using it.
4976780d15dfStholo
49772286d8edStholo	* rcscmds.c (RCS_merge): Free xrev1 and xrev2 when finished.
4978780d15dfStholo
49792286d8edStholo	* subr.c (make_message_rcslegal): Don't access uninitialized or
49802286d8edStholo	unallocated memory; only strip trailing blank lines.
49812286d8edStholo	* sanity.sh (log-3): Enhance to test this fix.
4982780d15dfStholo
49832286d8edStholoFri Jan 16 12:41:03 1998  Jim Kingdon  <kingdon@harvey.cyclic.com>
4984780d15dfStholo
49852286d8edStholo	* sanity.sh: Add keywordlog to list of tests run by default.
4986780d15dfStholo
49872286d8edStholo	* rcs.c (RCS_deltas): Don't call cvs_output if length is zero;
49882286d8edStholo	passing zero length to cvs_output does not mean output zero
49892286d8edStholo	bytes.  The 27 Dec 1997 change to no longer '\0'-terminate the
49902286d8edStholo	->text field turned this from a time bomb to a user-visible bug.
49912286d8edStholo	* sanity.sh (ann): New tests, test for this fix and other annotate
49922286d8edStholo	behaviors.
4993780d15dfStholo
49942286d8edStholoThu Jan 15 23:52:00 1998  Jim Kingdon  <kingdon@harvey.cyclic.com>
4995780d15dfStholo
49962286d8edStholo	* root.c (root_allow_ok): If inetd.conf didn't specify an
49972286d8edStholo	--allow-root options at all, we know we are in trouble.  Give a
49982286d8edStholo	specific error message.
4999780d15dfStholo
50002286d8edStholoThu Jan 15 21:24:59 1998  Ian Lance Taylor  <ian@cygnus.com>
5001780d15dfStholo
50022286d8edStholo	* sanity.sh (dotest_sort): New variant of dotest which sorts the
50032286d8edStholo	output, for use when the output depends upon details of the file
50042286d8edStholo	system, typically when doing an import.
50052286d8edStholo	(rdiff): Use dotest_sort for rdiff-1.
50062286d8edStholo	(ignore): Use dotest_sort for 188a, 188b, 189d, 190, and 191.
5007780d15dfStholo
50082286d8edStholo	* sanity.sh: (TESTSHELL): New variable.
50092286d8edStholo	(editor, info, reserved): Use TESTSHELL in temporary script.
5010780d15dfStholo
50112286d8edStholo	* sanity.sh (ignore): Do all tests in subdirectory, to avoid
50122286d8edStholo	conflict between cvsroot and CVSROOT on Windows.
50132286d8edStholo	(binwrap3, mwrap, info, config): Likewise.
5014780d15dfStholo
50152286d8edStholo	* sanity.sh (binfiles2): Correct test name binfile2-7-brmod to
50162286d8edStholo	binfiles2-7-brmod.
5017780d15dfStholo
50182286d8edStholo	* release.c (release_delete): If __CYGWIN32__ is defined, don't
50192286d8edStholo 	worry about mismatched inodes.  This is a hack, but then I think
50202286d8edStholo 	the test is rather peculiar anyhow.
5021780d15dfStholo
50222286d8edStholoThu Jan 15 16:07:36 1998  Larry Jones  <larry.jones@sdrc.com>
5023780d15dfStholo
50242286d8edStholo	* sanity.sh (reserved-9): Use ${PROG} instead of "cvs".
5025780d15dfStholo
50262286d8edStholoWed Jan 14 15:43:13 1998  Jim Kingdon  <kingdon@harvey.cyclic.com>
5027780d15dfStholo
50282286d8edStholo	* Split ChangeLog into ChangeLog-97 and ChangeLog.
50292286d8edStholo	* Makefile.in (DISTFILES): Add ChangeLog-97.
5030780d15dfStholo
50312286d8edStholo13 Jan 1998  Jim Kingdon
5032780d15dfStholo
50332286d8edStholo	* client.c: Declare handle_mt.
5034780d15dfStholo
50352286d8edStholoTue Jan 13 22:21:30 1998  Jim Kingdon  <kingdon@harvey.cyclic.com>
5036780d15dfStholo
50372286d8edStholo	* sanity.sh: Add comment about how pwd and /bin/pwd often differ
50382286d8edStholo	in behavior (but are not guaranteed to).
5039780d15dfStholo
50402286d8edStholoTue Jan 13 13:49:53 1998  Ian Lance Taylor  <ian@cygnus.com>
5041780d15dfStholo
50422286d8edStholo	* sanity.sh: When setting TMPPWD use just pwd, not /bin/pwd.
5043780d15dfStholo
50442286d8edStholo	* update.c (checkout_file): Don't pass set_time as true to
50452286d8edStholo	Version_TS if the file is dead.
50462286d8edStholo	* sanity.sh (modules): Add tests modules-155c6 through
50472286d8edStholo 	modules-155c8 to test for above patch (without the above patch,
50482286d8edStholo 	modules-155c8 will fail when remote).
5049780d15dfStholo
50502286d8edStholoTue Jan 13 10:37:02 1998  Larry Jones  <larry.jones@sdrc.com>
5051780d15dfStholo
50522286d8edStholo	* client.c (send_modified): Change bufsize and newsize from int
50532286d8edStholo	to size_t to avoid type clashes in call to read_and_gzip.
5054780d15dfStholo
50552286d8edStholoTue Jan 13 10:33:02 1998  Larry Jones  <larry.jones@sdrc.com>
5056780d15dfStholo
50572286d8edStholo	* zlib.c (read_and_gzip): Set finish to 0; it was uninitialized.
5058780d15dfStholo
50592286d8edStholoTue Jan 13 10:26:43 1998  Larry Jones  <larry.jones@sdrc.com>
5060780d15dfStholo
50612286d8edStholo	* add.c, rcs.c: Plug memory leaks.
5062780d15dfStholo
50632286d8edStholoMon Jan 12 10:45:27 1998  Larry Jones  <larry.jones@sdrc.com>
5064780d15dfStholo
50652286d8edStholo	* server.c (mkdir_p): Don't try to create nameless directories
50662286d8edStholo	(i.e., given "/foo//bar", don't try to create "/foo/",
50672286d8edStholo	just "/foo" and "/foo//bar") since it isn't necessary and
50682286d8edStholo	it fails on some systems in unexpected ways.
5069780d15dfStholo
50702286d8edStholo1998-01-11  enami tsugutomo  <enami@but-b.or.jp>
5071780d15dfStholo
50722286d8edStholo	* rcs.c (linevector_copy): Delete lines before overwriting them.
5073780d15dfStholo
50742286d8edStholoSat Jan 10 11:05:40 1998  Jim Kingdon  <kingdon@harvey.cyclic.com>
5075780d15dfStholo
50762286d8edStholo	* cvsrc.c, entries.c, login.c, logmsg.c, myndbm.c, patch.c,
50772286d8edStholo	release.c, server.c: Check for errors from getline, CVS_FOPEN,
50782286d8edStholo	fprintf, CVS_UNLINK and fclose.  Note that the new errors are
50792286d8edStholo	nonfatal.  This is because of conservatism more than because
50802286d8edStholo	it is always the best thing.
50812286d8edStholo	* login.c (get_cvs_password): Close the file when done with it.
50822286d8edStholo	* client.c (notified_a_file): If -1 return from getline, check
50832286d8edStholo	feof rather than assuming errno is set.
5084780d15dfStholo
50852286d8edStholoFri Jan  9 14:38:54 1998  Jim Kingdon  <kingdon@harvey.cyclic.com>
5086780d15dfStholo
50872286d8edStholo	* server.c (expand_proc): Also output server_dir in
50882286d8edStholo	"Module-expansion", not just in output_dir ("Created", &c).
50892286d8edStholo	* sanity.sh (modules2): New tests modules2-9 through modules2-12
50902286d8edStholo	test for this.
509150bf276cStholo
50922286d8edStholoThu Jan  8 12:56:55 1998  Yasutoshi Hiroe  <hiroe@rgk.ricoh.co.jp>
509350bf276cStholo
50942286d8edStholo	* import.c (import): Don't strcat on uninitialized memory.  Fixes
50952286d8edStholo	possible SIGSEGV with zero-length message.
509650bf276cStholo
50972286d8edStholoTue Jan  6 22:56:29 1998  Jim Kingdon  <kingdon@harvey.cyclic.com>
509850bf276cStholo
50992286d8edStholo	* sanity.sh (crerepos): Fix mistaken variable name which caused us
51002286d8edStholo	not to clean up at the end of the test.
510150bf276cStholo
51022286d8edStholoMon Dec 22 01:40:57 1997  Jim Kingdon  <kingdon@harvey.cyclic.com>
510350bf276cStholo
51042286d8edStholo	* add.c (add): Also look for .cvswrappers files.
51052286d8edStholo	* sanity.sh (binwrap3): New tests binwrap3-2*, binwrap3-sub2-add*
51062286d8edStholo	test for this.
510750bf276cStholo
51082286d8edStholoTue Jan  6 11:50:38 1998  Jim Kingdon  <kingdon@harvey.cyclic.com>
510950bf276cStholo
51102286d8edStholo	* sanity.sh (crerepos): New tests crerepos-8 through crerepos-18
51112286d8edStholo	test behaviors when mixing repositories.
511250bf276cStholo
51132286d8edStholoSun Jan  4 17:40:22 1998  Jim Kingdon  <kingdon@harvey.cyclic.com>
511450bf276cStholo
51152286d8edStholo	* version.c: Change version number to 1.9.23.
511650bf276cStholo
51172286d8edStholo	* Version 1.9.22.
511850bf276cStholo
511950bf276cStholo
51202286d8edStholoFor older changes see ChangeLog-97.
5121