xref: /openbsd/gnu/usr.bin/cvs/src/ChangeLog-9395 (revision c2c61682)
1c26070a5StholoNote: this log overlaps in time with ChangeLog-9194.  There was a time
2c26070a5Stholoduring which changes which had been merged into the official CVS
3c26070a5Stholo(which produced releases such as 1.4A1 and 1.4A2) went into what has
4c26070a5Stholobecome ChangeLog-9194, and changes which existed only at Cygnus went
5c26070a5Stholointo this file (ChangeLog-9395).  Eventually the Cygnus release became
6*c2c61682StholoCyclic CVS (as it was then called), which became CVS 1.5, so probably
7c26070a5Stholoall the changes in both (what are now) ChangeLog-9194 and
8c26070a5StholoChangeLog-9395 made it into 1.5.
9c26070a5Stholo
10c26070a5StholoSun Dec 31 17:33:47 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
11c26070a5Stholo
12c26070a5Stholo	* import.c (add_rev): Revert portion of 31 Aug 95 change which
13c26070a5Stholo	passes -u to ci instead of using a hard link.
14c26070a5Stholo	* sanity.sh (import): Add test for above-fixed bug.
15c26070a5Stholo
16c26070a5StholoSun Dec 31 16:40:41 1995  Peter Chubb  <peterc@bookworm.sw.oz.au>
17c26070a5Stholo			  and Jim Kingdon  <kingdon@cyclic.com>
18c26070a5Stholo
19c26070a5Stholo	* admin.c (admin_fileproc): Call freevers_ts before returning.
20c26070a5Stholo
21c26070a5StholoMon Dec 25 12:20:06 1995  Peter Wemm  <peter@haywire.DIALix.COM>
22c26070a5Stholo
23c26070a5Stholo	* logmsg.c (rcsinfo_proc): initialise line and
24c26070a5Stholo	line_chars_allocated so they dont cause malloc problems within
25c26070a5Stholo	getline().  This was causing rcsinfo templates to not work.
26c26070a5Stholo
27c26070a5StholoSun Dec 24 01:38:36 1995  Karl Fogel  <kfogel@floss.cyclic.com>
28c26070a5Stholo
29c26070a5Stholo        * server.c (authenticate_connection): clarify protocol.
30c26070a5Stholo
31c26070a5Stholo        * login.c (login): deprolixify the password prompt.
32c26070a5Stholo
33c26070a5StholoSat Dec 23 10:46:41 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
34c26070a5Stholo
35c26070a5Stholo	* myndbm.h, myndbm.c (dbm_store): New function.
36c26070a5Stholo	* myndbm.h (DBM): Add modified and filename fields.
37c26070a5Stholo	* myndbm.c (dbm_open, dbm_close): Manipulate new fields.  dbm_open
38c26070a5Stholo	no longer fails if the file doesn't exist and O_CREAT is set.
39c26070a5Stholo	* cvs.h (CVSROOTADM_VALTAGS): Added.
40c26070a5Stholo	* tag.c, cvs.h (tag_check_valid): New function.
41c26070a5Stholo	* update.c (update), checkout.c (checkout_proc), commit.c (commit),
42c26070a5Stholo	diff.c (diff), patch.c (patch_proc), rtag.c (rtag_proc), tag.c (tag):
43c26070a5Stholo	Call it.
44c26070a5Stholo	* sanity.sh: Test for rejection of invalid tagname.
45c26070a5Stholo
46c26070a5StholoFri Dec 22 18:21:39 1995  Karl Fogel  <kfogel@csxt.cs.oberlin.edu>
47c26070a5Stholo
48c26070a5Stholo        * client.c (start_server): don't use kerberos if authenticating
49c26070a5Stholo        server was specified.
50c26070a5Stholo
51c26070a5StholoFri Dec 22 16:35:57 1995  Karl Fogel  <kfogel@csxt.cs.oberlin.edu>
52c26070a5Stholo
53c26070a5Stholo        * login.c (login): deal with new scramble methods.
54c26070a5Stholo        (get_cvs_password): same.
55c26070a5Stholo
56c26070a5Stholo        * server.c (check_repository_password): remove arbitrary limit on
57c26070a5Stholo        line length.
58c26070a5Stholo        (authenticate_connection): use a separate variable for the
59c26070a5Stholo        descrambled password, now that we no longer scramble in place.
60c26070a5Stholo        Set `error_use_protocol' to 1 and just use error() where used to
61c26070a5Stholo        do its job inline.
62c26070a5Stholo
63c26070a5Stholo        * cvs.h (scramble, descramble): adjust prototype.
64c26070a5Stholo
65c26070a5Stholo        * scramble.c (scramble, descramble): return char *.
66c26070a5Stholo
67c26070a5StholoFri Dec 22 13:00:00 1995  Jim Kingdon  <kingdon@peary.cyclic.com>
68c26070a5Stholo
69c26070a5Stholo	* release.c (release): If SERVER_SUPPORT is not defined, still
70c26070a5Stholo	set up arg_start_idx.
71c26070a5Stholo
72c26070a5Stholo	* release.c (release): When calling unedit, set argv[1] to
73c26070a5Stholo	NULL (since argc is only 1).
74c26070a5Stholo
75c26070a5Stholo	* edit.c: Pass dosrcs 0 to all calls to start_recursion.
76c26070a5Stholo	None of the fileprocs were using it, so it just slowed things
77c26070a5Stholo	down and caused potentially harmful checks for rcs files.
78c26070a5Stholo
79c26070a5Stholo	* edit.c (send_notifications): In client case, do not readlock.
80c26070a5Stholo
81c26070a5StholoThu Dec 21 16:00:00 1995  Jim Kingdon  <kingdon@peary.cyclic.com>
82c26070a5Stholo
83c26070a5Stholo	Clean up Visual C++ lint:
84c26070a5Stholo	* client.c (read_line): Change input_index and result_size to size_t.
85c26070a5Stholo	(update_entries): Remove unused variables buf2, size_left, size_read.
86c26070a5Stholo	(handle_mode): Prototype.
87c26070a5Stholo	* client.c, client.h (send_to_server, read_from_server): Change
88c26070a5Stholo	len to size_t.
89c26070a5Stholo	* client.c (send_to_server): Change wrtn to size_t.
90c26070a5Stholo	(read_from_server): Change red to size_t.
91c26070a5Stholo	* client.c, myndbm.c, edit.c, fileattr.c: Include getline.h.
92c26070a5Stholo	* checkin.c, commit.c, update.c: Include fileattr.h.
93c26070a5Stholo	* commit.c, update.c: Include edit.h.
94c26070a5Stholo	* edit.c (onoff_filesdoneproc): Prototype.
95c26070a5Stholo	(ncheck_fileproc,edit_fileproc): Change "return" to "return 0".
96c26070a5Stholo	(notify_do): Cast a signed value to unsigned before comparing
97c26070a5Stholo	with unsigned value.
98c26070a5Stholo
99c26070a5StholoThu Dec 21 15:24:37 1995  Karl Fogel  <kfogel@occs.cs.oberlin.edu>
100c26070a5Stholo
101c26070a5Stholo        * client.c: don't include socket headers twice just because
102c26070a5Stholo        both HAVE_KERBEROS and AUTH_CLIENT_SUPPORT are set.
103c26070a5Stholo        (start_kerberos_server): if fail to connect to kerberos, print out
104c26070a5Stholo        a more specific error message, mainly so pcl-cvs can know what
105c26070a5Stholo        happened and not panic.
106c26070a5Stholo        (start_server): don't assume sprintf() returns len
107c26070a5Stholo        written (only some systems provide this); instead, have
108c26070a5Stholo        send_to_server() calculate the length itself.
109c26070a5Stholo        (send_modified): same.
110c26070a5Stholo        (send_fileproc): same.
111c26070a5Stholo        (send_file_names): same.
112c26070a5Stholo
113c26070a5StholoWed Dec 20 14:00:28 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
114c26070a5Stholo
115c26070a5Stholo	* update.c (ignore_files): Move from here...
116c26070a5Stholo	* ignore.c (ignore_files): ...to here.  No longer static.  Take
117c26070a5Stholo	new argument PROC.
118c26070a5Stholo	* cvs.h (ignore_files): Declare.
119c26070a5Stholo	* client.c (send_filesdoneproc): Split off from
120c26070a5Stholo	update_filesdone_proc.  Pass new function send_ignproc to
121c26070a5Stholo	ignore_files (to ask server about ignored file before printing
122c26070a5Stholo	"?").
123c26070a5Stholo	* server.c: Rename outbuf from but_to_net and take it from
124c26070a5Stholo	do_cvs_command to a global.  Move initialization accordingly.
125c26070a5Stholo	(serve_questionable): New function.
126c26070a5Stholo	(requests): Add it.
127c26070a5Stholo	* update.c (update_filesdone_proc): Remove client stuff.  Pass new
128c26070a5Stholo	function update_ignproc to ignore_files.
129c26070a5Stholo	* cvs.h (joining, do_update): Move declarations from here...
130c26070a5Stholo	* update.h: ...to here.
131c26070a5Stholo	* cvs.h: Include update.h.
132c26070a5Stholo	* update.c, client.c: Don't include update.h
133c26070a5Stholo	* ignore.c, cvs.h: New variable ign_inhibit_server, set on -I !.
134c26070a5Stholo	* import.c (import): Pass -I ! to server if specified.
135c26070a5Stholo	(import_descend): If server, ignore CVS directories even if -I !.
136c26070a5Stholo	* update.c (update), import.c (import): Only call ign_setup before
137c26070a5Stholo	argument processing; don't call it again afterwards in client case.
138c26070a5Stholo	* sanity.sh (ignore): Test above-fixed bugs and other ignore behaviors.
139c26070a5Stholo	(dotest): New function.
140c26070a5Stholo	Move modules checkin from modules test to start, so that other
141c26070a5Stholo	tests can use mkmodules without a warning message.
142c26070a5Stholo
143c26070a5StholoWed Dec 20 13:06:17 1995  Karl Fogel  <kfogel@floss.cyclic.com>
144c26070a5Stholo
145c26070a5Stholo        * client.c (send_to_server): don't check string's length twice.
146c26070a5Stholo
147c26070a5StholoWed Dec 20 02:05:19 1995  Karl Fogel  <kfogel@floss.cyclic.com>
148c26070a5Stholo
149c26070a5Stholo        * login.c (login): took out debugging printf's.
150c26070a5Stholo        (login): Removed unused variable `p'.
151c26070a5Stholo
152c26070a5StholoWed Dec 20 00:27:36 1995  Karl Fogel  <kfogel@floss.cyclic.com>
153c26070a5Stholo
154c26070a5Stholo        * login.c (login): prefix scrambled password with 'A', so we know
155c26070a5Stholo        which version of scrambling was used.  This may be useful in the
156c26070a5Stholo        future.
157c26070a5Stholo        (get_cvs_password): skip past the leading 'A'.
158c26070a5Stholo        Scramble $CVS_PASSWORD before returning it.
159c26070a5Stholo
160c26070a5Stholo        * scramble.c: made this work.
161c26070a5Stholo
162c26070a5StholoTue Dec 19 17:45:11 1995  Karl Fogel  <kfogel@floss.cyclic.com>
163c26070a5Stholo
164c26070a5Stholo        * login.c (cvs_password): new static var, init to NULL.
165c26070a5Stholo        (login): scramble() the password before using it.
166c26070a5Stholo        Verify the password with the server.
167c26070a5Stholo        Check CVSroot more carefully to insure that it is
168c26070a5Stholo        "fully-qualified".
169c26070a5Stholo        (get_cvs_password): if cvs_password is not NULL, just return it.
170c26070a5Stholo        Never prompt -- just tell user why failed, then exit.
171c26070a5Stholo        Try CVS_PASSWORD environment variable first.
172c26070a5Stholo        (construct_cvspass_filename): try CVS_PASSFILE environment
173c26070a5Stholo        variable first.
174c26070a5Stholo
175c26070a5Stholo        * client.h (connect_to_pserver): update prototype.
176c26070a5Stholo
177c26070a5Stholo        * client.c (cvsroot_parsed): new static var.
178c26070a5Stholo        (parse_cvsroot): set `cvsroot_parsed' to 1 when done.
179c26070a5Stholo        (connect_to_pserver): return int.
180c26070a5Stholo        Take `verify_only' arg.  If it is non-zero, perform password
181c26070a5Stholo        verification with the server and then shut down the connection and
182c26070a5Stholo        return.
183c26070a5Stholo        Call parse_cvsroot() before doing anything.
184c26070a5Stholo
185c26070a5Stholo        * server.c (authenticate_connection): deal with verification
186c26070a5Stholo        requests as well as authorization requests.
187c26070a5Stholo        descramble() the password before hashing it.
188c26070a5Stholo
189c26070a5Stholo        * cvs.h: prototype scramble() and descramble().
190c26070a5Stholo
191c26070a5Stholo        * Makefile.in: build scramble.o.
192c26070a5Stholo
193c26070a5Stholo        * scramble.c: new file, provides trivial encoding but NOT real
194c26070a5Stholo        encryption.
195c26070a5Stholo
196c26070a5StholoMon Dec 18 20:57:58 1995  Karl Fogel  <kfogel@floss.cyclic.com>
197c26070a5Stholo
198c26070a5Stholo        * login.c (login): don't insert extra newlines.  They were
199c26070a5Stholo        harmless, but confusing.
200c26070a5Stholo
201c26070a5StholoMon Dec 18 15:32:32 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
202c26070a5Stholo
203c26070a5Stholo	* hash.c, hash.h (findnode_fn): New function.
204c26070a5Stholo	* hash.c (hashp): Tweak hash function so that findnode_fn works.
205c26070a5Stholo	* update.c (ignore_files): Call findnode_fn, not findnode.
206c26070a5Stholo
207c26070a5StholoMon Dec 18 09:34:56 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
208c26070a5Stholo
209c26070a5Stholo	* myndbm.c: Remove arbitrary limit.
210c26070a5Stholo
211c26070a5Stholo	* client.c: Fix comment--Windows 95 requires NO_SOCKET_TO_FD, not
212c26070a5Stholo	Windows NT.
213c26070a5Stholo
214c26070a5StholoMon Dec 18 01:06:20 1995  Karl Fogel  <kfogel@floss.cyclic.com>
215c26070a5Stholo
216c26070a5Stholo        * client.c (server_sock): replaces `server_socket'.
217c26070a5Stholo        (start_kerberos_server): added FIXME comment about how
218c26070a5Stholo        NO_SOCKET_TO_FD is not dealt with in the kerberos case.
219c26070a5Stholo        (connect_to_pserver): deal with NO_SOCKET_TO_FD case.
220c26070a5Stholo        (read_line): deal with NO_SOCKET_TO_FD case.
221c26070a5Stholo        (read_from_server): deal with NO_SOCKET_TO_FD case.
222c26070a5Stholo        (send_to_server): deal with NO_SOCKET_TO_FD case.
223c26070a5Stholo        (get_responses_and_close): deal with NO_SOCKET_TO_FD case.
224c26070a5Stholo
225c26070a5Stholo        * client.c (send_to_server): error check logging.
226c26070a5Stholo        (start_server): error check opening of logfiles.
227c26070a5Stholo        (read_from_server): error check logging.
228c26070a5Stholo        (read_line): use fwrite() to log, & error_check it.
229c26070a5Stholo        Don't log if using socket style, because read_from_server()
230c26070a5Stholo        already logged for us.
231c26070a5Stholo
232c26070a5StholoMon Dec 18 00:52:26 1995  Karl Fogel  <kfogel@floss.cyclic.com>
233c26070a5Stholo
234c26070a5Stholo        * client.c (use_socket_style): new static var, init to 0.
235c26070a5Stholo        (server_socket): new static var.
236c26070a5Stholo        (connect_to_pserver): don't deal with logging here.
237c26070a5Stholo        Caller changed.
238c26070a5Stholo        (start_kerberos_server): don't deal with logging here either.
239c26070a5Stholo        Caller changed.
240c26070a5Stholo
241c26070a5StholoMon Dec 18 00:40:46 1995  Karl Fogel  <kfogel@floss.cyclic.com>
242c26070a5Stholo
243c26070a5Stholo        * client.c (send_modified): don't error-check `to_server';
244c26070a5Stholo        send_to_server() does that now.
245c26070a5Stholo
246c26070a5StholoMon Dec 18 00:19:16 1995  Karl Fogel  <kfogel@floss.cyclic.com>
247c26070a5Stholo
248c26070a5Stholo        * login.c (get_cvs_password): Init `linebuf' to NULL.
249c26070a5Stholo        free() `linebuf' and reset it for each new line.
250c26070a5Stholo        (login): same as above.
251c26070a5Stholo
252c26070a5Stholo        * client.c: Removed all the varargs prototyping gunk.
253c26070a5Stholo        (to_server, from_server): make these static.
254c26070a5Stholo        (from_server_logfile, to_server_logfile): new vars.
255c26070a5Stholo        (start_server): init above two new vars to NULL.
256c26070a5Stholo        (send_to_server): return void.
257c26070a5Stholo        Correct bug in which amount to be written would be too high if the
258c26070a5Stholo        loop ever ran more than once.
259c26070a5Stholo        Log to `to_server_logfile' if it's non-NULL.
260c26070a5Stholo        (read_from_server): new func, does raw reading from server.
261c26070a5Stholo        Logs to `from_server_logfile' if it's non-NULL.
262c26070a5Stholo        (update_entries): just use read_from_server() instead of looping
263c26070a5Stholo        to fread() directly from `from_server'.
264c26070a5Stholo        (read_line): Log to `from_server_logfile' if it's non-NULL.
265c26070a5Stholo
266c26070a5Stholo        * client.h: send_to_server() returns void now.
267c26070a5Stholo        (read_from_server): prototype.
268c26070a5Stholo
269c26070a5StholoSun Dec 17 19:38:03 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
270c26070a5Stholo
271c26070a5Stholo	* checkout.c (checkout_proc), client.c, lock.c (readers_exist),
272c26070a5Stholo	login.c, modules.c (cat_module, do_module): Remove arbitrary limits.
273c26070a5Stholo
274c26070a5Stholo	* client.c (send_to_server): Fix typo (NULL -> '\0').
275c26070a5Stholo	(get_responses_and_close): Set server_started to 0 instead of
276c26070a5Stholo	setting to_server and from_server to NULL.
277c26070a5Stholo	* client.c: Make to_server and from_server static.
278c26070a5Stholo
279c26070a5StholoSun Dec 17 17:59:04 1995  Karl Fogel  <kfogel@floss.cyclic.com>
280c26070a5Stholo
281c26070a5Stholo        * client.h (to_server, from_server): don't declare these anymore.
282c26070a5Stholo        They are now entirely private to client.c (and in fact will go
283c26070a5Stholo        away soon there too).
284c26070a5Stholo
285c26070a5StholoSun Dec 17 15:40:58 1995  Karl Fogel  <kfogel@floss.cyclic.com>
286c26070a5Stholo
287c26070a5Stholo        * client.h: update prototype of send_to_server().
288c26070a5Stholo
289c26070a5Stholo        * client.c, watch.c, update.c, tag.c, status.c, rtag.c, remove.c,
290c26070a5Stholo        release.c, patch.c, log.c, import.c, history.c, edit.c, diff.c,
291c26070a5Stholo        commit.c, client.c, checkout.c, admin.c, add.c:
292c26070a5Stholo        Convert all send_to_server() calls that used formatting to send
293c26070a5Stholo        pre-formatted strings instead.  And don't error check
294c26070a5Stholo        send_to_server(), because it does its own error checking now.
295c26070a5Stholo
296c26070a5Stholo        * client.c (send_to_server): don't use vasprintf(), just fwrite a
297c26070a5Stholo        certain number of bytes to the server.  And do error checking
298c26070a5Stholo        here, so our callers don't have to.
299c26070a5Stholo        (send_arg): use send_to_server() instead of putc()'ing
300c26070a5Stholo        directly to `to_server'.
301c26070a5Stholo
302c26070a5StholoSun Dec 17 14:37:52 1995  Karl Fogel  <kfogel@floss.cyclic.com>
303c26070a5Stholo
304c26070a5Stholo        * options.h.in (AUTH_CLIENT_SUPPORT, AUTH_SERVER_SUPPORT):
305c26070a5Stholo        Define to 1 but leave commented out, instead of #undef'ing them.
306c26070a5Stholo        This treats them like everything else in this file.
307c26070a5Stholo
308c26070a5Stholo        * client.c: define server_started, init to 0.
309c26070a5Stholo        (start_server): set server_started to 1.
310c26070a5Stholo
311c26070a5Stholo        * client.h: declare `server_started', extern.
312c26070a5Stholo        AUTH_CLIENT_SUPPORT moved here from cvs.h.
313c26070a5Stholo
314c26070a5Stholo        * cvs.h: moved AUTH_CLIENT_SUPPORT stuff to client.h.
315c26070a5Stholo
316c26070a5Stholo        * edit.c (notify_check): use new var server_started.
317c26070a5Stholo
318c26070a5StholoSun Dec 17 00:44:17 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
319c26070a5Stholo
320c26070a5Stholo	* client.c (get_responses_and_close): Really stop ignoring ECHILD
321c26070a5Stholo	errors.  The Nov 30 1995 change claimed to do this, but the code
322c26070a5Stholo	was not actually changed.
323c26070a5Stholo
324c26070a5Stholo	* update.c (ignore_files): Revert H.J. Lu change; it was wrong for
325c26070a5Stholo	directories and sometimes looked at sb.st_mode when it wasn't set.
326c26070a5Stholo	* import.c (import_descend): Revert H.J. Lu change; it was wrong
327c26070a5Stholo	for directories and the extra lstat call was an unnecessary
328c26070a5Stholo	performance hit.
329c26070a5Stholo	* sanity.sh (import): Add test for the second of these two bugs.
330c26070a5Stholo
331c26070a5StholoSat Dec 16 17:26:08 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
332c26070a5Stholo
333c26070a5Stholo	* client.c (send_to_server): Remove arbitrary limit.  Also remove
334c26070a5Stholo	!HAVE_VPRINTF code; all relevant systems have vprintf these days.
335c26070a5Stholo
336c26070a5StholoSat Dec 16 21:35:31 1995  Karl Fogel  <kfogel@floss.cyclic.com>
337c26070a5Stholo
338c26070a5Stholo        * checkout.c (checkout): use send_to_server() now.
339c26070a5Stholo
340c26070a5StholoSat Dec 16 21:18:16 1995  H.J. Lu (hjl@gnu.ai.mit.edu)
341c26070a5Stholo                          (applied by kfogel@cyclic.com)
342c26070a5Stholo
343c26070a5Stholo	* import.c (import_descend): We ignore an entry if it is
344c26070a5Stholo		1. not a file, nor a link, nor a directory, or
345c26070a5Stholo		2. a file and on the ignore list.
346c26070a5Stholo
347c26070a5Stholo	* update.c (ignore_files): We ignore any thing which is
348c26070a5Stholo		1. not a file, or
349c26070a5Stholo		2. it is a file on the ignore list.
350c26070a5Stholo
351c26070a5StholoSat Dec 16 00:14:19 1995  Karl Fogel  <kfogel@floss.cyclic.com>
352c26070a5Stholo
353c26070a5Stholo        * client.c (send_to_server): corrected comment.
354c26070a5Stholo
355c26070a5Stholo        * client.h: prototype new func send_to_server().
356c26070a5Stholo
357c26070a5Stholo        * add.c, admin.c, client.c, commit.c, diff.c, edit.c, history.c,
358c26070a5Stholo        import.c, log.c, patch.c, release.c, remove.c, rtag.c, status.c,
359c26070a5Stholo        tag.c, update.c, watch.c:
360c26070a5Stholo        Use send_to_server() instead of writing directly to to_server.
361c26070a5Stholo
362c26070a5Stholo        * client.c: conditionally include the right stuff for variable arg
363c26070a5Stholo        lists.
364c26070a5Stholo        (send_to_server): new func.
365c26070a5Stholo
366c26070a5StholoFri Dec 15 23:10:22 1995  Karl Fogel  <kfogel@floss.cyclic.com>
367c26070a5Stholo
368c26070a5Stholo        * error.c: expanded comments.
369c26070a5Stholo
370c26070a5Stholo        * client.c (connect_to_pserver): verbosify errors.
371c26070a5Stholo        (connect_to_pserver): use send() and recv(), not write() and
372c26070a5Stholo        read().  Sockets are not file descriptors on all systems.
373c26070a5Stholo
374c26070a5StholoFri Dec 15 22:36:05 1995  Karl Fogel  <kfogel@floss.cyclic.com>
375c26070a5Stholo
376c26070a5Stholo        * client.c (connect_to_pserver): oops, removed old debugging
377c26070a5Stholo        printf.
378c26070a5Stholo
379c26070a5StholoFri Dec 15 18:21:16 1995  Karl Fogel  (kfogel@floss.cyclic.com)
380c26070a5Stholo
381c26070a5Stholo        * client.c (auth_server_port_number): don't call htons();
382c26070a5Stholo        init_sockaddr() does that for us.
383c26070a5Stholo        (init_sockaddr): zero the sockadder_in struct before doing
384c26070a5Stholo        anything with it.  IBM TCP/IP docs recommend this, and it can't
385c26070a5Stholo        hurt.
386c26070a5Stholo
387c26070a5StholoFri Dec 15 15:21:53 1995  Karl Fogel  <kfogel@floss.cyclic.com>
388c26070a5Stholo
389c26070a5Stholo        * client.c (connect_to_pserver): new var `port_number', initialize
390c26070a5Stholo        with new func auth_server_port_number() and pass to
391c26070a5Stholo        init_sockaddr().
392c26070a5Stholo        (auth_server_port_number): new func.  Right now it just returns
393c26070a5Stholo        `htons (CVS_AUTH_PORT)'.  We'll probably add the ability to
394c26070a5Stholo        specify the port at run time soon, anyway, so having this function
395c26070a5Stholo        will make that easier.
396c26070a5Stholo
397c26070a5StholoWed Dec  6 18:08:40 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
398c26070a5Stholo
399c26070a5Stholo	* cvs.h: Add CVSREP.
400c26070a5Stholo	* find_names.c (find_dirs): Skip CVSREP too.
401c26070a5Stholo	* fileattr.h, fileattr.c: New files, to manipulate file attributes.
402c26070a5Stholo	* hash.c (nodetypestring), hash.h (enum ntype): Add FILEATTR.
403c26070a5Stholo	* hash.c, hash.h (list_isempty): New function.
404c26070a5Stholo	* recurse.c (do_recursion): Call fileattr_startdir before
405c26070a5Stholo	processing files in a directory and fileattr_write and
406c26070a5Stholo	fileattr_free (after files, before recursing).
407c26070a5Stholo	* watch.c, watch.h: New files, to handle notification features.
408c26070a5Stholo	* edit.c, edit.h: New file, to handle new read-only checkout features.
409c26070a5Stholo	* client.c, server.c: Add "Mode" request, to change the mode of a file
410c26070a5Stholo	when it is checked in.
411c26070a5Stholo	* main.c (cmds): Add "watch", "edit", "unedit", "watchers", "editors".
412c26070a5Stholo	* main.c: Split command help from usg into new variable cmd_usage,
413c26070a5Stholo	which.
414c26070a5Stholo	(main): Add --help-commands option to print out cmd_usage.
415c26070a5Stholo	* cvs.h: Declare watch, edit, unedit, watchers, editors.
416c26070a5Stholo	* client.c, client.h: Add client_watch, client_edit, client_unedit,
417c26070a5Stholo	client_watchers, client_editors.
418c26070a5Stholo	* client.c, server.c: Add notification stuff.
419c26070a5Stholo	* update.c (checkout_file, patch_file), checkin.c (Checkin): Check
420c26070a5Stholo	_watched attribute when deciding read-only or read-write.
421c26070a5Stholo	* commit.c (checkaddfile): Call fileattr_newfile to set attributes
422c26070a5Stholo	on newly created files.
423c26070a5Stholo	* release.c (release):
424c26070a5Stholo	* cvs.h: Add CVSADM_NOTIFY and CVSADM_NOTIFYBAK.
425c26070a5Stholo	* recurse.c (do_recursion): Call notify_check.
426c26070a5Stholo	* commit.c (commit_fileproc): Call notify_do after committing file.
427c26070a5Stholo	* client.c (get_responses_and_close): Set to_server and from_server
428c26070a5Stholo	to NULL so that it is possible to tell whether we are speaking to
429c26070a5Stholo	the server.
430c26070a5Stholo	* cvs.h: Add CVSROOTADM_NOTIFY.
431c26070a5Stholo	* mkmodules.c (main): Add CVSROOTADM_NOTIFY to filelist.
432c26070a5Stholo	* Makefile.in (SOURCES,OBJECTS,HEADERS): Add new files mentioned above.
433c26070a5Stholo	* lock.c, cvs.h (lock_tree_for_write, lock_tree_cleanup): New
434c26070a5Stholo	functions, taken from old commit.c writelock code.  As part of
435c26070a5Stholo	this, fsortcmp and lock_filesdoneproc go from commit.c to lock.c.
436c26070a5Stholo	So does locklist but it gets renamed to lock_tree_list.
437c26070a5Stholo	* commit.c: Use lock_tree_*.
438c26070a5Stholo
439c26070a5StholoFri Dec 15 10:37:00 1995  J.T. Conklin  <jtc@slave.cygnus.com>
440c26070a5Stholo
441c26070a5Stholo	* tag.c (tag_usage): Added -r and -D flags to usage string.
442c26070a5Stholo	(tag): Detect when user specifies both -r and -D arguments.
443c26070a5Stholo	Pass -r and -D arguments to server.
444c26070a5Stholo
445c26070a5StholoThu Dec 14 11:56:13 1995  Karl Fogel  <kfogel@floss.cyclic.com>
446c26070a5Stholo
447c26070a5Stholo        * client.c (start_rsh_server): use RSH_NEEDS_BINARY_FLAG to
448c26070a5Stholo        conditionalize "-b" option to "rsh".
449c26070a5Stholo
450c26070a5Stholo        * run.c (filter_stream_through_program): document return value and
451c26070a5Stholo        error behavior.
452c26070a5Stholo
453c26070a5Stholo        * client.c (filter_through_gunzip): pass the supposedly
454c26070a5Stholo        superfluous "-d" option to gunzip, to avoid stimulating what seems
455c26070a5Stholo        to be an argument-passing bug in spawn() under OS/2 with IBM
456c26070a5Stholo        C/C++.  Yucko.
457c26070a5Stholo
458c26070a5StholoWed Dec 13 20:08:37 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
459c26070a5Stholo
460c26070a5Stholo	* options.h.in (RCSBIN_DFLT): Recommend specifying -b in
461c26070a5Stholo	inetd.conf for pserver.  That is a pretty good solution.
462c26070a5Stholo
463c26070a5StholoWed Dec 13 18:29:59 1995  Preston L. Bannister <pbannister@ca.mdis.com>
464c26070a5Stholo                          and Karl Fogel       <kfogel@floss.cyclic.com>
465c26070a5Stholo
466c26070a5Stholo        * client.c (send_modified): make sure that vers and vers->options
467c26070a5Stholo        are non-NULL before strcmp()'ing them with "-kb".
468c26070a5Stholo        Initialize `bin' near where it is used, not at beginning of
469c26070a5Stholo        function.
470c26070a5Stholo        (update_entries): make sure `options' is non-NULL before
471c26070a5Stholo        strcmp()'ing with "-kb".
472c26070a5Stholo        Initialize `bin' near where it is used, not at beginning of
473c26070a5Stholo        function.
474c26070a5Stholo
475c26070a5StholoTue Dec 12 18:56:38 1995  Karl Fogel  <kfogel@totoro.cyclic.com>
476c26070a5Stholo
477c26070a5Stholo        * options.h.in (RCSBIN_DFLT): document the probable need for this
478c26070a5Stholo        to be set in the authenticating server.
479c26070a5Stholo
480c26070a5StholoTue Dec 12 11:56:43 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
481c26070a5Stholo
482c26070a5Stholo	* server.c (expand_proc): If mfile is non-NULL, return it too as
483c26070a5Stholo	part of the expansion.
484c26070a5Stholo	* sanity.sh (modules): Add tests for above-fixed bug.
485c26070a5Stholo
486c26070a5StholoMon Dec 11 21:39:07 1995  Karl Fogel  <kfogel@floss.cyclic.com>
487c26070a5Stholo
488c26070a5Stholo        * dog.c (flea_bath): Take `suds' arg.
489c26070a5Stholo        All collars changed.
490c26070a5Stholo
491c26070a5StholoMon Dec 11 15:58:47 1995  Karl Fogel  <kfogel@floss.cyclic.com>
492c26070a5Stholo
493c26070a5Stholo        * login.c (login): if client password file doesn't exist, create
494c26070a5Stholo        it, duh.
495c26070a5Stholo
496c26070a5Stholo        * main.c (main): die if CVSroot has access-method but no
497c26070a5Stholo        username.
498c26070a5Stholo
499c26070a5Stholo        * root.c: added some comments.
500c26070a5Stholo
501c26070a5Stholo        * main.c: removed all code pertaining to the "-a" option.  We
502c26070a5Stholo        specify access-method in CVSroot now.
503c26070a5Stholo
504c26070a5Stholo        * client.c (parse_cvsroot): new var, `access_method'.  If CVSroot
505c26070a5Stholo        is prepended with an access method (i.e.,
506c26070a5Stholo        ":pserver:user@host:/path"), then handle it.
507c26070a5Stholo
508c26070a5Stholo        * login.c (login): use || when checking if CVSroot is "fully
509c26070a5Stholo        qualified".
510c26070a5Stholo        Prepend ":pserver:" before writing to ~/.cvspass.
511c26070a5Stholo        (get_cvs_password): Take no parameters; we'll just use CVSroot to
512c26070a5Stholo        get the password.
513c26070a5Stholo
514c26070a5StholoMon Dec 11 12:43:35 1995  adamg  <adamg@microsoft.com>
515c26070a5Stholo
516c26070a5Stholo	* error.c, client.c, remove.c, main.c: Add explicit casts for some
517c26070a5Stholo 	function pointers to remove warnings under MS VC.
518c26070a5Stholo	* main.c (main): remove use of NEED_CALL_SOCKINIT in favor of the
519c26070a5Stholo	more generic INITIALIZE_SOCKET_SUBSYSTEM.  Note that the code assumes
520c26070a5Stholo	that if INITIALIZE_SOCKET_SUBSYSTEM() returns, socket subsystem
521c26070a5Stholo	initialization has been successful.
522c26070a5Stholo
523c26070a5StholoSat Dec  9 22:01:41 1995  Dan O'Connor  <doconnor@tii.com>
524c26070a5Stholo
525c26070a5Stholo        * commit.c (check_fileproc): pass RUN_REALLY flag to run_exec,
526c26070a5Stholo        because it's okay to examine the file with noexec set.
527c26070a5Stholo
528c26070a5StholoSat Dec  9 20:28:01 1995  Karl Fogel  <kfogel@floss.cyclic.com>
529c26070a5Stholo
530c26070a5Stholo        * client.c (update_entries): new var, `bin, init to 0.
531c26070a5Stholo        Use it in determining whether to convert the file.
532c26070a5Stholo        (send_modified): same as above.
533c26070a5Stholo
534c26070a5StholoFri Dec  8 17:47:39 1995  Karl Fogel  <kfogel@floss.cyclic.com>
535c26070a5Stholo
536c26070a5Stholo        * server.c (downcase_string): removed.
537c26070a5Stholo        (check_repository_password): don't deal with case-insensitivity
538c26070a5Stholo        anymore.
539c26070a5Stholo
540c26070a5Stholo        * options.h.in (CVS_PASSWORDS_CASE_SENSITIVE): deleted this.  No
541c26070a5Stholo        need for it anymore.
542c26070a5Stholo
543c26070a5StholoThu Dec  7 21:08:39 1995  Karl Fogel  <kfogel@floss.cyclic.com>
544c26070a5Stholo
545c26070a5Stholo        * server.c (check_repository_password): when checking for false
546c26070a5Stholo        prefix-matches, look for ':', not '@'.  Duh.
547c26070a5Stholo
548c26070a5StholoThu Dec  7 18:44:51 1995  Karl Fogel  <kfogel@floss.cyclic.com>
549c26070a5Stholo
550c26070a5Stholo        * options.h.in (CVS_PASSWORDS_CASE_SENSITIVE): replaces
551c26070a5Stholo        CVS_PASSWORDS_CASE_INSENSITIVE; passwords are now insensitive by
552c26070a5Stholo        default.  Expanded explanatory comment.
553c26070a5Stholo
554c26070a5Stholo        * login.c (get_cvs_password): Use memset(), not bzero().  I
555c26070a5Stholo        botched this change earlier.
556c26070a5Stholo
557c26070a5Stholo        * server.c (check_repository_password): no need to check
558c26070a5Stholo        xmalloc()'s return value.
559c26070a5Stholo        (check_repository_password): check for false prefix-matches (for
560c26070a5Stholo        example, username is "theo" and linebuf contains user
561c26070a5Stholo        "theocracy").
562c26070a5Stholo
563c26070a5StholoThu Dec  7 14:49:16 1995  Jim Meyering  (meyering@comco.com)
564c26070a5Stholo
565c26070a5Stholo	* filesubr.c (isaccessible): Rename from isaccessable.
566c26070a5Stholo	Update callers.
567c26070a5Stholo	* cvs.h: Update prototype.
568c26070a5Stholo	* main.c (main): Update callers.
569c26070a5Stholo	* server.c (main): Update callers.
570c26070a5Stholo
571c26070a5StholoThu Dec  7 12:50:20 1995  Adam Glass <glass@NetBSD.ORG>
572c26070a5Stholo
573c26070a5Stholo        * cvs.h: "isaccessible" is the correct spelling.
574c26070a5Stholo        Also add "const" to second arg to make prototype match
575c26070a5Stholo        declaration.
576c26070a5Stholo
577c26070a5StholoThu Dec  7 11:06:51 1995  Karl Fogel  <kfogel@floss.cyclic.com>
578c26070a5Stholo
579c26070a5Stholo        * client.c, login.c: memset() instead of bzero().
580c26070a5Stholo
581c26070a5StholoThu Dec  7 00:08:53 1995  Karl Fogel  <kfogel@floss.cyclic.com>
582c26070a5Stholo
583c26070a5Stholo        * server.c (authenticate_connection): document server's side of
584c26070a5Stholo        the Authentication Protocol too.
585c26070a5Stholo
586c26070a5Stholo        * client.c (connect_to_pserver): when printing out "unrecognized
587c26070a5Stholo        response", also print out the offending response.
588c26070a5Stholo
589c26070a5Stholo        * server.c (check_password): take `repository' arg too now.
590c26070a5Stholo        Call check_repository_password() before checking /etc/passwd.
591c26070a5Stholo        (check_repository_password): new func.
592c26070a5Stholo
593c26070a5Stholo        * options.h.in (CVS_PASSWORDS_CASE_INSENSITIVE): new define, unset
594c26070a5Stholo        by default.
595c26070a5Stholo
596c26070a5StholoWed Dec  6 18:51:16 1995  Karl Fogel  <kfogel@floss.cyclic.com>
597c26070a5Stholo
598c26070a5Stholo        * server.c (check_password): If user has a null password, then
599c26070a5Stholo        return 1 if arg is also null.
600c26070a5Stholo        Reverse sense of return value.  Caller changed.
601c26070a5Stholo
602c26070a5StholoWed Dec  6 14:42:57 1995  Karl Fogel  <kfogel@floss.cyclic.com>
603c26070a5Stholo
604c26070a5Stholo        * server.c (check_password): new func.
605c26070a5Stholo        (authenticate_connection): call above new func.
606c26070a5Stholo
607c26070a5Stholo        * login.c (login): use construct_cvspass_filename().
608c26070a5Stholo        If CVSroot is not "fully-qualified", then insist the user qualify
609c26070a5Stholo        it before going on.
610c26070a5Stholo        (get_cvs_password): fleshed out.  Now reads from ~/.cvspass, or
611c26070a5Stholo        prompts if no appropriate password found.
612c26070a5Stholo        (construct_cvspass_filename): new func.
613c26070a5Stholo
614c26070a5Stholo        * server.c (authenticate_connection): send ACK or NACK to client.
615c26070a5Stholo
616c26070a5Stholo        * client.c (connect_to_pserver): check for ACK vs NACK response
617c26070a5Stholo        from server after sending authorization request.
618c26070a5Stholo
619c26070a5Stholo        * login.c (get_cvs_password): new func.
620c26070a5Stholo
621c26070a5Stholo        * client.c (connect_to_pserver): use new func get_cvs_password().
622c26070a5Stholo        Prototype it at top of file.  Hmmm.
623c26070a5Stholo
624c26070a5StholoWed Dec  6 13:29:22 1995  Karl Fogel  <kfogel@floss.cyclic.com>
625c26070a5Stholo
626c26070a5Stholo        * server.c: same as below (AUTH_SERVER_SUPPORT).
627c26070a5Stholo
628c26070a5Stholo        * main.c: same as below (AUTH_SERVER_SUPPORT where appropriate).
629c26070a5Stholo
630c26070a5Stholo        * login.c: same same as below.
631c26070a5Stholo
632c26070a5Stholo        * cvs.h: same as below.
633c26070a5Stholo
634c26070a5Stholo        * client.c: use AUTH_CLIENT_SUPPORT, not CVS_LOGIN.
635c26070a5Stholo
636c26070a5Stholo        * options.h.in (AUTH_CLIENT_SUPPORT, AUTH_SERVER_SUPPORT): these
637c26070a5Stholo        replace CVS_LOGIN.
638c26070a5Stholo
639c26070a5StholoWed Dec  6 00:04:58 1995  Karl Fogel  <kfogel@floss.cyclic.com>
640c26070a5Stholo
641c26070a5Stholo        * server.c (authenticate_connection): expanded comment.
642c26070a5Stholo
643c26070a5StholoTue Dec  5 23:37:39 1995  Karl Fogel  <kfogel@floss.cyclic.com>
644c26070a5Stholo
645c26070a5Stholo        * client.c (connect_to_pserver): read password from prompt for
646c26070a5Stholo        now.
647c26070a5Stholo
648c26070a5Stholo        * server.c (authenticate_connection): if the password passes
649c26070a5Stholo        muster, then don't abort.
650c26070a5Stholo
651c26070a5StholoTue Dec  5 22:46:37 1995  Karl Fogel  <kfogel@floss.cyclic.com>
652c26070a5Stholo
653c26070a5Stholo        * subr.c (strip_trailing_newlines): new func.
654c26070a5Stholo
655c26070a5Stholo        * client.c (connect_to_pserver): took out print statements.
656c26070a5Stholo
657c26070a5Stholo        * server.c (authenticate_connection): removed print statments.
658c26070a5Stholo        Use new func strip_trailing_newlines() to purify `repository',
659c26070a5Stholo        `username', and `password'.
660c26070a5Stholo        Run a primitive password check, just for testing.
661c26070a5Stholo
662c26070a5Stholo        * client.c (connect_to_pserver): use CVS_AUTH_PORT.
663c26070a5Stholo        Take tofdp, fromfdp, and log args.  Caller changed.
664c26070a5Stholo        (get_responses_and_close): either kerberos and CVS_LOGIN might
665c26070a5Stholo        have one fd for both directions, so adjust #ifdef accordingly.
666c26070a5Stholo
667c26070a5Stholo        * cvs.h (CVS_AUTH_PORT): new define, default to 2401.
668c26070a5Stholo        Prototype strip_trailing_newlines().
669c26070a5Stholo
670c26070a5StholoTue Dec  5 16:53:35 1995  Karl Fogel  <kfogel@floss.cyclic.com>
671c26070a5Stholo
672c26070a5Stholo        * server.c (authenticate_connection): new func.
673c26070a5Stholo
674c26070a5Stholo        * client.c (init_sockaddr): func moved here from login.c.
675c26070a5Stholo        (connect_to_pserver): same as above.  Take no args, now.
676c26070a5Stholo        Include <sys/socket.h>, <netinet/in.h>, <netdb.h>, if CVS_LOGIN.
677c26070a5Stholo
678c26070a5Stholo        * cvs.h: Declare use_authenticating_server, as extern int.
679c26070a5Stholo        Declare connect_to_pserver().
680c26070a5Stholo
681c26070a5Stholo        * main.c (main): call authenticate_connection().  Removed testing
682c26070a5Stholo        code.
683c26070a5Stholo        Add 'a' to the short-option string in the getopt() call.
684c26070a5Stholo
685c26070a5Stholo        * login.c (connect_to_pserver): moved to client.c.
686c26070a5Stholo
687c26070a5StholoTue Dec  5 16:01:42 1995  Peter Chubb <peterc@bookworm.sw.oz.au>
688c26070a5Stholo                          (patch applied by Karl Fogel <kfogel@cyclic.com>)
689c26070a5Stholo
690c26070a5Stholo        * update.c (join_file): if vers->vn_user is "0", file has been
691c26070a5Stholo        removed on the current branch, so print an error and return.
692c26070a5Stholo
693c26070a5StholoMon Dec  4 14:27:42 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
694c26070a5Stholo
695c26070a5Stholo	* Version 1.6.3.
696c26070a5Stholo
697c26070a5StholoMon Dec  4 16:28:25 1995  Norbert Kiesel  <nk@col.sw-ley.de>
698c26070a5Stholo
699c26070a5Stholo	* release.c (release): add return (0) as last line
700c26070a5Stholo
701c26070a5Stholo	* cvs.h: declare program_path
702c26070a5Stholo
703c26070a5Stholo	* main.c define program_path
704c26070a5Stholo	  (main): set program_path
705c26070a5Stholo
706c26070a5Stholo	* release.c (release): use program_path for update_cmd
707c26070a5Stholo
708c26070a5StholoMon Dec  4 11:22:42 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
709c26070a5Stholo
710c26070a5Stholo	* Version 1.6.2.
711c26070a5Stholo
712c26070a5StholoSun Dec  3 20:02:29 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
713c26070a5Stholo
714c26070a5Stholo	* rcs.h (struct rcsnode), rcs.c (freercsnode): Add expand field.
715c26070a5Stholo	* rcs.h (RCSEXPAND): New #define.
716c26070a5Stholo	* rcs.c (RCS_reparsercsfile): Record keyword expansion in expand
717c26070a5Stholo	field of struct rcsnode.
718c26070a5Stholo	* update.c (checkout_file): Set keyword expansion in Entries file
719c26070a5Stholo	from rcs file if there is nowhere else to set it from.
720c26070a5Stholo	* client.c (send_modified, update_entries) [LINES_CRLF_TERMINATED]:
721c26070a5Stholo	If -kb is in effect, don't convert.
722c26070a5Stholo
723c26070a5Stholo	* update.c (update_file_proc), commit.c (check_fileproc),
724c26070a5Stholo	rcscmds.c (RCS_merge): Direct stdout to DEVNULL rather than
725c26070a5Stholo	passing -s option to grep.  This avoids trouble with respect to
726c26070a5Stholo	finding a grep which support -s and whether we should use the (GNU
727c26070a5Stholo	grep) -q option if it exists.
728c26070a5Stholo	* options.h.in: Change "@ggrep_path@" to "grep".
729c26070a5Stholo
730c26070a5StholoFri Dec  1 11:53:19 1995  Norbert Kiesel  <nk@col.sw-ley.de>
731c26070a5Stholo
732c26070a5Stholo	* rcs.c (RCS_gettag): new parameter return_both force return both
733c26070a5Stholo	  tags: the symbolic and the numeric one.
734c26070a5Stholo	  (RCS_getversion): new parameter return_both is forwarded to
735c26070a5Stholo	  RCS_gettag.
736c26070a5Stholo
737c26070a5Stholo	* rtag.c, tag.c, commit.c, patch.c, update.c: pass 0 as additional
738c26070a5Stholo	  last parameter to RCS_getversion and RCS_gettag
739c26070a5Stholo
740c26070a5Stholo	* rcs.h (RCS_gettag): new parameter return_both.
741c26070a5Stholo	  (RCS_getversion): new parameter return_both.
742c26070a5Stholo
743c26070a5Stholo	* cvs.h (struct vers_ts): add vn_tag slot for symbolic tag name
744c26070a5Stholo
745c26070a5Stholo	* vers_ts.c (Version_TS): call RCS_getversion with 1 for
746c26070a5Stholo	  return_both and split output into vn_rcs and vn_tag
747c26070a5Stholo	  (freevers_ts): free vn_tag
748c26070a5Stholo
749c26070a5Stholo	* update.c (checkout_file): use vn_tag instead of vn_rcs when
750c26070a5Stholo	  calling 'rcs co' to allow rcs expansion of :$Name :
751c26070a5Stholo
752c26070a5StholoThu Nov 30 20:44:30 1995  Karl Fogel  <kfogel@floss.cyclic.com>
753c26070a5Stholo
754c26070a5Stholo        * client.c (get_responses_and_close): undo previous change
755c26070a5Stholo        regarding waitpid().  The problem has been solved by modifying
756c26070a5Stholo        os2/waitpid.c instead of its callers.
757c26070a5Stholo
758c26070a5StholoThu Nov 30 16:37:10 1995  Karl Fogel  <kfogel@floss.cyclic.com>
759c26070a5Stholo
760c26070a5Stholo        * client.c: All these changes are for OS/2, which will no longer have
761c26070a5Stholo        a separate client.c:
762c26070a5Stholo        (start_kerberos_server): new func, contains code that
763c26070a5Stholo        used to be in start_server().
764c26070a5Stholo        (start_server): moved kerberos code to above function, reorganized
765c26070a5Stholo        the rest.  Added authentication clause.
766c26070a5Stholo        (call_in_directory): test errno against EACCESS, if EACCESS is
767c26070a5Stholo        defined (this is for OS/2's oddball mkdir).
768c26070a5Stholo        (change_mode): don't set execute permission on anything if
769c26070a5Stholo        EXECUTE_PERMISSION_LOSES is defined.
770c26070a5Stholo        (get_responses_and_close): if START_RSH_WITH_POPEN_RW, then use
771c26070a5Stholo        pclose() instead of fclose().
772c26070a5Stholo        If waitpid errors with ECHILD, don't die.  This is okay.
773c26070a5Stholo        (start_rsh_server): alternate definition if
774c26070a5Stholo        START_RSH_WITH_POPEN_RW.
775c26070a5Stholo
776c26070a5Stholo        * main.c: [all these changes conditional on CVS_LOGIN: ]
777c26070a5Stholo        Don't prototype connect_to_pserver, don't enter it in cmds[]
778c26070a5Stholo        (actually, it was never in there, I don't know why my previous
779c26070a5Stholo        change said it was).
780c26070a5Stholo        (use_authenticating_server): new global var.
781c26070a5Stholo        (main): if "-a", then set above new var to TRUE.
782c26070a5Stholo        (usg): document "-a" option.
783c26070a5Stholo
784c26070a5StholoWed Nov 29 12:55:10 1995  Karl Fogel  <kfogel@floss.cyclic.com>
785c26070a5Stholo
786c26070a5Stholo        * main.c: Prototype connect_to_pserver(), and enter it in cmds[].
787c26070a5Stholo        (main): test some extremely primitive authentication.
788c26070a5Stholo
789c26070a5Stholo        * login.c: Include <sys/socket.h>
790c26070a5Stholo        (connect_to_pserver): new func.
791c26070a5Stholo        (init_sockaddr): new func.
792c26070a5Stholo
793c26070a5StholoMon Nov 20 14:07:41 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
794c26070a5Stholo
795c26070a5Stholo	* Makefile.in (TAGFILES): Separate out from DISTFILES, for C code.
796c26070a5Stholo	(TAGS,tags): Use TAGFILES not DISTFILES.
797c26070a5Stholo
798c26070a5StholoSun Nov 19 11:22:43 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
799c26070a5Stholo
800c26070a5Stholo	* recurse.c (do_recursion): Don't call server_pause_check if there
801c26070a5Stholo	are writelocks around.  Revise comment to reflect fact we are no
802c26070a5Stholo	longer relying on a writelock'd operations being "unable" to
803c26070a5Stholo	generate enough data to pause.
804c26070a5Stholo
805c26070a5StholoSun Nov 19 10:04:50 1995  Peter Wemm  <peter@haywire.DIALix.COM>
806c26070a5Stholo
807c26070a5Stholo	* server.c, server.h, options.h.in: Implement hooks for doing
808c26070a5Stholo	simple flow control on the server to prevent VM exhaustion on a
809c26070a5Stholo	slow network with a fast server.
810c26070a5Stholo	* recurse.c: Call the flow control check at a convenient location
811c26070a5Stholo	while no locks are active.  This is a convenience tradeoff against
812c26070a5Stholo	accurate flow control - if you have a large directory it will all
813c26070a5Stholo	be queued up, bypassing the flow control check until the next
814c26070a5Stholo	directory is processed.
815c26070a5Stholo
816c26070a5StholoSat Nov 18 16:22:06 1995  Karl Fogel  <kfogel@floss.cyclic.com>
817c26070a5Stholo
818c26070a5Stholo        * client.c, update.c, vers_ts.c, server.c, rcs.c, lock.c,
819c26070a5Stholo        ignore.c, entries.c, diff.c, commit.c, checkin.c:
820c26070a5Stholo        Use new macro `existence_error', instead of comparing errno to
821c26070a5Stholo        ENOENT directly.
822c26070a5Stholo
823c26070a5StholoFri Nov 17 14:56:12 1995  Karl Fogel  <kfogel@floss.cyclic.com>
824c26070a5Stholo
825c26070a5Stholo        * client.c (start_server): removed alternate version of this func,
826c26070a5Stholo        since os2/client.c will now be used under OS/2.
827c26070a5Stholo
828c26070a5StholoThu Nov 16 22:57:12 1995  Karl Fogel  <kfogel@floss.cyclic.com>
829c26070a5Stholo
830c26070a5Stholo        * client.c (start_server): ifdef HAVE_POPEN_RW, use a different
831c26070a5Stholo        version of start_server().  This is maybe not the cleanest cut to
832c26070a5Stholo        make, but it's better than mucking around with yet more #ifdefs in
833c26070a5Stholo        the middle of the old start_server() function.  Once things are
834c26070a5Stholo        up, I may reposition this code.
835c26070a5Stholo
836c26070a5StholoWed Nov 15 15:33:37 1995  Karl Fogel  <kfogel@floss.cyclic.com>
837c26070a5Stholo
838c26070a5Stholo        * main.c (main): ifdef NEED_CALL_SOCKINIT, then call SockInit().
839c26070a5Stholo        Only OS/2 needs this initialization.
840c26070a5Stholo
841c26070a5StholoTue Nov 14 18:54:01 1995  Greg A. Woods  <woods@most.weird.com>
842c26070a5Stholo
843c26070a5Stholo	* patch.c:
844c26070a5Stholo	- fix orientation of test for result of getline() call
845c26070a5Stholo	- use fputs() not printf() when just copying file out
846c26070a5Stholo
847c26070a5Stholo	* cvsbug.sh:
848c26070a5Stholo	- add space after #!
849c26070a5Stholo	- new rcs id
850c26070a5Stholo	- allow version to be edited by Makefile.
851c26070a5Stholo
852c26070a5Stholo	* Makefile.in:
853c26070a5Stholo	- make Makefile a dependent of all (this might not be perfect, but
854c26070a5Stholo	it at least gives you a chance to catch up on the second
855c26070a5Stholo	go-around).
856c26070a5Stholo	- filter cvsbug.sh in a manner similar to cvsinit.sh to get the
857c26070a5Stholo	version number set from version.c
858c26070a5Stholo
859c26070a5StholoTue Nov 14 13:28:17 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
860c26070a5Stholo
861c26070a5Stholo	* sanity.sh: Call old log file check.plog, not check.olog.
862c26070a5Stholo
863c26070a5Stholo	* sanity.sh: Convert remaining tests from old-style ('***' on fail
864c26070a5Stholo	and nothing on pass), to new-style (FAIL on fail and PASS on pass).
865c26070a5Stholo
866c26070a5Stholo	* sanity.sh: Fix ability to run only some of the tests (always run
867c26070a5Stholo	tests 1-4.75 to set up repository, document better how it works).
868c26070a5Stholo
869c26070a5Stholo	* sanity.sh: Change "completed successfully" to "completed" in
870c26070a5Stholo	message--many tests, but not all, exit if they fail.
871c26070a5Stholo
872c26070a5StholoTue Nov 14 15:10:00 1995  Greg A. Woods  <woods@most.weird.com>
873c26070a5Stholo
874c26070a5Stholo	* sanity.sh: test 63 doesn't work and probably can't
875c26070a5Stholo
876c26070a5StholoTue Nov 14 12:22:00 1995  Greg A. Woods  <woods@most.weird.com>
877c26070a5Stholo
878c26070a5Stholo	* sanity.sh: many minor tweaks:
879c26070a5Stholo	- make the optional arguments almost work
880c26070a5Stholo	- use a function 'directory_cmp' instead of 'diff -r'
881c26070a5Stholo	- fix up a few more tests that weren't working....
882c26070a5Stholo
883c26070a5StholoMon Nov 13 07:33:55 1995  Karl Fogel  <kfogel@floss.cyclic.com>
884c26070a5Stholo
885c26070a5Stholo        * cvs.h: ifdef USE_OWN_POPEN, #include "popen.h".  Only OS/2 has
886c26070a5Stholo        its own popen()/pclose() right now.
887c26070a5Stholo
888c26070a5StholoMon Nov 13 04:06:10 1995  Karl Fogel  <kfogel@floss.cyclic.com>
889c26070a5Stholo
890c26070a5Stholo        * cvs.h: conform to 80 column standard (yes, I'm a pedant).
891c26070a5Stholo
892c26070a5StholoSat Nov 11 13:45:13 1995  Karl Fogel  <kfogel@floss.cyclic.com>
893c26070a5Stholo
894c26070a5Stholo        * client.c (process_prune_candidates): use unlink_file_dir() to
895c26070a5Stholo        remove the directory, instead of invoking "rm" via run_exec().
896c26070a5Stholo
897c26070a5StholoFri Nov 10 14:38:56 1995  Karl Fogel  <kfogel@floss.cyclic.com>
898c26070a5Stholo
899c26070a5Stholo        * main.c (main): removed "#define KF_GETOPT_LONG 1", since that
900c26070a5Stholo        change is no longer in testing.
901c26070a5Stholo
902c26070a5StholoThu Nov  9 20:32:12 1995  Karl Fogel  <kfogel@floss.cyclic.com>
903c26070a5Stholo
904c26070a5Stholo        * release.c (release): Use Popen(), not popen().
905c26070a5Stholo
906c26070a5StholoWed Nov  8 10:20:20 1995  Jim Meyering  (meyering@comco.com)
907c26070a5Stholo
908c26070a5Stholo	* entries.c (ParseTag): Remove dcl of unused local.
909c26070a5Stholo
910c26070a5Stholo	* patch.c: Include getline.h.
911c26070a5Stholo
912c26070a5StholoWed Nov  8 11:57:31 1995  Norbert Kiesel  <nk@col.sw-ley.de>
913c26070a5Stholo
914c26070a5Stholo	* options.h.in: add configuration option STEXID_SUPPORT (default
915c26070a5Stholo	  is off i.e. old semantics)
916c26070a5Stholo
917c26070a5Stholo	* filesubr.c (isaccessable): new function.  Checks access-rights
918c26070a5Stholo	for files like access(), but is getxid-safe.  Falls back to
919c26070a5Stholo	access() if SETXID_SUPPORT is not enabled.
920c26070a5Stholo	(isfile): replace stat() by isaccessable(file, F_OK)
921c26070a5Stholo	(isreadable): replace access() by isaccessable()
922c26070a5Stholo	(iswritable): ditto
923c26070a5Stholo	(make_directory): rename local variable buf to sb
924c26070a5Stholo
925c26070a5Stholo	* cvs.h: add prototype for new function isaccessable.
926c26070a5Stholo
927c26070a5Stholo	* server.c (serve_root): replace access() by isaccessable()
928c26070a5Stholo
929c26070a5Stholo	* cvsrc.c (read_cvsrc): replace access() by isreadable()
930c26070a5Stholo
931c26070a5Stholo	* main.c (main): replace access() by isaccessable()
932c26070a5Stholo
933c26070a5StholoWed Nov  8 10:22:41 1995  Greg A. Woods  <woods@most.weird.com>
934c26070a5Stholo
935c26070a5Stholo	* entries.c (fgetentent): change definition to static to match the
936c26070a5Stholo	declaration at the top of the file
937c26070a5Stholo
938c26070a5StholoTue Nov  7 16:59:25 1995  J.T. Conklin  <jtc@lestat.cygnus.com>
939c26070a5Stholo
940c26070a5Stholo	* rcs.c (RCS_getbranch, RCS_getdate, RCS_getrevtime, RCS_gettag,
941c26070a5Stholo 	RCS_getversion, RCS_head): Use assert() instead of attempting to
942c26070a5Stholo	"do the right thing" with a bogus RCSNode argument.
943c26070a5Stholo
944c26070a5StholoMon Nov  6 14:24:34 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
945c26070a5Stholo
946c26070a5Stholo	* vers_ts.c: Remove ctime define.  It is just asking for trouble.
947c26070a5Stholo
948c26070a5StholoMon Nov  6 11:58:26 1995  Karl Fogel  <kfogel@floss.cyclic.com>
949c26070a5Stholo
950c26070a5Stholo        * vers_ts.c: ifdef ctime, undef it before redefining it.  It is a
951c26070a5Stholo        macro on some systems.
952c26070a5Stholo
953c26070a5Stholo        * lock.c: don't prototype ctime() here.  (See note below about
954c26070a5Stholo        fgetentent() in entries.c.)
955c26070a5Stholo
956c26070a5StholoSun Nov  5 16:06:01 1995  Karl Fogel  <kfogel@floss.cyclic.com>
957c26070a5Stholo
958c26070a5Stholo        * entries.c (fgetentent): don't prototype ctime here; we include
959c26070a5Stholo        cvs.h, which includes system.h, which includes <time.h>
960c26070a5Stholo        unconditionally (either as <time.h> or <sys/time.h>).  Anyway, IBM
961c26070a5Stholo        C/C++ chokes on mid-function, or even mid-file, prototypes.  Sigh.
962c26070a5Stholo
963c26070a5StholoThu Nov  2 21:51:04 1995  Dan Wilder  <dan@gasboy.com>
964c26070a5Stholo
965c26070a5Stholo	* rtag.c (rtag): Fix typo ("-T" -> "-F").
966c26070a5Stholo
967c26070a5StholoTue Oct 31 19:09:11 1995  Dan Wilder <dan@gasboy.com>
968c26070a5Stholo
969c26070a5Stholo        * diff.c (diff_dirproc): just return R_SKIP_ALL if dir not exist.
970c26070a5Stholo        (diff_file_nodiff): don't complain if file doesn't exist, just
971c26070a5Stholo        ignore.
972c26070a5Stholo
973c26070a5StholoTue Oct 31 09:25:10 1995  Norbert Kiesel  <nk@col.sw-ley.de>
974c26070a5Stholo
975c26070a5Stholo	* sanity.sh: Use absolute pathname for mkmodules.
976c26070a5Stholo
977c26070a5StholoSat Oct 28 01:01:41 1995  Jim Meyering  (meyering@comco.com)
978c26070a5Stholo
979c26070a5Stholo	* entries.c (ParseTag): Use getline instead of fgets.
980c26070a5Stholo
981c26070a5StholoFri Oct 27 13:44:20 1995  Karl Fogel  <kfogel@floss.cyclic.com>
982c26070a5Stholo
983c26070a5Stholo        * cvs.h: do nothing about alloca ifdef ALLOCA_IN_STDLIB.  I am
984c26070a5Stholo        rather suspicious of this solution, and will not be surprised to
985c26070a5Stholo        find out that there's a Right Way to handle this situation ("this
986c26070a5Stholo        situation" being that OS/2 simply declares alloca in <stdlib.h>).
987c26070a5Stholo        Suggestions are welcome; see src/cvs.h and lib/system.h to see why
988c26070a5Stholo        I was getting a conflict in the first place.
989c26070a5Stholo
990c26070a5StholoWed Oct 25 16:03:20 1995  J.T. Conklin  <jtc@slave.cygnus.com>
991c26070a5Stholo
992c26070a5Stholo	* cvs.h (struct entnode): Add user field.
993c26070a5Stholo	* entries.c (fputentent): New function, write entries line.
994c26070a5Stholo	(write_ent_proc): Call fputentent to write entries line.
995c26070a5Stholo	(Entnode_Create): New function, construct new Entnode.
996c26070a5Stholo	(Entnode_Destroy): New function, destruct old Entnode.
997c26070a5Stholo	(AddEntryNode): Changed to take an Entnode argument instead of
998c26070a5Stholo	separate user, version, timestamp, etc. arguments.
999c26070a5Stholo	(fgetentent): Changed to return Entnode.
1000c26070a5Stholo	(struct entent, free_entent): Removed.
1001c26070a5Stholo
1002c26070a5StholoWed Oct 25 12:44:32 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
1003c26070a5Stholo
1004c26070a5Stholo	* admin.c (admin): Don't rely on ANSI C string concatenation;
1005c26070a5Stholo	SunOS 4.1.3 /bin/cc doesn't support it.
1006c26070a5Stholo
1007c26070a5StholoTue Oct 24 22:34:22 1995  Anthony J. Lill  <ajlill@ajlc.waterloo.on.ca>
1008c26070a5Stholo
1009c26070a5Stholo	* import.c (expand_at_signs): Check errno as well as return value
1010c26070a5Stholo	from putc.  Some systems bogusly return EOF when successfully
1011c26070a5Stholo	writing 0xff.
1012c26070a5Stholo
1013c26070a5StholoTue Oct 24 14:32:45 1995  Norbert Kiesel  <nk@col.sw-ley.de>
1014c26070a5Stholo
1015c26070a5Stholo	* admin.c (admin): use getcaller() instead of getpwuid
1016c26070a5Stholo
1017c26070a5Stholo	* subr.c (getcaller): prefer getlogin() to $USER and $LOGNAME
1018c26070a5Stholo	  (especially useful for NT where getuid always returns 0)
1019c26070a5Stholo
1020c26070a5StholoTue Oct 24 06:22:08 1995  Jim Meyering  (meyering@comco.com)
1021c26070a5Stholo
1022c26070a5Stholo	* cvsrc.c (read_cvsrc): Use getline instead of fgets.
1023c26070a5Stholo	* patch.c (patch_fileproc): Use getline instead of fgets.
1024c26070a5Stholo
1025c26070a5Stholo	* entries.c (fgetentent): Use getline instead of fgets.
1026c26070a5Stholo	Use xmalloc to allocate space for each returned entry.
1027c26070a5Stholo	Since LINE is no longer static, save it in struct entent.
1028c26070a5Stholo	(struct entent): New member, line.
1029c26070a5Stholo	(free_entent): New function.
1030c26070a5Stholo	(Entries_Open): Call it after each call to fgetentent.
1031c26070a5Stholo
1032c26070a5StholoTue Oct 24 11:13:15 1995  Norbert Kiesel  <nk@col.sw-ley.de>
1033c26070a5Stholo
1034c26070a5Stholo	* cvs.h: Declare valloc again, but this time with the right
1035c26070a5Stholo	  signature (also changed in libs/valloc.c)
1036c26070a5Stholo
1037c26070a5StholoMon Oct 23 12:17:03 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
1038c26070a5Stholo
1039c26070a5Stholo	* logmsg.c (do_editor): Check for errors from stdio calls.
1040c26070a5Stholo
1041c26070a5StholoMon Oct 23 12:37:06 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
1042c26070a5Stholo
1043c26070a5Stholo	* cvs.h: Don't declare valloc.  Some systems (e.g. linux) declare
1044c26070a5Stholo	it in stdlib.h in a conflicting way.
1045c26070a5Stholo
1046c26070a5StholoMon Oct 23 08:41:25 1995  Jim Meyering  (meyering@comco.com)
1047c26070a5Stholo
1048c26070a5Stholo	* commit.c (commit_filesdoneproc): Use getline instead of fgets.
1049c26070a5Stholo
1050c26070a5Stholo	* logmsg.c (do_editor): Use getline instead of fgets.
1051c26070a5Stholo	(rcsinfo_proc): Likewise.
1052c26070a5Stholo
1053c26070a5Stholo	* logmsg.c (do_editor): Lose if fclose of temp file output
1054c26070a5Stholo	stream fails.
1055c26070a5Stholo
1056c26070a5StholoMon Oct 23 11:59:41 1995  Norbert Kiesel  <nk@col.sw-ley.de>
1057c26070a5Stholo
1058c26070a5Stholo	* cvs.h: add valloc declaration
1059c26070a5Stholo
1060c26070a5Stholo	* server.h: add server_cleanup prototype
1061c26070a5Stholo
1062c26070a5Stholo	* server.c: remove server_cleanup prototype
1063c26070a5Stholo
1064c26070a5Stholo	* mkmodules.c (server_cleanup): fix parameter type
1065c26070a5Stholo
1066c26070a5Stholo	* server.c: encapsulate wait_sig in #ifdef sun (it's only used in
1067c26070a5Stholo	  code which is also encapsulated in #ifdef sun)
1068c26070a5Stholo
1069c26070a5Stholo	* rcscmds.c (RCS_deltag, RCS_lock): add definition of noerr
1070c26070a5Stholo	  parameter
1071c26070a5Stholo
1072c26070a5Stholo	* error.c: include cvs.h instead of config.h, add USE(rcsid)
1073c26070a5Stholo
1074c26070a5Stholo	* error.c (error): fix parameter type
1075c26070a5Stholo
1076c26070a5Stholo	* update.c (join_file): encapsulate recent changes from garyo
1077c26070a5Stholo	  within #ifdef SERVER_SUPPORT
1078c26070a5Stholo
1079c26070a5StholoSun Oct 22 13:47:53 1995  J.T. Conklin  <jtc@slave.cygnus.com>
1080c26070a5Stholo
1081c26070a5Stholo	* client.c (update_entries): Fix memory leak; free mode_string and
1082c26070a5Stholo	file_timestamp.
1083c26070a5Stholo	(send_fileproc): Fix memory leak; call freevers_ts before exiting.
1084c26070a5Stholo
1085c26070a5Stholo	* module.c (do_module): Partially fix memory leak; added
1086c26070a5Stholo	variable so that the address of memory allocated by line2argv
1087c26070a5Stholo	is retained, but comment out the call to free_names.  Freeing
1088c26070a5Stholo 	the vector at that point loses because some of the elements
1089c26070a5Stholo	may be used later in the function.
1090c26070a5Stholo	(cat_module): fix memory leak.
1091c26070a5Stholo
1092c26070a5Stholo	* recurse.c (start_recursion): Fix memory leak; free return
1093c26070a5Stholo	value of Name_Repository after it has been used.
1094c26070a5Stholo
1095c26070a5StholoSat Oct 21 23:24:26 1995  Jim Meyering  (meyering@comco.com)
1096c26070a5Stholo
1097c26070a5Stholo	* client.c (send_modified) [LINES_CRLF_TERMINATED]: Comment text
1098c26070a5Stholo	after #endif.
1099c26070a5Stholo
1100c26070a5StholoFri Oct 20 14:41:49 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
1101c26070a5Stholo
1102c26070a5Stholo	* sanity.sh: Add test 87a, to test for bug fixed by garyo in
1103c26070a5Stholo	change below.
1104c26070a5Stholo
1105c26070a5StholoFri Oct 20 10:59:58 1995  Gary Oberbrunner  <garyo@darkstar.avs.com>
1106c26070a5Stholo
1107c26070a5Stholo	* update.c (join_file): send file back to client even if no
1108c26070a5Stholo	conflicts were detected, by calling Register().
1109c26070a5Stholo
1110c26070a5StholoFri Oct 20 10:46:45 1995  Norbert Kiesel  <nk@col.sw-ley.de>
1111c26070a5Stholo
1112c26070a5Stholo	* lock.c: Add prototype for Check_Owner
1113c26070a5Stholo
1114c26070a5StholoThu Oct 19 16:38:14 1995  Jim Meyering  (meyering@comco.com)
1115c26070a5Stholo
1116c26070a5Stholo	* lock.c (Check_Owner): Declare function `static int'.
1117c26070a5Stholo
1118c26070a5StholoThu Oct 19 14:58:40 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
1119c26070a5Stholo
1120c26070a5Stholo	* expand_path.c (expand_variable): Fix typo ('*'->'(').
1121c26070a5Stholo
1122c26070a5StholoThu Oct 19 14:58:40 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
1123c26070a5Stholo
1124c26070a5Stholo	* commit.c (commit_filesdoneproc): Check for errors from fopen,
1125c26070a5Stholo	fgets, and fclose.
1126c26070a5Stholo
1127c26070a5Stholo	* rcscmds.c (RCS_merge): Remove comment about rcsmerge -E.
1128c26070a5Stholo	Hacking CVS was never a very good solution; the situation is fixed
1129c26070a5Stholo	in RCS 5.7, and is documented in ../INSTALL.
1130c26070a5Stholo
1131c26070a5StholoThu Oct 19 15:06:15 1995  Jim Meyering  (meyering@comco.com)
1132c26070a5Stholo
1133c26070a5Stholo	* filesubr.c (xchmod): Parenthesize arithmetic in operand of |
1134c26070a5Stholo	to placate gcc -Wall.
1135c26070a5Stholo
1136c26070a5Stholo	* expand_path.c (expand_path): Parenthesize assignments used as
1137c26070a5Stholo	truth values to placate gcc -Wall.
1138c26070a5Stholo
1139c26070a5Stholo	* commit.c (checkaddfile): Remove dcls of unused variables.
1140c26070a5Stholo	* lock.c (unlock): Remove dcl of unused variable.
1141c26070a5Stholo
1142c26070a5StholoThu Oct 19 14:58:40 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
1143c26070a5Stholo
1144c26070a5Stholo	* root.c (Create_Root): If noexec, don't create CVS/Root.
1145c26070a5Stholo
1146c26070a5StholoWed Oct 18 11:19:40 1995  J.T. Conklin  <jtc@slave.cygnus.com>
1147c26070a5Stholo
1148c26070a5Stholo	* lock.c (unlock): Change order of comparison so that Check_Owner
1149c26070a5Stholo	is called only if other conditions are true.  This performance
1150c26070a5Stholo	enhancement was broken when the AFS support was added.
1151c26070a5Stholo
1152c26070a5StholoWed Oct 18 12:51:33 1995  Karl Fogel  <kfogel@floss.cyclic.com>
1153c26070a5Stholo
1154c26070a5Stholo        * main.c (main): check if argv[0] is "pserver" with else-if, not
1155c26070a5Stholo        if, since we've already asked if it's "kserver".
1156c26070a5Stholo
1157c26070a5StholoTue Oct 17 18:09:23 1995  Warren Jones <wjones@tc.fluke.com>
1158c26070a5Stholo			  and Jim Kingdon  <kingdon@harvey.cyclic.com>
1159c26070a5Stholo
1160c26070a5Stholo	* sanity.sh: Deal with supplying a relative cvs filename, or
1161c26070a5Stholo	with a cvs filename which doesn't have basename "cvs".
1162c26070a5Stholo
1163c26070a5StholoMon Oct 16 15:58:31 1995  Vince Demarco <vdemarco@bou.shl.com>
1164c26070a5Stholo
1165c26070a5Stholo	* parseinfo.c (Parse_Info): if the Keyword isn't ALL the current
1166c26070a5Stholo	version doesn't use the expanded variable, It should.
1167c26070a5Stholo
1168c26070a5StholoMon Oct 16 15:58:31 1995  Gary Oberbrunner <garyo@avs.com>
1169c26070a5Stholo			  and Jim Kingdon  <kingdon@harvey.cyclic.com>
1170c26070a5Stholo
1171c26070a5Stholo	* server.c (server_register): Don't pass NULL to printf if tag,
1172c26070a5Stholo	date, or conflict is NULL.
1173c26070a5Stholo
1174c26070a5StholoThu Oct 12 12:13:42 1995  Karl Fogel  <kfogel@floss.cyclic.com>
1175c26070a5Stholo
1176c26070a5Stholo        * main.c (main): begin to handle "pserver"; support not complete
1177c26070a5Stholo        yet, however.
1178c26070a5Stholo
1179c26070a5StholoThu Oct 12 02:52:13 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
1180c26070a5Stholo
1181c26070a5Stholo	* expand_path.c: Don't #include <pwd.h>, since cvs.h already does,
1182c26070a5Stholo	and not all systems' <pwd.h>s are protected from multiple inclusion.
1183c26070a5Stholo	* login.c: Likewise.
1184c26070a5Stholo
1185c26070a5StholoWed Oct 11 15:23:24 1995  Karl Fogel  <kfogel@floss.cyclic.com>
1186c26070a5Stholo
1187c26070a5Stholo        * login.c (login): handle everything correctly now.
1188c26070a5Stholo
1189c26070a5StholoWed Oct 11 12:02:48 1995  Norbert Kiesel  <nk@col.sw-ley.de>
1190c26070a5Stholo
1191c26070a5Stholo	* rcs.c (RCS_gettag): support RCS keyword Name
1192c26070a5Stholo
1193c26070a5StholoTue Oct 10 19:11:16 1995  Karl Fogel  <kfogel@floss.cyclic.com>
1194c26070a5Stholo
1195c26070a5Stholo        * options.h.in (CVS_LOGIN): discuss, but leave commented out.
1196c26070a5Stholo        The "cvs login" command is still under construction; however, the
1197c26070a5Stholo        repository was changing so fast that instead of creating a branch
1198c26070a5Stholo        and dealing with the attendant hair, I'm just developing on the
1199c26070a5Stholo        trunk, making sure that everything is surrounded by "#ifdef
1200c26070a5Stholo        CVS_LOGIN ... #endif" so I don't get in anyone's way.
1201c26070a5Stholo
1202c26070a5Stholo        * login.c: include cvs.h before checking CVS_LOGIN, so it has a
1203c26070a5Stholo        chance to get defined before we ask if it's defined.
1204c26070a5Stholo        (login): oops, use semi not comma in `for' loop init.
1205c26070a5Stholo
1206c26070a5Stholo        * Makefile.in (SOURCES, OBJECTS): include login.c, login.o.
1207c26070a5Stholo
1208c26070a5Stholo        * main.c: added protoype for login().
1209c26070a5Stholo        Added "login" entry to cmds[].
1210c26070a5Stholo        (usg): added line about "login".
1211c26070a5Stholo
1212c26070a5Stholo        * login.c: new file.
1213c26070a5Stholo
1214c26070a5StholoTue Oct 10 18:33:47 1995  Karl Fogel  <kfogel@totoro.cyclic.com>
1215c26070a5Stholo
1216c26070a5Stholo        * Makefile.in (COMMON_OBJECTS): added error.o.
1217c26070a5Stholo        (OBJECTS): took error.o out; it's in COMMON_OBJECTS now.
1218c26070a5Stholo
1219c26070a5StholoTue Oct 10 12:02:37 1995  Thorsten Lockert  <tholo@sigmasoft.com>
1220c26070a5Stholo
1221c26070a5Stholo	* cvsbug.sh: Cater to lame versions of sh (4.4BSD ash) by using
1222c26070a5Stholo	${foo-bar} instead of `if....`.
1223c26070a5Stholo
1224c26070a5StholoTue Oct 10 12:02:37 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
1225c26070a5Stholo
1226c26070a5Stholo	* remove.c (remove_fileproc): If noexec, don't remove file.  Check
1227c26070a5Stholo	for error when removing file.
1228c26070a5Stholo
1229c26070a5StholoSun Oct  8 12:32:15 1995  Peter Wemm  <peter@haywire.DIALix.COM>
1230c26070a5Stholo
1231c26070a5Stholo	* run.c: detect/use POSIX/BSD style reliable signals for critical
1232c26070a5Stholo	section masking etc.  Helps prevent stray locks on interruption.
1233c26070a5Stholo
1234c26070a5StholoSat Oct  7 23:26:54 1995  Norbert Kiesel  <nk@col.sw-ley.de>
1235c26070a5Stholo
1236c26070a5Stholo	* admin.c (admin): If group CVS_ADMIN_GROUP exists, allow only
1237c26070a5Stholo	users in that group to use "cvs admin".
1238c26070a5Stholo	* options.h.in: Default CVS_ADMIN_GROUP to "cvsadmin".
1239c26070a5Stholo
1240c26070a5StholoSat Oct  7 23:05:24 1995  Norbert Kiesel  <nk@col.sw-ley.de>
1241c26070a5Stholo
1242c26070a5Stholo	* add.c, checkout.c, commit.c, cvs.h, filesubr.c, import.c,
1243c26070a5Stholo	lock.c, main.c, modules.c, options.h.in: New variable cvsumask
1244c26070a5Stholo	which is used to set mode of files in repository (regardless of
1245c26070a5Stholo	umask in effect when cvs is run).
1246c26070a5Stholo
1247c26070a5StholoSat Oct  7 22:40:17 1995  Stephen Bailey  <sjbailey@sand.npl.washington.edu>
1248c26070a5Stholo
1249c26070a5Stholo	* lock.c: Include AFSCVS ifdefs to deal with AFS's lack of
1250c26070a5Stholo	correspondance between userid's from stat and from geteuid.
1251c26070a5Stholo
1252c26070a5StholoSat Oct  7 22:28:49 1995  Scott Carson  <sdc@TracerTech.COM>
1253c26070a5Stholo
1254c26070a5Stholo	* add.c (add): Pass -ko, not -k -ko, to set keyword expansion options.
1255c26070a5Stholo
1256c26070a5Stholo	* admin.c (admin): Don't skip first argument when sending to server.
1257c26070a5Stholo
1258c26070a5StholoFri Oct  6 21:45:03 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
1259c26070a5Stholo
1260c26070a5Stholo	* version.c: Version 1.6.1.
1261c26070a5Stholo
1262c26070a5StholoFri Oct  6 21:31:28 1995  Jeff Johnson  <jbj@brewster.jbj.org>
1263c26070a5Stholo
1264c26070a5Stholo	* cvs.h, admin.c, client.c, commit.c, log.c, modules.c,
1265c26070a5Stholo	parseinfo.c, patch.c, recurse.c, rtag.c, status.c, tag.c:
1266c26070a5Stholo	Prototype when dealing in pointers to functions.
1267c26070a5Stholo
1268c26070a5StholoFri Oct  6 21:07:22 1995  Mark H. Wilkinson  <mhw@minster.york.ac.uk>
1269c26070a5Stholo
1270c26070a5Stholo	* cvsrc.c (read_cvsrc): fix look up of command names in cvsrc file
1271c26070a5Stholo	to use full name from command table rather than possible nickname
1272c26070a5Stholo	in argv. Fixes errors with things like `cvs di' when cvsrc has
1273c26070a5Stholo	`diff -u5' in it.
1274c26070a5Stholo
1275c26070a5StholoThu Aug  3 01:03:52 1995  Vince DeMarco  <vdemarco@bou.shl.com>
1276c26070a5Stholo
1277c26070a5Stholo	* parseinfo.c (Parse_Info): Add code to call expand_path function
1278c26070a5Stholo	instead of using built in code.
1279c26070a5Stholo
1280c26070a5Stholo	* wrapper.c (wrap_add): Add code to call expand_path function to
1281c26070a5Stholo	expand all built in variables.
1282c26070a5Stholo
1283c26070a5Stholo	* expand_path.c (New file): expand things that look like
1284c26070a5Stholo	environmental variables (only expand local CVS environmental
1285c26070a5Stholo	variables) and user names like ~/.
1286c26070a5Stholo	* cvs.h: Declare expand_path.
1287c26070a5Stholo
1288c26070a5Stholo	* Makefile.in (SOURCES, OBJECTS): Added expand_path.c,
1289c26070a5Stholo	expand_path.o.
1290c26070a5Stholo
1291c26070a5StholoFri Oct  6 14:03:09 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
1292c26070a5Stholo
1293c26070a5Stholo	* ignore.c (ign_setup): Don't try to look for a file in CVSroot if
1294c26070a5Stholo	client.  (The recent tightening of the error checking detects this).
1295c26070a5Stholo
1296c26070a5Stholo	* commit.c (checkaddfile): Don't try to pass options if it is "".
1297c26070a5Stholo
1298c26070a5StholoThu Oct  5 18:04:46 1995  Karl Fogel  <kfogel@totoro.cyclic.com>
1299c26070a5Stholo
1300c26070a5Stholo        * sanity.sh: unset CVSREAD, since it causes the script to bomb.
1301c26070a5Stholo
1302c26070a5StholoThu Oct  5 18:29:17 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
1303c26070a5Stholo
1304c26070a5Stholo	* remove.c, add.c, commit.c, cvs.h: Remove CVSEXT_OPT stuff; it
1305c26070a5Stholo	has been broken for ages and the options are already stored in the
1306c26070a5Stholo	Entries file.
1307c26070a5Stholo
1308c26070a5StholoThu Oct  5 18:20:13 1995  Norbert Kiesel  <nk@col.sw-ley.de>
1309c26070a5Stholo
1310c26070a5Stholo	* commit.c (checkaddfile): New argument options; pass it to RCS.
1311c26070a5Stholo	(commit_fileproc): Pass it.
1312c26070a5Stholo
1313c26070a5StholoTue Oct  3 09:26:00 1995  Karl Fogel  <kfogel@totoro.cyclic.com>
1314c26070a5Stholo
1315c26070a5Stholo        * version.c: upped to 1.6.
1316c26070a5Stholo
1317c26070a5StholoMon Oct  2 18:10:35 1995  Larry Jones  <larry.jones@sdrc.com>
1318c26070a5Stholo
1319c26070a5Stholo	* server.c: if HAVE_SYS_BSDTYPES_H, include <sys/bsdtypes.h>.
1320c26070a5Stholo
1321c26070a5StholoMon Oct  2 10:34:53 1995  Karl Fogel  <kfogel@totoro.cyclic.com>
1322c26070a5Stholo
1323c26070a5Stholo        * version.c: Upped version to 1.5.95.
1324c26070a5Stholo
1325c26070a5StholoMon Oct  2 15:16:47 1995  Norbert Kiesel  <nk@col.sw-ley.de>
1326c26070a5Stholo
1327c26070a5Stholo	* tag.c, rtag.c: pass "mov" instead of "add" if tag will be moved
1328c26070a5Stholo	(i.e. invoked with -F)
1329c26070a5Stholo
1330c26070a5StholoSun Oct  1 18:36:34 1995  Karl Fogel  <kfogel@totoro.cyclic.com>
1331c26070a5Stholo
1332c26070a5Stholo        * version.c: upped to 1.5.94.
1333c26070a5Stholo
1334c26070a5Stholo        * server.c: reverted earlier ISC change (of Sep. 28).
1335c26070a5Stholo
1336c26070a5Stholo        * version.c: upped to 1.5.93, for Peter Wemm's new SVR4 patch.
1337c26070a5Stholo
1338c26070a5StholoSun Oct  1 14:51:59 1995  Harlan Stenn  <Harlan.Stenn@pfcs.com>
1339c26070a5Stholo
1340c26070a5Stholo        * main.c: don't #include <pwd.h>; cvs.h does that already.
1341c26070a5Stholo
1342c26070a5StholoFri Sep 29 15:21:35 1995  Karl Fogel  <kfogel@floss.cyclic.com>
1343c26070a5Stholo
1344c26070a5Stholo        * version.c: upped to 1.5.91 for another pre-1.6 release.
1345c26070a5Stholo
1346c26070a5StholoFri Sep 29 14:41:14 1995  <bmeier@rzu.unizh.ch>
1347c26070a5Stholo
1348c26070a5Stholo        * root.c: start rcsid[] with "CVSid".
1349c26070a5Stholo
1350c26070a5StholoFri Sep 29 13:22:44 1995  Jim Blandy  <jimb@totoro.cyclic.com>
1351c26070a5Stholo
1352c26070a5Stholo	* diff.c (diff): Doc fix.
1353c26070a5Stholo
1354c26070a5StholoFri Sep 29 14:32:36 1995  Norbert Kiesel <nk@col.sw-ley.de>
1355c26070a5Stholo
1356c26070a5Stholo        * repos.c (Short_Repository): chop superfluous "/".
1357c26070a5Stholo
1358c26070a5Stholo        * tag.c (pretag_proc): correct user-visible string.
1359c26070a5Stholo
1360c26070a5Stholo        * rtag.c (pretag_proc): correct user-visible string.
1361c26070a5Stholo
1362c26070a5StholoFri Sep 29 13:45:36 1995  Karl Fogel  <kfogel@floss.cyclic.com>
1363c26070a5Stholo
1364c26070a5Stholo        * cvs.h (USE): if __GNUC__ != 2, expand to a dummy var instead of
1365c26070a5Stholo        nothing.
1366c26070a5Stholo
1367c26070a5StholoThu Sep 28 13:37:05 1995  Larry Jones <larry.jones@sdrc.com>
1368c26070a5Stholo
1369c26070a5Stholo        * server.c: ifdef ISC, include <sys/bsdtypes.h>.
1370c26070a5Stholo
1371c26070a5StholoFri Sep 29 07:54:22 1995  Mike Sutton  <mws115@llcoolj.dayton.saic.com>
1372c26070a5Stholo
1373c26070a5Stholo	* filesubr.c (last_component): Don't use ANSI style declaration.
1374c26070a5Stholo
1375c26070a5StholoWed Sep 27 15:24:00 1995  Del  <del@matra.com.au>
1376c26070a5Stholo
1377c26070a5Stholo	* tag.c, rtag.c:  Pass a few extra options to the script
1378c26070a5Stholo	named in taginfo (del/add, and revision number).
1379c26070a5Stholo
1380c26070a5Stholo	* tag.c:  Support a -r option (at long last).  Also needs
1381c26070a5Stholo	a -f option to tag the head if there is no matching -r tag.
1382c26070a5Stholo
1383c26070a5StholoTue Sep 26 11:41:08 1995  Karl Fogel  <kfogel@totoro.cyclic.com>
1384c26070a5Stholo
1385c26070a5Stholo        * version.c: Upped version to 1.5.89 for test release preceding
1386c26070a5Stholo        1.6.
1387c26070a5Stholo
1388c26070a5StholoWed Sep 20 15:32:49 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
1389c26070a5Stholo
1390c26070a5Stholo	* ignore.c (ign_add_file): Check for errors from fopen and fclose.
1391c26070a5Stholo
1392c26070a5StholoTue Sep 19 18:02:16 1995  Jim Blandy  <jimb@totoro.cyclic.com>
1393c26070a5Stholo
1394c26070a5Stholo	* Makefile.in (DISTFILES): Remove sanity.el from this list; the
1395c26070a5Stholo	file has been deleted.
1396c26070a5Stholo
1397c26070a5StholoThu Sep 14 14:17:52 1995  Peter Wemm  <peter@haywire.dialix.com>
1398c26070a5Stholo
1399c26070a5Stholo	* import.c: Recover from being unable to open the user file.
1400c26070a5Stholo
1401c26070a5Stholo	* update.c (join_file): Print a message in the case where the file
1402c26070a5Stholo	was added.
1403c26070a5Stholo
1404c26070a5Stholo	* mkmodules.c: Deal with .db as well as .pag/.dir (for use with
1405c26070a5Stholo	BSD 4.4 and real dbm support).
1406c26070a5Stholo
1407c26070a5StholoMon Sep 11 15:44:13 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
1408c26070a5Stholo
1409c26070a5Stholo	* release.c (release): Revise comment regarding why and how we
1410c26070a5Stholo	skip argv[0].
1411c26070a5Stholo
1412c26070a5StholoMon Sep 11 10:03:59 1995  Karl Fogel  <kfogel@floss.cyclic.com>
1413c26070a5Stholo
1414c26070a5Stholo        * release.c (release): use return value of pclose to determine
1415c26070a5Stholo        success of update.
1416c26070a5Stholo
1417c26070a5StholoMon Sep 11 09:56:33 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
1418c26070a5Stholo
1419c26070a5Stholo	* release.c (release_delete): Fix comment.
1420c26070a5Stholo
1421c26070a5StholoSun Sep 10 18:48:35 1995  Karl Fogel  <kfogel@floss.cyclic.com>
1422c26070a5Stholo
1423c26070a5Stholo        * release.c (release): made work with client/server.
1424c26070a5Stholo        Don't ask if <arg> is mentioned in `modules'.
1425c26070a5Stholo
1426c26070a5StholoFri Sep  8 13:25:55 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
1427c26070a5Stholo
1428c26070a5Stholo	* sanity.sh: When committing a removal, send stdout to LOGFILE;
1429c26070a5Stholo	this is no longer a silent operation.
1430c26070a5Stholo
1431c26070a5Stholo	* sanity.sh: Remove OUTPUT variable; it is unused.
1432c26070a5Stholo
1433c26070a5Stholo	* client.c: Add comment regarding deleting temp file.
1434c26070a5Stholo	* main.c: Add comment regarding getopt REQUIRE_ORDER.
1435c26070a5Stholo
1436c26070a5StholoThu Sep  7 20:24:46 1995  Karl Fogel  <kfogel@floss.cyclic.com>
1437c26070a5Stholo
1438c26070a5Stholo        * main.c (main): use getopt_long(), accept "--help" and
1439c26070a5Stholo        "--version".
1440c26070a5Stholo        Don't assume EOF is -1.
1441c26070a5Stholo
1442c26070a5StholoThu Sep 7  19:18:00 1995  Jim Blandy  <jimb@cyclic.com>
1443c26070a5Stholo
1444c26070a5Stholo	* cvs.h (unlink_file_dir): Add prototype for this.
1445c26070a5Stholo
1446c26070a5StholoThu Sep  7 14:38:06 1995  Karl Fogel  <kfogel@floss.cyclic.com>
1447c26070a5Stholo
1448c26070a5Stholo        * ALL FILES: add semicolon, as indicated below.
1449c26070a5Stholo
1450c26070a5Stholo        * cvs.h (USE): don't provide semicolon in the expansion of the USE
1451c26070a5Stholo        macro; we'd rather the callers provided it themselves because that
1452c26070a5Stholo        way etags doesn't get fooled.
1453c26070a5Stholo
1454c26070a5StholoMon Sep  4 23:30:41 1995  Magnus Hyllander  <mhy@os.se>
1455c26070a5Stholo
1456c26070a5Stholo	* checkout.c: cvs export now takes -k option and does not default
1457c26070a5Stholo	to -kv.
1458c26070a5Stholo	* checkout.c, cvs.h, modules.c: Modules file now takes -e option
1459c26070a5Stholo	for cvs export.
1460c26070a5Stholo
1461c26070a5StholoMon Sep  4 23:30:41 1995  Kirby Koster  <koster@sctc.com>
1462c26070a5Stholo
1463c26070a5Stholo	* commit.c: When committing a removal, print a message saying what
1464c26070a5Stholo	we are doing.
1465c26070a5Stholo
1466c26070a5StholoWed Aug  2 10:06:51 1995  Vince DeMarco  <vdemarco@bou.shl.com>
1467c26070a5Stholo
1468c26070a5Stholo	* server.c: fix compiler warnings (on NeXT) (declare functions as
1469c26070a5Stholo	static inline instead of just static) functions: get_buffer_date,
1470c26070a5Stholo	buf_append_char, and buf_append_data
1471c26070a5Stholo
1472c26070a5StholoMon Sep  4 22:31:28 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
1473c26070a5Stholo
1474c26070a5Stholo	* client.c (update_entries), import.c (expand_at_signs): Check for
1475c26070a5Stholo	errors from fread and putc.
1476c26070a5Stholo
1477c26070a5StholoFri Sep  1 00:03:17 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
1478c26070a5Stholo
1479c26070a5Stholo	* sanity.sh: Fix TODO item pathname.
1480c26070a5Stholo
1481c26070a5Stholo	* sanity.el: Removed.  It was out of date, didn't do much, and I
1482c26070a5Stholo	doubt anyone was using it.
1483c26070a5Stholo
1484c26070a5Stholo	* no_diff.c (No_Difference): Don't change the modes of the files.
1485c26070a5Stholo
1486c26070a5StholoThu Aug 31 13:14:34 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
1487c26070a5Stholo
1488c26070a5Stholo	* version.c: Change version to 1.5.1.
1489c26070a5Stholo
1490c26070a5Stholo	* client.c (start_rsh_server): Don't pass -d to "cvs server"
1491c26070a5Stholo	invocation via rsh (restore change which was lost when NT stuff
1492c26070a5Stholo	was merged in).
1493c26070a5Stholo	* sanity.sh: Add TODO item suggesting test for bug which this fixes.
1494c26070a5Stholo
1495c26070a5StholoWed Aug 30 12:36:37 1995  Jim Blandy  <jimb@totoro.cyclic.com>
1496c26070a5Stholo
1497c26070a5Stholo	* sanity.sh (basic1): Make sure first-dir is deleted before
1498c26070a5Stholo	running this set of tests.
1499c26070a5Stholo
1500c26070a5Stholo        * subr.c: Extract file twiddling functions to a different file,
1501c26070a5Stholo	because we want to use different versions of many of these
1502c26070a5Stholo	routines under Windows NT.
1503c26070a5Stholo	(copy_file, isdir, islink, isfile, isreadable, iswritable,
1504c26070a5Stholo	open_file, make_directory, make_directories, xchmod,
1505c26070a5Stholo	rename_file, link_file, unlink_file, xcmp, tmpnam,
1506c26070a5Stholo	unlink_file_dir, deep_remove_dir): Moved to...
1507c26070a5Stholo	* filesubr.c: ...this file, which is new.
1508c26070a5Stholo	* Makefile.in (SOURCES): Mention filesubr.c.
1509c26070a5Stholo	(COMMON_OBJECTS): Mention filesubr.o.
1510c26070a5Stholo
1511c26070a5Stholo	* subr.c: Extract process execution guts to a different file,
1512c26070a5Stholo	because we want to replace these routines entirely under
1513c26070a5Stholo	Windows NT.
1514c26070a5Stholo	(VA_START, va_alist, va_dcl): Move this stuff...
1515c26070a5Stholo	(run_add_arg, run_init_prog): and these declarations...
1516c26070a5Stholo	(run_prog, run_argv, run_argc, run_argc_allocated): and these
1517c26070a5Stholo	variables...
1518c26070a5Stholo	(run_setup, run_arg, run_args, run_add_arg, run_init_prog,
1519c26070a5Stholo	run_exec, run_print, Popen): and these functions...
1520c26070a5Stholo	* run.c: To this file, which is new.
1521c26070a5Stholo	* Makefile.in (SOURCES): Mention run.c.
1522c26070a5Stholo	(COMMON_OBJECTS): Mention run.o.
1523c26070a5Stholo
1524c26070a5Stholo	* status.c (status): Call ign_setup, if client_active.  Otherwise,
1525c26070a5Stholo	we don't end up ignoring CVS directories and such.
1526c26070a5Stholo
1527c26070a5Stholo	* server.c (mkdir_p, dirswitch): Use CVS_MKDIR instead of mkdir.
1528c26070a5Stholo
1529c26070a5Stholo	* repos.c (Name_Repository): Use the isabsolute function instead of
1530c26070a5Stholo	checking the first character of the path.
1531c26070a5Stholo	* root.c (Name_Root): Same.
1532c26070a5Stholo
1533c26070a5Stholo	* release.c (release): Use fncmp instead of strcmp to compare
1534c26070a5Stholo	filenames.
1535c26070a5Stholo
1536c26070a5Stholo	* rcs.c (RCS_parse, RCS_parsercsfile) [LINES_CRLF_TERMINATED]:
1537c26070a5Stholo	Abort, because we have strong reason to believe this code is
1538c26070a5Stholo	wrong.
1539c26070a5Stholo
1540c26070a5Stholo	* patch.c (patch): Register signal handlers iff the signal name is
1541c26070a5Stholo	#defined.
1542c26070a5Stholo
1543c26070a5Stholo	* no_diff.c (No_Difference): Don't try to include server_active in
1544c26070a5Stholo	trace message unless SERVER_SUPPORT is #defined.
1545c26070a5Stholo
1546c26070a5Stholo	* modules.c (do_module): Use CVS_MKDIR instead of mkdir.
1547c26070a5Stholo
1548c26070a5Stholo	* mkmodules.c (main): Call last_component instead of writing it out.
1549c26070a5Stholo
1550c26070a5Stholo	* main.c (main): Call last_component instead of writing it out.
1551c26070a5Stholo	Break up the long copyright string into several strings; Microsoft
1552c26070a5Stholo	Visual C++ can't handle a line that long.  Feh.
1553c26070a5Stholo	Use fncmp instead of strcmp to compare filenames.
1554c26070a5Stholo	Register signal handlers iff the signal name is #defined.
1555c26070a5Stholo
1556c26070a5Stholo	* lock.c (readers_exist): Don't check return value of closedir.
1557c26070a5Stholo	Most of the rest of the code doesn't, and some systems don't
1558c26070a5Stholo	provide a return value anyway.
1559c26070a5Stholo	(set_lock): Use CVS_MKDIR instead of mkdir.
1560c26070a5Stholo
1561c26070a5Stholo	* import.c (import): Use the isabsolute function instead of
1562c26070a5Stholo	checking the first character of the path.
1563c26070a5Stholo	Try to delete the temporary file again after we close it, so it'll
1564c26070a5Stholo	get deleted on systems that don't let you delete files that are
1565c26070a5Stholo	open.
1566c26070a5Stholo	(add_rev): Instead of making a hard link to the working file and
1567c26070a5Stholo	checking in the revision with ci -r, use ci -u and restore the
1568c26070a5Stholo	permission bits.
1569c26070a5Stholo	(comtable): Include lines from SYSTEM_COMMENT_TABLE, if it is
1570c26070a5Stholo	#defined.
1571c26070a5Stholo	(add_rcs_file) [LINES_CRLF_TERMINATED]: Abort, because we have
1572c26070a5Stholo	strong reason to believe this code is wrong.
1573c26070a5Stholo	(import_descend_dir): Use CVS_MKDIR instead of mkdir.
1574c26070a5Stholo
1575c26070a5Stholo	* history.c (read_hrecs): Open the file with OPEN_BINARY.
1576c26070a5Stholo
1577c26070a5Stholo	* find_names.c (add_entries_proc, fsortcmp): Add prototypes.
1578c26070a5Stholo	* entries.c (write_ent_proc): Add prototype.
1579c26070a5Stholo	* hash.c (walklist): Add prototype for PROC argument.
1580c26070a5Stholo	(sortlist): Add prototype for COMP argument.
1581c26070a5Stholo	(printnode): Add a prototype, and make it static.
1582c26070a5Stholo
1583c26070a5Stholo	* cvs.h (wrap_add_file, wrap_add): Add extern decls for these;
1584c26070a5Stholo	they're used in import.c and update.c.
1585c26070a5Stholo	* wrapper.c (wrap_add_file, wrap_add): Remove them from here.
1586c26070a5Stholo
1587c26070a5Stholo	* cvs.h (RUN_NORMAL, RUN_COMBINED, RUN_REALLY, RUN_STDOUT_APPEND,
1588c26070a5Stholo	RUN_STDERR_APPEND, RUN_SIGNIGNORE, RUN_TTY, run_arg, run_print,
1589c26070a5Stholo	run_setup, run_args, run_exec, Popen, piped_child, close_on_exec,
1590c26070a5Stholo	filter_stream_through_program, waitpid): Move all these
1591c26070a5Stholo	declarations and definitions to the same section.
1592c26070a5Stholo
1593c26070a5Stholo	* cvs.h (error_set_cleanup): Fix prototype.
1594c26070a5Stholo
1595c26070a5Stholo	* cvs.h (isabsolute, last_component): New extern decls.
1596c26070a5Stholo
1597c26070a5Stholo	* cvs.h (link_file): Function is deleted; remove extern decl.
1598c26070a5Stholo
1599c26070a5Stholo	* cvs.h (DEATH_STATE, DEATH_SUPPORT): Move #definitions of these
1600c26070a5Stholo	above the point where we #include rcs.h, since rcs.h tests them
1601c26070a5Stholo	(or DEATH_SUPPORT, at least).
1602c26070a5Stholo
1603c26070a5Stholo	* cvs.h (DEVNULL): #define this iff it isn't already #defined.
1604c26070a5Stholo	config.h may want to override it.
1605c26070a5Stholo
1606c26070a5Stholo	* cvs.h (SERVER_SUPPORT, CLIENT_SUPPORT): Don't #define these
1607c26070a5Stholo	here; let config.h do that.  On some systems, we don't have any
1608c26070a5Stholo	server support.
1609c26070a5Stholo
1610c26070a5Stholo	* cvs.h: Don't #include <io.h> or <direct.h>; we take care of
1611c26070a5Stholo	those in lib/system.h.
1612c26070a5Stholo
1613c26070a5Stholo	* commit.c (commit): Open logfile with the OPEN_BINARY flag.
1614c26070a5Stholo	(precommit_proc): Use the isabsolute function, instead of
1615c26070a5Stholo	comparing the first character with /.
1616c26070a5Stholo	(remove_file, checkaddfile): Use CVS_MKDIR instead of mkdir.
1617c26070a5Stholo
1618c26070a5Stholo        * client.c (send_repository): Use larger line buffers.
1619c26070a5Stholo
1620c26070a5Stholo        * client.c [LINES_CRLF_TERMINATED] (update_entries): If we've just
1621c26070a5Stholo	received a gzipped file, copy it over, converting LF to CRLF,
1622c26070a5Stholo	instead of just renaming it into place.
1623c26070a5Stholo	[LINES_CRLF_TERMINATED] (send_modified): Convert file to LF format
1624c26070a5Stholo	before sending with gzip.
1625c26070a5Stholo	(send_modified): Don't be disturbed if we get fewer than
1626c26070a5Stholo	sb.st_size characters when we read.  The read function may be
1627c26070a5Stholo	collapsing CRLF to LF for us.
1628c26070a5Stholo
1629c26070a5Stholo	* client.c: Add forward declarations for all the cvs command
1630c26070a5Stholo	functions we call.
1631c26070a5Stholo
1632c26070a5Stholo	* client.c: Add forward static declarations for all the
1633c26070a5Stholo	handle_mumble functions.
1634c26070a5Stholo
1635c26070a5Stholo	On some systems, RSH converts LF to CRLF; this screws us up.
1636c26070a5Stholo	* client.c (rsh_pid): Declare this iff RSH_NOT_TRANSPARENT is not
1637c26070a5Stholo	#defined.
1638c26070a5Stholo	(get_responses_and_close): Use SHUTDOWN_SERVER if it is #defined.
1639c26070a5Stholo	Only wait for rsh process to exit if RSH_NOT_TRANSPARENT is not
1640c26070a5Stholo	#defined.
1641c26070a5Stholo	(start_rsh_server): Declare and define only if
1642c26070a5Stholo	RSH_NOT_TRANSPARENT is not #defined.  Use piped_child, instead of
1643c26070a5Stholo	writing all that out.
1644c26070a5Stholo	(start_server): Only try to call start_rsh_server if
1645c26070a5Stholo	RSH_NOT_TRANSPARENT is not #defined.  Use START_SERVER if it is
1646c26070a5Stholo	#defined.  Convert file descriptors to stdio file pointers using
1647c26070a5Stholo	the FOPEN_BINARY_WRITE and FOPEN_BINARY_READ strings.
1648c26070a5Stholo
1649c26070a5Stholo	* client.h (rsh_pid): Don't declare this; it's never used elsewhere.
1650c26070a5Stholo	(supported_request): Add external declaration for this;
1651c26070a5Stholo	it's used in checkout.c.
1652c26070a5Stholo
1653c26070a5Stholo	Move process-running functions to run.c; we need to totally
1654c26070a5Stholo	replace these on other systems, like Windows NT.
1655c26070a5Stholo	* client.c (close_on_exec, filter_stream_through_program): Moved
1656c26070a5Stholo	to run.c.
1657c26070a5Stholo	* run.c (close_on_exec, filter_stream_through_program): Here they
1658c26070a5Stholo	are.
1659c26070a5Stholo
1660c26070a5Stholo	* add.c (add_directory): Use CVS_MKDIR instead of straight mkdir.
1661c26070a5Stholo	* checkout.c (checkout, build_dirs_and_chdir): Same.
1662c26070a5Stholo	(checkout_proc): Use fncmp instead of strcmp.
1663c26070a5Stholo	* client.c (call_in_directory): Use CVS_MKDIR instead of straight
1664c26070a5Stholo	mkdir.
1665c26070a5Stholo
1666c26070a5Stholo	* client.c (handle_checksum): Cast return value of strtol.
1667c26070a5Stholo
1668c26070a5StholoWed Aug 30 10:35:46 1995  Stefan Monnier <stefan.monnier@epfl.ch>
1669c26070a5Stholo
1670c26070a5Stholo        * main.c (main): Allow -d to override CVSROOT_ENV.
1671c26070a5Stholo
1672c26070a5StholoThu Aug 24 18:57:49 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
1673c26070a5Stholo
1674c26070a5Stholo	* cvs.h, rcscmds.c (RCS_unlock, RCS_deltag, RCS_lock): Add extra
1675c26070a5Stholo	parameter for whether to direct stderr to DEVNULL.
1676c26070a5Stholo	* checkin.c, tag.c, rtag.c, import.c, commit.c: Pass extra
1677c26070a5Stholo	argument.  1 if stderr had been directed to DEVNULL before
1678c26070a5Stholo	rcscmds.c was in use, 0 if it was RUN_TTY.
1679c26070a5Stholo
1680c26070a5Stholo	* cvs.h: Add comment regarding attic.
1681c26070a5Stholo
1682c26070a5StholoTue Aug 22 10:09:29 1995  Alexander Dupuy  <dupuy@smarts.com>
1683c26070a5Stholo
1684c26070a5Stholo	* rcs.c (whitespace): Cast to unsigned char in case char is signed
1685c26070a5Stholo	and value is negative.
1686c26070a5Stholo
1687c26070a5StholoTue Aug 22 10:09:29 1995  Kirby Koster  <koster@sctc.com>
1688c26070a5Stholo			  and Jim Kingdon  <kingdon@harvey.cyclic.com>
1689c26070a5Stholo
1690c26070a5Stholo	* update.c (join_file): If vers->vn_user is NULL, just return.
1691c26070a5Stholo
1692c26070a5StholoTue Aug 22 10:09:29 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
1693c26070a5Stholo
1694c26070a5Stholo	* server.c, client.c: Add comments about modes and umasks.
1695c26070a5Stholo
1696c26070a5StholoMon Aug 21 12:54:14 1995  Rick Sladkey  <jrs@world.std.com>
1697c26070a5Stholo
1698c26070a5Stholo	* update.c (update_filesdone_proc): If pipeout, don't try to
1699c26070a5Stholo	create CVS/Root.
1700c26070a5Stholo
1701c26070a5StholoMon Aug 21 12:54:14 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
1702c26070a5Stholo
1703c26070a5Stholo	* client.c (start_rsh_server): Don't pass -d to "cvs server"
1704c26070a5Stholo	invocation via rsh.
1705c26070a5Stholo
1706c26070a5Stholo	* server.c (serve_root): Report errors via pending_error_text.
1707c26070a5Stholo	(serve_valid_requests): Check for pending errors.
1708c26070a5Stholo
1709c26070a5StholoSun Aug 20 00:59:46 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
1710c26070a5Stholo
1711c26070a5Stholo	* options.h.in: Document usage of DIFF in update.c
1712c26070a5Stholo	* update.c: Use DIFF -c, not DIFF -u.  The small improvement in
1713c26070a5Stholo	diff size is not worth the hassle in terms of everyone having to
1714c26070a5Stholo	make sure that DIFF is GNU diff (IMHO).
1715c26070a5Stholo
1716c26070a5StholoSat Aug 19 22:05:46 1995  Jim Blandy  <jimb@totoro.cyclic.com>
1717c26070a5Stholo
1718c26070a5Stholo	* recurse.c (start_recursion): Doc fix.
1719c26070a5Stholo
1720c26070a5Stholo	* server.c (do_cvs_command): Clear error_use_protocol in the
1721c26070a5Stholo	child.
1722c26070a5Stholo	(server): Set error_use_protocol.
1723c26070a5Stholo
1724c26070a5StholoSun Aug 13 15:33:37 1995  Jim Kingdon  <kingdon@harvey.cyclic.com>
1725c26070a5Stholo
1726c26070a5Stholo	* server.c (do_cvs_command): Don't select on exceptions.
1727c26070a5Stholo
1728c26070a5StholoFri Aug  4 00:13:47 1995  Jim Meyering  (meyering@comco.com)
1729c26070a5Stholo
1730c26070a5Stholo	* Makefile.in (LDFLAGS): Set to @LDFLAGS@.
1731c26070a5Stholo	(options.h): Depend on ../config.status and options.h.in.
1732c26070a5Stholo	Add rule to build it from dependents.
1733c26070a5Stholo
1734c26070a5Stholo	* add.c: Include save-cwd.h.
1735c26070a5Stholo	(add_directory): Use save_cwd and restore_cwd instead of
1736c26070a5Stholo	explicit getwd then chdir.
1737c26070a5Stholo	* import.c (import_descend_dir): Likewise.
1738c26070a5Stholo	* modules.c (do_module): Likewise.
1739c26070a5Stholo
1740c26070a5Stholo	* recurse.c (save_cwd, restore_cwd, free_cwd): Remove functions.
1741c26070a5Stholo	New versions have been broken out into save-cwd.c.
1742c26070a5Stholo	(do_dir_proc): Adapt to handle status code returned by new versions
1743c26070a5Stholo	of save_cwd and restore_cwd -- and one fewer argument to restore_cwd.
1744c26070a5Stholo	(unroll_files_proc): Likewise.
1745c26070a5Stholo
1746c26070a5Stholo	* wrapper.c (wrap_name_has): Add default: abort () to switch
1747c26070a5Stholo	statement to avoid warning from gcc -Wall.
1748c26070a5Stholo	(wrap_matching_entry): Remove dcl of unused TEMP.
1749c26070a5Stholo	(wrap_tocvs_process_file): Remove dcl of unused ERR.
1750c26070a5Stholo	(wrap_fromcvs_process_file): Likewise.
1751c26070a5Stholo
1752c26070a5Stholo	* cvs.h: Remove prototype for error.  Instead, include error.h.
1753c26070a5Stholo	Also, remove trailing white space.
1754c26070a5Stholo
1755c26070a5StholoThu Aug  3 10:12:20 1995  Jim Meyering  (meyering@comco.com)
1756c26070a5Stholo
1757c26070a5Stholo	* import.c (import_descend_dir): Don't print probably-bogus CWD
1758c26070a5Stholo	in error messages saying `cannot get working directory'.
1759c26070a5Stholo
1760c26070a5StholoSun Jul 30 20:52:04 1995  James Kingdon  <kingdon@harvey.cyclic.com>
1761c26070a5Stholo
1762c26070a5Stholo	* parseinfo.c (Parse_Info): Revise comments and indentation.
1763c26070a5Stholo
1764c26070a5StholoSun Jul 30 15:30:16 1995  Vince DeMarco  <vdemarco@bou.shl.com>
1765c26070a5Stholo
1766c26070a5Stholo        * history.c: put ifdef SERVER_SUPPORT around tracing code incase
1767c26070a5Stholo        the client/server code is not compiled into the program.
1768c26070a5Stholo
1769c26070a5StholoSat Jul 29 16:59:49 1995  James Kingdon  <kingdon@harvey.cyclic.com>
1770c26070a5Stholo
1771c26070a5Stholo	* subr.c (deep_remove_dir): Use struct dirent, not struct direct.
1772c26070a5Stholo
1773c26070a5StholoSat Jul 29 18:32:06 1995  Vince DeMarco  <vdemarco@bou.shl.com>
1774c26070a5Stholo
1775c26070a5Stholo	* add.c: Check wrap_name_has.
1776c26070a5Stholo
1777c26070a5Stholo	* diff.c, checkin.c, import.c: have code call unlink_file_dir in
1778c26070a5Stholo	the appropriate places instead of just calling unlink_file.
1779c26070a5Stholo
1780c26070a5Stholo        * checkin.c: Remove one unlink call.
1781c26070a5Stholo
1782c26070a5Stholo	* import.c (comtable): Add .m .psw .pswm.
1783c26070a5Stholo
1784c26070a5Stholo	* import.c (add_rcs_file): Remove tocvsPath before returning.
1785c26070a5Stholo
1786c26070a5Stholo	* subr.c (unlink_file_dir):  Add new function. unlinks the file if
1787c26070a5Stholo	it is a file. or will do a recursive delete if the path is
1788c26070a5Stholo	actually a directory.
1789c26070a5Stholo	(deep_remove_dir): New function, helps unlink_file_dir.
1790c26070a5Stholo
1791c26070a5Stholo	* mkmodules.c:  Added CVSROOTADM_WRAPPER (cvswrappers file) to the
1792c26070a5Stholo	checkout file list.
1793c26070a5Stholo
1794c26070a5StholoFri Jul 28 16:27:56 1995  James Kingdon  <kingdon@harvey.cyclic.com>
1795c26070a5Stholo
1796c26070a5Stholo	* checkout.c (safe_location): Use PATH_MAX not MAXPATHLEN.
1797c26070a5Stholo
1798c26070a5StholoFri Jul 28 19:37:03 1995  Paul Eggert  <eggert@twinsun.com>
1799c26070a5Stholo
1800c26070a5Stholo	* log.c (cvslog, log_fileproc): Pass all options (except -l)
1801c26070a5Stholo	to rlog as-is, so that users can put spaces in options,
1802c26070a5Stholo	can specify multiple -d options, etc.
1803c26070a5Stholo	(ac, av): New variables.
1804c26070a5Stholo	(log_option_with_arg, options): Remove.
1805c26070a5Stholo
1806c26070a5Stholo	(log_fileproc): Don't prepend `/' to file name if update_dir is empty.
1807c26070a5Stholo
1808c26070a5StholoTue Jul 25 00:52:26 1995  James Kingdon  <kingdon@harvey.cyclic.com>
1809c26070a5Stholo
1810c26070a5Stholo	* checkout.c (safe_location): Don't use PROTO in function definition.
1811c26070a5Stholo
1812c26070a5StholoMon Jul 24 18:32:06 1995  Vince DeMarco  <vdemarco@bou.shl.com>
1813c26070a5Stholo
1814c26070a5Stholo	* checkout.c (safe_location):  fix a compiler warning. (Declare
1815c26070a5Stholo	safe_location). Changed code in safe_location to call getwd
1816c26070a5Stholo	instead of getcwd. getwd is declared in the ../lib directory and
1817c26070a5Stholo	used exclusively thoughout the code. (this helps portability on
1818c26070a5Stholo	non POSIX systems).
1819c26070a5Stholo
1820c26070a5Stholo	* wrapper.c: updated Andrew Athan's email address.
1821c26070a5Stholo
1822c26070a5Stholo	* main.c:  fix an ifdef so the code will compile. syntax error in
1823c26070a5Stholo	the ifdef for CVS_NOADMIN.
1824c26070a5Stholo
1825c26070a5StholoMon Jul 24 13:25:00 1995  Del <del@babel.dialix.oz.au>
1826c26070a5Stholo
1827c26070a5Stholo	* checkout.c:  New procedure safe_location.
1828c26070a5Stholo	Ensures that you don't check out into the repository
1829c26070a5Stholo	itself.
1830c26070a5Stholo
1831c26070a5Stholo	* tag.c, rtag.c, cvs.h, mkmodules.c:  Added a "taginfo" file in
1832c26070a5Stholo	CVSROOT to perform pre-tag checks.
1833c26070a5Stholo
1834c26070a5Stholo	* main.c, options.h.in:  Added a compile time option to
1835c26070a5Stholo	disable the admin command.
1836c26070a5Stholo
1837c26070a5StholoFri Jul 21 17:07:42 1995  James Kingdon  <kingdon@harvey.cyclic.com>
1838c26070a5Stholo
1839c26070a5Stholo	* update.c, status.c, patch.c, checkout.c, import.c, release.c,
1840c26070a5Stholo	rtag.c, tag.c: Now -q and -Q options just print an error message
1841c26070a5Stholo	telling you to use global -q and -Q options.  The non-global
1842c26070a5Stholo	options were a mess because some commands accepted them and some
1843c26070a5Stholo	did not, and they were redundant with -q and -Q global options.
1844c26070a5Stholo
1845c26070a5Stholo	* rcs.c, cvs.h, commit.c, log.c, find_names.c: Remove CVS.dea
1846c26070a5Stholo	stuff.  It is slower than the alternatives and I don't think
1847c26070a5Stholo	anyone ever actually used it.
1848c26070a5Stholo
1849c26070a5StholoFri Jul 21 10:35:10 1995  Vince DeMarco <vdemarco@bou.shl.com>
1850c26070a5Stholo
1851c26070a5Stholo	* Makefile.in (SOURCES, OBJECTS): Add wrapper.c, wrapper.o.
1852c26070a5Stholo	* add.c, admin.c, checkout.c, commit.c, diff.c, import.c, log.c,
1853c26070a5Stholo	remove.c, status.c: Call wrap_setup at start of commands.
1854c26070a5Stholo	* add.c (add): Check for wrapper, as well as directory, in repository.
1855c26070a5Stholo	* checkin.c: Add tocvsPath variable and associated handling.
1856c26070a5Stholo	* cvs.h: Add wrapper declarations.
1857c26070a5Stholo	* diff.c: Add tocvsPath variable and associated handling.
1858c26070a5Stholo	* import.c: Add -W option, CVSDOTWRAPPER handling.
1859c26070a5Stholo	(import_descend): check wrap_name_has.
1860c26070a5Stholo	(update_rcs_file, add_rev, add_rcs_file): add tocvsPath
1861c26070a5Stholo	variable and associated handling.
1862c26070a5Stholo	* no_diff.c: Add tocvsPath variable and associated handling.
1863c26070a5Stholo	* recurse.c (start_recursion): Check wrap_name_has.
1864c26070a5Stholo	* update.c: Copy, don't merge, copy-by-merge files.  Attempt to
1865c26070a5Stholo	use -j on a copy-by-merge file generates a warning and no further
1866c26070a5Stholo	action.
1867c26070a5Stholo	* update.c: Add CVSDOTWRAPPER handling.
1868c26070a5Stholo	* wrapper.c: Added.
1869c26070a5Stholo
1870c26070a5StholoFri Jul 21 00:20:52 1995  James Kingdon  <kingdon@harvey.cyclic.com>
1871c26070a5Stholo
1872c26070a5Stholo	* client.c: Revert David Lamkin patch, except for the bits about
1873c26070a5Stholo	removing temp_filename and the .rej file.
1874c26070a5Stholo	* sanity.sh (errmsg1): Test for the underlying bug which Lamkin
1875c26070a5Stholo	kludged around.
1876c26070a5Stholo	* client.c (call_in_directory): Set short_pathname to include the
1877c26070a5Stholo	filename, not just the directory.  Improve comments regarding what
1878c26070a5Stholo	is passed to FUNC.
1879c26070a5Stholo
1880c26070a5StholoThu Jul 20 17:51:54 1995  David Lamkin  <drl@net-tel.co.uk>
1881c26070a5Stholo
1882c26070a5Stholo	* client.c (short_pathname): Fixes the fetching of the whole file
1883c26070a5Stholo	after a patch to bring it up to date has failed:
1884c26070a5Stholo	   - failed_patches[] now holds short path to file that failed
1885c26070a5Stholo	   - patch temp files are unlinked where the patch is done
1886c26070a5Stholo
1887c26070a5StholoThu Jul 20 12:37:10 1995  James Kingdon  <kingdon@harvey.cyclic.com>
1888c26070a5Stholo
1889c26070a5Stholo	* cvs.h: Declare error_set_cleanup
1890c26070a5Stholo	* main.c: Call it.
1891c26070a5Stholo	(error_cleanup): New function.
1892c26070a5Stholo
1893c26070a5StholoThu Jul 20 12:17:16 1995  Mark H. Wilkinson  <mhw@minster.york.ac.uk>
1894c26070a5Stholo
1895c26070a5Stholo	* add.c, admin.c, checkin.c, checkout.c, classify.c, client.c,
1896c26070a5Stholo	client.h, commit.c, create_adm.c, cvs.h, diff.c, entries.c,
1897c26070a5Stholo	history.c, import.c, log.c, main.c, modules.c, no_diff.c, patch.c,
1898c26070a5Stholo	release.c, remove.c, repos.c, rtag.c, server.c, server.h,
1899c26070a5Stholo	status.c, subr.c, tag.c, update.c, vers_ts.c, version.c: Put
1900c26070a5Stholo	client code inside #ifdef CLIENT_SUPPORT, server code inside
1901c26070a5Stholo	#ifdef SERVER_SUPPORT.  When reporting version, report whether
1902c26070a5Stholo	client and/or server are compiled in.
1903c26070a5Stholo
1904c26070a5StholoWed Jul 19 18:00:00 1995  Jim Blandy <jimb@cyclic.com>
1905c26070a5Stholo
1906c26070a5Stholo	* subr.c (copy_file): Declare local var n to be an int,
1907c26070a5Stholo	not a size_t.  size_t is unsigned, and the return values
1908c26070a5Stholo	of read and write are definitely not unsigned.
1909c26070a5Stholo
1910c26070a5Stholo	* cvs.h [HAVE_IO_H]: #include <io.h>.
1911c26070a5Stholo	[HAVE_DIRECT_H]: #include <direct.h>.
1912c26070a5Stholo
1913c26070a5StholoFri Jul 14 22:28:46 1995  Jim Blandy  <jimb@totoro.cyclic.com>
1914c26070a5Stholo
1915c26070a5Stholo	* server.c (dirswitch, serve_static_directory, serve_sticky,
1916c26070a5Stholo	serve_lost, server_write_entries, serve_checkin_prog,
1917c26070a5Stholo	serve_update_prog): Include more information in error messages.
1918c26070a5Stholo	(Thanks, DJM.)
1919c26070a5Stholo
1920c26070a5Stholo	* cvsbug.sh: Use /usr/sbin/sendmail, unless it doesn't
1921c26070a5Stholo	exist, in which case use /usr/lib/sendmail.  (Thanks, DJM.)
1922c26070a5Stholo
1923c26070a5Stholo	* server.c (server, server_cleanup): Use "/tmp" instead of
1924c26070a5Stholo	"/usr/tmp" when the TMPDIR environment variable isn't set.  This
1925c26070a5Stholo	is what the rest of the code uses.
1926c26070a5Stholo
1927c26070a5StholoThu Jul 13 11:03:17 1995  Jim Meyering  (meyering@comco.com)
1928c26070a5Stholo
1929c26070a5Stholo	* recurse.c (free_cwd): New function.
1930c26070a5Stholo	(save_cwd, restore_cwd): Use it instead of simply freeing any
1931c26070a5Stholo	string.  The function also closes any open file descriptor.
1932c26070a5Stholo
1933c26070a5Stholo	* import.c (comtable): Now static.
1934c26070a5Stholo	(comtable): Put braces around each element of initializer.
1935c26070a5Stholo
1936c26070a5Stholo	* cvs.h: Add prototype for xgetwd.
1937c26070a5Stholo	* recurse.c (save_cwd, restore_cwd): New functions to encapsulate
1938c26070a5Stholo	run-time solution to secure-SunOS vs. fchown problem.
1939c26070a5Stholo	(do_dir_proc, unroll_files_proc): Use new functions instead of
1940c26070a5Stholo	open-coded fchdir/chdir calls with cpp directives.
1941c26070a5Stholo
1942c26070a5Stholo        * sanity.sh: Change out of TESTDIR before removing it.
1943c26070a5Stholo	Some versions of rm fail when asked to delete the current directory.
1944c26070a5Stholo
1945c26070a5StholoWed Jul 12 22:35:04 1995  Jim Meyering  (meyering@comco.com)
1946c26070a5Stholo
1947c26070a5Stholo	* client.c (get_short_pathname): Add const qualifier to parameter dcl.
1948c26070a5Stholo	(copy_a_file): Remove set-but-not-used variable, LEN.
1949c26070a5Stholo	(handle_clear_static_directory): Likewise: SHORT_PATHNAME.
1950c26070a5Stholo	(set_sticky): Likewise: LEN.
1951c26070a5Stholo	(handle_set_sticky): Likewise: SHORT_PATHNAME.
1952c26070a5Stholo	(handle_clear_sticky): Likewise: SHORT_PATHNAME.
1953c26070a5Stholo	(start_rsh_server): Convert perl-style `cond || stmt' to more
1954c26070a5Stholo	conventional C-style `if (cond) stmt.'  Sheesh.
1955c26070a5Stholo	Remove dcl of unused file-static, SEND_CONTENTS.
1956c26070a5Stholo
1957c26070a5Stholo	* history.c: Remove dcls of set-but-not-used file-statics,
1958c26070a5Stholo	HISTSIZE, HISTDATA.
1959c26070a5Stholo	(read_hrecs): Don't set them.
1960c26070a5Stholo
1961c26070a5Stholo	* import.c (add_rev): Remove dcl of set-but-not-used local, RETCODE.
1962c26070a5Stholo
1963c26070a5Stholo	* repos.c (Name_Repository): Remove dcl of set-but-not-used local,
1964c26070a5Stholo	HAS_CVSADM.
1965c26070a5Stholo
1966c26070a5Stholo	* cvsrc.c (read_cvsrc): Parenthesize assignment used as truth value.
1967c26070a5Stholo
1968c26070a5StholoTue Jul 11 16:49:41 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
1969c26070a5Stholo
1970c26070a5Stholo	* hash.h (struct entnode, Entnode): moved from here...
1971c26070a5Stholo	* cvs.h: to here.
1972c26070a5Stholo
1973c26070a5StholoWed Jul 12 19:45:24 1995  Dominik Westner (dominik@gowest.ppp.informatik.uni-muenchen.de)
1974c26070a5Stholo
1975c26070a5Stholo        * client.c (server_user): new var.
1976c26070a5Stholo        (parse_cvsroot): set above if repo is "user@host:/dir".
1977c26070a5Stholo        (start_rsh_server): if server_user set, then use it.
1978c26070a5Stholo
1979c26070a5StholoWed Jul 12 10:53:36 1995  Karl Fogel  <kfogel@floss.cyclic.com>
1980c26070a5Stholo
1981c26070a5Stholo        * sanity.sh: remove the TESTDIR after done.
1982c26070a5Stholo
1983c26070a5Stholo        * cvsbug.sh (GNATS_ADDR): now bug-cvs@prep.ai.mit.edu again.
1984c26070a5Stholo
1985c26070a5StholoTue Jul 11 15:53:08 1995  Greg A. Woods  <woods@most.weird.com>
1986c26070a5Stholo
1987c26070a5Stholo        * options.h.in: depend on configure for grep and diff, now that
1988c26070a5Stholo        changes to configure.in are applied.
1989c26070a5Stholo
1990c26070a5StholoTue Jul 11 14:32:14 1995 Michael Shields  <shields@tembel.org>
1991c26070a5Stholo
1992c26070a5Stholo	* Makefile.in (LDFLAGS): Pick up from configure.
1993c26070a5Stholo
1994c26070a5StholoTue Jul 11 14:20:00 1995  Loren James Rittle  <rittle@supra.comm.mot.com>
1995c26070a5Stholo
1996c26070a5Stholo	* import.c (add_rev), commit.c (remove_file, ci_new_rev),
1997c26070a5Stholo	checkin.c (Checkin), subr.c (make_message_rcslegal), cvs.h:
1998c26070a5Stholo	Always perform sanity check and fix-up on messages to be passed
1999c26070a5Stholo 	directly to RCS via the '-m' switch.  RCS 5.7 requires that a
2000c26070a5Stholo 	non-total-whitespace, non-null message be provided or it will
2001c26070a5Stholo 	abort with an error.  CVS is not setup to handle any returned
2002c26070a5Stholo 	error from 'ci' gracefully and, thus, the repository entered a
2003c26070a5Stholo 	trashed state.
2004c26070a5Stholo
2005c26070a5Stholo	* sanity.sh: Add regression tests for new code and interactions
2006c26070a5Stholo	with RCS 5.7.
2007c26070a5Stholo
2008c26070a5StholoSun Jul  9 19:03:00 1995  Greg A. Woods  <woods@most.weird.com>
2009c26070a5Stholo
2010c26070a5Stholo	* .cvsignore: added new backup file
2011c26070a5Stholo
2012c26070a5Stholo	* options.h.in: our new configure.in finds the right diff and
2013c26070a5Stholo        grep paths now....
2014c26070a5Stholo
2015c26070a5Stholo	* subr.c: quote the string in run_print() for visibility
2016c26070a5Stholo	- indent a comment
2017c26070a5Stholo	- Jun Hamano's xchmod() patch to prevent writable files
2018c26070a5Stholo	(from previous local changes)
2019c26070a5Stholo
2020c26070a5Stholo	* logmsg.c: fix a NULL pointer de-reference
2021c26070a5Stholo	- clean up some string handling code...
2022c26070a5Stholo	(from previous local changes)
2023c26070a5Stholo
2024c26070a5Stholo	* parseinfo.c: add hack to expand $CVSROOT in an *info file.
2025c26070a5Stholo	- document "ALL" and "DEFAULT" in opening comment for Parse_Info()
2026c26070a5Stholo	- fix the code to match the comments w.r.t. callbacks for "ALL"
2027c26070a5Stholo	- add a line of trace output...
2028c26070a5Stholo	(from previous local changes)
2029c26070a5Stholo
2030c26070a5Stholo	* mkmodules.c: add support for comments in CVSROOT/checkoutlist
2031c26070a5Stholo	- add CVSroot used by something other .o, ala main.c
2032c26070a5Stholo	(from previous local changes)
2033c26070a5Stholo
2034c26070a5Stholo	* main.c, cvs.h: add support for $VISUAL as log msg editor
2035c26070a5Stholo	(from previous local changes)
2036c26070a5Stholo
2037c26070a5Stholo	* status.c: add support for -q and -Q (from previous local changes)
2038c26070a5Stholo
2039c26070a5Stholo
2040c26070a5StholoSun Jul  9 18:44:32 1995  Karl Fogel  <kfogel@floss.cyclic.com>
2041c26070a5Stholo
2042c26070a5Stholo        * log.c: trivial change to test ChangeLog stuff.
2043c26070a5Stholo
2044c26070a5StholoSat Jul  8 20:33:57 1995  Paul Eggert  <eggert@twinsun.com>
2045c26070a5Stholo
2046c26070a5Stholo	* history.c: (history_write): Don't assume that fopen(..., "a")
2047c26070a5Stholo	lets one interleave writes to the history file from different processes
2048c26070a5Stholo	without interlocking.  Use open's O_APPEND option instead.
2049c26070a5Stholo	Throw in an lseek to lessen the race bugs on non-Posix hosts.
2050c26070a5Stholo	* cvs.h, subr.c (Fopen): Remove.
2051c26070a5Stholo
2052c26070a5Stholo	* log.c (log_fileproc): Pass working file name to rlog, so that
2053c26070a5Stholo	the name is reported correctly.
2054c26070a5Stholo
2055c26070a5StholoFri Jul  7 18:29:37 1995  Michael Hohmuth  <hohmuth@inf.tu-dresden.de>
2056c26070a5Stholo
2057c26070a5Stholo	* client.c, client.h (client_import_setup): New function.
2058c26070a5Stholo	(client_import_done, client_process_import_file): Add comments
2059c26070a5Stholo	regarding now-redundant code.
2060c26070a5Stholo	* import.c (import): Call client_import_setup.
2061c26070a5Stholo
2062c26070a5StholoTue Jul  4 09:21:26 1995  Bernd Leibing  <bernd.leibing@rz.uni-ulm.de>
2063c26070a5Stholo
2064c26070a5Stholo	* rcs.c (RCS_parsercsfile_i): Rename error to l_error; SunOS4 /bin/cc
2065c26070a5Stholo	doesn't like a label and function with the same name.
2066c26070a5Stholo
2067c26070a5StholoSun Jul  2 12:51:33 1995  Fred Appelman <Fred.Appelman@cv.ruu.nl>
2068c26070a5Stholo
2069c26070a5Stholo	* logmsg.c: Rename strlist to str_list to avoid conflict with
2070c26070a5Stholo	Unixware 2.01.
2071c26070a5Stholo
2072c26070a5StholoThu Jun 29 17:37:22 1995  Paul Eggert  <eggert@twinsun.com>
2073c26070a5Stholo
2074c26070a5Stholo	* rcs.c (RCS_check_kflag): Allow RCS 5.7's new -kb option.
2075c26070a5Stholo
2076c26070a5StholoWed Jun 28 09:53:14 1995  James Kingdon  <kingdon@harvey.cyclic.com>
2077c26070a5Stholo
2078c26070a5Stholo	* Makefile.in (HEADERS): Remove options.h.in.
2079c26070a5Stholo	(DISTFILES): Add options.h.in.
2080c26070a5Stholo	Depend on options.h in addition to HEADERS.
2081c26070a5Stholo
2082c26070a5StholoTue Jun 27 22:37:28 1995  Vince Demarco  <vdemarco@bou.shl.com>
2083c26070a5Stholo
2084c26070a5Stholo	* subr.c: Don't try to do fancy waitstatus stuff for NeXT,
2085c26070a5Stholo	lib/wait.h is sufficient.
2086c26070a5Stholo
2087c26070a5StholoMon Jun 26 15:17:45 1995  James Kingdon  <kingdon@harvey.cyclic.com>
2088c26070a5Stholo
2089c26070a5Stholo	* Makefile.in (DISTFILES): Remove RCS-patches and convert.sh.
2090c26070a5Stholo
2091c26070a5StholoFri Jun 23 13:38:28 1995  J.T. Conklin  (jtc@rtl.cygnus.com)
2092c26070a5Stholo
2093c26070a5Stholo	* server.c (dirswitch, serve_co): Use CVSADM macro instead of
2094c26070a5Stholo        literal "CVS".
2095c26070a5Stholo
2096c26070a5StholoFri Jun 23 00:00:51 1995  James Kingdon  <kingdon@harvey.cyclic.com>
2097c26070a5Stholo
2098c26070a5Stholo	* README-rm-add: Do not talk about patching RCS, that only
2099c26070a5Stholo	confuses people.
2100c26070a5Stholo	* RCS-patches, convert.sh: Removed (likewise).
2101c26070a5Stholo
2102c26070a5StholoThu Jun 22 10:41:41 1995  James Kingdon  <kingdon@harvey.cyclic.com>
2103c26070a5Stholo
2104c26070a5Stholo	* subr.c: Change -1 to (size_t)-1 when comparing against a size_t.
2105c26070a5Stholo
2106c26070a5StholoWed Jun 21 16:51:54 1995  nk@ipgate.col.sw-ley.de (Norbert Kiesel)
2107c26070a5Stholo
2108c26070a5Stholo	* create_adm.c, entries.c, modules.c: Avoid coredumps if
2109c26070a5Stholo	timestamps, tags, etc., are NULL.
2110c26070a5Stholo
2111c26070a5StholoTue Jun 20 15:52:53 1995  Jim Meyering  (meyering@comco.com)
2112c26070a5Stholo
2113c26070a5Stholo	* checkout.c (checkout): Remove dcl of unused variable.
2114c26070a5Stholo	* client.c (call_in_directory, handle_clear_static_directory,
2115c26070a5Stholo	handle_set_sticky, handle_clear_sticky, send_a_repository,
2116c26070a5Stholo	send_modified, send_dirent_proc): Remove dcls of unused variables.
2117c26070a5Stholo	* server.c (receive_file, serve_modified, server_cleanup):
2118c26070a5Stholo	Remove dcls of unused variables.
2119c26070a5Stholo	* subr.c (copy_file): Remove dcl of unused variable.
2120c26070a5Stholo	* vers_ts.c (time_stamp_server): Remove dcl of unused variable.
2121c26070a5Stholo
2122c26070a5StholoMon Jun 19 13:49:35 1995  Jim Blandy  <jimb@totoro.cyclic.com>
2123c26070a5Stholo
2124c26070a5Stholo	* sanity.sh: Fix commencement message --- the test suite says
2125c26070a5Stholo	"Ok." when it's done.
2126c26070a5Stholo
2127c26070a5StholoFri Jun 16 11:23:44 1995  Jim Meyering  (meyering@comco.com)
2128c26070a5Stholo
2129c26070a5Stholo	* entries.c (fgetentent): Parenthesize assignment in if-conditional.
2130c26070a5Stholo
2131c26070a5StholoThu Jun 15 17:33:28 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
2132c26070a5Stholo
2133c26070a5Stholo	* server.c (get_buffer_data, buf_append_char, buf_append_data):
2134c26070a5Stholo	  Don't conditionalize use of "inline".  Autoconf takes care of
2135c26070a5Stholo	  defining it away on systems that don't grok it.
2136c26070a5Stholo
2137c26070a5StholoThu Jun 15 13:43:38 1995  Jim Kingdon  (kingdon@cyclic.com)
2138c26070a5Stholo
2139c26070a5Stholo	* options.h.in (DIFF): Default to "diff" not "diff -a" since diff
2140c26070a5Stholo	might not support the -a option.
2141c26070a5Stholo
2142c26070a5StholoWed Jun 14 11:29:42 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
2143c26070a5Stholo
2144c26070a5Stholo	* import.c (import_descend): Initialize dirlist to NULL.
2145c26070a5Stholo
2146c26070a5Stholo	* subr.c (copy_file): Fix infinite loop.
2147c26070a5Stholo
2148c26070a5Stholo	* server.c (serve_directory): fix a memory leak.
2149c26070a5Stholo
2150c26070a5Stholo	* checkout.c, commit.c, diff.c, history.c, import.c, log.c,
2151c26070a5Stholo	  patch.c, release.c, remove.c, rtag.c, status.c, tag.c, update.c:
2152c26070a5Stholo	  Use send_arg() to send command line arguments to server.
2153c26070a5Stholo
2154c26070a5Stholo	* commit.c (fsortcmp), find_names (fsortcmp), hash.c (hashp,
2155c26070a5Stholo	  findnode), hash.h (findnode), rcs.c (RCS_addnode,
2156c26070a5Stholo	  RCS_check_kflag, RCS_check_tag, RCS_isdead, RCS_parse,
2157c26070a5Stholo	  RCS_parsercsfile_i), rcs.h (RCS_addnode, RCS_check_kflag,
2158c26070a5Stholo	  RCS_check_tag, RCS_parse): Added const qualifiers as
2159c26070a5Stholo	  appropriate.
2160c26070a5Stholo	* rcs.h (RCS_isdead): Added prototype.
2161c26070a5Stholo
2162c26070a5Stholo	* hash.h (walklist, sortlist): correct function prototypes.
2163c26070a5Stholo
2164c26070a5Stholo	* ignore.c (ign_setup): don't bother checking to see if file
2165c26070a5Stholo	  exists before calling ign_add_file.
2166c26070a5Stholo
2167c26070a5StholoFri Jun  9 11:24:06 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
2168c26070a5Stholo
2169c26070a5Stholo	* all source files (rcsid): Added const qualifer.
2170c26070a5Stholo	* ignore.c (ign_default): Added const qualifier.
2171c26070a5Stholo	* subr.c (numdots): Added const qualifier to function argument.
2172c26070a5Stholo	* cvs.h (numdots): Added const qualifier to prototype argument.
2173c26070a5Stholo
2174c26070a5Stholo	* client.c (change_mode): Tied consecutive if statements testing
2175c26070a5Stholo	  the same variable together with else if.
2176c26070a5Stholo
2177c26070a5Stholo	* import.c (import_descend): Build list of subdirectories when
2178c26070a5Stholo	  reading directory, and then process the subdirectories in that
2179c26070a5Stholo	  list.  This change avoids I/O overhead of rereading directory
2180c26070a5Stholo	  and reloading ignore list (.cvsignore) for each subdirectory.
2181c26070a5Stholo
2182c26070a5StholoThu Jun  8 11:54:24 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
2183c26070a5Stholo
2184c26070a5Stholo	* import.c (import_descend): Use 4.4BSD d_type field if it is
2185c26070a5Stholo	  present.
2186c26070a5Stholo
2187c26070a5Stholo	* lock.c (set_lockers_name): Use %lu in format and cast st_uid
2188c26070a5Stholo	  field to unsigned long.
2189c26070a5Stholo
2190c26070a5Stholo	* import.c (import): Use RCS_check_kflag() to check -k options.
2191c26070a5Stholo	  (keyword_usage, str2expmode, strn2expmode, expand_names):
2192c26070a5Stholo	  Removed.
2193c26070a5Stholo	* rcs.c (RCS_check_kflag): Added keyword_usage array from import.c
2194c26070a5Stholo	  for more descriptive error messages.
2195c26070a5Stholo
2196c26070a5Stholo	* subr.c (run_setup, run_args): Changed variable argument
2197c26070a5Stholo	  processing to work on machines that use <varargs.h>.
2198c26070a5Stholo
2199c26070a5Stholo	* subr.c (copy_file, xcmp): Changed to read the file(s) by blocks
2200c26070a5Stholo	  rather than by reading the whole file into a huge buffer.  The
2201c26070a5Stholo	  claim that this was reasonable because source files tend to be
2202c26070a5Stholo	  small does not hold up in real world situations.   CVS is used
2203c26070a5Stholo	  to manage non-source files, and mallocs of 400K+ buffers (x2
2204c26070a5Stholo	  for xcmp) can easily fail due to lack of available memory or
2205c26070a5Stholo	  even memory pool fragmentation.
2206c26070a5Stholo	  (block_read): New function, taken from GNU cmp and slightly
2207c26070a5Stholo	  modified.
2208c26070a5Stholo
2209c26070a5Stholo	* subr.c (xcmp): Added const qualifier to function arguments.
2210c26070a5Stholo	* cvs.h (xcmp): Added const qualifer to prototype arguments.
2211c26070a5Stholo
2212c26070a5StholoWed Jun  7 11:28:31 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
2213c26070a5Stholo
2214c26070a5Stholo	* cvs.h (Popen): Added prototype.
2215c26070a5Stholo	  (Fopen, open_file, isreadable, iswritable, isdir, isfile,
2216c26070a5Stholo	  islink, make_directory, make_directories, rename_file,
2217c26070a5Stholo	  link_file, unlink_file, copy_file): Added const qualifer to
2218c26070a5Stholo	  prototype arguments.
2219c26070a5Stholo	* subr.c (Fopen, Popen, open_file, isreadable, iswritable, isdir,
2220c26070a5Stholo	  isfile, islink, make_directory, make_directories, rename_file,
2221c26070a5Stholo	  link_file, unlink_file, copy_file): Added const qualifier to
2222c26070a5Stholo	  function arguments.
2223c26070a5Stholo
2224c26070a5Stholo	* logmsg.c (logfile_write), recurse.c (do_recursion, addfile):
2225c26070a5Stholo	  Don't cast void functions to a void expression.  There is at
2226c26070a5Stholo	  least one compiler (MPW) that balks at this.
2227c26070a5Stholo
2228c26070a5Stholo	* rcs.c (keysize, valsize): Change type to size_t.
2229c26070a5Stholo
2230c26070a5Stholo	* add.c (add_directory): Don't cast umask() argument to int.
2231c26070a5Stholo
2232c26070a5Stholo	* import.c (add_rcs_file): Changed type of mode to mode_t.
2233c26070a5Stholo
2234c26070a5Stholo	* rcscmds.c (RCS_merge): New function.
2235c26070a5Stholo	* cvs.h (RCS_merge): Declare.
2236c26070a5Stholo	* update.c (merge_file, join_file): Call RCS_merge instead of
2237c26070a5Stholo	  invoking rcsmerge directly.
2238c26070a5Stholo
2239c26070a5Stholo	* cvs.h: Include <stdlib.h> if HAVE_STDC_HEADERS, otherwise
2240c26070a5Stholo	  declared getenv().
2241c26070a5Stholo	* cvsrc.c, ignore.c, main.c: Removed getenv() declaration.
2242c26070a5Stholo
2243c26070a5Stholo	* client.c (mode_to_string): Changed to take mode_t instead of
2244c26070a5Stholo	  struct statb argument.  Simplified implementation, no longer
2245c26070a5Stholo	  overallocates storage for returned mode string.
2246c26070a5Stholo	* client.h (mode_to_string): Updated declaration.
2247c26070a5Stholo	* server.c (server_updated): Updated for new calling conventions,
2248c26070a5Stholo	  pass st_mode instead of pointer to struct statb.
2249c26070a5Stholo
2250c26070a5Stholo	* cvs.h (CONST): Removed definition, use of const qualifier is
2251c26070a5Stholo	  determined by autoconf.
2252c26070a5Stholo	* history.c, modules.c, parseinfo.c: Use const instead of CONST.
2253c26070a5Stholo
2254c26070a5Stholo	* add.c, admin.c, checkout.c, commit.c, diff.c, import.c, log.c,
2255c26070a5Stholo	  main.c, mkmodules.c, patch.c, recurse.c, remove.c, rtag.c,
2256c26070a5Stholo	  server.c, status.c, subr.c, tag.c, update.c: Changed function
2257c26070a5Stholo	  arguments "char *argv[]" to "char **argv" to silence lint
2258c26070a5Stholo	  warnings about performing arithmetic on arrays.
2259c26070a5Stholo
2260c26070a5StholoTue Jun  6 18:57:21 1995  Jim Blandy  <jimb@totoro.cyclic.com>
2261c26070a5Stholo
2262c26070a5Stholo	* version.c: Fix up version string, to say that this is Cyclic
2263c26070a5Stholo        CVS.
2264c26070a5Stholo
2265c26070a5StholoTue Jun  6 15:26:16 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
2266c26070a5Stholo
2267c26070a5Stholo	* subr.c (run_setup, run_args, run_add_arg, xstrdup): Add const
2268c26070a5Stholo	  qualifier to format argument.
2269c26070a5Stholo	* cvs.h (run_setup, run_args, xstrdup): Likewise.
2270c26070a5Stholo
2271c26070a5Stholo	* Makefile.in (SOURCES): Added rcscmds.c.
2272c26070a5Stholo	  (OBJECTS): Added rcscmds.o.
2273c26070a5Stholo
2274c26070a5Stholo	* rcscmds.c: New file, with new functions RCS_settag, RCS_deltag,
2275c26070a5Stholo	  RCS_setbranch, RCS_lock, RCS_unlock.
2276c26070a5Stholo	* checkin.c, commit.c, import.c, rtag.c, tag.c: Call above
2277c26070a5Stholo	  functions instead of exec'ing rcs commands.
2278c26070a5Stholo	* cvs.h: Declare new functions.
2279c26070a5Stholo
2280c26070a5StholoMon May 29 21:40:54 1995  J.T. Conklin  (jtc@rtl.cygnus.com)
2281c26070a5Stholo
2282c26070a5Stholo	* recurse.c (start_recursion, do_recursion): Set entries to NULL
2283c26070a5Stholo	  after calling Entries_Close().
2284c26070a5Stholo
2285c26070a5StholoSat May 27 08:08:18 1995  Jim Meyering  (meyering@comco.com)
2286c26070a5Stholo
2287c26070a5Stholo	* Makefile.in (check): Export RCSBIN only if there exists an
2288c26070a5Stholo	`rcs' executable in ../../rcs/src.  Before, tests would fail when
2289c26070a5Stholo	the directory existed but contained no executables.
2290c26070a5Stholo	(distclean): Remove options.h, now that it's generated.
2291c26070a5Stholo	(Makefile): Regenerate only *this* file when Makefile.in is
2292c26070a5Stholo	out of date.  Depend on ../config.status.
2293c26070a5Stholo
2294c26070a5StholoFri May 26 14:34:28 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
2295c26070a5Stholo
2296c26070a5Stholo	* entries.c (Entries_Open): Added missing fclose().
2297c26070a5Stholo	  (Entries_Close): Don't write Entries unless Entries.Log exists.
2298c26070a5Stholo
2299c26070a5Stholo	* entries.c (Entries_Open): Renamed from ParseEntries; changed to
2300c26070a5Stholo	  process Entries Log files left over from previous crashes or
2301c26070a5Stholo	  aborted runs.
2302c26070a5Stholo	  (Entries_Close): New function, write out Entries file if
2303c26070a5Stholo	  neccessary and erase Log file.
2304c26070a5Stholo	  (Register): Append changed records to Log file instead of
2305c26070a5Stholo	  re-writing file.
2306c26070a5Stholo	  (fgetentent): New function, parse one Entry record from a file.
2307c26070a5Stholo	  (AddEntryNode): It's no longer an error for two records with the
2308c26070a5Stholo	  same name to be added to the list.  New records replace older
2309c26070a5Stholo	  ones.
2310c26070a5Stholo	* cvs.h (Entries_Open, Entries_Close): Add prototypes.
2311c26070a5Stholo	  (CVSADM_ENTLOG): New constant, name of Entries Log file.
2312c26070a5Stholo	* add.c, checkout.c, client.c, find_names.c, recurse.c: Use
2313c26070a5Stholo	  Entries_Open()/Entries_Close() instead of ParseEntries()/dellist().
2314c26070a5Stholo
2315c26070a5Stholo	* add.c, admin.c, checkout.c, client.c, commit.c, diff.c,
2316c26070a5Stholo	  history.c, import.c, log.c, patch.c, release.c, remove.c,
2317c26070a5Stholo	  rtag.c, server.c, status.c, tag.c, update.c: Changed
2318c26070a5Stholo	  conditionals so that return value of *printf is tested less than
2319c26070a5Stholo	  0 instead of equal to EOF.
2320c26070a5Stholo
2321c26070a5StholoThu May 25 08:30:12 1995  Jim Kingdon  (kingdon@lioth.cygnus.com)
2322c26070a5Stholo
2323c26070a5Stholo	* subr.c (xmalloc): Never try to malloc zero bytes; if the user
2324c26070a5Stholo	asks for zero bytes, malloc one instead.
2325c26070a5Stholo
2326c26070a5StholoWed May 24 12:44:25 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
2327c26070a5Stholo
2328c26070a5Stholo	* subr.c (xmalloc): Don't complain about NULL if zero bytes were
2329c26070a5Stholo	requested.
2330c26070a5Stholo
2331c26070a5StholoTue May 16 21:49:05 1995  Jim Blandy  <jimb@totoro.bio.indiana.edu>
2332c26070a5Stholo
2333c26070a5Stholo	* subr.c (xmalloc): Never try to malloc zero bytes; if the user
2334c26070a5Stholo	asks for zero bytes, malloc one instead.
2335c26070a5Stholo
2336c26070a5StholoMon May 15 14:35:11 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
2337c26070a5Stholo
2338c26070a5Stholo	* lock.c (L_LOCK_OWNED): Removed.
2339c26070a5Stholo
2340c26070a5Stholo	* add.c, checkout.c, client.c, create_adm.c, cvs.h, entries.c,
2341c26070a5Stholo	  find_names.c modules.c, recurse.c, release.c, repos.c, update.c:
2342c26070a5Stholo	  removed CVS 1.2 compatibility/upgrade code.
2343c26070a5Stholo
2344c26070a5StholoMon May  8 11:25:07 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
2345c26070a5Stholo
2346c26070a5Stholo	* lock.c (write_lock): Missed one instance where rmdir(tmp) should
2347c26070a5Stholo	  have been changed to clear_lock().
2348c26070a5Stholo
2349c26070a5StholoWed May  3 11:08:32 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
2350c26070a5Stholo
2351c26070a5Stholo	* create_adm.c, entries.c, import.c, root.c: Changed conditionals
2352c26070a5Stholo	  so that return value of *printf is tested less than 0 instead of
2353c26070a5Stholo	  equal to EOF --- That's all Standard C requires.
2354c26070a5Stholo
2355c26070a5StholoWed May  3 18:03:37 1995  Samuel Tardieu  <tardieu@emma.enst.fr>
2356c26070a5Stholo
2357c26070a5Stholo	* rcs.h: removed #ifdef CVS_PRIVATE and #endif because cvs didn't
2358c26070a5Stholo	  compile anymore.
2359c26070a5Stholo
2360c26070a5StholoMon May  1 13:58:53 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
2361c26070a5Stholo
2362c26070a5Stholo	* rcs.c, rcs.h: Implemented lazy parsing of rcs files.
2363c26070a5Stholo	  RCS_parsercsfile_i modified to read only the first two records
2364c26070a5Stholo	  of rcs files, a new function RCS_reparsercsfile is called only
2365c26070a5Stholo	  when additional information (tags, revision numbers, dates,
2366c26070a5Stholo	  etc.) is required.
2367c26070a5Stholo
2368c26070a5StholoMon May  1 12:20:02 1995  Jim Kingdon  (kingdon@lioth.cygnus.com)
2369c26070a5Stholo
2370c26070a5Stholo	* Makefile.in (INCLUDES): Include -I. for options.h.
2371c26070a5Stholo
2372c26070a5StholoFri Apr 28 16:16:33 1995  Jim Blandy  <jimb@totoro.bio.indiana.edu>
2373c26070a5Stholo
2374c26070a5Stholo	* Makefile.in (SOURCES, HEADERS, DISTFILES): Updated.
2375c26070a5Stholo	(dist-dir): Renamed from dist; changed to work with DISTDIR
2376c26070a5Stholo	variable passed from parent.
2377c26070a5Stholo
2378c26070a5Stholo	We don't want to include a file the user has to edit in the
2379c26070a5Stholo	distribution.
2380c26070a5Stholo	* options.h: No longer distributed.
2381c26070a5Stholo	* options.h.in: Distribute this instead.
2382c26070a5Stholo	* ../INSTALL, ../README: Installation instructions updated.
2383c26070a5Stholo
2384c26070a5Stholo	* client.c (start_rsh_server): Send the remote command to rsh as a
2385c26070a5Stholo	single string.
2386c26070a5Stholo
2387c26070a5StholoFri Apr 28 00:29:49 1995  Noel Cragg  <noel@vo.com>
2388c26070a5Stholo
2389c26070a5Stholo	* commit.c: Added initializer for FORCE_CI
2390c26070a5Stholo
2391c26070a5Stholo        * sanity.sh: Fix tests added 25 Apr -- they were expecting the
2392c26070a5Stholo        server to make noise, but the CVS_SERVER variable had been
2393c26070a5Stholo        accidentally set with the `-Q' flag.  Ran all tests -- both
2394c26070a5Stholo        locally and remotely -- to verify that the change didn't break
2395c26070a5Stholo        anything.
2396c26070a5Stholo
2397c26070a5StholoThu Apr 27 12:41:52 1995  Jim Kingdon  (kingdon@lioth.cygnus.com)
2398c26070a5Stholo
2399c26070a5Stholo	* Makefile.in: Revise comment regarding check vs. remotecheck.
2400c26070a5Stholo
2401c26070a5StholoThu Apr 27 12:52:28 1995  Bryan O'Sullivan <bos@cyclic.com>
2402c26070a5Stholo
2403c26070a5Stholo	* client.c (start_rsh_server): If the CVS_RSH environment variable
2404c26070a5Stholo	is set, use its contents as the name of the program to invoke
2405c26070a5Stholo	instead of `rsh'.
2406c26070a5Stholo
2407c26070a5StholoThu Apr 27 12:18:38 1995  Noel Cragg  <noel@vo.com>
2408c26070a5Stholo
2409c26070a5Stholo	* checkout.c (checkout): To fix new bug created by Apr 23 change,
2410c26070a5Stholo        re-enabled "expand-module" functionality, because it has the side
2411c26070a5Stholo        effect of setting the checkin/update programs for a directory.  To
2412c26070a5Stholo        solve the local/remote checkout problem that prompted this change
2413c26070a5Stholo        in the first place, I performed the next change.
2414c26070a5Stholo	* server.c (expand_proc): Now returns expansions for aliases only.
2415c26070a5Stholo
2416c26070a5StholoWed Apr 26 12:07:42 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
2417c26070a5Stholo
2418c26070a5Stholo	* rcs.c (getrcskey): Rewritten to process runs of whitespace chars
2419c26070a5Stholo	  and rcs @ strings instead of using state variables "white" and
2420c26070a5Stholo	  "funky".
2421c26070a5Stholo
2422c26070a5StholoFri Apr  7 15:49:25 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
2423c26070a5Stholo
2424c26070a5Stholo	* lock.c (unlock): Only call stat if we need to.
2425c26070a5Stholo
2426c26070a5StholoWed Apr 26 10:48:44 1995  Jim Kingdon  (kingdon@lioth.cygnus.com)
2427c26070a5Stholo
2428c26070a5Stholo	* server.c (new_entries_line): Don't prototype.
2429c26070a5Stholo
2430c26070a5StholoTue Apr 25 22:19:16 1995  Jim Blandy  <jimb@totoro.bio.indiana.edu>
2431c26070a5Stholo
2432c26070a5Stholo	* sanity.sh: Add new tests to catch bugs in Apr 23 change.
2433c26070a5Stholo
2434c26070a5StholoTue Apr 25 17:10:55 1995  Roland McGrath  <roland@baalperazim.frob.com>
2435c26070a5Stholo
2436c26070a5Stholo	* create_adm.c (Create_Admin): Use getwd instead of getcwd.
2437c26070a5Stholo
2438c26070a5StholoSun Apr 23 20:58:32 1995  Noel Cragg  <noel@vo.com>
2439c26070a5Stholo
2440c26070a5Stholo       	* checkout.c (checkout): Disabled "expand-module" functionality on
2441c26070a5Stholo        remote checkout, since it makes modules behave like aliases (see
2442c26070a5Stholo        longer note there).  This change necessitated the change below.
2443c26070a5Stholo        Also merged the like parts of a conditional.
2444c26070a5Stholo
2445c26070a5Stholo	* client.c (call_in_directory): Changed the algorithm that created
2446c26070a5Stholo        nested and directories and the "CVS" administration directories
2447c26070a5Stholo        therein.  The algoithm wrongly assumed that the name of the
2448c26070a5Stholo        directory that that was to be created and the repository name were
2449c26070a5Stholo        the same, which breaks modules.
2450c26070a5Stholo
2451c26070a5Stholo	* create_adm.c (Create_Admin), module.c (do_module), server.c
2452c26070a5Stholo        (server_register), subr.c, entries.c: Added fprintfs for trace-mode
2453c26070a5Stholo	debugging.
2454c26070a5Stholo
2455c26070a5Stholo	* client.c (client_send_expansions): Argument to function didn't
2456c26070a5Stholo        have a type -- added one.
2457c26070a5Stholo
2458c26070a5Stholo	* server.c (new_entries_line): Arguments to this function are
2459c26070a5Stholo        never used -- reoved them and fixed callers.
2460c26070a5Stholo
2461c26070a5StholoSat Apr 22 11:17:20 1995  Jim Kingdon  (kingdon@lioth.cygnus.com)
2462c26070a5Stholo
2463c26070a5Stholo	* rcs.c (RCS_parse): If we can't open the file, give an error
2464c26070a5Stholo	message (except for ENOENT in case callers rely on that).
2465c26070a5Stholo
2466c26070a5StholoWed Apr 19 08:52:37 1995  Jim Kingdon  (kingdon@lioth.cygnus.com)
2467c26070a5Stholo
2468c26070a5Stholo	* client.c (send_repository): Check for CVSADM_ENTSTAT in `dir', not
2469c26070a5Stholo	in `.'.
2470c26070a5Stholo
2471c26070a5Stholo	* sanity.sh: Add TODO list.  Revise some comments.  Add tests of
2472c26070a5Stholo	one working directory adding a file and other updating it.
2473c26070a5Stholo
2474c26070a5StholoSat Apr  8 14:52:55 1995  Jim Blandy  <jimb@totoro.bio.indiana.edu>
2475c26070a5Stholo
2476c26070a5Stholo	* Makefile.in (CFLAGS): Let configure set the default for CFLAGS.
2477c26070a5Stholo	Under GCC, we want -g -O.
2478c26070a5Stholo
2479c26070a5StholoFri Apr  7 15:49:25 1995  J.T. Conklin  <jtc@rtl.cygnus.com>
2480c26070a5Stholo
2481c26070a5Stholo	* root.c (Name_Root): merge identical adjacent conditionals.
2482c26070a5Stholo
2483c26070a5Stholo	* create_admin.c (Create_Admin): Rearranged check for CVSADM and
2484c26070a5Stholo	  OCVSADM directories so that CVSADM pathname is only built once.
2485c26070a5Stholo
2486c26070a5Stholo	* update.c (update_dirleave_proc): Removed code to remove CVS
2487c26070a5Stholo	  administration directory if command_name == "export" and to
2488c26070a5Stholo	  create CVS/Root file if it is not present.  Identical code
2489c26070a5Stholo	  in update_filesdone_proc() will perform these same actions.
2490c26070a5Stholo	  Also removed code that read and verfied CVS/Root.  This is
2491c26070a5Stholo	  expensive, and if it is necessary should happen in the
2492c26070a5Stholo	  general recursion processor rather than in the update
2493c26070a5Stholo	  callbacks.
2494c26070a5Stholo
2495c26070a5Stholo	* lock.c (masterlock): New variable, pathname of master lockdir.
2496c26070a5Stholo	  (set_lock): removed lockdir argument, now constructs it itself
2497c26070a5Stholo	  and stores it in masterlock.
2498c26070a5Stholo	  (clear_lock): new function, removes master lockdir.
2499c26070a5Stholo	  (Reader_Lock, write_lock): call clear_lock instead of removing
2500c26070a5Stholo	  master lockdir.
2501c26070a5Stholo	  (Reader_Lock, write_lock): #ifdef'd out CVSTFL code.
2502c26070a5Stholo
2503c26070a5Stholo	* main.c (main): register Lock_Cleanup signal handler.
2504c26070a5Stholo	* lock.c (Reader_Lock, write_lock): no longer register
2505c26070a5Stholo	  Lock_Cleanup.
2506c26070a5Stholo
2507c26070a5Stholo	* main.c (main): initialize new array hostname.
2508c26070a5Stholo	* lock.c (Reader_Lock, write_lock): Use global hostname array.
2509c26070a5Stholo	* logmsg.c (logfile_write): Likewise.
2510c26070a5Stholo
2511c26070a5Stholo	* recurse.c (do_dir_proc, unroll_files_proc): Use open()/fchdir()
2512c26070a5Stholo	  instead of getwd()/chdir() on systems that support the fchdir()
2513c26070a5Stholo	  system call.
2514c26070a5Stholo
2515c26070a5StholoFri Apr  7 06:57:20 1995  Jim Kingdon  (kingdon@lioth.cygnus.com)
2516c26070a5Stholo
2517c26070a5Stholo	* server.c: Include the word "server" in error message for memory
2518c26070a5Stholo	exhausted, so the user knows which machine ran out of memory.
2519c26070a5Stholo
2520c26070a5Stholo	* sanity.sh: For remote, set CVS_SERVER to test the right server,
2521c26070a5Stholo	rather than a random one from the PATH.
2522c26070a5Stholo
2523c26070a5Stholo	* commit.c [DEATH_STATE]: Pass -f to `ci'.
2524c26070a5Stholo
2525c26070a5StholoThu Apr  6 13:05:15 1995  Jim Blandy  <jimb@totoro.bio.indiana.edu>
2526c26070a5Stholo
2527c26070a5Stholo	* commit.c (checkaddfile): If we didn't manage to fopen the file,
2528c26070a5Stholo	don't try to fclose it.
2529c26070a5Stholo
2530c26070a5Stholo	* client.c (handle_m, handle_e): Use fwrite, rather than a loop of
2531c26070a5Stholo	putc's.  Sometimes these streams are unbuffered.
2532c26070a5Stholo
2533c26070a5StholoTue Apr  4 11:33:56 1995  Jim Blandy  <jimb@totoro.bio.indiana.edu>
2534c26070a5Stholo
2535c26070a5Stholo	* (DISTFILES): Include cvsbug.sh, ChangeLog, NOTES, RCS-patches,
2536c26070a5Stholo	README-rm-add, ChangeLog.fsf, sanity.sh, sanity.el, and
2537c26070a5Stholo	.cvsignore.
2538c26070a5Stholo
2539c26070a5StholoMon Mar 27 08:58:42 1995  Jim Kingdon  (kingdon@lioth.cygnus.com)
2540c26070a5Stholo
2541c26070a5Stholo	* rcs.c (RCS_parsercsfile_i): Accept `dead' state regardless of
2542c26070a5Stholo	DEATH_STATE define.  Revise comments regarding DEATH_STATE versus
2543c26070a5Stholo	CVSDEA versus the scheme which uses a patched RCS.
2544c26070a5Stholo	* README-rm-add, RCS-patches: Explain what versions of CVS need
2545c26070a5Stholo	RCS patches.
2546c26070a5Stholo
2547c26070a5StholoSat Mar 25 18:51:39 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2548c26070a5Stholo
2549c26070a5Stholo	* server.c (server_cleanup): Only do the abysmal kludge of waiting
2550c26070a5Stholo 	for command and draining the pipe #ifdef sun.  The code makes
2551c26070a5Stholo 	assumptions not valid on all systems, and is only there to
2552c26070a5Stholo 	workaround a SunOS bug.
2553c26070a5Stholo
2554c26070a5StholoWed Mar 22 21:55:56 1995  Jim Kingdon  (kingdon@lioth.cygnus.com)
2555c26070a5Stholo
2556c26070a5Stholo	* server.c (mkdir_p): Call stat only if we get the EACCES.  Faster
2557c26070a5Stholo	and more elegant.
2558c26070a5Stholo
2559c26070a5StholoTue Jan 31 20:59:19 1995  Ken Raeburn  <raeburn@cujo.cygnus.com>
2560c26070a5Stholo
2561c26070a5Stholo	* server.c: Try to avoid starting the "rm -rf" at cleanup time
2562c26070a5Stholo	until after subprocesses have finished.
2563c26070a5Stholo	(command_fds_to_drain, max_command_fd): New variables.
2564c26070a5Stholo	(do_cvs_command): Set them.
2565c26070a5Stholo	(command_pid_is_dead): New variable.
2566c26070a5Stholo	(wait_sig): New function.
2567c26070a5Stholo	(server_cleanup): If command_pid is nonzero, wait for it to die,
2568c26070a5Stholo	draining output from it in the meantime.  If nonzero SIG was
2569c26070a5Stholo	passed, send a signal to the subprocess, to encourage it to die
2570c26070a5Stholo	soon.
2571c26070a5Stholo
2572c26070a5Stholo	* main.c (usage): Argument is now `const char *const *'.
2573c26070a5Stholo	* cvs.h (usage): Changed prototype.
2574c26070a5Stholo	(USE): Make new variable `const'.
2575c26070a5Stholo	* add.c (add_usage), admin.c (admin_usage), checkout.c
2576c26070a5Stholo	(checkout_usage, export_usage, checkout), commit.c (commit_usage),
2577c26070a5Stholo	diff.c (diff_usage), history.c (history_usg), import.c
2578c26070a5Stholo	(import_usage, keyword_usage), log.c (log_usage), main.c (usg),
2579c26070a5Stholo	patch.c (patch_usage), release.c (release_usage), remove.c
2580c26070a5Stholo	(remove_usage), rtag.c (rtag_usage), server.c (server), status.c
2581c26070a5Stholo	(status_usage), tag.c (tag_usage), update.c (update_usage): Usage
2582c26070a5Stholo	messages are now const arrays of pointers to const char.
2583c26070a5Stholo
2584c26070a5Stholo	* import.c (comtable): Now const.
2585c26070a5Stholo	* main.c (rcsid): Now static.
2586c26070a5Stholo	(cmd): Now const.
2587c26070a5Stholo	(main): Local variable CM now points to const.
2588c26070a5Stholo	* server.c (outbuf_memory_error): Local var MSG now const.
2589c26070a5Stholo
2590c26070a5Stholo	* client.c (client_commit_usage): Deleted.
2591c26070a5Stholo
2592c26070a5StholoSat Dec 31 15:51:55 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2593c26070a5Stholo
2594c26070a5Stholo	* logmsg.c (do_editor): Allocate enough space for trailing '\0'.
2595c26070a5Stholo
2596c26070a5StholoFri Mar  3 11:59:49 1995  Jim Blandy  <jimb@totoro.bio.indiana.edu>
2597c26070a5Stholo
2598c26070a5Stholo	* cvsbug.sh: Call it "Cyclic CVS" now, not "Remote CVS".  Call it
2599c26070a5Stholo	version C1.4A, not 1.4A2-remote.  Send bugs to cyclic-cvs, not
2600c26070a5Stholo	remote-cvs.
2601c26070a5Stholo
2602c26070a5Stholo	* classify.c (Classify_File): Put check for dead file inside
2603c26070a5Stholo	"#ifdef DEATH_SUPPORT".
2604c26070a5Stholo
2605c26070a5StholoThu Feb 23 23:03:43 1995  Jim Blandy  <jimb@totoro.bio.indiana.edu>
2606c26070a5Stholo
2607c26070a5Stholo	* update.c (join_file): Don't pass the -E option to rcsmerge here,
2608c26070a5Stholo	either (see Jan 22 change).
2609c26070a5Stholo
2610c26070a5StholoMon Feb 13 13:28:46 1995  Jim Blandy  <jimb@totoro.bio.indiana.edu>
2611c26070a5Stholo
2612c26070a5Stholo	* cvsbug.sh: Send bug reports to remote-cvs@cyclic.com, rather
2613c26070a5Stholo	than to the ordinary CVS bug address.  This does mean we'll have
2614c26070a5Stholo	to wade through GNATS-style bug reports, sigh.
2615c26070a5Stholo
2616c26070a5StholoWed Feb  8 06:42:27 1995  Roland McGrath  <roland@churchy.gnu.ai.mit.edu>
2617c26070a5Stholo
2618c26070a5Stholo	* server.c: Don't include <sys/stat.h>; system.h already does, and
2619c26070a5Stholo 	4.3BSD can't take it twice.
2620c26070a5Stholo
2621c26070a5Stholo	* subr.c [! HAVE_VPRINTF] (run_setup, run_args): Don't use va_dcl
2622c26070a5Stholo 	in declaration.  Declare the a1..a8 args which are used in the
2623c26070a5Stholo 	sprintf call.
2624c26070a5Stholo	* cvs.h [! HAVE_VPRINTF] (run_setup, run_args): Don't prototype
2625c26070a5Stholo 	args, to avoid conflicting with the function definitions
2626c26070a5Stholo 	themselves.
2627c26070a5Stholo
2628c26070a5StholoTue Feb  7 20:10:00 1995  Jim Blandy  <jimb@totoro.bio.indiana.edu>
2629c26070a5Stholo
2630c26070a5Stholo	* client.c (update_entries): Pass the patch subprocess the switch
2631c26070a5Stholo	"-b ~", not "-b~"; the latter form seems not to work with patch
2632c26070a5Stholo	version 2.0 and earlier --- it takes the next argv element as the
2633c26070a5Stholo	backup suffix, and thus doesn't notice that the patch file's name
2634c26070a5Stholo	has been specified, thus doesn't find the patch, thus...  *aargh*
2635c26070a5Stholo
2636c26070a5StholoFri Feb  3 20:28:21 1995  Jim Blandy  <jimb@totoro.bio.indiana.edu>
2637c26070a5Stholo
2638c26070a5Stholo	* log.c (log_option_with_arg): New function.
2639c26070a5Stholo	(cvslog): Use it and send_arg to handle the rlog options that take
2640c26070a5Stholo	arguments.  The code used to use send_option_string for
2641c26070a5Stholo	everything, which assumes that "-d1995/01/02" is equivalent to
2642c26070a5Stholo	"-d -1 -9 -9 -5 ...".
2643c26070a5Stholo
2644c26070a5StholoTue Jan 31 15:02:01 1995  Jim Blandy  <jimb@floss.life.uiuc.edu>
2645c26070a5Stholo
2646c26070a5Stholo	* server.c: #include <sys/stat.h> for the new stat call in mkdir_p.
2647c26070a5Stholo	(mkdir_p): Don't try to create the intermediate directory if it
2648c26070a5Stholo	exists already.  Some systems return EEXIST, but others return
2649c26070a5Stholo	EACCES, which we can't otherwise distinguish from a real access
2650c26070a5Stholo	problem.
2651c26070a5Stholo
2652c26070a5StholoSun Jan 22 15:25:45 1995  Jim Blandy  <jimb@totoro.bio.indiana.edu>
2653c26070a5Stholo
2654c26070a5Stholo	* update.c (merge_file): My rcsmerge doesn't accept a -E option,
2655c26070a5Stholo	and it doesn't look too important, so don't pass it.
2656c26070a5Stholo
2657c26070a5StholoFri Jan 20 14:24:58 1995  Ian Lance Taylor  <ian@sanguine.cygnus.com>
2658c26070a5Stholo
2659c26070a5Stholo	* client.c (do_deferred_progs): Don't try to chdir to toplevel_wd
2660c26070a5Stholo	if it has not been set.
2661c26070a5Stholo	(process_prune_candidates): Likewise.
2662c26070a5Stholo
2663c26070a5StholoMon Nov 28 09:59:14 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2664c26070a5Stholo
2665c26070a5Stholo	* client.c (client_commit): Move guts of function from here...
2666c26070a5Stholo	* commit.c (commit): ...to here.
2667c26070a5Stholo
2668c26070a5StholoMon Nov 28 15:14:36 1994  Ken Raeburn  <raeburn@cujo.cygnus.com>
2669c26070a5Stholo
2670c26070a5Stholo	* server.c (buf_input_data, buf_send_output): Start cpp directives
2671c26070a5Stholo	in column 1, otherwise Sun 4 pcc complains.
2672c26070a5Stholo
2673c26070a5StholoMon Nov 28 09:59:14 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2674c26070a5Stholo
2675c26070a5Stholo	* client.c (add_prune_candidate): Don't try to prune ".".
2676c26070a5Stholo
2677c26070a5StholoTue Nov 22 05:27:10 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2678c26070a5Stholo
2679c26070a5Stholo	* server.c, client.c: More formatting cleanups.
2680c26070a5Stholo
2681c26070a5Stholo	* client.h, client.c: New variable client_prune_dirs.
2682c26070a5Stholo	* update.c (update), checkout.c (checkout): Set it.
2683c26070a5Stholo	* client.c (add_prune_candidate, process_prune_candidates): New
2684c26070a5Stholo	functions.
2685c26070a5Stholo	(send_repository, call_in_directory, get_responses_and_close):
2686c26070a5Stholo	Call them.
2687c26070a5Stholo
2688c26070a5StholoWed Nov 23 01:17:32 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
2689c26070a5Stholo
2690c26070a5Stholo	* server.c (do_cvs_command): Don't select on STDOUT_FILENO unless
2691c26070a5Stholo	we have something to write.
2692c26070a5Stholo
2693c26070a5StholoTue Nov 22 05:27:10 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2694c26070a5Stholo
2695c26070a5Stholo	* remove.c (remove_fileproc): Only call server_checked_in if we
2696c26070a5Stholo	actually are changing the entries file.
2697c26070a5Stholo
2698c26070a5Stholo	* server.c (server_write_entries): New function.
2699c26070a5Stholo	(dirswitch, do_cvs_command): Call it.
2700c26070a5Stholo	(serve_entry, serve_updated): Just update in-memory data
2701c26070a5Stholo	structures, don't mess with CVS/Entries file.
2702c26070a5Stholo
2703c26070a5StholoMon Nov 21 10:15:11 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2704c26070a5Stholo
2705c26070a5Stholo	* server.c (server_checked_in): Set scratched_file to NULL after
2706c26070a5Stholo	using it.
2707c26070a5Stholo
2708c26070a5Stholo	* checkin.c (Checkin): If the file was changed by the checkin,
2709c26070a5Stholo	call server_updated not server_checked_in.
2710c26070a5Stholo
2711c26070a5StholoSun Nov 20 08:01:51 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2712c26070a5Stholo
2713c26070a5Stholo	* client.c (send_repository): Move check for update_dir NULL to
2714c26070a5Stholo	before where we check last_update_dir.  Check for "" here too.
2715c26070a5Stholo
2716c26070a5Stholo	* client.c (send_repository): Use new argument dir.
2717c26070a5Stholo
2718c26070a5Stholo	* client.c: Pass new argument dir to send_repository and
2719c26070a5Stholo	send_a_repository.
2720c26070a5Stholo
2721c26070a5Stholo	* server.c, server.h (server_prog): New function.
2722c26070a5Stholo	* modules.c (do_modules): Call it if server_expanding.
2723c26070a5Stholo	* client.c: Support Set-checkin-prog and Set-update-prog responses.
2724c26070a5Stholo	* server.c, client.c: Add Checkin-prog and Update-prog requests.
2725c26070a5Stholo
2726c26070a5StholoFri Nov 18 14:04:38 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2727c26070a5Stholo
2728c26070a5Stholo	* client.c (get_short_pathname, is_cvsroot_level,
2729c26070a5Stholo	call_in_directory): Base whether this is new-style or
2730c26070a5Stholo	old-style based on whether we actually used the Directory request,
2731c26070a5Stholo	not based on whether the pathname is absolute.  Rename
2732c26070a5Stholo	directory_supported to use_directory.
2733c26070a5Stholo	* server.c: Rename use_relative_pathnames to use_dir_and_repos.
2734c26070a5Stholo	* client.c (send_a_repository): If update_dir is absolute, don't
2735c26070a5Stholo	use it to try to reconstruct how far we have recursed.
2736c26070a5Stholo
2737c26070a5Stholo	* server.c, server.h, client.c, client.h, vers_ts.c, update.h:
2738c26070a5Stholo	More cosmetic changes (identation, PARAMS vs. PROTO, eliminate
2739c26070a5Stholo	alloca, etc.) to remote CVS to make it more like the rest of CVS.
2740c26070a5Stholo
2741c26070a5Stholo	* server.c: Make server_temp_dir just the dir name, not the name
2742c26070a5Stholo	with "%s" at the end.
2743c26070a5Stholo	* server.c, client.c: Add "Max-dotdot" request, and use it to make
2744c26070a5Stholo	extra directories in server_temp_dir if needed.
2745c26070a5Stholo
2746c26070a5StholoThu Nov 17 09:03:28 1994  Jim Kingdon  <kingdon@cygnus.com>
2747c26070a5Stholo
2748c26070a5Stholo	* client.c: Fix two cases where NULL was used and 0 was meant.
2749c26070a5Stholo
2750c26070a5StholoMon Nov 14 08:48:41 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2751c26070a5Stholo
2752c26070a5Stholo	* server.c (serve_unchanged): Set noexec to 0 when calling Register.
2753c26070a5Stholo
2754c26070a5Stholo	* update.c (merge_file): Don't call xcmp if noexec.
2755c26070a5Stholo
2756c26070a5StholoFri Nov 11 13:58:22 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2757c26070a5Stholo
2758c26070a5Stholo	* client.c (call_in_directory): Deal with it if reposdirname is
2759c26070a5Stholo	not a subdirectory of toplevel_repos.
2760c26070a5Stholo
2761c26070a5StholoMon Nov  7 09:12:01 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2762c26070a5Stholo
2763c26070a5Stholo	* patch.c: If file is removed and we don't have a tag or date,
2764c26070a5Stholo	just print "current release".
2765c26070a5Stholo
2766c26070a5Stholo	* classify.c (Classify_File): Treat dead files appropriately.
2767c26070a5Stholo
2768c26070a5StholoFri Nov  4 07:33:03 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2769c26070a5Stholo
2770c26070a5Stholo	* main.c (main) [SERVER_SUPPORT]: Move call to getwd past where we
2771c26070a5Stholo	know whether we are the server or not.  Set CurDir to "<remote>"
2772c26070a5Stholo	if we are the server.
2773c26070a5Stholo
2774c26070a5Stholo	* client.c: Remove #if 0'd function option_with_arg.
2775c26070a5Stholo	Remove #if 0'd code pertaining to the old way of logging the
2776c26070a5Stholo	session.
2777c26070a5Stholo
2778c26070a5Stholo	* client.c (start_rsh_server): Don't invoke the server with the
2779c26070a5Stholo	-d option.
2780c26070a5Stholo	* server.c (serve_root): Test root for validity, just like main.c
2781c26070a5Stholo	does for non-remote CVS.
2782c26070a5Stholo	* main.c (main): If `cvs server' happens with a colon in the
2783c26070a5Stholo	CVSroot, just handle it normally; don't make it an error.
2784c26070a5Stholo
2785c26070a5StholoWed Nov  2 11:09:38 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2786c26070a5Stholo
2787c26070a5Stholo	* client.c (send_dirent_proc): If dir does not exist, just return
2788c26070a5Stholo	R_SKIP_ALL.
2789c26070a5Stholo
2790c26070a5Stholo	* server.c, client.c: Add Directory request and support for
2791c26070a5Stholo	local relative pathnames (along with the repository absolute
2792c26070a5Stholo	pathnames).
2793c26070a5Stholo	* update.c, add.c, checkout.c, checkin.c, cvs.h, create_adm.c,
2794c26070a5Stholo	commit.c, modules.c, server.c, server.h, remove.c, client.h:
2795c26070a5Stholo	Pass update_dir to server_* functions.  Include update_dir in
2796c26070a5Stholo	more error messages.
2797c26070a5Stholo
2798c26070a5StholoFri Oct 28 08:54:00 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2799c26070a5Stholo
2800c26070a5Stholo	* client.c: Reformat to bring closer to cvs standards for brace
2801c26070a5Stholo	position, comment formatting, etc.
2802c26070a5Stholo
2803c26070a5Stholo	* sanity.sh: Remove wrong "last mod" line.  Convert more tests to
2804c26070a5Stholo	put PASS or FAIL in log file.  Change it so arguments to the
2805c26070a5Stholo	script specify which tests to run.
2806c26070a5Stholo
2807c26070a5Stholo	* client.c, client.h, server.c, checkout.c: Expand modules in
2808c26070a5Stholo	separate step from the checkout itself.
2809c26070a5Stholo
2810c26070a5StholoSat Oct 22 20:33:35 1994  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
2811c26070a5Stholo
2812c26070a5Stholo	* update.c (join_file): When checking for null return from
2813c26070a5Stholo	RCS_getversion, still do return even if quiet flag is set.
2814c26070a5Stholo
2815c26070a5StholoThu Oct 13 07:36:11 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2816c26070a5Stholo
2817c26070a5Stholo	* client.c (send_files): Call send_repository even if
2818c26070a5Stholo	toplevel_repos was NULL.
2819c26070a5Stholo
2820c26070a5Stholo	* server.c (server_updated): If joining, don't remove file.
2821c26070a5Stholo
2822c26070a5Stholo	* update.c (join_file): If server and file is unmodified, check it
2823c26070a5Stholo	out before joining.  After joining, call server_updated.  New
2824c26070a5Stholo	argument repository.
2825c26070a5Stholo
2826c26070a5Stholo	* server.c, server.h (server_copy_file): New function.
2827c26070a5Stholo	* update.c (update_file_proc, join_file): Call it.
2828c26070a5Stholo	* client.c (copy_file, handle_copy_file): New functions.
2829c26070a5Stholo	* client.c (responses): Add "Copy-file".
2830c26070a5Stholo
2831c26070a5Stholo	* client.c, client.h: Make toplevel_wd, failed_patches and
2832c26070a5Stholo	failed_patches_count extern.
2833c26070a5Stholo	* client.c (client_update): Move guts of function from here...
2834c26070a5Stholo	* update.c (update): ...to here.
2835c26070a5Stholo
2836c26070a5Stholo	* client.c, checkout.c: Likewise for checkout.
2837c26070a5Stholo
2838c26070a5Stholo	* client.c (is_cvsroot_level): New function.
2839c26070a5Stholo	(handle_set_sticky, handle_clear_sticky,
2840c26070a5Stholo	handle_clear_static_directory): Call it, instead of checking
2841c26070a5Stholo	short_pathname for a slash.
2842c26070a5Stholo
2843c26070a5Stholo	* client.c, client.h (client_process_import_file,
2844c26070a5Stholo	client_import_done): New functions.
2845c26070a5Stholo	* import.c (import, import_descend): Use them.
2846c26070a5Stholo	* import.c (import_descend): If server, don't mention ignored CVS
2847c26070a5Stholo	directories.
2848c26070a5Stholo	* import.c (import_descend_dir): If client, don't print warm
2849c26070a5Stholo	fuzzies, or make directories in repository.  If server, print warm
2850c26070a5Stholo	fuzzies to stdout not stderr.
2851c26070a5Stholo	* client.c (send_modified): New function, broken out from
2852c26070a5Stholo	send_fileproc.
2853c26070a5Stholo	(send_fileproc): Call it.
2854c26070a5Stholo
2855c26070a5Stholo	* client.c (handle_clear_sticky, handle_set_sticky,
2856c26070a5Stholo	handle_clear_static_directory, handle_set_static_directory): If
2857c26070a5Stholo	command is export, just return.
2858c26070a5Stholo	(call_in_directory, update_entries): If command is export, don't
2859c26070a5Stholo	create CVS directories, CVS/Entries files, etc.
2860c26070a5Stholo	* update.c (update_filesdone_proc): Don't remove CVS directories if
2861c26070a5Stholo	client_active.
2862c26070a5Stholo
2863c26070a5Stholo	* client.c (send_a_repository): Instead of insisting that
2864c26070a5Stholo	repository end with update_dir, just strip as many pathname
2865c26070a5Stholo	components from the end as there are in update_dir.
2866c26070a5Stholo
2867c26070a5Stholo	* Makefile.in (remotecheck): New target, pass -r to sanity.sh.
2868c26070a5Stholo	* sanity.sh: Accept -r argument which means to test remote cvs.
2869c26070a5Stholo
2870c26070a5Stholo	* tag.c (tag), rtag.c (rtag), patch.c (patch), import.c (import),
2871c26070a5Stholo	admin.c (admin), release.c (release): If client_active, connect to
2872c26070a5Stholo	the server and send the right requests.
2873c26070a5Stholo	* main.c (cmds): Add these commands.
2874c26070a5Stholo	(main): Remove code which would strip hostname off cvsroot and try
2875c26070a5Stholo	the command locally.  There are no longer any commands which are
2876c26070a5Stholo	not supported.
2877c26070a5Stholo	* client.c, client.h (client_rdiff, client_tag, client_rtag,
2878c26070a5Stholo	client_import, client_admin, client_export, client_history,
2879c26070a5Stholo	client_release): New functions.
2880c26070a5Stholo	* server.c (serve_rdiff, serve_tag, serve_rtag, serve_import,
2881c26070a5Stholo	serve_admin, serve_export, serve_history, serve_release): New
2882c26070a5Stholo	functions.
2883c26070a5Stholo	(requests): List them.
2884c26070a5Stholo	* server.c: Declare cvs commands (add, admin, etc.).
2885c26070a5Stholo	* cvs.h, server.h: Don't declare any of them here.
2886c26070a5Stholo	* main.c: Restore declarations of cvs commands which were
2887c26070a5Stholo	previously removed.
2888c26070a5Stholo
2889c26070a5Stholo	* cvs.h: New define DEATH_STATE, commented out for now.
2890c26070a5Stholo	* rcs.c (RCS_parsercsfile_i), commit.c (remove_file, checkaddfile)
2891c26070a5Stholo	[DEATH_STATE]: Use RCS state to record a dead file.
2892c26070a5Stholo
2893c26070a5StholoMon Oct  3 09:44:54 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2894c26070a5Stholo
2895c26070a5Stholo	* status.c (status_fileproc): Now that ts_rcs is just one time,
2896c26070a5Stholo	don't try to print the second time from it.  (Same as raeburn 20
2897c26070a5Stholo	Aug change, it accidentally got lost in 1.4 Alpha-1 merge).
2898c26070a5Stholo
2899c26070a5Stholo	* cvs.h (CVSDEA): Added (but commented out for now).
2900c26070a5Stholo	* rcs.c (RCS_parsercsfile_i) [CVSDEA]: Also look in CVSDEA to see if
2901c26070a5Stholo	something is dead.
2902c26070a5Stholo	* commit.c (ci_new_rev, mark_file) [CVSDEA]: New functions.
2903c26070a5Stholo	(remove_file, checkaddfile) [CVSDEA]: Use them instead of ci -K.
2904c26070a5Stholo	* find_names.c (find_dirs) [CVSDEA]: Don't match CVSDEA directories.
2905c26070a5Stholo	* update.c (checkout_file): Check RCS_isdead rather than relying
2906c26070a5Stholo	on co to not create the file.
2907c26070a5Stholo
2908c26070a5Stholo	* sanity.sh: Direct output to logfile, not /dev/null.
2909c26070a5Stholo
2910c26070a5Stholo	* subr.c (run_exec): Print error message if we are unable to exec.
2911c26070a5Stholo
2912c26070a5Stholo	* commit.c (remove_file): Call Scratch_Entry when removing tag
2913c26070a5Stholo	from file.  The DEATH_SUPPORT ifdef was erroneous.
2914c26070a5Stholo
2915c26070a5StholoSun Oct  2 20:33:27 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2916c26070a5Stholo
2917c26070a5Stholo	* commit.c (checkaddfile): Instead of calling isdir before
2918c26070a5Stholo	attempting to create the directory, just ignore EEXIST errors from
2919c26070a5Stholo	mkdir.  (This removes some DEATH_SUPPORT ifdefs which actually had
2920c26070a5Stholo	nothing to do with death support).
2921c26070a5Stholo
2922c26070a5StholoThu Sep 29 09:23:57 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2923c26070a5Stholo
2924c26070a5Stholo	* diff.c (diff): Search attic too if we have a second tag/date.
2925c26070a5Stholo	(diff_fileproc): If we have a second tag/date, don't do all the
2926c26070a5Stholo	checking regarding the user file.
2927c26070a5Stholo
2928c26070a5StholoMon Sep 26 12:02:15 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2929c26070a5Stholo
2930c26070a5Stholo	* checkin.c (Checkin): Check for error from unlink_file.
2931c26070a5Stholo
2932c26070a5StholoMon Sep 26 08:51:10 1994  Anthony J. Lill  (ajlill@ajlc.waterloo.on.ca)
2933c26070a5Stholo
2934c26070a5Stholo	* rcs.c (getrcskey): Allocate space for terminating '\0' if
2935c26070a5Stholo	necessary.
2936c26070a5Stholo
2937c26070a5StholoSat Sep 24 09:07:37 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2938c26070a5Stholo
2939c26070a5Stholo	* commit.c (commit_fileproc): Set got_message = 1 when calling
2940c26070a5Stholo	do_editor (accidentally omitted from last change).
2941c26070a5Stholo
2942c26070a5StholoFri Sep 23 11:59:25 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2943c26070a5Stholo
2944c26070a5Stholo	Revert buggy parts of Rich's change of 1 Nov 1993 (keeping the
2945c26070a5Stholo	dynamic buffer allocation, which was the point of that change).
2946c26070a5Stholo	* logmsg.c (do_editor): Reinstate message arg, but make it char
2947c26070a5Stholo	**messagep instead of char *message.  Change occurances of message
2948c26070a5Stholo	to *messagep.  Char return type from char * back to void.
2949c26070a5Stholo	* cvs.h: Change do_editor declaration.
2950c26070a5Stholo	* commit.c: Reinstate got_message variable
2951c26070a5Stholo	(commit_filesdoneproc, commit_fileproc, commit_direntproc): Use it.
2952c26070a5Stholo	* import.c (import), commit.c (commit_fileproc,
2953c26070a5Stholo	commit_direntproc): Pass &message to do_editor; don't expect it to
2954c26070a5Stholo	return a value.
2955c26070a5Stholo	* client.c (client_commit): Likewise.
2956c26070a5Stholo	* import.c (import): Deal with it if message is NULL.
2957c26070a5Stholo
2958c26070a5StholoWed Sep 21 09:43:25 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2959c26070a5Stholo
2960c26070a5Stholo	* server.c (server_updated): If the file doesn't exist, skip it.
2961c26070a5Stholo
2962c26070a5Stholo	* diff.c, client.h, client.c: Rename diff_client_senddate to
2963c26070a5Stholo	client_senddate and move from diff.c to client.c.
2964c26070a5Stholo	* client.c (client_update, client_checkout): Use it.
2965c26070a5Stholo
2966c26070a5StholoSat Sep 17 08:36:58 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2967c26070a5Stholo
2968c26070a5Stholo	* checkout.c (checkout_proc): Don't pass NULL to Register for
2969c26070a5Stholo	version.  (should fix "cvs co -r <nonexistent-tag> <file>"
2970c26070a5Stholo	coredump on Solaris).
2971c26070a5Stholo
2972c26070a5StholoFri Sep 16 08:38:02 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2973c26070a5Stholo
2974c26070a5Stholo	* diff.c (diff_fileproc): Set top_rev from vn_user, not vn_rcs.
2975c26070a5Stholo	Rename it to user_file_rev because it need not be the head of any
2976c26070a5Stholo	branch.
2977c26070a5Stholo	(diff_file_nodiff): After checking user_file_rev, if we have both
2978c26070a5Stholo	use_rev1 and use_rev2, compare them instead of going on to code
2979c26070a5Stholo	which assumes use_rev2 == NULL.
2980c26070a5Stholo
2981c26070a5StholoThu Sep 15 08:20:23 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2982c26070a5Stholo
2983c26070a5Stholo	* status.c (status): Return a value in client_active case.
2984c26070a5Stholo
2985c26070a5StholoThu Sep 15 15:02:12 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
2986c26070a5Stholo
2987c26070a5Stholo	* server.c (serve_modified): Create the file even if the size is
2988c26070a5Stholo	zero.
2989c26070a5Stholo
2990c26070a5StholoThu Sep 15 08:20:23 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
2991c26070a5Stholo
2992c26070a5Stholo	* lock.c (readers_exist): Clear errno each time around the loop,
2993c26070a5Stholo	not just the first time.
2994c26070a5Stholo
2995c26070a5Stholo	* client.c (start_server): Don't send Global_option -q twice.
2996c26070a5Stholo
2997c26070a5Stholo	* no_diff.c (No_Difference): Check for error from unlink.
2998c26070a5Stholo
2999c26070a5Stholo	* no_diff.c, cvs.h (No_Difference): New args repository,
3000c26070a5Stholo	update_dir.  Call server_update_entries if needed.  Use update_dir
3001c26070a5Stholo	in error message.
3002c26070a5Stholo	* classify.c (Classify_File): Pass new args to No_Difference.
3003c26070a5Stholo
3004c26070a5Stholo	* server.c (server_update_entries, server_checked_in,
3005c26070a5Stholo	server_updated): Don't do anything if noexec.
3006c26070a5Stholo
3007c26070a5Stholo	* client.c (send_fileproc): Rather than guessing how big the gzip
3008c26070a5Stholo	output may be, just realloc the buffer as needed.
3009c26070a5Stholo
3010c26070a5StholoTue Sep 13 13:22:03 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
3011c26070a5Stholo
3012c26070a5Stholo	* lock.c: Check for errors from unlink, readdir, and closedir.
3013c26070a5Stholo
3014c26070a5Stholo	* classify.c (Classify_File): Pass repository and update_dir to
3015c26070a5Stholo	sticky_ck.
3016c26070a5Stholo	(sticky_ck): New args repository and update_dir.
3017c26070a5Stholo	* server.c, server.h (server_update_entries): New function.
3018c26070a5Stholo	* classify.c (sticky_ck): Call it.
3019c26070a5Stholo	* client.c: New response "New-entry".
3020c26070a5Stholo	* client.c (send_fileproc): Send tag/date from vers->entdata, not
3021c26070a5Stholo	from vers itself.
3022c26070a5Stholo
3023c26070a5StholoMon Sep 12 07:07:05 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
3024c26070a5Stholo
3025c26070a5Stholo	* server.c: Clean up formatting ("=  (errno)" -> "= errno").
3026c26070a5Stholo
3027c26070a5Stholo	* cvs.h: Declare strerror.
3028c26070a5Stholo
3029c26070a5Stholo	* client.c: Add code to deal with Set-sticky and Clear-sticky
3030c26070a5Stholo	responses, and Sticky request.
3031c26070a5Stholo	* server.c: Add code to deal with Sticky request.
3032c26070a5Stholo	* server.c, server.h (server_set_sticky): New function.
3033c26070a5Stholo	* create_adm.c (Create_Admin), update.c (update, update_dirent_proc),
3034c26070a5Stholo	commit.c (commit_dirleaveproc): Call it.
3035c26070a5Stholo	* client.c, client.h (send_files): Add parameter aflag.
3036c26070a5Stholo	* add.c (add), diff.c (diff), log.c (cvslog), remove.c (cvsremove),
3037c26070a5Stholo	status.c (status),
3038c26070a5Stholo	client.c (client_commit, client_update, client_checkout): Pass it.
3039c26070a5Stholo	* client.c (client_update): Add -A flag.
3040c26070a5Stholo
3041c26070a5StholoFri Sep  9 07:05:35 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
3042c26070a5Stholo
3043c26070a5Stholo	* entries.c (WriteTag): Check for error from unlink_file.
3044c26070a5Stholo
3045c26070a5Stholo	* server.c (server_updated): Initialize size to 0.  Previously if
3046c26070a5Stholo	the file was zero length, the variable size got used without being
3047c26070a5Stholo	set.
3048c26070a5Stholo
3049c26070a5StholoThu Sep  8 14:23:05 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
3050c26070a5Stholo
3051c26070a5Stholo	* server.c (serve_repository): Check for error from fopen on
3052c26070a5Stholo	CVSADM_ENT.
3053c26070a5Stholo
3054c26070a5Stholo	* update.c (update, update_dirent_proc): Check for errors when
3055c26070a5Stholo	removing Entries.Static.
3056c26070a5Stholo
3057c26070a5Stholo	* client.c: Add code to deal with Set-static-directory and
3058c26070a5Stholo	Clear-static-directory responses, and Static-directory request.
3059c26070a5Stholo	* server.c, server.h (server_clear_entstat, server_set_entstat):
3060c26070a5Stholo	New functions.
3061c26070a5Stholo	* update.c, checkout.c, modules.c: Call them.
3062c26070a5Stholo	* server.c: Add code to deal with Static-directory request.
3063c26070a5Stholo
3064c26070a5Stholo	* server.c, client.c: Use strchr and strrchr instead of index and
3065c26070a5Stholo	rindex.
3066c26070a5Stholo
3067c26070a5Stholo	* server.c (serve_unchanged, serve_lost): Change comments which
3068c26070a5Stholo	referred to changing timestamp; we don't always change the
3069c26070a5Stholo	timestamp in those cases anymore.
3070c26070a5Stholo
3071c26070a5StholoWed Sep  7 10:58:12 1994  J.T. Conklin  (jtc@rtl.cygnus.com)
3072c26070a5Stholo
3073c26070a5Stholo	* cvsrc.c (read_cvsrc): Don't call getenv() three times when one
3074c26070a5Stholo	  time will do.
3075c26070a5Stholo
3076c26070a5Stholo	* subr.c (xmalloc, xrealloc): Change type of bytes argument from
3077c26070a5Stholo	  int to size_t and remove the test that checks if it is less than
3078c26070a5Stholo	  zero.
3079c26070a5Stholo	* cvs.h (xmalloc, xrealloc): Update prototype.
3080c26070a5Stholo
3081c26070a5StholoThu Sep  1 12:22:20 1994  Jim Kingdon  (kingdon@cygnus.com)
3082c26070a5Stholo
3083c26070a5Stholo	* update.c (merge_file, join_file): Pass -E to rcsmerge.
3084c26070a5Stholo	(merge_file): If rcsmerge doesn't change the file, say so.
3085c26070a5Stholo
3086c26070a5Stholo	* recurse.c, cvs.h (start_recursion): New argument wd_is_repos.
3087c26070a5Stholo	* recurse.c (start_recursion): Use it instead of checking whether
3088c26070a5Stholo	command_name is rtag to find out if we are cd'd to the repository.
3089c26070a5Stholo	* client.c, update.c, commit.c, status.c, diff.c, log.c, admin.c,
3090c26070a5Stholo	remove.c, tag.c: Pass 0 for wd_is_repos.
3091c26070a5Stholo	* rtag.c, patch.c: Pass 1 for wd_is_repos.
3092c26070a5Stholo
3093c26070a5Stholo	* classify.c, cvs.h (Classify_File): New argument pipeout.
3094c26070a5Stholo	* classify.c (Classify_File): If pipeout, don't complain if the
3095c26070a5Stholo	file is already there.
3096c26070a5Stholo	* update.c, commit.c, status.c: Change callers.
3097c26070a5Stholo
3098c26070a5Stholo	* mkmodules.c (main): Don't print "reminders" if commitinfo,
3099c26070a5Stholo	loginfo, rcsinfo, or editinfo files are missing.
3100c26070a5Stholo
3101c26070a5StholoMon Aug 22 23:22:59 1994  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
3102c26070a5Stholo
3103c26070a5Stholo	* server.c (strerror): Static definition replaced by extern
3104c26070a5Stholo	declaration.
3105c26070a5Stholo
3106c26070a5StholoSun Aug 21 07:16:27 1994  Ken Raeburn  (raeburn@kr-pc.cygnus.com)
3107c26070a5Stholo
3108c26070a5Stholo	* client.c (update_entries): Run "patch" with input from
3109c26070a5Stholo	/dev/null, so if it's the wrong version, it fails quickly rather
3110c26070a5Stholo	than waiting for EOF from terminal before failing.
3111c26070a5Stholo
3112c26070a5StholoSat Aug 20 04:16:33 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
3113c26070a5Stholo
3114c26070a5Stholo	* server.c (serve_unchanged): Instead of creating a file with a
3115c26070a5Stholo	zero timestamp, rewrite the entries file to have "=" in the
3116c26070a5Stholo	timestamp field.
3117c26070a5Stholo	* vers_ts.c (mark_lost, mark_unchanged): New macros.
3118c26070a5Stholo	(time_stamp_server): Use them, for clarity.  Interpret "="
3119c26070a5Stholo	timestamp as an unchanged file.  A zero-timestamp file should
3120c26070a5Stholo	never be encountered now in use_unchanged mode.
3121c26070a5Stholo
3122c26070a5Stholo	* client.c (start_server): If CVS_CLIENT_PORT indicates a
3123c26070a5Stholo	non-positive port number, skip straight to rsh connection.
3124c26070a5Stholo
3125c26070a5Stholo	* status.c (status_fileproc): Fix ts_rcs reference when printing
3126c26070a5Stholo	version info, to correspond to new Entries file format.  Don't
3127c26070a5Stholo	print it at all if server_active, because it won't have any useful
3128c26070a5Stholo	data.
3129c26070a5Stholo
3130c26070a5StholoThu Aug 18 14:38:21 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
3131c26070a5Stholo
3132c26070a5Stholo	* cvs.h (status): Declare.
3133c26070a5Stholo	* client.c (client_status): New function.
3134c26070a5Stholo
3135c26070a5Stholo	* client.h (client_status): Declare.
3136c26070a5Stholo	* main.c (cmds): Include it.
3137c26070a5Stholo	* server.c (serve_status): New function.
3138c26070a5Stholo	(requests): Add it.
3139c26070a5Stholo	* status.c (status): Do the remote thing if client_active.
3140c26070a5Stholo
3141c26070a5Stholo	* client.c (supported_request): New function.
3142c26070a5Stholo	(start_server): Use it.
3143c26070a5Stholo
3144c26070a5Stholo	* server.c (receive_partial_file): New function, broken out from
3145c26070a5Stholo	serve_modified.  Operate with fixed-size local buffer, instead of
3146c26070a5Stholo	growing stack frame by entire file size.
3147c26070a5Stholo	(receive_file): New function, broken out from serve_modified.
3148c26070a5Stholo	(serve_modified): Call it.
3149c26070a5Stholo	(server): Print out name of unrecognized request.
3150c26070a5Stholo
3151c26070a5Stholo	More generic stream-filtering support:
3152c26070a5Stholo	* client.c (close_on_exec, filter_stream_through_program): New
3153c26070a5Stholo	functions.
3154c26070a5Stholo	(server_fd): New variable.
3155c26070a5Stholo	(get_responses_and_close): Direct non-rsh connection is now
3156c26070a5Stholo	indicated by server_fd being non-negative.  File descriptors for
3157c26070a5Stholo	to_server and from_server may now be different in case "tee"
3158c26070a5Stholo	filtering is being done.  Wait for rsh_pid specifically.
3159c26070a5Stholo	(start_server): Use filter_stream_through_program for "tee"
3160c26070a5Stholo	filter, and enable it for direct Kerberos-authenticated
3161c26070a5Stholo	connections.  Use dup to create new file descriptors for server
3162c26070a5Stholo	connection if logging is enabled.
3163c26070a5Stholo	(start_rsh_server): Disable code that deals with logging.
3164c26070a5Stholo
3165c26070a5Stholo	Per-file compression support:
3166c26070a5Stholo	* cvs.h (gzip_level): Declare.
3167c26070a5Stholo	* main.c (usg): Describe new -z argument.
3168c26070a5Stholo	(main): Recognize it and set gzip_level.
3169c26070a5Stholo	* client.c (filter_through_gzip, filter_through_gunzip): New
3170c26070a5Stholo	functions to handle compression.
3171c26070a5Stholo	(update_entries): If size starts with "z", uncompress
3172c26070a5Stholo	(start_server): If gzip_level is non-zero and server supports it,
3173c26070a5Stholo	issue gzip-file-contents request.
3174c26070a5Stholo	(send_fileproc): Optionally compress file contents.  Use a
3175c26070a5Stholo	slightly larger buffer, anticipating the worst case.
3176c26070a5Stholo	* server.c (gzip_level): Define here.
3177c26070a5Stholo	(receive_file): Uncompress file contents if needed.
3178c26070a5Stholo	(serve_modified): Recognize "z" in file size and pass receive_file
3179c26070a5Stholo	appropriate flag.
3180c26070a5Stholo	(buf_read_file_to_eof, buf_chain_length): New functions.
3181c26070a5Stholo	(server_updated): Call them when sending a compressed file.
3182c26070a5Stholo	(serve_gzip_contents): New function; set gzip_level.
3183c26070a5Stholo	(requests): Added gzip-file-contents request.
3184c26070a5Stholo
3185c26070a5StholoWed Aug 17 09:37:44 1994  J.T. Conklin  (jtc@cygnus.com)
3186c26070a5Stholo
3187c26070a5Stholo	* find_names.c (find_dirs): Use 4.4BSD filesystem feature (it
3188c26070a5Stholo	  contains the file type in the dirent structure) to avoid
3189c26070a5Stholo	  stat'ing each file.
3190c26070a5Stholo
3191c26070a5Stholo	* commit.c (remove_file,checkaddfile): Change type of umask
3192c26070a5Stholo	  variables from int to mode_t.
3193c26070a5Stholo	* subr.c (): Likewise.
3194c26070a5Stholo
3195c26070a5StholoTue Aug 16 19:56:34 1994  Mark Eichin  (eichin@cygnus.com)
3196c26070a5Stholo
3197c26070a5Stholo	* diff.c (diff_fileproc): Don't use diff_rev* because they're
3198c26070a5Stholo	invariant across calls -- add new variable top_rev.
3199c26070a5Stholo	(diff_file_nodiff): After checking possible use_rev* values, if
3200c26070a5Stholo	top_rev is set drop it in as well (if we don't already have two
3201c26070a5Stholo	versions) and then clear it for next time around.
3202c26070a5Stholo
3203c26070a5StholoWed Aug 10 20:50:47 1994  Mark Eichin  (eichin@cygnus.com)
3204c26070a5Stholo
3205c26070a5Stholo	* diff.c (diff_fileproc): if ts_user and ts_rcs match, then the
3206c26070a5Stholo	file is at the top of the tree -- so we might not even have a
3207c26070a5Stholo	copy. Put the revision into diff_rev1 or diff_rev2.
3208c26070a5Stholo
3209c26070a5StholoWed Aug 10 14:55:38 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
3210c26070a5Stholo
3211c26070a5Stholo	* server.c (do_cvs_command): Use waitpid.
3212c26070a5Stholo
3213c26070a5Stholo	* subr.c (run_exec): Always use waitpid.
3214c26070a5Stholo
3215c26070a5Stholo	* Makefile.in (CC, LIBS): Define here, in case "make" is run in
3216c26070a5Stholo	this directory instead of top level.
3217c26070a5Stholo
3218c26070a5StholoWed Aug 10 13:57:06 1994  Mark Eichin  (eichin@cygnus.com)
3219c26070a5Stholo
3220c26070a5Stholo	* client.c (krb_get_err_text): use HAVE_KRB_GET_ERR_TEXT to
3221c26070a5Stholo	determine if we need to use the array or the function.
3222c26070a5Stholo	* main.c: ditto.
3223c26070a5Stholo
3224c26070a5StholoTue Aug  9 16:43:30 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
3225c26070a5Stholo
3226c26070a5Stholo	* entries.c (ParseEntries): If timestamp is in old format, rebuild
3227c26070a5Stholo	it in the new format.  Fudge an unmatchable entry that won't
3228c26070a5Stholo	trigger this code next time around, if the file is modified.
3229c26070a5Stholo
3230c26070a5Stholo	* vers_ts.c (time_stamp): Only put st_mtime field into timestamp,
3231c26070a5Stholo	and use GMT time for it.  With st_ctime or in local time, copying
3232c26070a5Stholo	trees between machines in different time zones makes all the files
3233c26070a5Stholo	look modified.
3234c26070a5Stholo	(time_stamp_server): Likewise.
3235c26070a5Stholo
3236c26070a5StholoTue Aug  9 19:40:51 1994  Mark Eichin  (eichin@cygnus.com)
3237c26070a5Stholo
3238c26070a5Stholo	* main.c (main): use krb_get_err_text function instead of
3239c26070a5Stholo	krb_err_txt array.
3240c26070a5Stholo
3241c26070a5StholoThu Aug  4 15:37:50 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
3242c26070a5Stholo
3243c26070a5Stholo	* main.c (main): When invoked as kserver, set LOGNAME and USER
3244c26070a5Stholo	environment variables to the remote user name.
3245c26070a5Stholo
3246c26070a5StholoThu Aug  4 07:44:37 1994  Mark Eichin  (eichin@cygnus.com)
3247c26070a5Stholo
3248c26070a5Stholo	* client.c: (handle_valid_requests): if we get an option that has
3249c26070a5Stholo	rq_enableme set, then send that option. If it is UseUnchanged, set
3250c26070a5Stholo	use_unchanged so that the rest of the client knows about
3251c26070a5Stholo	it. (Could become a more general method for dealing with protocol
3252c26070a5Stholo	upgrades.)
3253c26070a5Stholo	(send_fileproc): if use_unchanged didn't get set, send an
3254c26070a5Stholo	old-style "Lost" request, otherwise send an "Unchanged" request.
3255c26070a5Stholo	* server.c (serve_unchanged): new function, same as serve_lost,
3256c26070a5Stholo	but used in the opposite case.
3257c26070a5Stholo	(requests): add new UseUnchanged and Unchanged requests, and make
3258c26070a5Stholo	"Lost" optional (there isn't a good way to interlock these.)
3259c26070a5Stholo	* server.h (request.status): rq_enableme, new value for detecting
3260c26070a5Stholo	compatibility changes.
3261c26070a5Stholo	* vers_ts.c (time_stamp_server): swap meaning of zero timestamp if
3262c26070a5Stholo	use_unchanged is set.
3263c26070a5Stholo
3264c26070a5StholoTue Jul 26 10:19:30 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
3265c26070a5Stholo
3266c26070a5Stholo	* sanity.sh: Separate CVSROOT_FILENAME, which must be the filename
3267c26070a5Stholo	of the root, from CVSROOT, which can include a hostname for
3268c26070a5Stholo	testing remote CVS.  (but the tests aren't yet prepared to deal
3269c26070a5Stholo	with the bugs in remote CVS).
3270c26070a5Stholo
3271c26070a5Stholo	* import.c (update_rcs_file): Change temporary file name in TMPDIR
3272c26070a5Stholo	from FILE_HOLDER to cvs-imp<process-id>.
3273c26070a5Stholo
3274c26070a5Stholo	* sanity.sh: Add ">/dev/null" and "2>/dev/null" many places to
3275c26070a5Stholo	suppress spurious output.  Comment out tests which don't work (cvs
3276c26070a5Stholo	add on top-level directory, cvs diff when non-committed adds or
3277c26070a5Stholo	removes have been made, cvs release, test 53 (already commented as
3278c26070a5Stholo	broken), retagging without deleting old tag, test 63).  Now 'make
3279c26070a5Stholo	check' runs without any failures.
3280c26070a5Stholo
3281c26070a5StholoFri Jul 15 12:58:29 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
3282c26070a5Stholo
3283c26070a5Stholo	* Makefile.in (install): Do not depend upon installdirs.
3284c26070a5Stholo
3285c26070a5StholoThu Jul 14 15:49:42 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
3286c26070a5Stholo
3287c26070a5Stholo	* client.c, server.c: Don't try to handle alloca here; it's
3288c26070a5Stholo	handled by cvs.h.
3289c26070a5Stholo
3290c26070a5StholoTue Jul 12 13:32:40 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
3291c26070a5Stholo
3292c26070a5Stholo	* client.c (update_entries): Reset stored_checksum_valid if we
3293c26070a5Stholo	quit early because of a patch failure.
3294c26070a5Stholo
3295c26070a5StholoFri Jul  8 11:13:05 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
3296c26070a5Stholo
3297c26070a5Stholo	* client.c (responses): Mark "Remove-entry" as optional.
3298c26070a5Stholo
3299c26070a5StholoThu Jul  7 14:07:58 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
3300c26070a5Stholo
3301c26070a5Stholo	* server.c (server_updated): Add new checksum argument.  If it is
3302c26070a5Stholo	not NULL, and the client supports the "Checksum" response, send
3303c26070a5Stholo	it.
3304c26070a5Stholo	* server.h (server_updated): Update prototype.
3305c26070a5Stholo	* update.c: Include md5.h.
3306c26070a5Stholo	(update_file_proc): Pass new arguments to patch_file and
3307c26070a5Stholo	server_updated.
3308c26070a5Stholo	(patch_file): Add new checksum argument.  Set it to the MD5
3309c26070a5Stholo	checksum of the version of the file being checked out.
3310c26070a5Stholo	(merge_file): Pass new argument to server_updated.
3311c26070a5Stholo	* client.c: Include md5.h.
3312c26070a5Stholo	(stored_checksum_valid, stored_checksum): New static variables.
3313c26070a5Stholo	(handle_checksum): New static function.
3314c26070a5Stholo	(update_entries): If a checksum was received, check it against the
3315c26070a5Stholo	MD5 checksum of the final file.
3316c26070a5Stholo	(responses): Add "Checksum".
3317c26070a5Stholo	(start_server): Clear stored_checksum_valid.
3318c26070a5Stholo	* commit.c (commit_fileproc): Pass new argument to server_updated.
3319c26070a5Stholo
3320c26070a5Stholo	* client.h (struct response): Move definition in from client.c,
3321c26070a5Stholo	add status field.
3322c26070a5Stholo	(responses): Declare.
3323c26070a5Stholo	* client.c (struct response): Remove definition; moved to
3324c26070a5Stholo	client.h.
3325c26070a5Stholo	(responses): Make non-static.  Initialize status field.
3326c26070a5Stholo	* server.c (serve_valid_responses): Check and record valid
3327c26070a5Stholo	responses, just as in handle_valid_requests in client.c.
3328c26070a5Stholo
3329c26070a5Stholo	* diff.c (diff_client_senddate): New function.
3330c26070a5Stholo	(diff): Use it to send -D arguments to server.
3331c26070a5Stholo
3332c26070a5StholoWed Jul  6 12:52:37 1994  J.T. Conklin  (jtc@phishhead.cygnus.com)
3333c26070a5Stholo
3334c26070a5Stholo	* rcs.c (RCS_parsercsfile_i): New function, parse RCS file
3335c26070a5Stholo	referenced by file ptr argument.
3336c26070a5Stholo	(RCS_parsercsfile): Open file and pass its file ptr to above function.
3337c26070a5Stholo	(RCS_parse): Likewise.
3338c26070a5Stholo
3339c26070a5StholoWed Jul  6 01:25:38 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3340c26070a5Stholo
3341c26070a5Stholo	* client.c (update_entries): Print message indicating that an
3342c26070a5Stholo	unpatchable file will be refetched.
3343c26070a5Stholo	(client_update): Print message when refetching unpatchable files.
3344c26070a5Stholo
3345c26070a5StholoFri Jul  1 07:16:29 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
3346c26070a5Stholo
3347c26070a5Stholo	* client.c (send_dirent_proc): Don't call send_a_repository if
3348c26070a5Stholo	repository is "".
3349c26070a5Stholo
3350c26070a5StholoFri Jul  1 13:58:11 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
3351c26070a5Stholo
3352c26070a5Stholo	* client.c (last_dirname, last_repos): Move out of function.
3353c26070a5Stholo	(failed_patches, failed_patches_count): New static variables.
3354c26070a5Stholo	(update_entries): If patch program fails, save short_pathname in
3355c26070a5Stholo	failed_patches array, only exit program if retcode is -1, and
3356c26070a5Stholo	return out of the function rather than update the Entries line.
3357c26070a5Stholo	(start_server): Clear toplevel_repos, last_dirname, last_repos.
3358c26070a5Stholo	(client_update): If failed_patches is not NULL after doing first
3359c26070a5Stholo	update, do another update, but remove all the failed files first.
3360c26070a5Stholo
3361c26070a5StholoThu Jun 30 09:08:57 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
3362c26070a5Stholo
3363c26070a5Stholo	* server.c (requests): Add request "Global_option".
3364c26070a5Stholo	(serve_global_option): New function, to handle it.
3365c26070a5Stholo	* client.c (start_server): Deal with global options.  Check for
3366c26070a5Stholo	errors from fprintf.
3367c26070a5Stholo
3368c26070a5Stholo	* client.c (send_fileproc): Split out code which sends repository
3369c26070a5Stholo	into new function send_a_repository.  Also, deal with update_dir
3370c26070a5Stholo	being ".".
3371c26070a5Stholo	(send_dirent_proc): Call send_a_repository.
3372c26070a5Stholo	* add.c (add): If client_active, do special processing for
3373c26070a5Stholo	directories.
3374c26070a5Stholo	(add_directory): If server_active, don't try to create CVSADM
3375c26070a5Stholo	directory.
3376c26070a5Stholo
3377c26070a5StholoThu Jun 30 11:58:52 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
3378c26070a5Stholo
3379c26070a5Stholo	* client.c (update_entries): If patch succeeds, remove the backup
3380c26070a5Stholo	file.
3381c26070a5Stholo	* server.c (server_updated): Add new argument file_info.  If it is
3382c26070a5Stholo	not NULL, use it rather than sb to get the file mode.
3383c26070a5Stholo	* server.h (server_updated): Update prototype for new argument.
3384c26070a5Stholo	* update.c (update_file_proc): Pass new arguments to patch_file
3385c26070a5Stholo	and server_updated.
3386c26070a5Stholo	(patch_file): Add new argument file_info.  Don't use -p to check
3387c26070a5Stholo	out new version, check it out into file and rename that to file2.
3388c26070a5Stholo	If result is not readable, assume file is dead and set docheckout.
3389c26070a5Stholo	Call xchmod on file2.  Close the patch file after checking for a
3390c26070a5Stholo	binary diff.  Set file_info to the results of stat on file2.
3391c26070a5Stholo	(merge_file): Pass new argument to server_updated.
3392c26070a5Stholo	* commit.c (commit_fileproc): Pass new argument to server_updated.
3393c26070a5Stholo
3394c26070a5StholoWed Jun 29 13:00:41 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
3395c26070a5Stholo
3396c26070a5Stholo	* client.c (krb_realmofhost): Declare, since it's not the current
3397c26070a5Stholo	<krb.h>.
3398c26070a5Stholo	(start_server): Save the name returned by gethostbyname.  Call
3399c26070a5Stholo	krb_realmofhost to get the realm.  Pass the resulting realm to
3400c26070a5Stholo	krb_sendauth.  Pass the saved real name to krb_sendauth, rather
3401c26070a5Stholo	than server_host.
3402c26070a5Stholo
3403c26070a5Stholo	* update.c (update_file_proc): Pass &docheckout to patch_file.  If
3404c26070a5Stholo	it is set to 1, fall through to T_CHECKOUT case.
3405c26070a5Stholo	(patch_file): Add docheckout argument.  Set it to 1 if we can't
3406c26070a5Stholo	make a patch.  Check out the files and run diff rather than
3407c26070a5Stholo	rcsdiff.  If either file does not end in a newline, we can't make
3408c26070a5Stholo	a patch.  If the patch starts with the string "Binary", assume
3409c26070a5Stholo	one or the other is a binary file, and that we can't make a patch.
3410c26070a5Stholo
3411c26070a5StholoTue Jun 28 11:57:29 1994  Ian Lance Taylor  (ian@sanguine.cygnus.com)
3412c26070a5Stholo
3413c26070a5Stholo	* client.c (update_entries): If the patch file is empty, don't run
3414c26070a5Stholo	patch program; avoids error message.
3415c26070a5Stholo
3416c26070a5Stholo	* classify.c (Classify_File): Return T_CHECKOUT, not T_PATCH, if
3417c26070a5Stholo	the file is in the Attic.
3418c26070a5Stholo
3419c26070a5Stholo	* cvs.h (enum classify_type): Add T_PATCH.
3420c26070a5Stholo	* config.h (PATCH_PROGRAM): Define.
3421c26070a5Stholo	* classify.c (Classify_File): If user file exists and is not
3422c26070a5Stholo	modified, and using the same -k options, return T_PATCH instead of
3423c26070a5Stholo	T_CHECKOUT.
3424c26070a5Stholo	* update.c (patches): New static variable.
3425c26070a5Stholo	(update): Add u to gnu_getopt argument.  Handle it.
3426c26070a5Stholo	(update_file_proc): Handle T_PATCH.
3427c26070a5Stholo	(patch_file): New static function.
3428c26070a5Stholo	* server.h (enum server_updated_arg4): Add SERVER_PATCHED.
3429c26070a5Stholo	* server.c (server_updated): Handle SERVER_PATCHED by sending
3430c26070a5Stholo	"Patched" command.
3431c26070a5Stholo	(serve_ignore): New static function.
3432c26070a5Stholo	(requests): Add "update-patches".
3433c26070a5Stholo	(client_update): If the server supports "update-patches", send -u.
3434c26070a5Stholo	* client.c (struct update_entries_data): Change contents field
3435c26070a5Stholo	from int to an unnamed enum.
3436c26070a5Stholo	(update_entries): Correponding change.  If contents is
3437c26070a5Stholo	UPDATE_ENTRIES_PATCH, pass the input to the patch program.
3438c26070a5Stholo	(handle_checked_in): Initialize contents to enum value, not int.
3439c26070a5Stholo	(handle_updated, handle_merged): Likewise.
3440c26070a5Stholo	(handle_patched): New static function.
3441c26070a5Stholo	(responses): Add "Patched".
3442c26070a5Stholo	* commit.c (check_fileproc): Handle T_PATCH.
3443c26070a5Stholo	* status.c (status_fileproc): Likewise.
3444c26070a5Stholo
3445c26070a5Stholo	* client.c (start_server): If CVS_CLIENT_PORT is set in the
3446c26070a5Stholo	environment, connect to that port, rather than looking up "cvs" in
3447c26070a5Stholo	/etc/services.  For debugging.
3448c26070a5Stholo
3449c26070a5StholoTue Jun 21 12:48:16 1994  Ken Raeburn  (raeburn@cujo.cygnus.com)
3450c26070a5Stholo
3451c26070a5Stholo	* update.c (joining): Return result of comparing pointer with
3452c26070a5Stholo	NULL, not result of casting (truncating, on Alpha) pointer to int.
3453c26070a5Stholo
3454c26070a5Stholo	* main.c (main) [HAVE_KERBEROS]: Impose a umask if starting as
3455c26070a5Stholo	Kerberos server, so temp directories won't be world-writeable.
3456c26070a5Stholo
3457c26070a5Stholo	* update.c (update_filesdone_proc) [CVSADM_ROOT]: If environment
3458c26070a5Stholo	variable CVS_IGNORE_REMOTE_ROOT is set and repository is remote,
3459c26070a5Stholo	don't create CVS/Root file.
3460c26070a5Stholo	* main.c (main): If env var CVS_IGNORE_REMOTE_ROOT is set, don't
3461c26070a5Stholo	check CVS/Root.
3462c26070a5Stholo
3463c26070a5StholoFri Jun 10 18:48:32 1994  Mark Eichin  (eichin@cygnus.com)
3464c26070a5Stholo
3465c26070a5Stholo	* server.c (O_NDELAY): use POSIX O_NONBLOCK by default, unless it
3466c26070a5Stholo	isn't available (in which case substitute O_NDELAY.)
3467c26070a5Stholo
3468c26070a5StholoThu Jun  9 19:17:44 1994  Mark Eichin  (eichin@cygnus.com)
3469c26070a5Stholo
3470c26070a5Stholo	* server.c (server_cleanup): chdir out of server_temp_dir before
3471c26070a5Stholo	deleting it (so that it works on non-BSD systems.) Code for choice
3472c26070a5Stholo	of directory cloned from server().
3473c26070a5Stholo
3474c26070a5StholoFri May 27 18:16:01 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3475c26070a5Stholo
3476c26070a5Stholo	* client.c (update_entries): Add return type of void.
3477c26070a5Stholo	(get_responses_and_close): If using Kerberos and from_server and
3478c26070a5Stholo	to_server are using the same file descriptor, use shutdown, not
3479c26070a5Stholo	fclose.  Close from_server.
3480c26070a5Stholo	(start_server): New function; most of old version renamed to
3481c26070a5Stholo	start_rsh_server.
3482c26070a5Stholo	(start_rsh_server): Mostly renamed from old start_server.
3483c26070a5Stholo	(send_fileproc): Use %lu and cast sb.st_size in fprintf call.
3484c26070a5Stholo	(send_files): Remove unused variables repos and i.
3485c26070a5Stholo	(option_no_arg): Comment out; unused.
3486c26070a5Stholo	* main.c (main): Initialize cvs_update_env to 0.  If command is
3487c26070a5Stholo	"kserver", authenticate and change command to "server".  If
3488c26070a5Stholo	command is "server", don't call Name_Root, don't check access to
3489c26070a5Stholo	history file, and don't assume that CVSroot is not NULL.
3490c26070a5Stholo	* server.c (my_memmove): Removed.
3491c26070a5Stholo	(strerror): Change check from STRERROR_MISSING to HAVE_STRERROR.
3492c26070a5Stholo	(serve_root): Likewise for putenv.
3493c26070a5Stholo	(serve_modified): Initialize buf to NULL.
3494c26070a5Stholo	(struct output_buffer, buf_try_send): Remove old buffering code.
3495c26070a5Stholo	(struct buffer, struct buffer_data, BUFFER_DATA_SIZE,
3496c26070a5Stholo	allocate_buffer_datas, get_buffer_data, buf_empty_p,
3497c26070a5Stholo	buf_append_char, buf_append_data, buf_read_file, buf_input_data,
3498c26070a5Stholo	buf_copy_lines): New buffering code.
3499c26070a5Stholo	(buf_output, buf_output0, buf_send_output, set_nonblock,
3500c26070a5Stholo	set_block, buf_send_counted, buf_copy_counted): Rewrite for new
3501c26070a5Stholo	buffering code.
3502c26070a5Stholo	(protocol, protocol_memory_error, outbuf_memory_error,
3503c26070a5Stholo	do_cvs_command, server_updated): Rewrite for new buffering code.
3504c26070a5Stholo	(input_memory_error): New function.
3505c26070a5Stholo	(server): Put Rcsbin at start of PATH in environment.
3506c26070a5Stholo	* Makefile.in: Add @includeopt@ to DEFS.
3507c26070a5Stholo
3508c26070a5StholoFri May 20 08:13:10 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
3509c26070a5Stholo
3510c26070a5Stholo	* cvs.h, classify.c (Classify_File): New argument update_dir.
3511c26070a5Stholo	Include it in user messages.
3512c26070a5Stholo	* commit.c (check_fileproc), status.c (status_fileproc), update.c
3513c26070a5Stholo	(update_file_proc): Pass update_dir to Classify_File.
3514c26070a5Stholo	* commit.c (check_fileproc), update.c (checkout_file):
3515c26070a5Stholo	Include update_dir in user messages.
3516c26070a5Stholo	* commit.c (check_fileproc) update.c (update_file_proc): Re-word
3517c26070a5Stholo	"unknown status" message.
3518c26070a5Stholo
3519c26070a5Stholo	* server.c (server_checked_in): Deal with the case where
3520c26070a5Stholo	scratched_file is set rather than entries_line.
3521c26070a5Stholo
3522c26070a5Stholo	* entries.c (Register): Write file even if server_active.
3523c26070a5Stholo	* add.c (add): Add comment about how we depend on above behavior.
3524c26070a5Stholo
3525c26070a5StholoTue May 17 08:16:42 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
3526c26070a5Stholo
3527c26070a5Stholo	* mkmodules.c: Add dummy server_active and server_cleanup, to go
3528c26070a5Stholo	with the dummy Lock_Cleanup already there.
3529c26070a5Stholo
3530c26070a5Stholo	* server.c (server_cleanup): No longer static.
3531c26070a5Stholo
3532c26070a5StholoSat May  7 10:17:17 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
3533c26070a5Stholo
3534c26070a5Stholo	Deal with add and remove:
3535c26070a5Stholo	* commit.c (checkaddfile): If CVSEXT_OPT or CVSEXT_LOG file does
3536c26070a5Stholo	not exist, just	silently keep going.
3537c26070a5Stholo	(remove_file): If server_active, remove file before creating
3538c26070a5Stholo	temporary file with that name.
3539c26070a5Stholo	* server.c (serve_remove, serve_add): New functions.
3540c26070a5Stholo	(requests): Add them.
3541c26070a5Stholo	* server.c (server_register): If options is NULL, it means there
3542c26070a5Stholo	are no options.
3543c26070a5Stholo	* server.c, server.h (server_scratch_entry_only): New function.
3544c26070a5Stholo	New variable kill_scratched_file.
3545c26070a5Stholo	(server_scratch, server_updated): Deal with kill_scratched_file.
3546c26070a5Stholo	* commit.c (commit_fileproc): If server_active, call
3547c26070a5Stholo	server_scratch_entry_only and server_updated.
3548c26070a5Stholo	* add.c (add): Add client_active code.
3549c26070a5Stholo	(add): If server_active, call server_checked_in for each file added.
3550c26070a5Stholo	* remove.c (remove): Add client_active code.
3551c26070a5Stholo	(remove_fileproc): If server_active, call server_checked_in.
3552c26070a5Stholo	* main.c (cmds), client.c, client.h: New functions client_add and
3553c26070a5Stholo	client_remove.
3554c26070a5Stholo	* Move declarations of add, cvsremove, diff, and cvslog from
3555c26070a5Stholo	main.c to cvs.h.
3556c26070a5Stholo	* client.c (call_in_directory): Update comment regarding Root and
3557c26070a5Stholo	Repository files.
3558c26070a5Stholo	(send_fileproc): Only send Entries line if Version_TS really finds
3559c26070a5Stholo	an entry.  If it doesn't find one, send Modified.
3560c26070a5Stholo	(update_entries): If version is empty or starts with 0 or -,
3561c26070a5Stholo	create a dummy timestamp.
3562c26070a5Stholo
3563c26070a5StholoThu May  5 19:02:51 1994  Per Bothner  (bothner@kalessin.cygnus.com)
3564c26070a5Stholo
3565c26070a5Stholo	* recurse/c (start_recursion):  If we're doing rtag, and thus
3566c26070a5Stholo	have cd'd to the reporsitory, add ,v to a file name before stat'ing.
3567c26070a5Stholo
3568c26070a5StholoWed Apr 20 15:01:45 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3569c26070a5Stholo
3570c26070a5Stholo	* client.c (client_commit): Call ign_setup.
3571c26070a5Stholo	(client_update, client_checkout): Likewise.
3572c26070a5Stholo	* diff.c (diff): If client, call ign_setup.
3573c26070a5Stholo	* log.c (cvslog): Likewise.
3574c26070a5Stholo	* update.h (ignlist): Change definition to declaration to avoid
3575c26070a5Stholo	depending upon common semantics (not required by ANSI C, and not
3576c26070a5Stholo	the default on Irix 5).
3577c26070a5Stholo	* update.c (ignlist): Define.
3578c26070a5Stholo
3579c26070a5StholoTue Apr 19 00:02:54 1994  John Gilmore  (gnu@cygnus.com)
3580c26070a5Stholo
3581c26070a5Stholo	Add support for remote `cvs log'; clean up `cvs diff' a bit.
3582c26070a5Stholo
3583c26070a5Stholo	* client.c (send_arg):  Make external.
3584c26070a5Stholo	(send_option_string): New function.
3585c26070a5Stholo	(client_diff_usage):  Remove, unused.
3586c26070a5Stholo	(client_diff):  Just call diff, not do_diff.
3587c26070a5Stholo	(client_log):  Add.
3588c26070a5Stholo	* client.h (client_log, send_arg, send_option_string):  Declare.
3589c26070a5Stholo	* cvs.h (cvslog):  Declare.
3590c26070a5Stholo	* diff.c (do_diff):  Fold back into diff(), distinguish by checking
3591c26070a5Stholo	client_active.
3592c26070a5Stholo	(diff):  Remove `-*' arg parsing crud; use send_option_string.
3593c26070a5Stholo	* log.c (cvslog):  If a client, start the server, pass options
3594c26070a5Stholo	and files, and handle server responses.
3595c26070a5Stholo	* main.c (cmds):  Add client_log.
3596c26070a5Stholo	(main):  Remove obnoxious message every time CVS/Root is used.
3597c26070a5Stholo	Now CVS will be quiet about it -- unless there is a conflict
3598c26070a5Stholo	between $CVSROOT or -d value versus CVS/Root.
3599c26070a5Stholo	* server.c (serve_log):  Add.
3600c26070a5Stholo	(requests):  Add "log".
3601c26070a5Stholo
3602c26070a5StholoMon Apr 18 22:07:53 1994  John Gilmore  (gnu@cygnus.com)
3603c26070a5Stholo
3604c26070a5Stholo	Add support for remote `cvs diff'.
3605c26070a5Stholo
3606c26070a5Stholo	* diff.c (diff):  Break guts out into new fn do_diff.
3607c26070a5Stholo	Add code to handle starting server, writing args,
3608c26070a5Stholo	sending files, and retrieving responses.
3609c26070a5Stholo	(includes): Use PARAMS for static function declarations.
3610c26070a5Stholo	* client.c (to_server, from_server, rsh_pid,
3611c26070a5Stholo	get_responses_and_close, start_server, send_files,
3612c26070a5Stholo	option_with_arg):  Make external.
3613c26070a5Stholo	(send_file_names):  New function.
3614c26070a5Stholo	(client_diff):  New function.
3615c26070a5Stholo	* client.h (client_diff, to_server, from_server,
3616c26070a5Stholo	rsh_pid, option_with_arg, get_responses_and_close, start_server,
3617c26070a5Stholo	send_file_names, send_files):  Declare.
3618c26070a5Stholo	* cvs.h (diff):  Declare.
3619c26070a5Stholo	* main.c (cmds):  Add client_diff to command table.
3620c26070a5Stholo	* server.c (serve_diff):  New function.
3621c26070a5Stholo	(requests):  Add serve_diff.
3622c26070a5Stholo	(server):  Bug fix: avoid free()ing incremented cmd pointer.
3623c26070a5Stholo	* update.h (update_filesdone_proc):  Declare with PARAMS.
3624c26070a5Stholo
3625c26070a5StholoSat Apr 16 04:20:09 1994  John Gilmore  (gnu@cygnus.com)
3626c26070a5Stholo
3627c26070a5Stholo	* root.c (Name_root):  Fix tyop (CVSroot when root meant).
3628c26070a5Stholo
3629c26070a5StholoSat Apr 16 03:49:36 1994  John Gilmore  (gnu@cygnus.com)
3630c26070a5Stholo
3631c26070a5Stholo	Clean up remote `cvs update' to properly handle ignored
3632c26070a5Stholo	files (and files that CVS can't identify), and to create
3633c26070a5Stholo	CVS/Root entries on the client side, not the server side.
3634c26070a5Stholo
3635c26070a5Stholo	* client.c (send_fileproc):  Handle the ignore list.
3636c26070a5Stholo	(send_dirent_proc):  New function for handling ignores.
3637c26070a5Stholo	(send_files):  Use update_filesdone_proc and send_dirent_proc
3638c26070a5Stholo	while recursing through the local filesystem.
3639c26070a5Stholo	* update.h:  New file.
3640c26070a5Stholo	* update.c:  Move a few things into update.h so that client.c
3641c26070a5Stholo	can use them.
3642c26070a5Stholo
3643c26070a5StholoFri Mar 11 13:13:20 1994  Ian Lance Taylor  (ian@tweedledumb.cygnus.com)
3644c26070a5Stholo
3645c26070a5Stholo	* server.c: If O_NDELAY is not defined, but O_NONBLOCK is, define
3646c26070a5Stholo	O_NDELAY to O_NONBLOCK.
3647c26070a5Stholo
3648c26070a5StholoWed Mar  9 21:08:30 1994  Jim Kingdon  (kingdon@lioth.cygnus.com)
3649c26070a5Stholo
3650c26070a5Stholo	Fix some spurious remote CVS errors caused by the CVS/Root patches:
3651c26070a5Stholo	* update.c (update_filesdone_proc): If server_active, don't try to
3652c26070a5Stholo	create CVS/Root.
3653c26070a5Stholo	* root.c (Name_Root): Make error messages which happen if root is
3654c26070a5Stholo	not an absolute pathname or if it doesn't exist a bit clearer.
3655c26070a5Stholo	Skip them if root contains a colon.
3656c26070a5Stholo
3657c26070a5StholoMon Nov  1 15:54:51 1993  K. Richard Pixley  (rich@sendai.cygnus.com)
3658c26070a5Stholo
3659c26070a5Stholo	* client.c (client_commit): dynamically allocate message.
3660c26070a5Stholo
3661c26070a5StholoTue Jun  1 17:03:05 1993  david d `zoo' zuhn  (zoo at cirdan.cygnus.com)
3662c26070a5Stholo
3663c26070a5Stholo	* server.h: remove alloca cruft
3664c26070a5Stholo
3665c26070a5Stholo	* server.c: replace with better alloca cruft
3666c26070a5Stholo
3667c26070a5StholoMon May 24 11:25:11 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
3668c26070a5Stholo
3669c26070a5Stholo	* entries.c (Scratch_Entry):  Update our local Entries file even if
3670c26070a5Stholo	server_active.
3671c26070a5Stholo
3672c26070a5Stholo	* server.c (server_scratch, server_register): If both Register
3673c26070a5Stholo	and Scratch_Entry happen, use whichever one happened later.
3674c26070a5Stholo	If neither happen, silently continue.
3675c26070a5Stholo
3676c26070a5Stholo	* client.c (client_checkout): Initialize tag and date (eichin and
3677c26070a5Stholo	I independently discovered this bug at the same time).
3678c26070a5Stholo
3679c26070a5StholoWed May 19 10:11:51 1993  Mark Eichin (eichin@cygnus.com)
3680c26070a5Stholo
3681c26070a5Stholo	* client.c (update_entries): handle short reads over the net
3682c26070a5Stholo	(SVR4 fread is known to be broken, specifically for short
3683c26070a5Stholo	reads off of streams.)
3684c26070a5Stholo
3685c26070a5StholoTue May 18 15:53:44 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
3686c26070a5Stholo
3687c26070a5Stholo	* server.c (do_cvs_command): Fix fencepost error in setting
3688c26070a5Stholo	num_to_check.
3689c26070a5Stholo
3690c26070a5Stholo	* server.c (do_cvs_command): If terminated with a core dump, print
3691c26070a5Stholo	message and set dont_delete_temp.
3692c26070a5Stholo	(server_cleanup): If dont_delete_temp, don't delete it.
3693c26070a5Stholo
3694c26070a5Stholo	* client.c (get_server_responses): Don't change cmd since we
3695c26070a5Stholo	are going to "free (cmd)".
3696c26070a5Stholo
3697c26070a5Stholo	* server.c: Rename memmove to my_memmove pending a real fix.
3698c26070a5Stholo
3699c26070a5Stholo	* server.c (do_cvs_command): Set num_to_check to largest descriptor
3700c26070a5Stholo	we try to use, rather than using (non-portable) getdtablesize.
3701c26070a5Stholo
3702c26070a5StholoWed May 12 15:31:40 1993  Jim Kingdon  (kingdon@lioth.cygnus.com)
3703c26070a5Stholo
3704c26070a5Stholo	Add CVS client feature:
3705c26070a5Stholo	* client.{c,h}: New files.
3706c26070a5Stholo	* cvs.h: Include client.h.
3707c26070a5Stholo	* main.c: If CVSROOT has a colon, use client commands instead.
3708c26070a5Stholo	* vers_ts.c (Version_TS): If repository arg is NULL, don't worry
3709c26070a5Stholo	about the repository.
3710c26070a5Stholo	* logmsg.c (do_editor): If repository or changes is NULL, just don't
3711c26070a5Stholo	use those features.
3712c26070a5Stholo	* create_adm.c (Create_Admin), callers:  Move the test for whether
3713c26070a5Stholo	the repository exists from here to callers.
3714c26070a5Stholo	* repos.c (Name_Repository): Don't test whether the repository exists
3715c26070a5Stholo	if client_active set (might be better to move test to callers).
3716c26070a5Stholo
3717c26070a5Stholo	Add CVS server feature:
3718c26070a5Stholo	* server.{c,h}: New files.
3719c26070a5Stholo	* cvs.h: Include server.h.
3720c26070a5Stholo	* checkin.c (Checkin): Call server_checked_in.
3721c26070a5Stholo	* update.c (update_file_proc, merge_files): Call server_updated.
3722c26070a5Stholo	* entries.c (Register): Call server_register.
3723c26070a5Stholo	(Scratch_Entry): Call server_scratch.
3724c26070a5Stholo	* main.c: Add server to cmds.
3725c26070a5Stholo	* vers_ts.c (Version_TS): If server_active, call new function
3726c26070a5Stholo	time_stamp_server to set ts_user.
3727c26070a5Stholo
3728c26070a5Stholo
3729c26070a5StholoFor older changes, there might be some relevant stuff in the bottom of
3730c26070a5Stholothe NEWS file, but I'm afraid probably a lot of them are lost in the
3731c26070a5Stholomists of time.
3732