PageRenderTime 52ms CodeModel.GetById 1ms RepoModel.GetById 1ms app.codeStats 0ms

/contrib/cvs/src/ChangeLog-97

https://bitbucket.org/freebsd/freebsd-head/
#! | 3249 lines | 2405 code | 844 blank | 0 comment | 0 complexity | 8e1477da70eeee62eff09bdaf26da9c0 MD5 | raw file
Possible License(s): MPL-2.0-no-copyleft-exception, BSD-3-Clause, LGPL-2.0, LGPL-2.1, BSD-2-Clause, 0BSD, JSON, AGPL-1.0, GPL-2.0
  1. 1997-12-30 enami tsugutomo <enami@but-b.or.jp>
  2. * rcs.c (RCS_checkin): Use gmtime() instead of localtime()
  3. (restores behavior from RCS 5.x which was broken with RCS library
  4. -kingdon).
  5. Mon Dec 29 12:53:00 1997 Ian Lance Taylor <ian@cygnus.com>
  6. * modules.c (do_module): Check for a request for a file within a
  7. module which is not a directory.
  8. * sanity.sh (modules): Add test 149b1 for above patch.
  9. * client.c (start_tcp_server): Remove useless assignment, left
  10. behind by Dec 15 patch.
  11. Sat Dec 27 17:41:11 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  12. * client.c, options.h.in, history.c, import.c, main.c, rcs.c,
  13. update.c: Remove !HAVE_RCS5 code. It had bit-rotted a while ago,
  14. and more to the point is obsolete with the RCS library.
  15. 27 Dec 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  16. * zlib.c, server.h (gunzip_and_write): New function.
  17. * client.c (update_entries): Call it instead of a gunzip subprocess.
  18. * zlib.c, server.h (read_and_gzip): New function.
  19. * client.c (send_modified): Call it instead of a gzip subprocess.
  20. Sat Dec 27 13:07:38 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  21. Decrease RCS_deltas memory usage to what we need (approximately
  22. the size of the file we are patching plus the size of the largest
  23. patch). Previously memory usage had been approximately the size
  24. of the RCS file because we never freed lines until the end.
  25. * rcs.c (linevector_free, linevector_copy, linevector_add,
  26. linevector_delete):
  27. Instead of having all the lines and struct line's in the alloc_*
  28. space, have each line and its struct line in its own malloc'd
  29. space. Use a refcount to deal with curlines vs. headlines
  30. vs. trunklines in RCS_deltas.
  31. (struct allocblock, blocks, block_alloc, block_free): Remove; no
  32. longer used.
  33. (apply_rcs_changes, RCS_deltas): Don't copy lines into allocated
  34. space; linevector_add now does that for us.
  35. (rcs_change_text, RCS_deltas): Don't call block_free.
  36. Tue Dec 23 08:28:44 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  37. * cvsbug.sh: Change bug-cvs address from prep.ai.mit.edu to gnu.org
  38. per email from Martin Hamilton.
  39. Sun Dec 21 21:49:50 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  40. * rcs.c (RCS_checkin): Disable keyword expansion when generating
  41. the change text.
  42. * sanity.sh: Move tests keyword-24 through keyword-27 into
  43. new section keywordlog and expand greatly. Note that CVS 1.9.18
  44. passes the new tests both local and remote but the current
  45. version failed them both local and remote before this fix.
  46. Sat Dec 20 19:56:00 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  47. * rcs.c (RCS_delete_revs): Clean up temporary files even if noexec.
  48. Without this fix, basica-o5a in sanity.sh would leave files around.
  49. Thu Dec 18 13:05:00 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  50. * run.c: Fix typo in declaration (evecvp -> execvp) (credit to
  51. Erik Walthinsen for reporting this). Only declare it if not
  52. HAVE_UNISTD_H. Move declaration to before the first use.
  53. Tue Dec 16 12:59:00 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  54. * update.c: Collapse two identical declarations for join_file.
  55. Mon Dec 15 16:01:49 1997 Ian Lance Taylor <ian@cygnus.com>
  56. * client.c (start_tcp_server): Remove calls to htons and add one
  57. call to ntohs (init_sockaddr calls htons on the port argument).
  58. Mon Dec 15 00:07:02 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  59. * client.c (failure_exit): New variable.
  60. (get_server_responses): If it is set, then return
  61. failure.
  62. (updated_seen, updated_fname): New variables.
  63. (update_entries): Use updated_fname if set. In the "move away
  64. foo.c; it is in the way" case print "C" not "U", and set
  65. failure_exit.
  66. (handle_mt): If we get +updated tagged text, stash it away in
  67. updated_fname rather than printing it immediately.
  68. (handle_mt, get_server_responses): If we stashed a filename and
  69. didn't get around to printing it, go ahead and print it.
  70. * sanity.sh (conflicts2-142d2): Adjust to test for fix. Remote is
  71. now like local was in terms of exit status and "C aa.c" message.
  72. Sun Dec 14 00:27:26 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  73. Implement tagged text feature:
  74. * update.c (write_letter): Take a single finfo argument rather
  75. than file and update_dir. While we are at it change it to return
  76. void (since the returned value always had been 0).
  77. * update.c: Update callers.
  78. * server.c, cvs.h (cvs_output_tagged): New function.
  79. * client.c (responses): Add "MT" response.
  80. (handle_mt): New function.
  81. * update.c (write_letter): Output via cvs_output_tagged.
  82. Sun Dec 14 14:13:05 1997 Ian Lance Taylor <ian@cygnus.com>
  83. * recurse.c (do_dir_proc): Only check for CVS/Repository if
  84. W_LOCAL.
  85. * sanity.sh (devcom-t2, devcom-t3): New tests for above patch.
  86. Sun Dec 14 00:27:26 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  87. * root.c (parse_cvsroot): Initialize check_hostname (fixes thinko
  88. in GSSAPI changes).
  89. Sat Dec 13 13:15:35 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  90. * server.c: Use indentation to indicate nesting of #ifdef's.
  91. * client.c (connect_to_gserver): Reindent (in one place).
  92. Fri Dec 12 17:38:15 1997 Chris Provenzano <proven@cygnus.com>
  93. and Ian Lance Taylor <ian@cygnus.com>
  94. * cvs.h (CVSmethod): Add gserver_method.
  95. * root.c (method_names): Add gserver.
  96. (parse_cvsroot): Handle :gserver:.
  97. * client.h (cvsauthenticate): Declare.
  98. (cvs_gssapi_encrypt): Declare if HAVE_GSSAPI and ENCRYPTION.
  99. (cvs_gssapi_wrap_buffer_initialize): Declare if HAVE_GSSAPI.
  100. (connect_to_pserver): Update declaration.
  101. (pserver_authenticate_connection): Declare when HAVE_GSSAPI and
  102. SERVER_SUPPORT is defined in addition to other case.
  103. * client.c: If HAVE_GSSAPI, include GSSAPI header files.
  104. (gcontext): New static variable if HAVE_GSSAPI.
  105. (connect_to_pserver): Add do_gssapi parameter. Change all
  106. callers. Move rejection handling to bottom of function.
  107. (recv_bytes): New static function if HAVE_GSSAPI.
  108. (connect_to_gserver): Likewise.
  109. (start_server): Handle gserver_method. Handle GSSAPI encryption
  110. and authentication.
  111. * server.c: Include <sys/socket.h> if HAVE_GSSAPI, in addition to
  112. existing cases. If HAVE_GSSAPI, include GSSAPI header files.
  113. Include <grp.h> even if AUTH_SERVER_SUPPORT is not defined.
  114. (gcontext, cvs_gssapi_wrapping): New static variables if
  115. HAVE_GSSAPI.
  116. (cvs_gssapi_encrypt): New global variable if HAVE_GSSAPI and
  117. ENCRYPTION.
  118. (serve_gssapi_encrypt): New static function if HAVE_GSSAPI and
  119. ENCRYPTION.
  120. (serve_gssapi_authenticate): New static function if HAVE_GSSAPI.
  121. (requests): Add Gssapi-encrypt if HAVE_GSSAPI and ENCRYPTION. Add
  122. Gssapi-authenticate if HAVE_GSSAPI.
  123. (switch_to_user): Compile if HAVE_GSSAPI, in addition to existing
  124. cases.
  125. (pserver_authenticate_connection): Likewise. Ifdef out part of
  126. the code for AUTH_SERVER_SUPPORT. Handle a GSSAPI request.
  127. (gserver_authenticate_connection): New static function if
  128. HAVE_GSSAPI.
  129. (cvsauthenticate): New global variable.
  130. (struct cvs_gssapi_wrap_data): Define if HAVE_GSSAPI.
  131. (cvs_gssapi_wrap_buffer_initialize): New function if HAVE_GSSAPI.
  132. (cvs_gssapi_wrap_input): New static function if HAVE_GSSAPI.
  133. (cvs_gssapi_wrap_output): Likewise.
  134. * main.c (opt_usage): Mention -a.
  135. (main): Handle -a. Handle pserver if HAVE_GSSAPI, in addition to
  136. existing cases.
  137. * login.c (login): Pass new argument to connect_to_pserver.
  138. Fri Dec 12 15:33:19 1997 Ian Lance Taylor <ian@cygnus.com>
  139. * buffer.c (PACKET_SLOP): Define.
  140. (packetizing_buffer_initialize): Use PACKET_SLOP when allocating
  141. holdbuf.
  142. (packetizing_buffer_input): Allow up to PACKET_SLOP bytes in
  143. stackoutbuf.
  144. (packetizing_buffer_output): Use just BUFFER_DATA_SIZE + 2 for
  145. inbuf. Allow PACKET_SLOP + 4 extra bytes in stack_outbuf.
  146. Correct >= to > in test of incoming number of bytes. Use
  147. PACKET_SLOP in other tests.
  148. Fri Dec 12 10:27:08 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  149. * client.c (start_tcp_server): Revise comment to reflect
  150. SOCK_STRERROR and SOCK_ERRNO now being in use.
  151. Thu Dec 11 15:32:31 1997 Ian Lance Taylor <ian@cygnus.com>
  152. * client.c (init_sockaddr): Compile if HAVE_KERBEROS, as well as
  153. if AUTH_CLIENT_SUPPORT. Return a pointer to a struct hostent.
  154. (start_tcp_server): Clean up. Use init_sockaddr. Use
  155. SOCK_STRERROR and SOCK_ERRNO. Don't bind the socket.
  156. Generalize buffering code used by Kerberos encryption routines
  157. into a generic packetizing buffer. The new code in buffer.c is a
  158. modified version of the code removed from server.c.
  159. * buffer.c (struct packetizing_buffer): Define.
  160. (packetizing_buffer_initialize): New function.
  161. (packetizing_buffer_input): New static function.
  162. (packetizing_buffer_output): New static function.
  163. (packetizing_buffer_flush): New static function.
  164. (packetizing_buffer_block): New static function.
  165. (packetizing_buffer_shutdown): New static function.
  166. * buffer.h (packetizing_buffer_initialize): Declare.
  167. * server.c (struct krb_encrypt_data): Rename from
  168. krb_encrypt_buffer, and remove all fields not related to
  169. encryption.
  170. (krb_encrypt_buffer_initialize): Just call
  171. packetizing_buffer_initialize.
  172. (krb_encrypt_input): New static function.
  173. (krb_encrypt_output): New static function.
  174. (krb_encrypt_buffer_input): Remove.
  175. (krb_encrypt_buffer_output): Remove.
  176. (krb_encrypt_buffer_flush): Remove.
  177. (krb_encrypt_buffer_block): Remove.
  178. (krb_encrypt_buffer_shutdown): Remove.
  179. Wed Dec 10 15:39:44 1997 Ian Lance Taylor <ian@cygnus.com>
  180. * buffer.c (stdio_buffer_initialize): Correct formatting.
  181. Sun Dec 7 09:37:19 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  182. * sanity.sh (basicb-0d0): New test, for checkout on existing
  183. directory.
  184. Sat Dec 6 00:25:11 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  185. * sanity.sh (binwrap3): Clean up repository too. Clean up working
  186. directory with "rm -r" not "rm -rf".
  187. Thu Dec 4 17:11:18 1997 Larry Jones <larry.jones@sdrc.com>
  188. * subr.c (check_numeric): Don't reference argv[1] when argc is 1
  189. (should be argv[0]).
  190. * sanity.sh: Fix lines that look like conflict markers but aren't
  191. to prevent problems checking in.
  192. (binwrap3): Remove local CVSROOT when done so that later
  193. tests that expect to create it don't fail.
  194. Thu Dec 4 18:19:21 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  195. * cvs.h: Remove mempcpy definition. I think the polite way to
  196. describe my feelings about mempcpy is something like "we don't
  197. have agreement that it is a good idea".
  198. * rcs.c (truncate_revnum): Don't call it.
  199. * sanity.sh: Run multibranch2 test by default.
  200. (multibranch2): Use ${TESTDIR} a few places.
  201. (multibranch2-9): Accept "P file1" as well as "U file1".
  202. * sanity.sh: Don't add 1997 to the copyright notice. Add GPL
  203. terms. Add discussion of copyright issues.
  204. * rcs.c (truncate_revnum, truncate_revnum_in_place,
  205. compare_truncated_revnums): Reindent.
  206. 1997-12-04 Jim Meyering <meyering@na-net.ornl.gov>
  207. * subr.c (xstrdup): Use memcpy rather than strcpy.
  208. (compare_revnums): Declare parameters to be `const'.
  209. Remove unnecessary uses of xstrdup and corresponding frees.
  210. (increment_revnum): Declare parameter to be `const'.
  211. Use memcpy rather than strcpy.
  212. (gca): Declare parameters to be `const'.
  213. (check_numeric): Declare REV parameter to be `const'.
  214. (file_has_markers): Declare parameter to be `const'.
  215. (get_file): Declare `char*' parameters to be `const'.
  216. * run.c (run_exec): Declare `char*' parameters to be `const'.
  217. * cvs.h (mempcpy) [! HAVE_MEMPCPY]: Define it.
  218. Add `const' to types in several prototypes.
  219. * rcs.c (truncate_revnum): New function.
  220. (truncate_revnum_in_place): New function.
  221. (compare_truncated_revnums): New function.
  222. (max_rev): New function.
  223. (RCS_addbranch): Make BRANCH parameter `const'.
  224. Use the above functions rather than open-coding them.
  225. When BRANCH is a revision number, insert it *in order*
  226. in the sorted list of branch numbers, not at the end.
  227. Add assertion that insertion succeeds.
  228. * sanity.sh (multibranch2): Test for this.
  229. (Copyright): Add 1997.
  230. Dec 1997 Karl Fogel <kfogel@floss.red-bean.com>
  231. * wrapper.c (wrap_name_has): loop as far as wrap_count +
  232. wrap_temp_count, not wrap_count + wrap_saved_count, otherwise
  233. some wrappers get skipped.
  234. (wrap_matching_entry): same.
  235. * sanity.sh (binwrap3): new test, for import with
  236. CVSROOT/cvswrappers and .cvswrappers specifying -k 'b' options.
  237. 1997-11-30 Jim Meyering <meyering@na-net.ornl.gov>
  238. * client.c (send_a_repository): Strip trailing slashes from the name
  239. of the update directory. Otherwise, running `cvs update dir/' provokes
  240. this failure `protocol error: illegal directory syntax in dir/' when
  241. running in client/server mode.
  242. * hash.c (insert_before): New function derived from addnode.
  243. (addnode): Simply return insert_before.
  244. (addnode_at_front): Simply return insert_before.
  245. * hash.h (insert_before): Add prototype.
  246. * server.c (dirswitch): Compute `strlen(dir)' once and save it,
  247. rather than computing it four times. Also do s/illegal/invalid/ to
  248. this diagnostic: "E protocol error: illegal directory syntax in %s".
  249. Sun Nov 30 18:03:02 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  250. * admin.c: Fix comment (no longer a front-end to "rcs").
  251. * error.c, error.h (rcserror): Remove.
  252. * admin.c, rcs.c: Call error instead of rcserror. This changes
  253. the format of these messages from "rcs: <path>: error" to "cvs
  254. <command>: <path>: error". The former format wasn't quite what
  255. RCS printed anyway (because RCS would sometimes print "ci", "co",
  256. &c, not "rcs"), and preserving RCS's exact output probably is not
  257. a good idea anyway (because it will make people think that the
  258. error was caused by an external program). In two cases, I tidied
  259. up the message in a more drastic fashion ("cannot stat" in
  260. RCS_checkin and "could not diff" in RCS_delete_revs).
  261. * sanity.sh (basica-o2b, binfiles2-o1, admin-18, admin-22-o10,
  262. admin-22-o17): Look for "cvs <command>" not "rcs".
  263. * run.c, cvs.h (run_setup): Replace varargs nonsense with a single
  264. argument which gets parsed as the result of the vasprintf
  265. used to.
  266. * client.c, commit.c, logmsg.c, modules.c, rtag.c, tag.c, update.c,
  267. wrapper.c: Update callers, either to do the sprintf themself or to
  268. just call run_arg if it will do the job.
  269. * rcscmds.c: Likewise for call_diff_setup and callers.
  270. * run.c, cvs.h (run_args): Remove; nowhere used.
  271. Sat Nov 29 22:15:06 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  272. * options.h.in: Remove declaration of getwd; see lib/ChangeLog for
  273. rationale.
  274. 1997-11-29 Jim Meyering <meyering@na-net.ornl.gov>
  275. * update.c (checkout_file): Initialize `backup'.
  276. * diff.c (diff_fileproc): Initialize `tmp' and `fname'.
  277. * modules.c (do_module): Initialize `server_dir_to_restore'.
  278. (do_module): Initialize `value' in an else clause.
  279. * rcs.c (RCS_checkin): Initialize `commitpt'.
  280. (RCS_delete_revs): Initialize `revp'.
  281. (RCS_copydeltas): Always initialize `insertbefore'.
  282. * run.c (run_print): Define `outfn' even in error case.
  283. Mon Nov 24 17:28:50 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  284. * rcs.c (RCS_findlock_or_tip): Prototype.
  285. (RCS_checkin): Fix call to pass correct number of arguments.
  286. Sun Nov 23 10:34:03 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  287. * recurse.c (do_dir_proc): Move check for CVS/Repository and
  288. CVS/Entries to before where we call the direntproc.
  289. * client.c (send_dirent_proc): Remove code to check for
  290. CVS/Repository, now that recurse.c does it.
  291. * sanity.sh (conflicts3-18 through conflicts3-19): New tests, for this.
  292. Sat Nov 22 10:54:16 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  293. * recurse.c (do_dir_proc): Check that CVS/Repository and
  294. CVS/Entries exist.
  295. * sanity.sh (conflicts3-14 through conflicts3-17): New tests, for this.
  296. * client.c (send_fileproc): Send options field from
  297. vers->entdata->options not vers->options.
  298. * cvs.h (struct entnode): Add comment (options and timestamp must
  299. not be NULL).
  300. * sanity.sh (binfiles-9 through binfiles-13, binfiles-sticky5,
  301. keyword-17): Remove kludges for remote; tests for fix.
  302. * update.c (update_fileproc): Fix comment; direct checkout is
  303. still faster than patches for local but not for quite the
  304. same reasons.
  305. * add.c (add): Pass SEND_NO_CONTENTS to send_files.
  306. Wed Nov 19 18:25:03 1997 Mike Glendinning <mikeg@sequent.com>
  307. * update.c (patch_file_write): Missing cast provided.
  308. Wed Nov 19 15:57:59 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  309. * rcs.c (RCS_deltas): Solve trigraph problem (once and for all, I
  310. hope) with 3 calls to cvs_output.
  311. Wed Nov 19 01:52:57 1997 Andy Piper <andyp@parallax.co.uk>
  312. and Jim Kingdon <kingdon@harvey.cyclic.com>
  313. * classify.c (Classify_File), cvs.h (struct vers_ts), vers_ts.c
  314. (Version_TS): Clarify NULL versus "" for options in comments.
  315. * vers_ts.c (Version_TS): Treat "" the same way as NULL in options
  316. and vers_ts->options.
  317. * sanity.sh: New tests binfiles-sticky5 through binfiles-17 test
  318. for this.
  319. 1997-11-16 Karl Fogel <kfogel@floss.red-bean.com>
  320. * client.c (update_entries): parse server-sent entries line even
  321. in the case of "cvs export", because we need to know if -kb option
  322. is set.
  323. Init `options' to NULL like anything else.
  324. Tue Nov 18 09:20:29 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  325. * version.c: Change version number to 1.9.21.
  326. * Version 1.9.20.
  327. Mon Nov 17 14:35:31 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  328. * server.c (server_updated): If scratched_file and noexec are set,
  329. clean up so we don't get a "duplicate Scratch_Entry" warning
  330. later.
  331. * sanity.sh: New tests conflicts3-10 to conflicts3-13, for this.
  332. * sanity.sh (conflicts3): Don't allow "file1 was lost" messages
  333. here; I don't think CVS actually produced them, and they don't
  334. belong.
  335. Sun Nov 16 23:19:41 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  336. * sanity.sh: Accept either "U file1" or "P file1".
  337. Fri Nov 14 12:32:05 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  338. * rcs.c: Add comment about cleaning up ,foo, file on ^C.
  339. Fri Nov 14 11:56:29 1997 Andy Piper <andyp@parallax.co.uk>
  340. and Jim Kingdon <kingdon@harvey.cyclic.com>
  341. * filesubr.c (unlink_file_dir): Don't print trace message in the
  342. server.
  343. Fri Nov 14 11:28:55 1997 Jim Meyering and Jim Kingdon
  344. * rcs.c (RCS_getdatebranch): If the branch we are looking for
  345. doesn't exist, return a revision which matches the date, not
  346. just NULL.
  347. * sanity.sh (tagdate): New test, for this.
  348. Thu Nov 13 10:11:48 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  349. * sanity.sh (basicb-21): Fix comment which described a behavior
  350. which no longer exists.
  351. Wed Nov 12 16:24:45 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  352. Clean up infrastructure made unnecessary by RCS library:
  353. * rcscmds.c (diff_exec, diff_execv): Use literal "diff" not DIFF.
  354. * options.h.in (DIFF), rcs.h (RCS, RCS_CI, RCS_DIFF,
  355. RCS_RCSMERGE): Removed; no longer used.
  356. * commit.c (commit), patch.c (patch_fileproc),
  357. rcscmds.c (RCS_exec_rcsdiff), start of rcscmds.c: Update comments
  358. to reflect librarification of RCS.
  359. * options.h.in (RCSBIN_DFLT): Removed.
  360. * main.c, cvs.h (Rcsbin, free_Rcsbin): Removed.
  361. * main.c (main): Don't check RCSBIN environment variable. -b
  362. global option is now a noop.
  363. * cvs.h (RCSBIN_ENV): Removed.
  364. * expand_path.c (expand_variable): $RCSBIN is now an error.
  365. * mkmodules.c (config_contents): Remove RCSBIN.
  366. * parseinfo.c (parse_config): RCSBIN now a noop.
  367. * server.c (server): Don't put Rcsbin in PATH.
  368. Mon, 10 Nov 1997 Jim Kingdon
  369. * rcs.c (RCS_checkin): Actually, when we get a change text
  370. for a text file using get_file, we want text mode, although
  371. the reasons are kind of subtle (see comment).
  372. * rcs.c (RCS_checkin): Pass correct mode to get_file for
  373. binary files.
  374. * rcscmds.c: Declare vasprintf.
  375. Mon Nov 10 11:11:17 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  376. This fixes problems with windows-NT/run.c improperly quoting, and
  377. is cleaner anyway.
  378. * rcscmds.c (call_diff_setup, call_diff_arg, call_diff_add_arg,
  379. call_diff_argv, call_diff_argc, call_diff_argc_allocated): New
  380. functions/variables, lightly adapted from src/run.c.
  381. * cvs.h, run.c (call_diff, call_diff3): Move from here...
  382. * rcscmds.c: ...to here.
  383. Sun, 9 Nov 1997 Jim Kingdon
  384. * rcs.c (rcs_internal_unlockfile): Call rename_file not rename.
  385. This makes it work on NT again.
  386. Sun Nov 9 16:54:28 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  387. * sanity.sh (diffmerge2): Protect keywords against unwanted
  388. expansion. They got clobbered and the testcase stopped working
  389. when I checked it in.
  390. Fri Nov 7 13:23:38 1997 Karl Fogel <kfogel@floss.red-bean.com>
  391. and Jim Kingdon <kingdon@harvey.cyclic.com>
  392. * sanity.sh (diffmerge1, diffmerge2): new tests, for bugs, or
  393. potential bugs, in ../diff/analyze.c which were fixed by Paul
  394. Eggert's patch.
  395. Sun Nov 9 10:28:43 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  396. * rcs.c (RCS_settag): Reindent.
  397. * rcs.c (rcs_internal_lockfile): Fix typo (thow -> throw).
  398. Sat Nov 8 15:58:53 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  399. * sanity.sh (cvsadm): Remove most of the tests which tested
  400. CVS/Root. This takes the run time for the cvsadm tests from
  401. about 5 minutes 15 seconds to about 4 minutes 10 seconds with no
  402. significant loss in coverage.
  403. * rcs.c (rcs_internal_lockfile): Check for errors from system
  404. calls. If open() gives an error, don't muck with stat and errno
  405. (I don't know what the RCS code that this comes from was trying to
  406. do, but it clearly isn't accomplishing anything here).
  407. (RCS_rewrite, RCS_delete_revs): Check for errors from system calls.
  408. Sat Nov 1 14:21:29 1997 Michael L.H. Brouwer <michael@thi.nl>
  409. * rcs.c (RCS_checkin): Change type of bufsize from int to size_t.
  410. (RCS_delete_revs): Change type of bufsize and len from int to size_t.
  411. (RCS_getdeltatext): Change type of textlen from int to size_t.
  412. * rcs.h (struct deltatext): Change len from int to size_t to keep
  413. the compiler happy on systems where size_t is unsigned int.
  414. [This goes well beyond keeping the compiler happy; if sizeof
  415. (size_t) != sizeof (int), the old code was quite broken -kingdon]
  416. Sat Nov 1 14:21:29 1997 Michael L.H. Brouwer <michael@thi.nl>
  417. and Jim Kingdon <kingdon@harvey.cyclic.com>
  418. * rcs.c (RCS_checkin): When checking if we were holding the lock
  419. use delta->author instead of user since the latter might have been
  420. clobbered by a call to getcaller. This resulted in the failure of
  421. test basica-7.
  422. [I don't completely follow the scenario where it gets clobbered,
  423. it but sounds vaguely plausible and the replacement seems
  424. cleaner, precisely because it avoids allocation issues -kingdon]
  425. Wed Nov 5 20:16:12 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  426. * checkin.c, checkout.c, commit.c, cvs.h, import.c, login.c,
  427. main.c, update.c: Change FALSE to 0 and TRUE to 1 and replace
  428. monstrosities like "cvswrite == TRUE" with just "cvswrite". FALSE
  429. and TRUE sometimes conflicted with system headers (NextStep3.3?),
  430. but more to the point, good old 1 and 0 are fine and were used by
  431. most of CVS already.
  432. Tue Nov 4 12:19:28 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  433. * rcs.c (RCS_checkin, RCS_lock, RCS_unlock): Rename local variable
  434. quiet to checkin_quiet or some such, to avoid confusion with
  435. global variable quiet.
  436. * lock.c: Update comment to refer to add_rcs_file rather than "rcs
  437. -i".
  438. * rcs.h (struct rcsnode): Add comments for all fields.
  439. * rcs.c (RCS_delete_revs): Refuse to delete revisions which have
  440. symbolic names. Fix fencepost bug which caused us to sometimes
  441. check one more revision than we should for locks, branches, and
  442. this.
  443. (findtag): New function, to help above code.
  444. * admin.c (admin): Take out writelocks not readlocks. This has
  445. been a bug "forever", but may become more noticeable with
  446. rcs_internal_lockfile relying on the writelocks.
  447. Mon Nov 3 10:17:19 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  448. * rcs.c (RCS_rewrite): Don't write the file if noexec.
  449. * sanity.sh (basica, branches): Test for this.
  450. Sat Nov 1 10:01:56 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  451. * rcs.h (struct deltatext): Comment text and log fields.
  452. * admin.c (admin_fileproc): Call RCS_reparsercsfile not
  453. RCS_fully_parse. Don't muck with ->other field in RCSVers (it
  454. doesn't need to be set).
  455. * rcs.h, rcs.c (RCS_reparsercsfile): No longer static. No point
  456. in having this static when RCS_rewrite and RCS_fully_parse are not.
  457. * rcs.c (getdelta): Remove obsolete comment about not storing the
  458. newphrases from the deltas, since we now do.
  459. Sat Nov 1 10:01:56 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  460. and Paul Eggert
  461. * rcs.c (rcs_internal_lockfile): Clarify the comments about O_EXCL
  462. and such matters.
  463. Sat Nov 1 10:01:56 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  464. * rcs.c (RCS_delete_revs): Pass force_tag_match to RCS_settag.
  465. * sanity.sh (basica-o2a, basica-o2b): Test for this.
  466. 1997-11-01 Peter Brandstrom <d91-pbr@nada.kth.se>
  467. * sanity.sh: Use ${username} more places.
  468. Sat Nov 1 00:14:00 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  469. * rcs.c (rcs_internal_lockfile): Add comments about what we are
  470. trying to accomplish here (versus what RCS tries to accomplish).
  471. * rcs.c (RCS_parsercsfile_i): Clarify/expand comment about
  472. the purpose of having both this and RCS_reparsercsfile.
  473. (RCS_rewrite): Add comment about how this works.
  474. * admin.c (admin_fileproc): Add comment about call to
  475. RCS_fully_parse not RCS_reparsercsfile.
  476. * rcs.h: Comment on what delta_pos field of struct rcsnode is.
  477. Fri Oct 31 16:38:39 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  478. and Abe Feldman
  479. * client.c (update_entries): If UTIME_EXPECTS_WRITABLE, if
  480. necessary change the file to be writable temporarily to set its
  481. modification time.
  482. Thu Oct 30 17:42:59 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  483. * admin.c (admin): Deal with new :: syntax for ranges.
  484. * rcs.c, rcs.h (RCS_delete_revs): New arg inclusive (set for the old
  485. behavior, clear to enable new code).
  486. * admin.c (admin_fileproc): Set it if :, clear it if ::.
  487. * sanity.sh (basica, head, branches, log): Add tests for this feature.
  488. * admin.c (admin_fileproc): Clean up the error message which
  489. happens if one of the RCS_* functions returns an error status; it
  490. is confusing to say that "rcs" failed now that this is implemented
  491. internally.
  492. * sanity.sh (admin): Update accordingly.
  493. Wed Oct 29 07:07:36 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  494. * sanity.sh (admin-22-o24): New test, tests that admin -o
  495. correctly munged the deltatexts on a branch too.
  496. * rcs.c (RCS_delete_revs): If we are deleting an entire branch,
  497. delete the node in ->branches rather than setting the ->key to the
  498. bogus value NULL.
  499. * rcs.c (RCS_delete_revs): If "rev1" equals "branchpoint", then set
  500. "before" to the revision on the trunk that we branch from.
  501. * rcs.c (RCS_delete_revs): Don't set rev2 to revp->version (the
  502. code is missing an xstrdup, but it doesn't matter because rev2
  503. isn't used after this point).
  504. * sanity.sh (binfiles2-o2 to binfiles2-o4): New tests, for this.
  505. Tue Oct 28 19:30:05 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  506. * rcs.c (RCS_delete_revs): Restore code which passes rev2 to
  507. RCS_getbranchpoint if rev1 is NULL; it still makes sense for the
  508. non-trunk case. Fixes admin-22-o22 in testsuite.
  509. * sanity.sh (admin-18): Adjust to reflect "rcs failed" no longer
  510. being suppressed by global -q option.
  511. * rcs.c (RCS_delete_revs): If rev1 == NULL and rev2 is on the
  512. trunk, handle it the same way we do everything else--by swapping
  513. the two. This replaces the code which tried to kludge what we
  514. passed to RCS_getbranchpoint (which didn't work).
  515. * sanity.sh (binfiles2-o1 to binfiles2-o4): New tests, for this fix.
  516. * admin.c (admin_fileproc): Don't have -q global option suppress
  517. "rcs failed" message.
  518. 1997-10-28 Jim Kingdon
  519. * log.c (printlock_proc), rcs.c (putlock_proc): Prototype.
  520. * rcs.c (rcs_internal_lockfile): Only try to call fchmod if
  521. HAVE_FCHMOD is defined.
  522. Tue Oct 28 10:27:03 1997 Ian Lance Taylor <ian@cygnus.com>
  523. * rcs.c (RCS_deltas): Don't use \? in string if __STDC__ is not
  524. defined.
  525. * rcs.c (make_file_label): Remove extraneous `+'.
  526. Mon Oct 27 14:40:15 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  527. * status.c (status): Don't pass SEND_NO_CONTENTS to send_files.
  528. Sat Oct 25 00:33:57 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  529. * rcs.c (RCS_delete_revs): Use : not - for range in error message.
  530. * rcs.h: Add comment about '\0' in RCS fields.
  531. * rcs.c (getdelta): Add comment about branches and next field
  532. being mandatory.
  533. * rcs.c (RCS_reparsercsfile, RCS_deltas), sanity.sh (reserved):
  534. Reindent sections which were misindented as a result of recent
  535. changes.
  536. Fri Oct 24 10:22:15 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  537. * rcs.c (RCS_findlock_or_tip): Don't worry about file ownership
  538. and nonstrict locking when returning the default branch or head.
  539. The most conspicuous problem with the old code is that in the
  540. error case it would examine rstat.st_uid when it had not been
  541. set. For a discussion of more fundamental reasons, see comment.
  542. * admin.c (admin_fileproc): In handling -A, don't handle relative
  543. pathnames differently from absolute pathnames. See comment for
  544. rationale. If problem opening the file, give a nice error not a
  545. coredump.
  546. * sanity.sh (admin-19a-admin, admin-19a-log, admin-19a-fix):
  547. New tests, test for traditional "cvs admin -A" behavior with
  548. relative pathnames.
  549. * sanity.sh (admin-19a-nonexist): Test for the core dump fix.
  550. * sanity.sh (admin-22-o1): Look for ${PROG} not cvs.
  551. * sanity.sh (reserved-16): Remove commitinfo change with "cvs
  552. commit" not "cvs admin -o". In addition to commit being The Right
  553. Thing on general principles, cvs admin -o doesn't work because it
  554. doesn't rebuild the administrative file database.
  555. * update.c (patch_file): If the first revision does not exist in
  556. the RCS file, fall back to sending entire file. Fixes
  557. admin-22-o15 in make remotecheck.
  558. 1997-10-23 enami tsugutomo <enami@but-b.or.jp>
  559. * rcs.c (RCS_checkin): Unlink temporary files stored in variable
  560. `tmpfile' and `changefile'.
  561. Wed Oct 22 12:16:10 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  562. * rcs.c (rcs_lockfilename): Allocate enough memory for terminating
  563. '\0'.
  564. * admin.c (admin_fileproc): Don't support '-' for ranges in "cvs
  565. admin -o".
  566. (admin): Adjust comment.
  567. * rcs.h (RCSVers): New field other_delta.
  568. * rcs.c (free_rcsvers_contents): Also free other_delta.
  569. (getdelta): Read newphrases from deltas into other_delta field.
  570. (putdelta): Write those newphrases.
  571. * sanity.sh (rcs-8a): New test, for this fix.
  572. * admin.c (admin_fileproc): If "-b" without argument, then set
  573. branch to NULL, not "" (uncovered by rcs-8a test).
  574. * rcs.c (putrcsfield_proc): Add comment about how we (mis)handle
  575. values in newphrases.
  576. * sanity.sh (reserved): Instead of looking for rcslock.pl in CVS
  577. distribution, just use our own equivalent.
  578. * rcs.c (RCS_rewrite): Call ferror before fclose to avoid "Invalid
  579. argument" warnings.
  580. Mon Oct 20 00:30:16 1997 Tim Pierce <twp@twp.tezcat.com>
  581. [I removed a ChangeLog entry for a change to sanity.sh (editor),
  582. because the actual change was not made. With this change, CVS no
  583. longer runs RCS. I'll be checking in my cleanups shortly. -kingdon]
  584. Librarify `ci'.
  585. * rcscmds.c, cvs.h (RCS_checkin): Removed.
  586. * rcs.c, rcs.h (RCS_checkin, RCS_getbranchpoint, RCS_addbranch,
  587. RCS_findlock_or_tip): New functions. RCS_checkin completely
  588. rewritten to eliminate RCS 5.7; change `rcs' parameter from string
  589. to RCSNode, so we can update RCSNode without re-reading from
  590. disk.
  591. * checkin.c (Checkin): Updated RCS_checkin caller, moved RCS_parse
  592. call to before RCS_checkin.
  593. * import.c (add_rev): Updated caller.
  594. * commit.c (remove_file): Updated caller.
  595. (checkaddfile): Updated caller. Parse `rcsfile' after
  596. calling add_rcs_file. Free `rcsfile' instead of asserting it to
  597. be NULL.
  598. Librarify `rcs'.
  599. * rcscmds.c, cvs.h (RCS_exec_settag, RCS_exec_deltag,
  600. RCS_exec_setbranch, RCS_exec_lock, RCS_exec_unlock): Removed.
  601. * rcs.c (RCS_settag): Rewritten to eliminate RCS 5.7.
  602. * commit.c (checkaddfile): Call RCS_rewrite after calling RCS_settag.
  603. * import.c (add_tags): Same.
  604. * rtag.c (rtag_fileproc): Same.
  605. * tag.c (tag_fileproc): Same.
  606. * rcs.c (RCS_deltag): Rewritten to eliminate RCS 5.7. Remove
  607. `quiet' parameter, since this function no longer prints any output.
  608. * commit.c (remove_file): Update caller. Also call RCS_rewrite
  609. after RCS_deltag.
  610. * rtag.c (rtag_delete): Same.
  611. * tag.c (tag_fileproc): Same.
  612. * rcs.c (RCS_setbranch): Rewritten to eliminate RCS 5.7.
  613. * commit.c (remove_file): Call RCS_rewrite after calling RCS_setbranch.
  614. (fixbranch): Same.
  615. (lock_RCS): Same.
  616. * rcs.c (RCS_lock): Rewritten to eliminate RCS 5.7. Change third
  617. arg to mean `quiet' and not `noerr', permitting admin_fileproc to
  618. run RCS_lock verbosely.
  619. * commit.c (lock_RCS): Update callers; call
  620. RCS_rewrite after RCS_lock.
  621. (remove_file): Same. Call RCS_lock quietly.
  622. * import.c (add_rev): Same. Do not print `fork failed' error
  623. message, since we're no longer forking.
  624. * rcs.c (RCS_unlock): Rewritten to eliminate RCS 5.7. Change
  625. `noerr' arg to mean `quiet', permitting admin_fileproc to run
  626. RCS_unlock verbosely. Use notify_do when breaking another user's
  627. lock. Include "edit.h" for notify_do prototype.
  628. * checkin.c (Checkin): Update caller; use RCS_rewrite after RCS_unlock.
  629. * commit.c (unlockrcs): Same.
  630. * import.c (add_rev): Same.
  631. * rcs.c, rcs.h (RCS_getlocks, RCS_addaccess, RCS_delaccess,
  632. RCS_getaccess, RCS_delete_revs): New functions.
  633. (expand_keywords, RCS_lock, RCS_unlock): Use RCS_getlocks.
  634. * log.c (log_fileproc, log_version): Call RCS_getlocks. Don't add
  635. bogus ";locker" nodes to RCSVers nodes -- walk lock list with
  636. printlock_proc.
  637. (printlock_proc): New function.
  638. * admin.c (admin_fileproc): Largely rewritten: call internal RCS
  639. library functions instead of forking RCS processes.
  640. (admin, admin_fileproc): Obsolete -V option.
  641. (struct admin_data): Remove `version' member.
  642. * sanity.sh (admin-24): Remove -V test case.
  643. New functions for reading and writing RCS files.
  644. * rcs.h (struct deltatext, Deltatext): New types.
  645. (struct rcsversnode): New members `text' and `outdated'.
  646. (struct rcsnode): New members `access', `locks', `strict_locks',
  647. `comment', and `desc'.
  648. * rcs.c (RCS_reparsercsfile, expand_keywords): Use new RCSNode members.
  649. (free_rcsnode_contents): Free them.
  650. * log.c (log_fileproc): Use new RCSNode members instead of ->other.
  651. * rcs.c (getdelta, RCS_getdeltatext, freedeltatext, do_locks,
  652. RCS_putadmin, RCS_putdtree, RCS_putdesc, putdelta,
  653. putrcsfield_proc, putsymbol_proc, RCS_copydeltas, putdeltatext,
  654. RCS_rewrite, getrevnum, rcs_internal_lockfile,
  655. rcs_internal_unlockfile, rcs_lockfilename): New functions.
  656. (RCS_reparsercsfile): Use getdelta, making sure fp is positioned
  657. correctly before calling it. Skip `head' and `branch' nodes: we
  658. have already parsed them, and they were being added incorrectly to
  659. rcs->other. Do not signal error if the RCS file has an empty
  660. delta tree; this made it impossible for RCS_checkin to perform an
  661. initial checkin. Remove `all' parameter; always store all RCS
  662. fields.
  663. (RCS_fully_parse, RCS_gettag, RCS_getbranch, RCS_getdate,
  664. RCS_getdatebranch, RCS_getrevtime, RCS_symbols, translate_symtag,
  665. RCS_isdead, RCS_getexpand, RCS_checkout, annotate_fileproc):
  666. Update all callers to remove `all' parameter.
  667. (getrcskey): Do not append trailing whitespace to a value. This
  668. corrupted some log fields and wrecked some sanity.sh test cases.
  669. (free_rcsvers_contents): New function.
  670. (rcsvers_delproc): Call it.
  671. * rcs.h (NODELTA): Removed symbol; now obsolete (since RCSNodes
  672. do not go stale).
  673. * import.c (add_rev): Removed NODELTA reference.
  674. * rcs.c (RCS_reparsercsfile, RCS_checkout, RCS_settag, RCS_deltag,
  675. RCS_setbranch, RCS_lock, RCS_unlock, RCS_deltas): Removed NODELTA
  676. references.
  677. Miscellaneous changes to support RCS librarification and fix some bugs.
  678. * subr.c, cvs.h (line2argv): Add `sepchars' argument.
  679. * modules.c (cat_module, admin_fileproc): Update all callers.
  680. * subr.c, cvs.h (compare_revnums, increment_revnum): New functions.
  681. (make_message_rcslegal): Strip whitespace from end of
  682. lines and end of string, a la `cleanlogmsg' in RCS 5.7.
  683. (get_file): Terminate buf with \0, extending it if
  684. necessary. Read from stdin if `name' arg is NULL.
  685. * admin.c (admin_fileproc): Call get_file to read -t arg from stdin.
  686. * error.c, error.h (rcserror): New function, used everywhere.
  687. * hash.c, hash.h (addnode_at_front): New function.
  688. * rcs.c (RCS_settag, RCS_lock): Call it.
  689. * import.c, cvs.h (expand_at_signs): Make extern.
  690. * rcs.c (putrcsfield_proc, RCS_putadmin, RCS_putdesc,
  691. putdeltatext): Call it.
  692. * rcs.c (make_file_label): Use last_component to get file's basename.
  693. * sanity.sh (srcdir): New variable.
  694. (rcs-7): Remove newphrase warning, no longer produced by CVS.
  695. (rcs-8): Permit random whitespace around newphrase fields.
  696. (admin-22): New test cases for -o options: admin-22-o{1..23}.
  697. (reserved): New test cases for rcslock.pl: reserved-{8..16}.
  698. Tue Oct 21 16:48:32 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  699. * tag.c (tag_check_valid): Add comment about locking or lack
  700. thereof.
  701. 1997-10-20 Jim Kingdon <kingdon@harvey.cyclic.com>
  702. * version.c: Change version number to 1.9.19.
  703. 1997-10-19 Jim Kingdon
  704. * Version 1.9.18.
  705. Wed Oct 15 15:21:43 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  706. * sanity.sh (username): Add '-' to characters allowed in user name.
  707. * rcscmds.c (diff_exec): Remove item about external diff
  708. programs. It doesn't really belong here now that diff is
  709. librarified and TODO #191 now mentions this.
  710. * checkout.c (checkout_proc): Add comment about assuming '/' is
  711. the only path separator.
  712. * options.h.in: Fix thinko (CVS/Repository -> CVS/Root).
  713. Mon Oct 13 22:46:03 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  714. * commit.c (commit): Add comment about CVS_BADROOT and command
  715. other than "commit".
  716. 1997-10-11 Noel Cragg <noel@swish.red-bean.com>
  717. * options.h.in: RELATIVE_REPOS has been checked for bitrot -- it
  718. now works again. Change the comment before the #define to say
  719. that we'll be switching to it soon.
  720. * sanity.sh (basicb-1, basicb-1a): update dotest strings to match
  721. no matter if we're running with RELATIVE_REPOS defined or not.
  722. (basicb-9b, basicb-9c): same.
  723. * sanity.sh (basicb-9b, basicb-9c): modified tests, since the
  724. checkout.c fix changes the way this test module is checked out.
  725. (basicb-9d, basicb-9e, basicb-9f): new tests, same.
  726. (basicb-18): modify test, same.
  727. (cvsadm): new set of exhaustive tests to check the contents of
  728. CVS/Root and CVS/Repository files under various conditions. As a
  729. side effect, it tests the behavior of the "-d" flags (command line
  730. and modules file).
  731. (modules3-7e through modules3-7h): removed, since these tests were
  732. a small subset of what is tested in the new cvsadm section.
  733. (modules-1b, modules-1c): same.
  734. (modules-2b, modules-2c): same.
  735. (modules-3b, modules-3c, modules-3e, modules-3f): same.
  736. * create_adm.c (Create_Admin): be a bit more verbose when using
  737. trace mode.
  738. * checkout.c (checkout_proc): rewrote the code that sets the where
  739. variable and the code that matches directory names with repository
  740. directories. This fixes a long-standing bug in CVS. (It used to
  741. be the case that "cvs co -d foo <mod1> <mod2>" would not properly,
  742. where <mod1> and <mod2> where defined in the modules file. While
  743. the first module would be checked out correctly, the second would
  744. be checked out under the name of the directory to which the module
  745. referred rather than the module name!). This fix also allows us
  746. to check out things into directories that are more than one deep
  747. (e.g. "cvs -d foo/bar/baz co blah" will now work).
  748. (checkout): remove code that performed a CHDIR if the
  749. number of arguments specified was greater than one, since it's no
  750. longer necessary. Also remove the code that prevented us from
  751. doing "cvs co -d <dir1>/<dir2>" without <dir1> existing, since
  752. checkout_proc handles things correctly now.
  753. * cvs.h: fix typo.
  754. * rtag.c (rtag): reformat so that we don't run over 80 characters
  755. per line.
  756. (rtag_dirproc): same.
  757. * sanity.sh: change all old test cases to use pass and fail
  758. functions rather than doing some combination of echo and exit
  759. themselves.
  760. * commit.c (commit_direntproc): remove the "warm fuzzy" -- this
  761. code never gets called when running in client/server mode, and we
  762. should have CVS' output match as much as possible between the two
  763. modes. Moreover, there is no analogous place to put this same
  764. message when we're running in c/s mode.
  765. (find_direntproc): print the same "fuzzy" as in check_direntproc
  766. so that local and c/s mode have the same messages.
  767. * sanity.sh (187a3): update test case to reflect the above.
  768. Thu Oct 9 10:57:02 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  769. * parseinfo.c (parse_config): Add comment about compatibility
  770. issues with adding keywords.
  771. Wed Oct 8 16:40:37 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  772. * recurse.c (do_dir_proc), commit.c (check_direntproc,
  773. commit_direntproc, find_dirent_proc): If this
  774. directory doesn't exist, skip it.
  775. * diff.c (diff_dirproc): Reindent.
  776. * sanity.sh (deep-4b0a, deep-4b0b): Check for this fix.
  777. Thu Sep 26 16:30:00 1997 Larry Jones <larry.jones@sdrc.com>
  778. and Jim Kingdon <kingdon@harvey.cyclic.com>
  779. * update.c (checkout_file): Don't set timestamp in noexec mode.
  780. * vers_ts.c (Version_TS): Add comment about ignoring errors from
  781. utime.
  782. * sanity.sh (conflicts3): New tests, for this fix.
  783. Fri Oct 3 09:47:04 1997 Noel Cragg <noel@swish.red-bean.com>
  784. * sanity.sh (168): use PROG instead of CVSBASE, since they are
  785. equal.
  786. (importb-2): refer to PROG instead of "cvs" in error message.
  787. * add.c (add): use PROGRAM_NAME in the error message rather than
  788. "cvs".
  789. * classify.c (Classify_File): same.
  790. * commit.c (find_fileproc): same.
  791. * sanity.sh: change all add notification messages to refer to PROG
  792. rather than "cvs". Fixed nasty quoting in several places at the
  793. same time, replacing older "'command'" forms with newer
  794. ".command." for simplicity.
  795. Sat Sep 27 01:37:10 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  796. * sanity.sh (rcslib-merge-8): Accept "P file1" as well as "U file1".
  797. Fri Sep 26 22:24:10 1997 Noel Cragg <noel@swish.red-bean.com>
  798. * create_adm.c (Create_Admin): assign our duplicate pointer `cp'
  799. after the xrealloc of `reposcopy' because the latter might have
  800. changed addresses.
  801. Fri Sep 26 14:25:59 1997 Tim Pierce <twp@twp.tezcat.com>
  802. * run.c (call_diff): Don't reset optind; this is done by diff_run now.
  803. Librarify rcsmerge/diff3.
  804. * rcscmds.c, cvs.h (RCS_merge): Rewritten from scratch: check out
  805. selected files and diff3 them. Take new `rcs' and `workfile'
  806. arguments, so we can resolve symbolic tags and manipulate the
  807. working file.
  808. * update.c (merge_file, join_file): Update RCS_merge calls.
  809. * run.c, cvs.h (call_diff3): New function.
  810. * sanity.sh (rcslib): New tests, rcslib-merge-{1..13}.
  811. Fri Sep 26 22:59:56 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  812. * create_adm.c (Create_Admin): Fix thinko in Noel's change: keep
  813. track of the originally allocated "cp" and free it, rather than
  814. calling free on a pointer which may point halfway into the allocation.
  815. * repos.c (Sanitize_Repository_Name): Per HACKING, assert that
  816. repository != NULL, rather than just silently returning if NULL.
  817. Reindent a line.
  818. Fri Sep 26 15:40:00 1997 Noel Cragg <noel@swish.red-bean.com>
  819. * sanity.sh (modules): add tests modules-[123]* that make sure the
  820. administrative files get rebuilt in various cases.
  821. * add.c (combine_dir): removed function, since we no longer need
  822. to worry about stripping the "." path element out. Changed the
  823. two callers to simply concatenate their two arguments.
  824. * recurse.c (do_dir_proc): don't bother trying to strip off "." in
  825. the repository name since the below changes fix that behavior --
  826. simply concatenate the repository and directory names together.
  827. * checkout.c (checkout_proc): sanitize the repository name after
  828. constructing it (we may create "/path/to/repos/.", but we don't
  829. want that to be passed around). Remove the code that tacks on
  830. "/." when constructing top_repository, since the below changes fix
  831. that behavior. Added comments to the part of this function that
  832. builds administrative files.
  833. * sanity.sh (basicb): now that the below weirdness is fixed, the
  834. extra "." path element in test basicb-0c doesn't appear when a
  835. top-level file is checked out. Remove it from the expect string.
  836. * create_adm.c (Create_Admin): now that the repository name isn't
  837. floating around with "." as the last path element, make creation
  838. of the top-level administrative files a special case -- save the
  839. repository name as "/path/to/repos/." Why? I considered not
  840. including the "." but didn't know how it would affect the remote
  841. protocol when RELATIVE_REPOS was defined (do we have a way of
  842. sending "" via the protocol?). After I make sure that the
  843. RELATIVE_REPOS patches still work, I'll check the "" possibility
  844. so we don't have to have a this special case.
  845. * repos.c (Sanitize_Repository_Name): new function that removes
  846. (if present) the trailing slash and "." component from the
  847. repository name. Many routines break if we don't guarantee this.
  848. See the comment before the function for complete information.
  849. (Name_Repository): call Sanitize_Repository_Name before returning
  850. the value.
  851. * cvs.h: add prototype for Sanitize_Repository_Name.
  852. Fri Sep 26 14:19:25 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  853. * cvs.h (CVS_CMD_USES_WORK_DIR): Fix comment (the sense of the
  854. flag is not reversed from what it would seem; when I thought so it
  855. was because I was misreading the lookup_command_attribute code).
  856. Thu Sep 25 23:14:47 1997 Noel Cragg <noel@swish.red-bean.com>
  857. * parseinfo.c (Parse_Info): fix typo in the trace message.
  858. Thu Sep 25 14:22:54 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  859. * build_src.com: Also link with diff.olb.
  860. * main.c (Make_Date): If gmtime returns NULL, try localtime.
  861. Wed Sep 24 19:18:40 1997 Noel Cragg <noel@swish.red-bean.com>
  862. * checkout.c (checkout): fix typo in comment.
  863. Wed Sep 24 08:31:46 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  864. * update.c (patch_file): Revise comments about diff -a now that
  865. diff is librarified.
  866. Sun Sep 21 21:28:26 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  867. * run.c (call_diff): Sleep for a second, in hopes of helping with
  868. out of order bugs.
  869. Sat Sep 20 07:19:18 1997 Tim Pierce <twp@twp.tezcat.com>
  870. Integrate diff library into CVS.
  871. * run.c, cvs.h (call_diff): New function.
  872. * rcscmds.c (diff_exec, diff_execv): Get diffs from call_diff
  873. instead of running diff as a subprocess.
  874. * Makefile.in (cvs): Add ../diff/libdiff.a.
  875. * diff.c (longopts, diff): Use 131 for --ifdef, fixing Jim's thinko
  876. (using 147 for both --side-by-side and --ifdef).
  877. * sanity.sh (rcslib): Added tests rcslib-diffrgx-*, to test
  878. handling of regex diff options.
  879. 1997-09-21 Jim Kingdon <kingdon@harvey.cyclic.com>
  880. (Note that this requires that DIFF support -L. I'll be checking
  881. in a fix to that in a moment, but I wanted separate checkins in
  882. case that helps with clarity).
  883. Tweaks to rcsdiff librarification:
  884. * sanity.sh (rcslib): Change "cvs" to "${PROG}" and subcommand
  885. names (e.g. "add") to "[a-z]*". Former should deal with ${testcvs}
  886. being "cvs.old" or something; latter fixes make remotecheck.
  887. * rcs.c (make_file_label): Take into account strlen (rev) when
  888. allocating space. Removes a FIXME and probably fixes a buffer
  889. overrun security hole.
  890. * rcscmds.c (RCS_exec_rcsdiff): Remove #if 0'd code to call
  891. rcsdiff. Tim says he has compared the new code with rcsdiff code
  892. and is confident that the behavior is preserved, so we need to
  893. nuke the comment which says this has not been done. #if 0 isn't
  894. really a very good way to document the way it used to work anyway;
  895. the old code is still in CVS.
  896. * diff.c: Add comment about rcsdiff options that we don't support,
  897. which Tim had sent in email. Remove -T and -y, as the
  898. previous meaning had been very confused.
  899. 1997-09-21 Tim Pierce <twp@xochi.tezcat.com>
  900. Librarify rcsdiff.
  901. * diff.c (have_rev1_label, have_rev2_label): New variables.
  902. (diff): Generate file labels with make_file_label if necessary;
  903. pass labels, revisions and working file name to RCS_exec_rcsdiff.
  904. * rcscmds.c, cvs.h (RCS_exec_rcsdiff): Completely revised function
  905. to eliminate rcsdiff dependency, based on patch from JimK.
  906. (diff_execv): New function, to exec diff with explicit -L args.
  907. * rcs.c, rcs.h (make_file_label): New function.
  908. (RCS_output_diff_options): New function.
  909. * sanity.sh (rcslib): New test.
  910. Fri Sep 19 15:08:08 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  911. * rcs.c (RCS_nodeisbranch): Assert that RCS is non-NULL.
  912. * commit.c (remove_file), rcs.c (RCS_getversion), rtag.c
  913. (rtag_fileproc), status.c (status_fileproc, tag_list_proc), tag.c
  914. (tag_fileproc): Call RCS_nodeisbranch not RCS_isbranch
  915. in contexts where we know the RCS argument is non-NULL.
  916. * commit.c (find_fileproc): Pass tag not NULL to Version_TS for
  917. the tag.
  918. * vers_ts.c (Version_TS): Improve (somewhat) the introductory
  919. comment.
  920. * sanity.sh (editor): New test editor-9 tests for above fix.
  921. Renumber/tweak surrounding tests to fit.
  922. * log.c (log_version): If p->data is NULL, it is an empty log
  923. message.
  924. * sanity.sh (rcs-14): New test, tests for above fix (previously
  925. this was a coredump).
  926. Thu Sep 18 08:45:05 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  927. * sanity.sh (rcs-7): Fix stupid ${TESTDIR} omission.
  928. Wed Sep 17 16:27:41 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  929. * sanity.sh (rcs): New tests rcs-5 through rcs-13 test for
  930. getdate.y fix (rcs-12 and rcs-13 both failed with the buggy
  931. getdate.y).
  932. Tue Sep 16 00:07:17 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  933. * sanity.sh (editor): Clean up first-dir at end of test.
  934. * sanity.sh (editor): New tests test do_editor.
  935. * commit.c (commit): For the client, if we got the log message
  936. from do_editor and there was an error, don't toss the message.
  937. Mon Sep 15 14:27:54 1997 martin.sjoelin@ubs.com
  938. and Jim Kingdon <kingdon@harvey.cyclic.com>
  939. * rcs.c (RCS_checkout): fwrite in bite-size pieces, not the whole
  940. file in one fwrite.
  941. Sun Sep 14 12:23:15 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  942. * commit.c (check_fileproc): If the file has "conflict
  943. indicators", spit a warning and proceed with the checkin.
  944. * sanity.sh (conflicts): Adjust tests conflicts-132,
  945. conflicts-status-3, conflicts-133, and conflicts-status-4
  946. for new behavior.
  947. Fri Sep 12 11:12:34 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  948. * add.c, admin.c, checkin.c, checkout.c, classify.c, commit.c,
  949. create_adm.c, cvsrc.c, diff.c, entries.c, find_names.c, hash.c,
  950. import.c, lock.c, log.c, logmsg.c, main.c, modules.c, myndbm.c,
  951. no_diff.c, parseinfo.c, patch.c, rcs.c, rcscmds.c, recurse.c,
  952. remove.c, repos.c, root.c, rtag.c, status.c, subr.c, tag.c,
  953. update.c, vers_ts.c, hash.h, rcs.h, options.h.in: Change "CVS 1.4
  954. kit" to "CVS source distribution".
  955. * sanity.sh: Comment out call to "whoami".
  956. Thu Sep 11 10:09:04 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  957. * commit.c (classify_file_internal): Add comment about saving
  958. quiet vs. saving really_quiet.
  959. * sanity.sh (newb-123j0): Use two regexps instead of assuming that
  960. expr has "\(", "\|", and "\)". If we want to require the latter,
  961. we should check for it up front, rather than let people get
  962. halfway through and wonder why the test failed.
  963. Tue Sep 9 19:22:44 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  964. * expand_path.c (expand_path): If GETPWNAM_MISSING is defined,
  965. just give an error instead of calling getpwnam.
  966. * subr.c (getcaller): If SYSTEM_GETCALLER is defined, call it
  967. instead of all the getlogin/getpwuid/etc.
  968. * wrapper.c (wrap_setup): Call get_homedir not getpwuid.
  969. Mon Sep 8 17:54:14 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  970. * sanity.sh (basicc): Change ls -1 to echo *; according to
  971. larry.jones@sdrc.com, ls -1 isn't portable.
  972. Sun Sep 7 07:45:35 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  973. * sanity.sh (basic2): In test basic2-64, match usernames with
  974. ${username}.
  975. * root.c: Reindent a few things.
  976. * root.c, cvs.h (same_directories): Remove. Never used,
  977. portability hassle.
  978. * add.c (add_directory): When checking for CVSADM, call fncmp not
  979. strcmp. I actually suspect this code doesn't do much these days,
  980. but fncmp clearly will make more sense than strcmp.
  981. * rtag.c (rtag_usage), tag.c (tag_usage): Reword to hopefully be
  982. clearer that -r takes either numeric or symbolic revision.
  983. * ignore.c (ign_dir_add, ignore_directory): Reindent. Tweaks to
  984. comments.
  985. * update.c (checkout_file): Only ignore existence_error from
  986. unlink_file_dir, not all errors.
  987. * checkout.c (safe_location): Check for errors from xgetwd.
  988. * create_adm.c (Create_Admin): Remove call to xgetwd; it is just
  989. debugging code anyway and it wasn't checking for errors.
  990. * sanity.sh: Add comment about default value for TESTDIR.
  991. * server.c (serve_log): Change "cvslog" to "log". This
  992. (accidental, I presume) error had made it impossible for anonymous
  993. users to run "cvs log".
  994. * classify.c (sticky_ck): Change to take an finfo argument rather
  995. than several arguments taken from there. Cleans up the way the
  996. calling convention had depended on SERVER_SUPPORT.
  997. (Classify_File): Change callers.
  998. * version.c: Change version number to 1.9.17.
  999. * Version 1.9.16.
  1000. * recurse.c (do_dir_proc): In combining repository and dir, omit
  1001. trailing "/." from repository.
  1002. * sanity.sh (modules3): Adjust test modules3-4 so we test for
  1003. this fix (this is not just cosmetic; the bug prevented the
  1004. "Rebuilding administrative file database" from happening).
  1005. modules2 already tests the "co CVSROOT/modules" usage.
  1006. * checkout.c (checkout_proc): When building top-level CVSADM
  1007. directory, continue the process of walking up the repository one
  1008. more level, rather than putting in the same repository as for the
  1009. first-level directory.
  1010. * sanity.sh: Adjust tests basicb-1b, basicb-9b, modules3-7f,
  1011. toplevel-9, and toplevel-11 to test for this fix.
  1012. (For reference, this takes CVS's text segment from 344460 to
  1013. 344140 bytes. I know, this may seem unimportant, but it is so
  1014. unusual for programs to shrink and I think it is so cool when they
  1015. do without losing functionality/clarity/etc).
  1016. * checkout.c, cvs.h (emptydir_name): New function.
  1017. * checkout.c (checkout, checkout_proc), modules.c (do_module):
  1018. Call it instead of duplicating the code to do that.
  1019. * sanity.sh (basicc): Clean up first-dir at end of test.
  1020. Sat Sep 6 09:48:39 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1021. * sanity.sh (join): Fix cut and paste error in join-28
  1022. (/home/kingdon/... -> ${TESTDIR}).
  1023. * recurse.c (start_recursion): If there is no CVSADM and no
  1024. subdirectories, give an error.
  1025. * sanity.sh (basicc): New tests, test for this fix.
  1026. * sanity.sh (join): New tests join-25 through join-29 test merging
  1027. from one branch to a different branch.
  1028. * release.c: In comment about CVSROOTADM_IGNORE, also mention
  1029. comment just added to entries.c.
  1030. * entries.c: Expand this comment, especially the part about
  1031. CVS/Template.
  1032. Keep track of what revisions CVS/Base correspond to:
  1033. * cvs.h (CVSADM_BASEREV, CVSADM_BASEREVTMP): Added.
  1034. * entries.c, cvs.h (base_register, base_deregister, base_get,
  1035. base_walk): New functions.
  1036. * edit.c (edit_fileproc): Call base_register when setting up CVS/Base.
  1037. (unedit_fileproc): When taking a file out of CVS/Base, put its
  1038. revision back into entries, and base_deregister it.
  1039. * sanity.sh (watch4): New tests watch4-10 through watch4-18 test
  1040. for above fix.
  1041. Fri Sep 5 09:14:10 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1042. * client.c: Only declare start_rsh_server if we are going to
  1043. define it (!NO_EXT_METHOD).
  1044. * subr.c, cvs.h (check_numeric): New function.
  1045. * admin.c (admin): Call it.
  1046. * sanity.sh (admin): New tests admin-10a and admin-10b test for fix.
  1047. Thu Sep 4 15:55:39 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1048. * sanity.sh (binwrap2): New tests, test for the ability to specify
  1049. all files are binary except certain patterns.
  1050. * sanity.sh (modules3): New tests modules3-16 and modules3-17 test
  1051. for another behavior involving '/' in a module name.
  1052. Sun Aug 31 12:03:15 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1053. * add.c (add): Remove checks for '/' in pathnames.
  1054. (add): Move code which handles entries and repository inside loop,
  1055. since these now might be different for each argument. Add code to
  1056. set finfo.update_dir, finfo.file, and finfo.fullname appropriately
  1057. even if pathname contains '/'. Replace user variable with
  1058. finfo.file or finfo.fullname, depending on which is meant. chdir
  1059. into update_dir for each argument. Likewise for the client code
  1060. which creates directories.
  1061. (add_directory): Replace arguments with a single finfo argument.
  1062. Replace dir with finfo->fullname as needed.
  1063. (add): Update call to add_directory.
  1064. * client.c, client.h (send_a_repository): No longer static.
  1065. * sanity.sh (errmsg2): Adjust tests to test for '/' in pathname.
  1066. * sanity.sh (errmsg2): New tests errmsg2-13 through errmsg2-16
  1067. test the status quo with respect to '/' in cvs add argument.
  1068. Sat Aug 30 17:37:29 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1069. * run.c (run_popen): Add comment on return value.
  1070. * release.c (release): Check for NULL return from popen.
  1071. Fri Aug 29 17:49:20 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1072. * client.c (get_server_responses): Add comment about "ok^M".
  1073. Thu Aug 28 13:35:12 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1074. * edit.c (edit_fileproc): If file doesn't exist, give an error.
  1075. * sanity.sh (devcom2): Tests devcom2-12 through devcom2-17 test
  1076. for above fix.
  1077. Tue Aug 26 16:42:28 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1078. * subr.c (xmalloc): Reword error message to clarify that memory,
  1079. not disk space or some other resource, is in question.
  1080. Tue Aug 26 01:04:48 1997 Steve Ralston <sralston@ppdpost.ks.symbios.com>
  1081. and Jim Kingdon <kingdon@harvey.cyclic.com>
  1082. * add.c (add_directory): In allocating message, also allocate
  1083. enough for tag and date related text.
  1084. Tue Aug 26 01:04:48 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1085. * update.c (update_dirent_proc): Use update_dir not dir in "new
  1086. directory" message.
  1087. * find_names.c (find_dirs): Skip CVSNULLREPOS.
  1088. (Find_Directories): Add comment about find_dirs skipping CVSATTIC
  1089. and CVSLCK in working directories.
  1090. * sanity.sh (basicb): New tests basicb-edir-* test for find_dirs
  1091. fix. Change other tests to test that Emptydir is not special in
  1092. non-CVSNULLREPOS contexts.
  1093. Sun Aug 17 14:44:57 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1094. * import.c (add_rcs_file): Add comment about -k overriding wrappers.
  1095. Sat Aug 16 18:09:05 1997 Martin Sjoelin <martin.sjoelin@ubs.ch>
  1096. and Jim Kingdon <kingdon@harvey.cyclic.com>
  1097. * import.c (add_rcs_file): Before opening the input file
  1098. when importing, if options is binary, open the file in
  1099. binary mode.
  1100. 1997-08-16 enami tsugutomo <enami@ba2.so-net.or.jp>
  1101. * sanity.sh (mcopy): Unset CVSWRAPPERS last of all.
  1102. Fri Aug 15 11:11:44 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1103. * add.c (add_directory): Copy default file attributes from the
  1104. parent directory to the directory we are creating.
  1105. * fileattr.h, fileattr.c (fileattr_getall, fileattr_setall):
  1106. New functions, in support of above.
  1107. * fileattr.c (fileattr_free): Add comment about fileattr_write
  1108. maybe not clearing attrs_modified.
  1109. * sanity.sh (watch4): New test, tests for above fix.
  1110. Thu Aug 14 11:08:40 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1111. * update.c (merge_file, join_file): If wrap_merge_is_copy, treat
  1112. files as nonmergeable (as we had been treating binary files).
  1113. (join_file, update_fileproc): Remove previous wrap_merge_is_copy
  1114. cruft.
  1115. * sanity.sh (mcopy): New tests, test for above fix.
  1116. (binfiles2): New tests binfiles2-9a-* correct an oversight.
  1117. (binfiles, binfiles2): Adjust to reflect wording change from
  1118. "binary file" to "nonmergeable file".
  1119. (mwrap): Adjust tests mwrap-8 through mwrap-10 for new behavior.
  1120. * main.c (main): Reword copyright notices to include the latest
  1121. year, to refer to "other authors" in addition to the ones listed,
  1122. and to be more concisely formatted.
  1123. Wed Aug 13 13:50:00 1997 Larry Jones <larry.jones@sdrc.com>
  1124. * sanity.sh: Replace hard-coded directory with ${TESTDIR}, add
  1125. join3 to default tests
  1126. Wed Aug 13 11:42:24 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1127. * rcscmds.c: Adjust comment to reflect progress on removing RCS
  1128. execs outside this file.
  1129. Mon Aug 11 10:14:47 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1130. * vers_ts.c (Version_TS): If vers_ts->vn_rcs == NULL, skip setting
  1131. modification time in server case as well as local case.
  1132. * server.c (server_modtime): Add assertion to clarify that caller
  1133. must assure that vers_ts->vn_rcs != NULL.
  1134. * sanity.sh (join3): Add file "file2" to test for above fix.
  1135. * modules.c (save_d): When parsing -s option, don't assume that
  1136. we will hit a space before we hit the '\0'.
  1137. (struct sortrec): Document allocation policies (status quo except
  1138. status field is now malloc'd).
  1139. (cat_module): No longer need to set the '\0' at the end of the
  1140. status field back to ' ', as it no longer shares storage with the
  1141. rest field.
  1142. * sanity.sh (modules): Add "statusmod" to test for above fix.
  1143. Sun Aug 10 12:18:31 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1144. * sanity.sh: Remove TODO item about more keyword expansion tests.
  1145. The keyword test and others cover it pretty well, and such an item
  1146. isn't useful unless it is specific.
  1147. * sanity.sh (importb): New tests test "cvs import -b".
  1148. * mkmodules.c: Update comment with more reasons why having
  1149. CVSROOT/passwd be a regular administrative file would be a Bad
  1150. Idea.
  1151. * server.c (switch_to_user): Add comment about checking for errors
  1152. from setuid and friends.
  1153. Wed Aug 6 13:48:29 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1154. * main.c (main): Add comment about errors writing CVS/Root in
  1155. need_to_create_root code.
  1156. Tue Aug 5 22:05:20 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1157. * entries.c (write_entries): If trouble writing Entries.Backup,
  1158. make it a warning not an error.
  1159. Wed Jul 30 08:42:04 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1160. * parseinfo.c (parse_config): If AUTH_SERVER_SUPPORT is not
  1161. defined, don't set system_auth.
  1162. * version.c: Change version number to 1.9.15.
  1163. * Version 1.9.14.
  1164. * create_adm.c, cvs.h (Create_Admin): If new argument WARN is set,
  1165. then make creating the CVS directory itself a warning not a fatal
  1166. error. New return value indicates whether we did this.
  1167. * checkout.c (build_one_dir), client.c (call_in_directory):
  1168. Pass WARN as one.
  1169. * add.c, client.c, checkout.c, modules.c, update.c: Pass WARN as
  1170. zero for all other Create_Admin callers.
  1171. * sanity.sh (toplevel): New test toplevel-12 tests for this fix.
  1172. * filesubr.c (mkdir_if_needed): Also check EACCES/isdir. Needed
  1173. to make toplevel-12 test work.
  1174. * sanity.sh (toplevel): New test toplevel-11 and friends test for
  1175. another variation of the toplevel-9 bug.
  1176. Tue Jul 29 12:11:16 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1177. * login.c (construct_cvspass_filename): Revert this change. The
  1178. main reason is procedural; Karl is not a current CVS developer.
  1179. The other thing is that the new text doesn't say anything about
  1180. HOMEDRIVE and HOMEPATH.
  1181. Tue Jul 29 11:36:22 1997 Karl Fogel <kfogel@harvey.cyclic.com>
  1182. * login.c (construct_cvspass_filename): error message informs user
  1183. she may need to set HOME environment variable by hand.
  1184. Sun Jul 27 15:36:44 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1185. * admin.c (admin): Remove comment "XXX send -ko too with i = 0".
  1186. It turns out to be a description of a bugfix which was applied on
  1187. 8 Oct 1995, and never should have been in a comment in the first
  1188. place.
  1189. * admin.c (admin, admin_fileproc): Parse options ourself rather
  1190. than blindly passing them to RCS.
  1191. Accordingly, add struct admin_data and function arg_add, and delete
  1192. global variables ac and av.
  1193. * sanity.sh (admin): Change admin-3 test to reflect cvs admin -i
  1194. now being an error.
  1195. (basicb): Change basicb-21 test to relect the improved error
  1196. message here.
  1197. Sat Jul 26 11:34:51 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1198. * sanity.sh (join3): New tests, test a new branch topology and
  1199. greatest common ancestor.
  1200. Fri Jul 25 09:51:49 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1201. * server.c (serve_directory): Repository must start with
  1202. CVSroot_directory rather than some random pathname.
  1203. * remove.c (remove_fileproc): If there is a numeric sticky tag,
  1204. don't allow the remove.
  1205. * commit.c (check_fileproc): Add comment about this case.
  1206. * sanity.sh (sticky): New tests sticky-15 through sticky-23
  1207. test for this behavior and the analogous behavior with
  1208. non-branch sticky tags (which is unchanged).
  1209. * client.c (update_entries): Clear the stored mode, modtime, and
  1210. checksum even on an error.
  1211. * sanity.sh (contents2-142d*): Also test cvs status. Also test
  1212. the case in which the contents of the file are unchanged. Also
  1213. test running diff to see the conflict, and resolving the conflict.
  1214. Without the fix above, the new contents2-142d2 test would get a
  1215. "duplicate Mod-time" warning.
  1216. Thu Jul 24 13:29:15 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1217. * server.c (pserver_authenticate_connection): Call parse_config
  1218. here too.
  1219. * parseinfo.c (parse_config): If we are called several times, the
  1220. times beyond the first do nothing.
  1221. * cvs.h, parseinfo.c (parse_config): New argument cvsroot.
  1222. * server.c, main.c: Update callers.
  1223. * server.c, server.h (system_auth): New variable.
  1224. * parseinfo.c (parse_config): Parse new keyword SystemAuth.
  1225. * mkmodules.c (config_contents): Add comments for SystemAuth.
  1226. * server.c (check_password): If !system_auth, then skip the check
  1227. for a system username/password.
  1228. * main.c (main): No fatal error if parse_config returned an error.
  1229. * server.c (serve_root): Likewise.
  1230. * error.c (error): Add comment about calling from the server.
  1231. * parseinfo.c, cvs.h (parse_config): Remove NOERR crock.
  1232. Closer reading of server.c makes it seem like calling error
  1233. here is OK after all.
  1234. * sanity.sh (config): New test, tests for above fix.
  1235. * server.c (serve_root): Fix typo ("doign" -> "doing").
  1236. Wed Jul 23 13:55:09 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1237. * vers_ts.c (Version_TS): If entdata is for a directory, don't set
  1238. vn_user and friends.
  1239. * server.c (dirswitch): Add comment about why Subdir_Register is
  1240. sometimes a noop here.
  1241. * cvs.h (struct vers_ts): Fix comments about NULL vs. "" in vn_user.
  1242. * sanity.sh (errmsg2): New tests errmsg2-10 through errmsg2-12 test
  1243. for above fix.
  1244. * add.c (add_directory): Call cvs_output not printf. This fixes
  1245. an out-of-order bug which was showing up in the testcase.
  1246. 21 Jul 1997 Jim Kingdon
  1247. * subr.c (get_file): Put st_size into an unsigned variable to
  1248. avoid signed/unsigned warnings.
  1249. Mon Jul 21 00:19:30 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1250. * version.c: Change version number to 1.9.13.
  1251. * Version 1.9.12.
  1252. * sanity.sh (toplevel, head): Delete our files from the repository
  1253. when done with them.
  1254. Sun Jul 20 15:53:08 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1255. * sanity.sh (admin, reserved): New tests, test most cvs admin
  1256. behaviors.
  1257. (log2): New tests log2-5 through log2-10 test setting the
  1258. description via cvs admin.
  1259. Thu Jul 17 12:39:27 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1260. * client.c (socket_buffer_input, socket_buffer_output): Add
  1261. comment regarding size of of buffer we pass to send and recv.
  1262. Sat Jul 12 15:21:24 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1263. * import.c, rcs.h (add_rcs_file): New argument key_opt replaces
  1264. access to global variable keyword_opt. New arguments desctext and
  1265. desclen allow one to set the description. If add_vhead is NULL,
  1266. then omit a revision, like rcs -i.
  1267. * import.c (process_import_file), mkmodules.c (init): Change
  1268. callers.
  1269. * subr.c, cvs.h (get_file): New function, adapted from code in
  1270. update_entries.
  1271. * client.c (update_entries): Call it.
  1272. * commit.c (checkaddfile): Create new RCS files with add_rcs_file
  1273. rather than rcs -i.
  1274. Fri Jul 11 12:14:54 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1275. * update.c (join_file): Handle binary files ourself rather than
  1276. passing them to RCS_merge (which sort of tries to handle binary
  1277. files, but does so badly).
  1278. * sanity.sh (binfile2): New "brmod", "brmod-trmod", and
  1279. "brmod-wdmod" tests test for this fix.
  1280. * add.c (add): Exit status is now nonzero if any of the arguments
  1281. failed (already was mostly true, make it true for the new sanity
  1282. check). Move check for '/' (now ISDIRSEP) up to sanity check, so
  1283. the client does it too.
  1284. * sanity.sh (errmsg2): Test for this fix.
  1285. Thu Jul 10 00:02:54 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1286. * add.c (add): Check for CVSADM, ".", and "..", and skip any
  1287. attempt to add them.
  1288. * sanity.sh (errmsg2): New tests, tests for above fix.
  1289. * main.c (main): In text printed upon --version, also refer
  1290. people to --help.
  1291. * rcscmds.c (RCS_exec_rcsdiff): Add comment about timezones.
  1292. * server.c, cvs.h (cvs_output_binary): New function.
  1293. * rcs.c (RCS_checkout): For a binary file, call cvs_output_binary
  1294. rather than cvs_output.
  1295. * client.c (handle_mbinary): New function.
  1296. (responses): Add "Mbinary".
  1297. Tue Jul 8 12:18:16 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1298. * filesubr.c (get_homedir): Add comment about root vs. user
  1299. directory in pserver server.
  1300. Mon Jul 7 14:39:33 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1301. * sanity.sh (big): Also test Rcs-diff case.
  1302. * client.c (update_entries): Reindent a line.
  1303. * sanity.sh (death2): Add comment about Sun diff. Thanks to
  1304. Warren Jones <wjones@TC.FLUKE.COM> for reporting this.
  1305. * client.c (update_entries): If DONT_USE_PATCH, then just treat a
  1306. Patched response as an indication to try again with complete files.
  1307. * update.c (update): Remove DONT_USE_PATCH ifdefs, since a CVS
  1308. with DONT_USE_PATCH defined can still handle Rcs-diff.
  1309. * sanity.sh (serverpatch): Add comment about this coming up in
  1310. real life if the user modifies the file while CVS is running.
  1311. * client.c (start_server): Add comment about logfiles if there are
  1312. several connections to the server.
  1313. (log_buffer_shutdown): Close the logfile after shutting down the
  1314. underlying buffer. This way at least we get the last set of
  1315. logfiles rather than a bizarre mishmash.
  1316. 1997-07-06 enami tsugutomo <enami@but-b.or.jp>
  1317. * logmsg.c (do_verify): Unlink temporary file before call error().
  1318. Remove unneeded `return' statement. Fix comment.
  1319. Sun Jul 6 13:36:32 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1320. * diff.c (diff_fileproc): Change message from "during rcsdiff of"
  1321. to "while diffing". For a while now, that message might be
  1322. printed after a call to DIFF instead of rcsdiff.
  1323. * diff.c (diff_fileproc): Call cvs_output not printf. Remove
  1324. calls to fflush (should be handled now by call to cvs_outflush in
  1325. recurse.c).
  1326. * patch.c (patch_fileproc): Likewise.
  1327. * rcscmds.c, cvs.h (diff_exec): New function.
  1328. * diff.c (diff_fileproc), patch.c (patch_fileproc),
  1329. update.c (patch_file): Call it.
  1330. * rcscmds.c: Adjust comments concerning diff library to point to
  1331. new, expanded comments at diff_exec. Remove comments concerning
  1332. patch library; Rcs-diff should be adequate.
  1333. * client.c (update_entries): Add comment about GNU patch usage (-b
  1334. option and so on).
  1335. Sat Jul 5 04:13:28 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1336. * rcscmds.c, cvs.h (RCS_exec_rcsdiff): New function.
  1337. * diff.c (diff_fileproc): Call it.
  1338. Thu Jul 3 09:50:07 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1339. * main.c (main): Add comment about how long we should keep the
  1340. deprecated "cvs rlog" alias.
  1341. * server.c (cvs_output): Add comment about whether to fflush.
  1342. Wed Jul 2 18:57:29 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1343. * sanity.sh (join2): New tests join2-19 and friends test for a
  1344. case that we can't readily get right (see comments).
  1345. Tue Jul 1 09:52:09 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1346. * main.c (cmd_usage): Say "specify" --help rather than the vague
  1347. "use".
  1348. (opt_usage, cmd_synonyms): Mention --help here too.
  1349. * add.c, admin.c, checkout.c, commit.c, diff.c, edit.c, import.c,
  1350. log.c, login.c, mkmodules.c, patch.c, rcs.c, release.c, remove.c,
  1351. rtag.c, status.c, tag.c, update.c, watch.c: Likewise, for all the
  1352. other help messages.
  1353. * sanity.sh (join2): New tests.
  1354. * repos.c (Name_Repository): Check for errors from fclose.
  1355. Fri Jun 27 10:27:48 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1356. * scramble.c, login.c: Reindent.
  1357. * client.c (connect_to_pserver): Check for errors from send().
  1358. If socket() fails, include SOCK_STRERROR (SOCK_ERRNO) in message.
  1359. Wed Jun 25 11:21:52 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1360. * main.c: New option --help-options, with much of the text
  1361. from --help. Fix a few capitalization and punctuation problems.
  1362. Rewrite text for --help to be an intro to all the --help-*
  1363. options.
  1364. * sanity.sh (head): New tests, concerning meaning of HEAD.
  1365. Tue Jun 24 10:14:18 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1366. * client.c (recv_line): New function.
  1367. (connect_to_pserver): Call it, and rewrite accordingly. Also
  1368. accept new "E" and "error" responses. Change \n to \012.
  1369. * server.c (pserver_authenticate_connection): Adjust comment
  1370. accordingly, concerning sending I HATE YOU not "error".
  1371. Sun, 22 Jun 1997 Jim Kingdon
  1372. * main.c (main): Move setting of server_active inside #ifdef
  1373. SERVER_SUPPORT; otherwise the variable doesn't exist.
  1374. * main.c (main): Call return after exit to shut up warning.
  1375. Fri Jun 20 22:56:34 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1376. * client.c (connect_to_pserver): On "I HATE YOU", give
  1377. "authorization failed" fatal error regardless of verify_only.
  1378. * login.c (login): Don't print that "incorrect password" message;
  1379. it now is possible with an --allow-root failure as well as an
  1380. incorrect password. cvsclient.texi doesn't really specify what I
  1381. HATE YOU means in any detail, and it seems a little silly for
  1382. login to give different messages than the other commands.
  1383. * client.c, client.h (connect_to_pserver): Return type now void.
  1384. Thu Jun 19 12:16:10 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1385. * server.c (serve_root): Give error on duplicate Root request.
  1386. Call parse_config.
  1387. * parseinfo.c, cvs.h (parse_config): New function.
  1388. * cvs.h (CVSROOTADM_CONFIG): Added.
  1389. * main.c (main): Set server_active here...
  1390. * server.c (server): ...not here. That seems cleaner than
  1391. strcmp's between command_name and "server" in main.c.
  1392. * main.c (main): Call parse_config.
  1393. * main.c, cvs.h (free_Rcsbin): Make global.
  1394. * mkmodules.c (filelist): Add CVSROOTADM_CONFIG.
  1395. Wed Jun 18 11:24:31 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1396. * version.c: Change version number to 1.9.11.
  1397. * Version 1.9.10.
  1398. Tue Jun 17 22:48:00 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1399. * main.c (main): Add --allow-root=ROOT argument; call
  1400. root_allow_add for each time it is specified. Call
  1401. root_allow_free before exiting.
  1402. * root.c, cvs.h (root_allow_add, root_allow_free, root_allow_ok):
  1403. New function.
  1404. * server.c (pserver_authenticate_connection): If root_allow_ok
  1405. doesn't like the CVSROOT directory, don't allow access.
  1406. Tue Jun 17 14:30:14 1997 Jim Kingdon (unknown@beezley)
  1407. * client.c: Add "copyright" notice. If NO_EXT_METHOD, omit
  1408. start_rsh_method.
  1409. * client.c (update_entries): Cast argument to MD5Update from
  1410. char * to unsigned char *.
  1411. Mon Jun 16 16:46:28 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1412. * run.c (piped_child, filter_stream_through_program):
  1413. If USE_SETMODE_BINARY, then put the pipes into binary mode.
  1414. * find_names.c, ignore.c, lock.c, wrapper.c: Change fnmatch to
  1415. CVS_FNMATCH.
  1416. * client.c (start_server): If NO_EXT_METHOD, then give a fatal
  1417. error on any use of :ext:.
  1418. Sun Jun 15 22:30:27 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1419. * sanity.sh (toplevel): Match U CVSROOT/* lines with DOTSTAR in
  1420. test toplevel-9.
  1421. Thu Jun 12 10:27:51 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1422. * sanity.sh (toplevel): Remove Emptydir before starting.
  1423. * sanity.sh: Change "rm -rf" to "rm -r" when deleting working
  1424. directories (except a few watches cases). Helps detect cases
  1425. where the testsuite has cd'd to somewhere other than where we
  1426. think it has.
  1427. (basic2): Remove "rm -r first-dir" between tests 49 and 50. The
  1428. directory was already deleted in test 45.5.
  1429. (rcs): Add "cd .." at end of tests.
  1430. (stamps): No longer cd to TESTDIR; shouldn't be necessary with
  1431. fix to "rcs" test.
  1432. Wed Jun 11 22:28:38 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1433. * sanity.sh (basicb): Also remove CVSROOT/Emptydir at end of
  1434. test. Otherwise it affects the toplevel-9 test for remote.
  1435. Tue Jun 10 14:03:32 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1436. * sanity.sh (toplevel): Change "update" and "checkout" to "[a-z]*"
  1437. as these read "server" instead for "make remotecheck". Change
  1438. expect strings for toplevel-9 to accept the behavior of remote CVS
  1439. (see comments for more discussion).
  1440. * sanity.sh: New tests stamps-9 through stamps-11 test timestamp
  1441. behavior on cvs update.
  1442. Mon Jun 9 22:42:50 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1443. * sanity.sh: Remove "#! /bin/zsh" line at end. I assume it was
  1444. added accidentally.
  1445. Tue Jun 10 03:08:46 1997 Norbert Kiesel <nk@psycho.de>
  1446. * sanity.sh: new tests "toplevel" for the new toplevel CVS
  1447. directory creation (including one test which shows an error in
  1448. this area).
  1449. Sun Jun 8 20:52:00 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1450. * rcs.c (getrcsrev): Before printing error, check whether it was
  1451. feof or ferror.
  1452. * rcs.h, import.c (add_rcs_file): No longer static. New arguments
  1453. add_vbranch, add_vhead, and add_logfp replace access to static
  1454. variables vbranch, vhead, and logfp.
  1455. * mkmodules.c: Call it instead of RCS_CI.
  1456. * import.c (process_import_file): Adjust call to add_rcs_file.
  1457. Tue Jun 3 10:18:33 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1458. * sanity.sh (basicb): Match "." with "\." not ".".
  1459. Tue Jun 3 13:02:37 1997 Norbert Kiesel <nk@cosa.de>
  1460. * checkout.c (checkout): Removed restriction of not sending -k in
  1461. remote export (I think this was introduced while the -k handling
  1462. was still broken in remote mode). Give better error texts
  1463. regarding -c and -s options. Use error() instead of usage() for
  1464. reporting errors in all places. Reindented some lines. Free
  1465. xmalloc'd space of options.
  1466. Thu May 29 16:32:47 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1467. * rcscmds.c (RCS_checkin), mkmodules.c (init): Pass -w option to
  1468. "ci", specifying getcaller ().
  1469. * server.h, server.c (CVS_Username): Now extern.
  1470. * subr.c (getcaller): Return CVS_Username if it is set.
  1471. Wed May 28 22:31:38 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1472. * update.c (update_fileproc): If wrap_merge_is_copy and we would
  1473. like to do a merge, give a fatal error. See comment for why.
  1474. * sanity.sh (mwrap): New tests, tests for above fix.
  1475. Tue May 27 21:59:32 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1476. * sanity.sh (stamps): cd to ${TESTDIR} before starting.
  1477. Mon May 26 15:31:30 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1478. * client.c (handle_mod_time): New function.
  1479. (responses): Add "Mod-time".
  1480. (stored_modtime_valid, stored_modtime): New variables.
  1481. (update_entries): If it is set, change the file's modtime.
  1482. * server.c, server.h (server_modtime): New function.
  1483. * vers_ts.c (Version_TS): Call it.
  1484. * patch.c (patch_fileproc): Add comment about why we don't.
  1485. * sanity.sh (stamps): Added, tests for above fix.
  1486. Fri May 16 13:14:30 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1487. * subr.c (free_names): Update documentation to reflect fact that
  1488. free_names is now called to free vectors allocated by expand_wild
  1489. as well as by line2argv.
  1490. * main.c (main): Use "xstrdup (foo)" not "xstrdup(foo)" as
  1491. specified in HACKING.
  1492. Fri May 16 15:10:37 1997 Norbert Kiesel <nk@cosa.de>
  1493. * modules.c (do_module): initialize optind to 0. use local copies
  1494. of optarg's (because they might me freed within free_names).
  1495. Thu May 15 11:50:15 1997 Norbert Kiesel <nk@cosa.de>
  1496. * main.c (main): initialize optind to 0. use local copies of
  1497. optarg's (because they might me freed within read_cvsrc).
  1498. * cvsrc.c (read_cvsrc): free old argv after constructing a new
  1499. one. This fixes a memory leak.
  1500. * recurse.c (start_recursion): use free_names() instead of
  1501. reimplementing it
  1502. * rcs.c (RCS_deltas): free branchversion (memory leak).
  1503. * parseinfo.c (Parse_Info): free some vars (3 memory leaks).
  1504. * logmsg.c (logfile_write): free str_list_format (memory leak).
  1505. * watch.c (watch_addremove), (watchers), update.c (update), tag.c
  1506. (cvstag), status.c (status), rtag.c (rtag), remove.c (cvsremove),
  1507. release.c (release), patch.c (patch), log.c (cvslog), import.c
  1508. (import), history.c (history), edit.c (watch_onoff), (edit),
  1509. (unedit), (editors), diff.c (diff), commit.c (commit), checkout.c
  1510. (checkout), add.c (add): initialize optind to 0
  1511. * diff.c (diff_fileproc): cosmetic change (whitespace added).
  1512. * checkout.c (checkout): move local variable definition into the
  1513. block where the variable is used.
  1514. * client.c (update_entries): initialize some local variables to shut up
  1515. gcc -O -Wall.
  1516. * buffer.c (buf_read_line): initialize a local variable to shut up
  1517. gcc -O -Wall.
  1518. Wed May 14 16:29:50 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1519. * admin.c (admin): When sending options to server, don't try to
  1520. send av[ac]. It may contain one of the names that we'll send in
  1521. send_file_names (which caused tests like keyword-6 to work,
  1522. sort of accidentally), or it may contain NULL (which would tend to
  1523. cause a coredump).
  1524. * sanity.sh (basicb): New test basicb-21 tests for above fix.
  1525. Mon May 12 16:22:00 1997 Larry Jones <larry.jones@sdrc.com>
  1526. * add.c (add): Free message and repository in client code.
  1527. * checkout.c (checkout): Don't free repository unless allocated.
  1528. * client.c (start_rsh_server): Free command.
  1529. Sun May 11 11:43:54 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1530. * client.c: Remove all references to USE_DIRECT_TCP; see
  1531. ../ChangeLog for rationale.
  1532. Fri May 9 22:19:36 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1533. * main.c (main): Add comment explaining why we call exit. Pass 0
  1534. not EXIT_SUCCESS, because lib/system.h has portability cruft for
  1535. EXIT_FAILURE but not EXIT_SUCCESS.
  1536. Fri May 9 17:25:00 1997 Larry Jones <larry.jones@sdrc.com>
  1537. Fix miscellaneous memory allocation problems:
  1538. * add.c (add): Free repository.
  1539. * client.c (notified_a_file): Free getline buffer.
  1540. * edit.c (notify_check): Free getline buffer.
  1541. * hash.c (dellist): Free header node when not caching.
  1542. * login.c (login): Don't continually free & allocate getline
  1543. buffer, use xstrdup instead of xmalloc/strcpy, free getline
  1544. buffer before returning.
  1545. * main.c (main): Call exit instead of returning so tools like
  1546. Purify won't consider permanently allocated memory as leaks.
  1547. * mkmodules.c (mkmodules): Free getline buffer.
  1548. * modules.c (cat_module): Call close_module.
  1549. * rcs.c (rcsvers_delproc): Free state.
  1550. * recurse.c (start_recursion): Free files_by_dir.
  1551. (unroll_files_proc): NULL out p->data after using it to set
  1552. filelist to avoid multiple frees.
  1553. * server.c (check_command_legal_p): Don't continually free &
  1554. allocate getline buffer, free getline buffer before returning.
  1555. (check_repository_password): Ditto, use xstrdup instead of
  1556. xmalloc/strcpy.
  1557. * wrapper.c (wrap_add_file): Free getline buffer.
  1558. Thu May 8 14:21:00 1997 Larry Jones <larry.jones@sdrc.com>
  1559. and Jim Kingdon <kingdon@harvey.cyclic.com>
  1560. * checkout.c (checkout_proc): Free finfo.rcs (memory leak).
  1561. 8 May 1997 Larry Jones <larry.jones@sdrc.com>
  1562. and Jim Kingdon <kingdon@harvey.cyclic.com>
  1563. * hash.c: Add #ifdef's to disable caching. This makes it easier
  1564. to track down memory allocation problems.
  1565. Thu May 8 11:40:39 1997 Larry Jones <larry.jones@sdrc.com>
  1566. * sanity.sh: In setting "tests" use a number of statements rather
  1567. than one very long line.
  1568. Thu May 8 11:40:39 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1569. * cvsbug.sh: Remove $Id; we decided to get rid of these some time
  1570. ago.
  1571. Thu May 8 11:34:02 1997 Larry Jones <larry.jones@sdrc.com>
  1572. * cvsbug.sh: Put separate statements on separate lines, so it
  1573. works if awk is AT&T nawk.
  1574. Tue May 6 16:56:00 1997 Larry Jones <larry.jones@sdrc.com>
  1575. and Jim Kingdon <kingdon@harvey.cyclic.com>
  1576. * cvsrc.c (read_cvsrc): Fix various memory allocation problems:
  1577. rearrange code to avoid leaks, use xrealloc instead of xmalloc/
  1578. copy/free, make sure there's room for the remaining args before
  1579. appending them.
  1580. Tue May 6 14:20:00 1997 Larry Jones <larry.jones@sdrc.com>
  1581. * edit.c (watch_onoff, edit, unedit, editors): Add -R like
  1582. other things with -l.
  1583. * watch.c (watch_addremove, watchers): Ditto.
  1584. Mon May 5 18:10:37 1997 larry.jones@sdrc.com
  1585. and Jim Kingdon <kingdon@harvey.cyclic.com>
  1586. * sanity.sh: Change all /tmp/cvs-sanity to TESTDIR. If TESTDIR
  1587. environment variable is set, use it instead of /tmp/cvs-sanity.
  1588. * sanity.sh: Make TMPPWD the pwd equivalent of TESTDIR, not of /tmp.
  1589. 4 May 1997 Larry jones <larry.jones@sdrc.com>
  1590. and Jim Kingdon
  1591. * checkout.c, diff.c, patch.c, rcs.c: Update usage messages.
  1592. * rcs.c (annotate): Add -R like other things with -l.
  1593. Sat May 3 14:57:40 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1594. * sanity.sh (basic1): Rewrite test (use dotest, unroll the loops
  1595. which IMHO makes the test a zillion times more understandable, and
  1596. only do the variant which tests for 4 files at a time--we test one
  1597. file at a time lots of places).
  1598. 2 May 1997 Ziv Gigus <ziv@rest.home.net>
  1599. and Jim Kingdon
  1600. * client.c, client.h (client_process_import_file): New argument
  1601. all_files_binary means treat all files as binary.
  1602. * import.c (import_descend): Pass it if -kb is specified.
  1603. * client.c (client_process_import_file): In the
  1604. non-all_files_binary case, call wrap_rcsoption to determine
  1605. whether the file is binary.
  1606. Thu May 1 13:44:51 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1607. * sanity.sh (binfiles2): New tests, for update -j and binary files.
  1608. Wed Apr 30 11:18:36 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1609. * recurse.c (start_recursion): Also free reposfile.
  1610. Don't look in repository if client_active (latter bug reported by Paul
  1611. Sanders <p.sanders@dial.pipex.com>).
  1612. Mon Apr 28 22:36:39 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1613. * diff.c (diff_file_nodiff): Remove SERVER_SUPPORT ifdefs. They
  1614. were not based on server_active, which doesn't really make any
  1615. sense (it meant that compiling --disable-server could affect the
  1616. behavior of the non-client/server CVS). This affected the output
  1617. in tests death2-diff-11 and death2-diff-12 in the testsuite.
  1618. * sanity.sh (newb-123j0): Also accept "Needs Checkout", for a
  1619. --disable-server CVS.
  1620. * main.c (cmd_usage): Change "run diffs" to "show differences";
  1621. the former is jargon.
  1622. * edit.c (edit_usage): Fix typo ("." -> ",").
  1623. * edit.c (editors_usage), watch.c (watchers_usage): Mention -l.
  1624. * checkout.c (export_usage): Say what -P does.
  1625. * history.c (history_usg): Add comment about message wording.
  1626. Mon Apr 28 14:47:45 1997 Norbert Kiesel <nk@cosa.de>
  1627. * checkin.c (Checkin): use filename without path when calling
  1628. wrapper (bug found by Michal Schmitz <ms@cosa.de>).
  1629. Fri Apr 25 13:28:55 1997 Ian Lance Taylor <ian@cygnus.com>
  1630. * client.c (update_entries): In UPDATE_ENTRIES_RCS_DIFF case,
  1631. write to a temporary file and then rename it.
  1632. Thu Apr 24 11:35:40 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1633. * subr.c, cvs.h (pathname_levels): New function, from a piece of
  1634. send_file_names.
  1635. * client.c (send_file_names): Call pathname_levels in place of the
  1636. code which was moved there.
  1637. * server.c, server.h (server_pathname_check): New function.
  1638. * recurse.c (start_recursion): Call it.
  1639. * sanity.sh (modules3): New test modules3-11b tests for above fix.
  1640. * filesubr.c: Do not define L_tmpnam. It is in ANSI and SunOS4,
  1641. so I don't think there will be a problem with it being missing.
  1642. Defining it too small can cause memory corruption.
  1643. (cvs_temp_name): Do not use L_tmpnam in the mktemp code; this
  1644. could cause a buffer overflow if the -T global option was in use.
  1645. Thu Apr 24 13:21:15 1997 Norbert Kiesel <nk@cosa.de>
  1646. * filesubr.c (cvs_temp_name): Use tempnam if available, else
  1647. mktemp, else tmpnam. See the comment for rationale.
  1648. * sanity.sh: use "tar cf - ." instead of "tar cf - *" for
  1649. directory copies.
  1650. Wed Apr 23 23:41:47 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1651. * server.c (serve_update_prog): If in readonly mode, give an error.
  1652. Wed Apr 23 19:07:41 1997 Norbert Kiesel <nk@cosa.de>
  1653. * subr.c (line2argv): Allocate at least 4 slots for argv.
  1654. * checkout.c (checkout_proc): Add a comment which says why the
  1655. above change was necessary to avoid writing to unallocated memory.
  1656. Wed Apr 23 11:20:40 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1657. * entries.c (ParseTag): Always set *NONBRANCHP.
  1658. 21 Apr 1997 Jim Kingdon
  1659. * client.c (update_entries), rcs.c (expand_keywords): Rewrite
  1660. test to avoid signed/unsigned warning.
  1661. Mon Apr 21 09:02:22 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1662. * update.c (patch_file): Add comment about whether auto-detecting
  1663. features of the DIFF program is a good idea.
  1664. Mon Apr 21 00:03:34 1997 Ian Lance Taylor <ian@cygnus.com>
  1665. Don't require the patch program:
  1666. * client.c (struct update_entries_data): Add
  1667. UPDATE_ENTRIES_RCS_DIFF to contents enum.
  1668. (update_entries): Handle UPDATE_ENTRIES_RCS_DIFF.
  1669. (handle_rcs_diff): New static function.
  1670. (responses): Add "Rcs-diff".
  1671. * server.c (server_updated): Handle SERVER_RCS_DIFF.
  1672. (server_use_rcs_diff): New function.
  1673. * server.h (enum server_updated_arg4): Add SERVER_RCS_DIFF.
  1674. (server_use_rcs_diff): Declare.
  1675. * update.c (rcs_diff_patches): New static variable.
  1676. (update): Set rcs_diff_patches.
  1677. (update_fileproc): If rcs_diff_patches, pass SERVER_RCS_DIFF
  1678. rather than SERVER_PATCHED to server_updated.
  1679. (patch_file): Correct initial comment to say diff rather than
  1680. rcsdiff. If rcs_diff_options, pass -n to diff rather than -c.
  1681. * rcs.c (rcs_change_text): New function.
  1682. * rcs.h (rcs_change_text): Declare.
  1683. Mon Apr 21 00:08:59 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1684. * diff.c (diff_fileproc): Add comment concerning updating the
  1685. client timestamp.
  1686. Sun Apr 20 23:20:37 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1687. * commit.c (commit): Add comment regarding SEND_FORCE rationale.
  1688. Sat Apr 19 17:10:36 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1689. * server.c (dirswitch): If directory ends in '/', complain.
  1690. Fri Apr 18 18:09:57 1997 Ian Lance Taylor <ian@cygnus.com>
  1691. * rcs.c (apply_rcs_changes): New static function, broken out of
  1692. RCS_deltas.
  1693. (RCS_deltas): Call it.
  1694. (linevector_add): Change return type to int. Return an indication
  1695. of an error for an invalid add, rather than calling error.
  1696. Fri Apr 18 11:24:26 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1697. * version.c: Change version number to 1.9.9.
  1698. * version.c: Version 1.9.8.
  1699. * commit.c (struct find_data): Add field force.
  1700. (find_fileproc, commit): Use it instead of force_ci to decide
  1701. whether to send files to server.
  1702. (commit): Set it if either -f or -r is specified.
  1703. * sanity.sh (basica): Add tests basica-8a0, basica-8a1, and
  1704. basica-8a2; tests for above fix.
  1705. Wed Apr 16 11:50:59 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1706. * zlib.c: Remove paragraph with Free Software Foundation address.
  1707. See 2 Jan 1997 entry in ../ChangeLog for rationale.
  1708. Tue Apr 15 00:36:23 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1709. * update.c (patch_file_write): Always assign to final_nl, so that
  1710. it ends up reflecting whether the data from the last call had a
  1711. newline, not whether the data from any of the calls ended in a
  1712. newline. Doesn't matter with the current RCS_checkout
  1713. implementation, but it will if RCS_checkout is changed to pass
  1714. less than the entire file.
  1715. * rcs.c (RCS_cmp_file): Change NULL to RUN_TTY in passing sout to
  1716. RCS_checkout, for clarity.
  1717. * import.c (update_rcs_file): Remove unused variable ierrno.
  1718. * add.c, checkout.c, commit.c, diff.c, edit.c, import.c,
  1719. history.c, log.c, main.c, patch.c, release.c, remove.c, rtag.c,
  1720. status.c, tag.c, update.c, watch.c: Pass "+" to all calls to
  1721. getopt. This ensures that we maintain existing behavior even with
  1722. glibc2.
  1723. * filesubr.c (fopen_case): Don't set *PATHP if we return an
  1724. error. Since the 9 Apr 1997 change, the behavior has been to
  1725. sometimes set it and sometimes not.
  1726. * rcs.c (RCS_parse): Adjust callers to not free it. Without this
  1727. change, they could call free() on an uninitialized variable.
  1728. * checkout.c (checkout): Add comment about export -k.
  1729. * root.c (check_root_consistent): Add comment about wording of
  1730. message.
  1731. Mon Apr 14 11:51:49 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1732. * client.c (call_in_directory): If rdirp reaches the end of
  1733. reposdirname, then just set it to NULL. If server does not create
  1734. directories one at a time, give a warning.
  1735. * sanity.sh (modules3): Enable tests modules3-8 through
  1736. modules3-11 for remote; tests for above fix.
  1737. * client.c (call_in_directory): Don't set short_pathname to
  1738. pathname for a while; just use pathname itself (cleans up a relic
  1739. of the old "Repository" (not "Directory") code). Add comment
  1740. explaining short_pathname.
  1741. Sun Apr 13 18:07:50 1997 Ian Lance Taylor <ian@cygnus.com>
  1742. * rcs.c (RCS_checkout): Add pfn and callerdat parameters. Change
  1743. all callers. Move setting of expand after retrieval of file
  1744. data.
  1745. (struct cmp_file_data): Define.
  1746. (RCS_cmp_file): New function.
  1747. (cmp_file_buffer): New static function.
  1748. * rcs.h (RCSCHECKOUTPROC): Define type.
  1749. (RCS_checkout): Update declaration.
  1750. (RCS_cmp_file): Define.
  1751. * diff.c (diff_file_nodiff): Call RCS_cmp_file rather than
  1752. RCS_checkout and xcmp.
  1753. * import.c (update_rcs_file): Likewise.
  1754. * no_diff.c (No_Difference): Likewise.
  1755. * update.c (struct patch_file_data): Define.
  1756. (patch_file): Just return if noexec, or if binary file. Pass
  1757. patch_file_write to RCS_checkout. Don't check for newlines or
  1758. compute checksums here. Stat RCS file to set modes.
  1759. (patch_file_write): New static function.
  1760. * update.c (patch_file): Checkout directly to file2, rather than
  1761. to finfo->file followed by rename. Remove check for whether
  1762. result of checkout is readable; that was for an old, obsolete,
  1763. form of death support.
  1764. Sun Apr 13 13:16:40 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1765. * checkout.c (build_one_dir): New function.
  1766. (struct dir_to_build): New structure.
  1767. (build_dirs_and_chir): Rewritten to accept a linked list of struct
  1768. dir_to_build rather than the silly string processing we had been
  1769. doing before.
  1770. (checkout_proc): Rewrite code that calls build_dirs_and_chdir
  1771. accordingly.
  1772. * sanity.sh: Enable tests modules3-10 and modules3-11 for local CVS;
  1773. tests for above fix.
  1774. * rcs.h (RCS_CO): Removed; no longer used.
  1775. Sun Apr 13 00:04:34 1997 Ian Lance Taylor <ian@cygnus.com>
  1776. Expand RCS keywords internally; never call co:
  1777. * rcs.h (struct rcsversnode): Add state field.
  1778. * rcs.c (kflags): Move out of RCS_check_kflag, and make file
  1779. static.
  1780. (enum kflag): Define.
  1781. (RCS_reparsercsfile): Always save lock information. Save state in
  1782. new state field, rather than other field.
  1783. (struct rcs_keyword): Define.
  1784. (keywords): New static variable.
  1785. (enum keyword): Define.
  1786. (printable_date, escape_keyword_value): New static functions.
  1787. (expand_keywords): New static function.
  1788. (RCS_checkout): Call expand_keywords. Don't call
  1789. RCS_exec_checkout.
  1790. (RCS_deltas): Add log and loglen parameters. Change all callers.
  1791. * log.c (log_version_requested): Use new state field.
  1792. (log_version): Likewise.
  1793. * cvs.h (RCS_exec_checkout): Don't declare.
  1794. * rcscmds.c (RCS_exec_checkout): Remove.
  1795. Sat Apr 12 17:32:59 1997 Ian Lance Taylor <ian@cygnus.com>
  1796. * sanity.sh (modules3): Remove second-dir at end of tests.
  1797. (sticky): Correct removal of directories at end of tests.
  1798. * sanity.sh (keyword): New tests for RCS keyword expansion.
  1799. Sat Apr 12 16:47:13 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1800. * sanity.sh (basicb): New tests basicb-1b, basicb-1c, basicb-9b,
  1801. basic-9c test current build_dirs_and_chdir behavior.
  1802. Fri Apr 11 23:54:56 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1803. * sanity.sh (modules3): New tests modules3-7* test for ability to
  1804. supply a path in -d in modules. Similar to modules3-8 through
  1805. modules3-11 except because the nesting is different, these ones
  1806. work.
  1807. Thu Apr 10 00:14:47 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1808. * sanity.sh (modules3): New tests modules3-12 through modules3-15
  1809. test use of a module name which contains a slash.
  1810. * sanity.sh (basicb): New tests basicb-14 to basicb-20 test use of
  1811. co -d with two or more arguments.
  1812. * rcscmds.c: Refer to doc/RCSFILES in comment.
  1813. Wed Apr 9 09:49:17 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1814. * sanity.sh (basicb): New tests basicb-11 through basicb-13 test
  1815. ability to specify several directory levels in co -d (commented
  1816. out).
  1817. * filesubr.c (fopen_case): If CVS_OPENDIR gives an
  1818. existence_error, return it to the caller instead of giving a fatal
  1819. error.
  1820. * client.c (update_entries): Fix typo in call to error (1 -> errno).
  1821. Tue Apr 8 23:02:22 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1822. * error.h, error.c: Test for #ifdef __STDC__, not #if __STDC__.
  1823. This is consistent with other parts of CVS; it means that the
  1824. declaration for fperror will match the definition even if __STDC__
  1825. is defined to 0 as the SunPro 4.0 compiler does. Reported by
  1826. Richard Smith <rjsmith@cisco.com>.
  1827. 2 Apr 1997 Jim Kingdon
  1828. * entries.c (ParseTag): Add "break;" after "default:" to avoid
  1829. error from Visual C++.
  1830. Wed Apr 2 12:06:44 1997 Vince Del Vecchio <vdelvecc@spd.analog.com>
  1831. and Jim Kingdon
  1832. * client.c: In reporting errors from socket calls, use
  1833. SOCK_STRERROR and SOCK_ERRNO since strerror(errno) doesn't work
  1834. for Win32.
  1835. Tue Apr 8 10:45:32 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1836. * sanity.sh (modules3): Add tests modules3-8 to modules3-11, to
  1837. test for ability to supply a path to -d in modules. Mostly
  1838. commented out as CVS is buggy in this area.
  1839. Mon Apr 7 12:41:44 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1840. * add.c (add): Add comment about SEND_NO_CONTENTS.
  1841. Sun Apr 6 21:46:32 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1842. * update.c (update): Add comment about noexec and SEND_NO_CONTENTS.
  1843. Sun Apr 6 17:34:08 1997 Robert Bihlmeyer <robbe@orcus.priv.at>
  1844. * Pass +f not f to getopt_long to prevent options from being
  1845. permuted with glibc 2.0.1.
  1846. Sun Mar 30 00:07:05 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1847. * cvs.h (struct vers_ts): Adjust comment regarding ts_user.
  1848. * server.c (serve_is_modified): New function. Set entries to show
  1849. that the file is modified but we don't know the contents.
  1850. * server.c (requests): Add "Is-modified" request.
  1851. * vers_ts.c (time_stamp_server): If the timestamp in entdata is
  1852. "M" or "D", just copy that over into ts_user.
  1853. * vers_ts.c (Version_TS): If timestamp is "D", use the entries
  1854. line for the sole purpose of passing it to time_stamp_server.
  1855. * no_diff.c (No_Difference): If ts_user is "M", conclude the files
  1856. are different.
  1857. * client.h, client.c (send_files): Replace arguments build_dirs
  1858. and force with argument flags. Add flag SEND_NO_CONTENTS and add
  1859. to struct send_data.
  1860. (send_fileproc): If no_contents, then send Is-modified instead of
  1861. Modified.
  1862. * add.c, admin.c, client.c, commit.c, diff.c, edit.c, log.c,
  1863. rcs.c, remove.c, status.c, tag.c, update.c, watch.c: Change all
  1864. send_files callers.
  1865. Fri Mar 28 22:32:25 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1866. * server.c (requests): Change "Repository" to rq_optional. I'm
  1867. not sure whether I overlooked this when I removed support for
  1868. Repository, or whether I was thinking that servers would need to
  1869. support it anyway, for CVS 1.5 to 1.9 clients, but making it
  1870. optional doesn't prevent the server from supporting it and it
  1871. seems silly for the client to complain about absence of a request
  1872. that it never will use.
  1873. Fri Mar 28 10:06:59 1997 Steven Miller <Miller@wingra.com>
  1874. * entries.c (Subdirs_Known): Don't create Entries.Log if noexec.
  1875. Thu Mar 27 18:14:12 1997 Ian Lance Taylor <ian@cygnus.com>
  1876. * sanity.sh (death2): Remove commented out test death2-21. It
  1877. would now pass, but it duplicates the new test sticky-11.
  1878. Thu Mar 27 10:21:19 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1879. * sanity.sh (dotest_internal): Write test output to logfile even
  1880. if test succeeds. This was the behavior prior to 30 Sep 1996.
  1881. See the comment for rationale.
  1882. Tue Mar 25 13:26:52 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1883. * cvs.h, entries.c (WriteTag): Add arguments nonbranch,
  1884. update_dir, and repository. Move the server_set_sticky call from
  1885. callers to here.
  1886. * cvs.h, create_adm.c (Create_Admin): New argument nonbranch.
  1887. * cvs.h, entries.c (ParseTag): Add argument nonbranchp.
  1888. * cvs.h (struct stickydirtag): Add field nonbranch.
  1889. * entries.c (Entries_Open): Set it.
  1890. * cvs.h (Vers_TS): Add field nonbranch.
  1891. * vers_ts.c (Version_TS): Copy it from struct stickydirtag.
  1892. * server.c, server.h (server_set_sticky): Add argument nonbranch.
  1893. * add.c, client.c, checkout.c, modules.c, update.c, create_adm.c,
  1894. commit.c: Update callers.
  1895. * add.c (add): If nonbranch, don't add the file on that "branch".
  1896. * commit.c (write_dirnonbranch): New variable.
  1897. (commit_fileproc, commit): Set it.
  1898. (commit_dirleaveproc): Pass it to WriteTag.
  1899. * update.c (rewrite_tag, nonbranch): New variables.
  1900. (update, update_dirent_proc, update_fileproc): Set them.
  1901. (update_filesdoneproc): If rewrite_tag, call WriteTag.
  1902. * sanity.sh (sticky): New tests, test for above fix.
  1903. * version.c: Change version number to 1.9.7.
  1904. * version.c: Version 1.9.6.
  1905. Mon Mar 24 13:02:04 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1906. * entries.c (ParseTag): Add comment about unrecognized characters
  1907. in CVS/Tag file.
  1908. * classify.c (Classify_File): Add comment about how specifying a
  1909. tag (bogusly?) suppresses certain messages.
  1910. Fri Mar 21 13:37:46 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1911. * rcs.h (struct rcsnode): Add comment about case of PATH.
  1912. * rcs.c (RCS_parse): If ign_case, then try opening the file with
  1913. fopen_case.
  1914. * ignore.c (ign_case): Adjust comment.
  1915. * cvs.h, filesubr.c (cvs_casecmp, fopen_case): New functions.
  1916. 20 Mar 1997 Jim Kingdon
  1917. * client.c (send_repository): When sending Directory request,
  1918. send any ISDIRSEP character as '/'. Fixes
  1919. "cvs log foo\bar\baz.c" on NT & friends.
  1920. * client.c (send_file_names): Don't try to read Entries file if
  1921. CVSADM directory does not exist. Fixes fairly serious regression
  1922. (warning on all fresh checkouts) introduced by 1997-01-08 change.
  1923. Tue Mar 18 13:03:33 1997 Jim Meyering <meyering@totoro.cyclic.com>
  1924. * sanity.sh (RCSINIT): Define to be empty and export, to hide any
  1925. existing value that might cause spurious failures.
  1926. * Makefile.in: (install): Depend on installdirs.
  1927. Remove `CYGNUS LOCAL' comment saying not to.
  1928. Tue Mar 18 09:36:26 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1929. * recurse.c (struct recursion_frame): Reindent.
  1930. (do_dir_proc): Print message if we try to recurse into a CVSADM
  1931. directory.
  1932. * sanity.sh (basicb): New test basicb-4a tests for above fix.
  1933. Sun Mar 16 10:18:28 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1934. * sanity.sh (death2): Replace regexp matching temporary file name
  1935. with new variable ${tempname}. For most of the tests this is a
  1936. cosmetic change, but death2-diff-6 had been missing _ which caused
  1937. it to fail on Solaris (at least sometimes).
  1938. * sanity.sh (modes): Don't use export -n; it doesn't seem
  1939. to be sufficiently portable.
  1940. * version.c: Change version number to 1.9.5.
  1941. * version.c: Version 1.9.4.
  1942. * rcscmds.c (RCS_checkin): Preserve the mode of the rcsfile.
  1943. RCS_CI usually, but not always, does this for us.
  1944. * commit.c (fix_rcs_modes): Replace algorithm with a more
  1945. CVSUMASK-friendly one.
  1946. * sanity.sh (modes): Update tests modes-5, modes-7, modes-10, and
  1947. modes-15 so they test that CVSUMASK is honored.
  1948. Sun Mar 16 10:18:28 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1949. * sanity.sh (modes): New tests modes-7a and modes-7b test behavior
  1950. if one manually changes the modes in the repository.
  1951. * server.c (server): Revise code which checks for errors creating
  1952. temporary directory. This won't solve the intermittent
  1953. can't create temporary directory
  1954. Unknown error -1
  1955. but it will mean (a) the right message based on errno gets
  1956. printed, instead of "unknown error -1", and (b) the message says
  1957. that it happened in chmod instead of mkdir_p.
  1958. Sat Mar 15 16:47:12 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1959. * sanity.sh (modes): New tests. Note that (for now) these are
  1960. just testing how CVS already behaves; I want to record that before
  1961. I move on to changing CVS's behavior with modes of RCS files.
  1962. 13 Mar 1997 Jim Kingdon
  1963. * subr.c (line2argv): Change argv_allocated from size_t to int.
  1964. Wed Mar 12 22:16:44 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1965. * add.c (add_directory): If repository has an extraneous "."
  1966. directory at the end, strip it off. This fixes a bug which was
  1967. introduced when strip_path was nuked (this fix is much more
  1968. limited in scope than strip_path was; I _think_ that is a good
  1969. thing).
  1970. (add): Likewise, for client.
  1971. (combine_dir): New function, helps with above.
  1972. * sanity.sh (modules3): Reenable tests for this behavior.
  1973. (basica-0b, basicb-0e): Adjust test to reflect "foo/bar" instead
  1974. of "foo/./bar" in message. As with the rest of this, I believe
  1975. this is just restoring the behavior prior to the strip_path nuking
  1976. (I tried it with CVS 1.9).
  1977. Sun Mar 9 10:06:29 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1978. * root.c (parse_cvsroot), server.c (serve_root, serve_init):
  1979. If CVSroot_directory is not an absolute pathname, give a fatal error.
  1980. * sanity.sh (crerepos): New tests crerepos-6* test for above fixes.
  1981. Sat Mar 8 22:06:17 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  1982. This cleans up the last known code which can overflow its buffers
  1983. (except the Mac client). I've skimmed through much of CVS looking
  1984. for other such places; but I didn't read everything. If I missed
  1985. any please report it to bug-cvs.
  1986. * logmsg.c (logfile_write, title_proc): Realloc str_list as
  1987. needed; don't assume MAXLISTLEN is enough.
  1988. * cvs.h (MAXLISTLEN, MAXFILEPERDIR): Removed; no longer used.
  1989. * add.c, myndbm.c, parseinfo.c, update.c: Nuke MAXLINELEN limit.
  1990. * parseinfo.c, update.c, mkmodules.c: Check for errors reading file.
  1991. * cvs.h (MAXLINELEN): Removed; no longer used.
  1992. * logmsg (MAXHOSTNAMELEN): Removed; not used.
  1993. * main.c (cmd_synonyms): Allocate based on fullname, nick1, and
  1994. nick2, just in case someone makes those big enough so that 100
  1995. bytes is not enough.
  1996. (Make_Date): Use MAXDATELEN rather than our own fixed size.
  1997. * mkmodules.c (mkmodules): Nuke arbitrary limit on line length.
  1998. * rcs.c (ALLOCINCR): Remove; not used.
  1999. (RCS_check_kflag): Add comment concerning karg size.
  2000. * run.c: Allocate run_prog to the needed size, rather than
  2001. allocating a fixed size buffer.
  2002. Fri Mar 7 22:39:08 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2003. * logmsg.c (logfile_write): Allocate prog to needed length rather
  2004. than assuming MAXPROGLEN is enough.
  2005. * cvs.h (MAXPROGLEN): Removed; no longer used.
  2006. * subr.c (MIN_INCR): Update comment to reflect MAXPROGLEN's demise.
  2007. * subr.c (free_names): Fix comment: this function is not used to
  2008. free memory allocated by Find_Names (at least it hasn't for a long
  2009. time).
  2010. * subr.c, cvs.h (line2argv): Change calling convention so that we
  2011. allocate argv array rather than the caller. The previous one had
  2012. no way of checking whether we overflowed the passed-in buffer.
  2013. * subr.c (free_names): Free the argv array too.
  2014. * modules.c (do_module, cat_module): Update callers.
  2015. Thu Mar 6 12:44:42 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2016. * import.c: Allocate vhead and vbranch dynamically; removes
  2017. arbitrary limit.
  2018. * history.c: Likewise (since_rev, since_tag, backto, rec_types).
  2019. * ignore.c: Likewise (line). Also check for errors from getline
  2020. and add 'copyright' notice to top of file.
  2021. * wrapper.c (wrap_add_file): Likewise (line). Also check for
  2022. errors from various calls and add 'copyright' notice to top of file.
  2023. Tue Mar 4 17:39:15 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2024. * client.c (update_entries): Add comment about "move away <file>"
  2025. message.
  2026. Mon Mar 3 21:51:40 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2027. * sanity.sh (basicb): Clean up topfile,v at end of test. Fixes
  2028. failure in modules-155b.
  2029. Sun Mar 2 18:11:09 1997 Dan Wilder <dan@gasboy.com>
  2030. and Jim Kingdon
  2031. * admin.c (admin): Arrange to perform recursion if "cvs admin"
  2032. is passed only options.
  2033. Sun Mar 2 18:11:09 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2034. * sanity.sh (basicb): New tests basicb-0* test for files at top
  2035. level.
  2036. * error.c (error): Add newline to "out of memory" message. I think
  2037. that its omission probably could cause the message to be lost in
  2038. the bowels of server.c and never passed to the user.
  2039. * client.c (start_rsh_server): Add comment about "remsh" vs. "rsh".
  2040. * cvs.h: Move copyright notice to top of file.
  2041. Sun Mar 2 13:44:36 1997 Ian Lance Taylor <ian@cygnus.com>
  2042. * sanity.sh: Use -n when testing whether rsh works.
  2043. * server.c (serve_root): Free path.
  2044. Sun Mar 2 13:12:46 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2045. The following are things that I noticed in the process of trying
  2046. to track down:
  2047. can't create temporary directory
  2048. Unknown error -1
  2049. FAIL: test 28
  2050. from nightly testing. I'm not sure that either item explains that
  2051. message however.
  2052. * server.c (server): Allocate pending_error_text;
  2053. print_pending_error will try to free it so
  2054. pending_error_text = "foo"
  2055. won't work.
  2056. (mkdir_p): Don't assume that isdir will leave errno unmolested.
  2057. Thu Feb 27 15:29:58 1997 Ian Lance Taylor <ian@cygnus.com>
  2058. * remove.c (cvsremove): When forcing removal in client mode, use
  2059. start_recursion rather than calling CVS_UNLINK on each argument.
  2060. (remove_force_fileproc): New static function.
  2061. * sanity.sh (deep): Add tests deep-rm7 through deep-rm10 for above
  2062. patch.
  2063. * sanity.sh (death): Enable death-76a0 and death-76a1 tests for
  2064. remote, since they now work.
  2065. Wed Feb 26 16:13:26 1997 Ian Lance Taylor <ian@cygnus.com>
  2066. * client.c (add_prune_candidate): Skip adding this directory if
  2067. it is the same as the first directory already on the list.
  2068. Mon Feb 24 21:36:43 1997 Noel Cragg <noel@gargle.rain.org>
  2069. * main.c (lookup_command_attribute): Add the "init" command to the
  2070. list of commands that don't use the current working directory.
  2071. Sun Feb 23 09:54:49 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2072. * sanity.sh (devcom3): Clean up at end of test.
  2073. * sanity.sh (basicb): Add commented out test basicb-8a0, for
  2074. whether CVS can print an error on bad numeric revision to diff.
  2075. Commented out until we get around to fixing CVS.
  2076. * diff.c (diff_file_nodiff): Add comment about this case.
  2077. * fileattr.c (fileattr_read): If a filename is duplicated,
  2078. continue to ignore subsequent lines but free the node so that we
  2079. don't leak memory.
  2080. * sanity.sh (devcom3): New tests devcom3-8 and devcom3-9 test for
  2081. behavior on duplicated filenames.
  2082. * fileattr.h: Add comment about unrecognized ENT-TYPE and order of
  2083. lines in fileattr file.
  2084. * fileattr.c (struct unrecog, unrecog_head): New variables, to
  2085. record unrecognized lines.
  2086. (fileattr_startdir): Assert that unrecog_head == NULL.
  2087. (fileattr_read): Record unrecognized lines in unrecog_head linked
  2088. list rather than ignoring them.
  2089. (fileattr_write): Also write out unrecognized lines, if any.
  2090. * sanity.sh (devcom3): New tests, test for above fix.
  2091. * fileattr.h (fileattr_modify): Fix example in comment.
  2092. Sat Feb 22 08:30:27 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2093. * sanity.sh: Add variable username.
  2094. (basica rdiff multibranch log log2): Use it instead of our own
  2095. (inconsistent) ways of matching an author name.
  2096. * filesubr.c, root.c, rtag.c, server.c, subr.c, update.c,
  2097. wrapper.c: Nuke PATH_MAX.
  2098. * cvs.h, wrapper.c (wrap_fromcvs_process_file): Now returns void
  2099. (return value had been unused).
  2100. * cvs.h: Adjust comment to reflect the fact that PATH_MAX is
  2101. gone, at least from src/*.c (except safe_location, as noted).
  2102. 22 Feb 1997 patch by Tom Hageman <tom@basil.icce.rug.nl> (4 Jun 1996)
  2103. updated and commented by Jim Kingdon <kingdon@harvey.cyclic.com>
  2104. * update.c (checkout_file): Call unlink_file_dir on backup, not
  2105. unlink_file.
  2106. Fri Feb 21 16:40:03 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2107. * Makefile.in (DISTFILES): Remove NOTES.
  2108. * NOTES: Removed. bcopy->memcpy is done. "static buffers" I
  2109. assume refers to what is covered by reentrancy text in HACKING.
  2110. Obstack idea moved to comment in hash.c (at nodecache). Checking
  2111. system calls for error returns largely done, and isn't a very
  2112. helpful suggestion unless you know where the bogus calls are
  2113. anyway. Sizing limits--we're in the progress of removing them
  2114. (assuming it meant things like PATH_MAX and earlier, already
  2115. nuked, limits). Removed various items about changes which were
  2116. done a long time ago (I realize that the ChangeLog's probably
  2117. aren't reliable that far back, but I'm not convinced anyone cares
  2118. anymore). CONFIRM_DIRECTORY_ADDS: I assume this is a
  2119. reference to the #if 0'd code in add_directory which asks for
  2120. confirmation--a better way of making it harder to accidentally add
  2121. directories would be to have to add and commit directories like
  2122. for files. I don't know what FORCE_MESSAGE_ON_ADD meant.
  2123. * rcs.c (RCS_getrevtime): Fix documentation (in particular, the
  2124. size of the array that DATE must point to, but many other things
  2125. too).
  2126. * patch.c, recurse.c, release.c, remove.c, repos.c: Nuke PATH_MAX.
  2127. (patch_fileproc): Use MAXDATELEN not hardcoded 50.
  2128. Sun Feb 16 12:00:44 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2129. * client.c (client_process_import_file): New variable fullname;
  2130. pass it to send_modified. This finishes the job of untangling the
  2131. old short_pathname variable into update_dir vs. fullname.
  2132. * client.c (client_process_import_file): Nuke first_time. If
  2133. toplevel_repos were ever NULL here, the code would dump core in
  2134. strncmp a few lines down. And client_import_setup ensures
  2135. toplevel_repos is not NULL.
  2136. Sun Feb 16 08:16:48 1997 Ian Lance Taylor <ian@cygnus.com>
  2137. * client.c (client_process_import_file): Rename short_pathname to
  2138. update_dir (to reflect its function) and make sure that it doesn't
  2139. point to uninitialized memory if repository and toplevel_repos
  2140. contain the same string.
  2141. Sun Feb 16 08:16:48 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2142. * client.c (start_rsh_server): Nuke comment about weirdnesses with
  2143. pre-1.5 versions of CVS and .bashrc/.cshrc. The remote protocol
  2144. is interoperable only back to 1.5, and people who need to know are
  2145. unlikely to see this comment anyway.
  2146. Sun Dec 15 13:12:30 1996 Michael Douglass <mikedoug@texas.net>
  2147. and Jim Kingdon <kingdon@harvey.cyclic.com>
  2148. * main.c (cmds): Added an entry for new logout command.
  2149. (cmd_usage): Added an entry for new logout command.
  2150. (lookup_command_attribute): Added 'logout' to list of commands
  2151. that set need_to_crate_root to 1.
  2152. * login.c, cvs.h (logout): New command for removing entries from
  2153. the .cvspass file.
  2154. (logout_usage): Usage information on the logout command.
  2155. Wed Feb 12 11:19:42 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2156. * client.c (struct send_data): Fix indentation.
  2157. Wed Feb 12 08:48:04 1997 Greg A. Woods <woods@most.weird.com>
  2158. * mkmodules.c (loginfo_contents): add missing comma in
  2159. initializer statement (caused syntax error on SunOS-4).
  2160. Tue Feb 11 21:14:28 1997 Ian Lance Taylor <ian@cygnus.com>
  2161. * commit.c (find_fileproc): If force_ci is set, set the status to
  2162. T_MODIFIED even if the file hasn't changed.
  2163. (commit): Pass force_ci to send_files as new force argument.
  2164. * client.c (struct send_data): Define.
  2165. (send_fileproc): The callerdat parameter now points to a send_data
  2166. struct. If force is set, always call send_modified.
  2167. (send_dirent_proc): The callerdat parameter now points to a
  2168. send_data struct.
  2169. (send_files): Add force parameter. Change all callers. Set up a
  2170. send_data struct and pass it to start_recursion as callerdat.
  2171. * client.h (send_files): Update declaration.
  2172. * sanity.sh (basica): Add a simple test for the above patch.
  2173. Sun Feb 9 12:58:59 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2174. * tag.c (cvstag), rtag.c (rtag): Pass -f to server if specified in
  2175. the client. I haven't tried to come up with a test case because
  2176. the fix seems obvious.
  2177. * import.c (add_rcs_file): Change size of altdate1 and altdate2 to
  2178. MAXDATELEN.
  2179. * cvs.h (MAXDATELEN): Fix comments; describe what this is for.
  2180. * diff.c (diff_usage): Document --ifdef and try to briefly say
  2181. what "rcsdiff-options" means.
  2182. * update.c (update): If update had a nonzero status and we haven't
  2183. yet tried to fetch unpatchable files, go ahead and try it again.
  2184. The previous behavior was to quit, which meant that updates would
  2185. keep failing until you hacked around the problem. Patch and bug
  2186. report by Ian; comment, ChangeLog entry, and willingness to take
  2187. the flak if checking it is premature by Jim.
  2188. * server.c (alloc_pending): New function.
  2189. * server.c: Call it. Fixes places where we had neglected to
  2190. check for NULL return from malloc.
  2191. * sanity.sh (binwrap): Add test binwrap-0, tests for import.c fix
  2192. below.
  2193. Sun, 9 Feb 1997 (submitted 19 Jul 1996) John Polstra <jdp@polstra.com>
  2194. * import.c (import): Give error if the same tag is specified more
  2195. than once. The previous behavior was to write an RCS file which
  2196. had the same tag listed twice, once pointing to each revision,
  2197. which is not legal.
  2198. Sun Feb 9 12:37:09 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2199. * checkin.c (Checkin): Use cvs_output to print message (should
  2200. make out of order bugs no worse, as it merely substitues a
  2201. protocol_pipe vs. stderr_pipe race instead of a stdout_pipe
  2202. vs. stderr_pipe race). Add comment about stdout vs. stderr.
  2203. Fri Feb 7 08:29:52 1997 Josef Nelissen <josef.nelissen@munich.ixos.de>
  2204. * server.c (check_command_legal_p): Don't use ANSI-style definition.
  2205. Thu Feb 6 10:55:37 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2206. * patch.c (patch): Give a fatal error for -V option (see comment
  2207. for rationale).
  2208. * diff.c (diff): Also send "options" to server. Pretty much the
  2209. patch submitted independently by josef.nelissen@munich.ixos.de and
  2210. Ronald Khoo <ronald@demon.net>.
  2211. Wed Feb 5 18:57:14 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2212. * modules.c (do_module): Fix typo in 30 Jan 97 PATH_MAX nuking
  2213. (free -> free_cwd). Testsuite test 151 gets credit for catching
  2214. this one.
  2215. Mon Feb 3 16:14:54 1997 Ian Lance Taylor <ian@cygnus.com>
  2216. * main.c (lookup_command_attribute): Don't use an ANSI prototype
  2217. when defining the function.
  2218. Fri Jan 31 12:49:02 1997 Ian Lance Taylor <ian@cygnus.com>
  2219. * modules.c (do_module): Actually goto found if is_found is set
  2220. (fixes thinko in PATH_MAX nuking of 30 Jan 97).
  2221. Fri Jan 31 12:49:02 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2222. * sanity.sh: Add modules3 and big to list of tests to run
  2223. by default; they were omitted by accident.
  2224. Thu Jan 30 11:46:33 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2225. * logmsg.c, main.c, mkmodules.c, modules.c, parseinfo.c, patch.c:
  2226. Nuke more PATH_MAX.
  2227. * server.c (server_updated): After we send Created or
  2228. Update-existing for a file, mark it as unchanged, in case we
  2229. process it again.
  2230. * sanity.sh (modules3): New tests, test for above fix.
  2231. * logmsg.c (do_verify): Error return from fopen is NULL, not -1.
  2232. Pass errno to error().
  2233. * login.c [_CRAY]: Don't declare getpass.
  2234. Mon Jan 27 17:25:27 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2235. * import.c (process_import_file): Fix freeing of rcs (Don't free
  2236. it before we are done using it, and don't free it twice).
  2237. * modules.c (cat_module): Allocate line right before we use
  2238. it. The previous code was wrong because the length of the
  2239. s_h->rest changes between the time we allocate line and the time we
  2240. sprintf s_h->rest into it.
  2241. Sun Jan 26 21:58:16 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2242. * expand_path.c (expand_path): Revise to call expand_string as
  2243. needed. Nuke PATH_MAX.
  2244. * find_names.c (find_dirs): Likewise.
  2245. * import.c, lock.c: Nuke more PATH_MAX.
  2246. * server.c (mkdir_p): Set retval to 0 at start of function.
  2247. Previously it had been uninitialized for some cases. Thanks are
  2248. due to nightly testing for catching this one.
  2249. Sat Jan 25 21:34:19 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2250. * subr.c, cvs.h (expand_string): New function.
  2251. * rcs.c (getrcskey, getrcsrev): Call it. This greatly reduces the
  2252. number of calls to realloc if there is a very large file in the
  2253. RCS file. Credit goes to Mike Heath <mike@pswtech.com> for
  2254. pointing out the problem and the basic solution (MIN_INCR,
  2255. MAX_INCR); I adapted it into the separate function expand_string.
  2256. * sanity.sh (big): New test helps insure this hasn't broken
  2257. anything obvious.
  2258. Wed Jan 22 10:06:13 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2259. * status.c (status_fileproc): Change message which is printed for
  2260. T_MODIFIED and ts_conflict set, so that it doesn't say "unresolved
  2261. confict". This message occurs whether the conflict is resolved or
  2262. not.
  2263. * sanity.sh (conflicts): Add tests conflicts-status-* to test
  2264. output of "cvs status" in the context of conflicts. Tests for
  2265. above fix.
  2266. * rtag.c (rtag): Send -n if run_module_prog is NOT true.
  2267. Thu Jan 16 00:06:00 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2268. * version.c: Change version number to 1.9.3.
  2269. * version.c: Version 1.9.2.
  2270. Wed Jan 15 09:14:38 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2271. * client.c (call_in_directory): Take code that creates CVSADM at
  2272. top level, move it before the CVS_CHDIR (dir_name) call, and do it
  2273. regardless of whether dir_name is ".". Pass "." not dir_name to
  2274. Create_Admin (when the code was written they were always the
  2275. same). Don't add reposdirname to the repository we pass to
  2276. Create_Admin (when the code was written, I think reposdirname
  2277. probably would always be "."). Don't create CVSADM if
  2278. reposdirname_absolute.
  2279. * sanity.sh (basicb): Enable tests basicb-1a and basicb-9a for
  2280. remote; tests for above fix.
  2281. (basic1): Do entire test within a "1" directory to deal with
  2282. creation of CVS directories at top level. Support --keep.
  2283. (conflicts): In test conflicts-136, only update first-dir.
  2284. (basica): Uncomment the part that tests "cvs co -l .". That tests
  2285. the existing functionality which I might have (but hopefully did not)
  2286. perturbed with the call_in_directory changes.
  2287. Mon Jan 13 11:04:32 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2288. * server.c (check_command_legal_p): Do not call error (1, ...)
  2289. here; that will always cause a protocol violation by shutting down
  2290. the connection prematurely. Remove croak_on_illegal arg.
  2291. (do_cvs_command): Move call to check_command_legal_p until after
  2292. the call to print_pending_error. Print the error message ourself.
  2293. * mkmodules.c (filelist): Add readers and writers. Add comment
  2294. about why passwd is not included. Add comment about meaning of
  2295. NULL contents field.
  2296. Fri Jan 10 13:23:09 1997 Norbert Kiesel <nk@col.sw-ley.de>
  2297. * release.c (release): Initialize delete_flag before reading it
  2298. (found by running purify)
  2299. * logmsg.c (do_verify): Fix reading unallocated memory (found by
  2300. running purify)
  2301. Thu Jan 9 16:32:47 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2302. * checkout.c (build_dirs_and_chdir): Partially revert 3 Jan
  2303. change--move call to Subdir_Register back above the CVS_CHDIR call
  2304. (we need to register in the old, not the new, directory). Instead
  2305. of calling CVS_MKDIR and ignoring errors, call mkdir_if_needed;
  2306. this is an effort to catch errors there rather than catching them
  2307. in the CVS_CHDIR. This makes test 27-add-add in sanity.sh work
  2308. again.
  2309. * find_names.c (Find_Directories): Remove code inside
  2310. #ifdef ATTIC_DIR_SUPPORT and replace it with a comment explaining
  2311. why we don't look in the attic. ATTIC_DIR_SUPPORT was never defined.
  2312. * find_names.c (find_dirs): Add comment about tmp being unset.
  2313. * commit.c (checkaddfile): Report errors with errno and specific
  2314. error messages.
  2315. * rcs.c, commit.c, create_adm.c, entries.c, find_names.c,
  2316. ignore.c, history.c: Nuke PATH_MAX arbitrary limits.
  2317. Wed Jan 8 23:07:41 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2318. * add.c (add): Reindent a portion which needed it.
  2319. 1997-01-08 Jim Kingdon
  2320. * client.c (send_file_names): When looking name up in Entries,
  2321. call Entries_Open and Entries_Close. This has two effects:
  2322. (1) we look at Entries.Log, and (2) we don't skip 'D' entries,
  2323. both of which are needed to make us get the right (command
  2324. line) name for a directory we are adding.
  2325. Wed Jan 8 14:50:47 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2326. * Makefile.in, cvs.h, hash.h, myndbm.h, rcs.h: Remove CVSid; we
  2327. decided to get rid of these some time ago.
  2328. Tue Jan 7 12:56:10 1997 Karl Fogel <kfogel@ynu38.ynu.edu.cn>
  2329. * root.c (check_root_consistent): new func, compares below new
  2330. global var with CVSroot_directory, assuming both set.
  2331. (set_local_cvsroot): use above new func for security check.
  2332. (parse_cvsroot): same.
  2333. But do all of above only #ifdef AUTH_SERVER_SUPPORT.
  2334. * server.c: (Pserver_Repos): new global var, init to NULL.
  2335. (pserver_authenticate_connection): set above new global.
  2336. (check_repository_password): be a good scout and use
  2337. CVSROOTADM and CVSROOTADM_PASSWD, now that they are the standard.
  2338. Make sure all of above is in #ifdef AUTH_SERVER_SUPPORT.
  2339. (check_command_legal_p): wrap most of body in #ifdef
  2340. AUTH_SERVER_SUPPORT.
  2341. Everywhere: wrap all references to CVS_Username in #ifdef
  2342. AUTH_SERVER_SUPPORT.
  2343. * cvs.h (Pserver_Repos): new var, used in consistency [security]
  2344. check. Defined only #ifdef AUTH_SERVER_SUPPORT.
  2345. (CVSROOTADM_PASSWD): new #define, trying to get with the program.
  2346. Fri Jan 3 18:10:39 1997 Ian Lance Taylor <ian@cygnus.com>
  2347. * checkout.c (build_dirs_and_chdir): Move call to Subdir_Register
  2348. until after we know that the directory exists.
  2349. Thu Jan 2 13:30:56 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2350. * Makefile.in, cvsbug.sh, edit.c, edit.h, error.c, error.h,
  2351. fileattr.c, fileattr.h, filesubr.c, run.c, update.h, watch.c,
  2352. watch.h: Remove "675" paragraph; see ../ChangeLog for rationale.
  2353. Thu Jan 2 12:27:46 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2354. * sanity.sh (info): New test info-cleanup-verifymsg gets rid of
  2355. verifymsg when we are done with it.
  2356. * sanity.sh (basicb): Skip tests basicb-1a and basicb-9a for remote.
  2357. * sanity.sh (modules-155a4): It is OK if a CVS directory exists.
  2358. * sanity.sh (ignore): Do everything inside a "1" directory. The
  2359. change to create CVS directories at top-level causes messages such as
  2360. "? home" otherwise. In test 191, specify -I CVS so that new CVS
  2361. directory is ignored.
  2362. * sanity.sh (crerepos): Manually remove CVS directory which had not
  2363. existed before.
  2364. Thu Jan 2 09:06:20 1997 Karl Fogel <kfogel@ynu38.ynu.edu.cn>
  2365. * server.c: Changes for pserver read-only repository access:
  2366. (check_command_legal_p): new func. Right now, just checks if
  2367. repository modification is permitted, and that only if pserver is
  2368. active.
  2369. (do_cvs_command): take new parameter `cmd_name', a string. All
  2370. callers changed. Pass it on to new func check_command_legal_p()
  2371. before executing the command.
  2372. (CVS_Username): new global, init to NULL. Used by
  2373. check_command_legal_p(), set in check_password().
  2374. (check_password): set above new global CVS_Username; reorganized a
  2375. bit to facilitate this.
  2376. (check_repository_password): give *host_user_ptr permanent
  2377. storage iff success.
  2378. * main.c: Changes for pserver read-only repository access:
  2379. (lookup_command_attribute): new func.
  2380. (main): use new func lookup_command_attribute() to establish if
  2381. CVS_CMD_IGNORE_ADMROOT and CVS_CMD_USES_WORK_DIR.
  2382. * cvs.h: Changes for pserver read-only repository access:
  2383. (CVSROOTADM_READERS, CVSROOTADM_WRITERS): new #defines.
  2384. Prototype lookup_command_attribute().
  2385. (CVS_CMD_IGNORE_ADMROOT, CVS_CMD_USES_WORK_DIR,
  2386. CVS_CMD_MODIFIES_REPOSITORY): new #defines for
  2387. lookup_command_attribute() and its callers.
  2388. Wed Jan 1 19:50:38 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2389. * options.h.in: Reword comment for TMPDIR_DFLT to make it clear
  2390. that this isn't specific to the pserver server.
  2391. * modules.c (do_module): Give an error message if one tries to
  2392. specify -a together with another option.
  2393. * sanity.sh (modules2): New tests modules2-a* test for above fix.
  2394. * sanity.sh (devcom): Add tests devcom-a-nonexist and
  2395. devcom-t-nonexist for "cvs watchers" on nonexistent argument.
  2396. 1997-01-01 Fred Fish <fnf@ninemoons.com>
  2397. * run.c (piped_child, filter_stream_through_program): Actually
  2398. install these HAVE_VFORK patches that got missed.
  2399. (There was a log entry for these changes for 29 Nov 1996 but it
  2400. seems I accidentally forgot to actually check them in -kingdon).
  2401. Wed Jan 1 18:32:44 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  2402. * Makefile.in: Add ChangeLog-96.
  2403. * ChangeLog-96: New file, contains former contents of ChangeLog.
  2404. * ChangeLog: Now just contains 1997 changes.
  2405. For older changes see ChangeLog-96.