PageRenderTime 113ms CodeModel.GetById 23ms RepoModel.GetById 1ms app.codeStats 0ms

/contrib/cvs/src/ChangeLog

https://bitbucket.org/freebsd/freebsd-head/
#! | 9664 lines | 6783 code | 2881 blank | 0 comment | 0 complexity | 121f3c566953393dafe8cd5be2bc2480 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. 2008-03-10 Mark D. Baushke <mdb@gnu.org>
  2. * mkmodules.c, parseinfo.c: Update copyright.
  3. * parseinfo.c (parse_config): Add support for new
  4. "IgnoreUnknownConfigKeys" configuration key.
  5. * mkmodules.c (config_contents): Add text about the
  6. "IgnoreUnknownConfigKeys" option.
  7. * sanity.sh (config): Test that IgnoreUnknownConfigKeys=yes works.
  8. 2008-01-30 Derek R. Price <derek@ximbiot.com>
  9. * update.c (join_file): Use local copy to detect deletion conflicts,
  10. as opposed to the base revision. Restore freeing of rev2 to its
  11. original location. Use simpler conflict message.
  12. * sanity.sh: Update to compensate.
  13. 2008-01-29 Derek R. Price <derek@ximbiot.com>
  14. * update.c (join_file): Remove trace that is no longer needed.
  15. 2008-01-29 Derek R. Price <derek@ximbiot.com>
  16. Paul Edwards <fight.subjugation@gmail.com>
  17. * update.c (join_file): Detect deletion conflicts.
  18. * sanity.sh (join, join4): Adjusted for this fix.
  19. (join8, join9): Add new tests for conflicts.
  20. 2008-01-27 Mark D. Baushke <mdb@gnu.org>
  21. * filesubr.c (xreadlink): s/128/BUFSIZ/ avoid magic numbers.
  22. * client.c (start_rsh_server): Use CVS_SSH for the :extssh:
  23. method or fall back to "ssh" as set using the --with-ssh flag to
  24. configure.
  25. * client.h, log.c, main.c, recurse.c, root.c: Update copyright for
  26. 2008.
  27. 2008-01-24 Mark D. Baushke <mdb@gnu.org>
  28. * log.c (cvslog): New -n option to revert the -N switch.
  29. (log_usage): Add -n to the help string.
  30. * main.c (cmds[]): Add "blame" as a synonym for the
  31. "annotate" command.
  32. * sanity.sh (cvs-log): New tests for 'cvs log -N -n' validation.
  33. (ann-10w1blame): Test the 'cvs blame' synonym for annotate.
  34. (Patch suggested by "David O'Brien" <obrien@FreeBSD.org>)
  35. * edit.c (notify_check): Rename to...
  36. (cvs_notify_check): ...this to avoid Mac OSX symbol conflicts.
  37. * client.h, edit.h, recurse.c: Change all references.
  38. * client.c (start_rsh_server): Use RSH_DFLT not a hardcoded "rsh"
  39. * root.c (parse_cvsroot): Fix parsing for the :extssh: method.
  40. * sanity.sh (expr_set_DASHDASH): Fix for non-POSIX expr
  41. implementations.
  42. (CVSROOTDIR): Use 'cvsrootdir' instead of 'cvsroot' to
  43. avoid problems on case preserving and/or case insensitive
  44. filesystems (e.g., HFS+).
  45. (CVSROOT_DIRNAME): Use ${TESTDIR}/${CVSROOTDIR} instead of
  46. ${TESTDIR}/cvsroot to avoid filesystem case sensitivity problems.
  47. (crerepos-extssh): Clone of crerepos tests, but use the :extssh:
  48. method.
  49. 2007-12-19 Larry Jones <lawrence.jones@siemens.com>
  50. * client.c, import.c, lock.c, login.c, mkmodules.c, modules.c,
  51. rcs.c, server.c: Fix gcc -Wall warnings.
  52. 2007-12-16 Larry Jones <lawrence.jones@siemens.com>
  53. * rcs.c (HAVE_MMAP): Fall back to stdio if mmap fails.
  54. 2007-12-13 Larry Jones <lawrence.jones@siemens.com>
  55. * rcs.c (rcsbuf_ftell): Avoid potential overflow.
  56. 2007-12-12 Larry Jones <lawrence.jones@siemens.com>
  57. * vers_ts.c (time_stamp): Add warnings for [l]stat failures
  58. other than no such file.
  59. 2007-08-26 Derek Price <derek@ximbiot.com>
  60. * mkmodules.c (in_root): Rename to...
  61. (in_repository): ...this.
  62. 2007-08-26 Larry Jones <lawrence.jones@ugs.com>
  63. * mkmodules.c (in_root, init): Unmix declarations and code.
  64. 2007-08-22 Derek Price <derek@ximbiot.com>
  65. * add.c (add): Check last component of argument paths instead of the
  66. entire argument.
  67. * sanity.sh (add-restricted): Test indirect paths to `CVS' dir with
  68. add.
  69. * server.c (serve_init): Remove unnecessary argument to printf style
  70. function.
  71. * mkmodules.c (in_root): New function.
  72. (init): Verify that new roots are not created inside others.
  73. * sanity.sh (init-3): New test for same.
  74. 2007-08-16 Derek Price <derek@ximbiot.com>
  75. * root.c (root_allow_used): New function and...
  76. * root.h (root_allow_used): ...its prototype.
  77. * server.c (serve_root): Backport --allow-root test for `cvs server'.
  78. * sanity.sh (server2-5, server2-6): New tests for the above.
  79. 2007-06-18 Derek Price <derek@ximbiot.com>
  80. * client.c (send_repository): Don't attempt to send metadata from CVS
  81. subdirectories when importing.
  82. 2007-06-15 Derek Price <derek@ximbiot.com>
  83. * import.c (import): Check more carefully for files and directories
  84. named "CVS".
  85. * sanity.sh (import-1b): New test for same.
  86. (import-2): Test files named "CVS", in addition to directories.
  87. 2007-05-22 Larry Jones <lawrence.jones@ugs.com>
  88. * rcs.c (RCS_fully_parse): Include revision in error message.
  89. 2007-05-07 Derek Price <derek@ximbiot.com>
  90. * mkmodules.c (init): Assert that the server is not active.
  91. * server.c (serve_init): Send error message when the init command is
  92. received from a client.
  93. * sanity.sh (*): Avoid using remote init.
  94. (skip_always, localonly, restore_adm): New convenience functions.
  95. 2007-03-08 Larry Jones <lawrence.jones@ugs.com>
  96. * rcs.c (findmagictag): Cast node->data before doing arithmetic
  97. since it's now (void *).
  98. 2007-03-05 Larry Jones <lawrence.jones@ugs.com>
  99. * rcs.c (RCS_delete_revs): When checking for tagged revisions,
  100. include magic branch tags.
  101. 2007-03-01 Larry Jones <lawrence.jones@ugs.com>
  102. * import.c (import_descend_dir): Correct error message.
  103. * sanity.sh (pserver-3a): New test.
  104. 2006-09-14 Derek Price <derek@ximbiot.com>
  105. * sanity.sh (server3, client2): New tests.
  106. 2006-09-07 Derek Price <derek@ximbiot.com>
  107. [bug #17560]
  108. * rcs.c (apply_rcs_changes): Improve comments. Restore repaired error
  109. handling.
  110. 2006-09-06 Larry Jones <lawrence.jones@ugs.com>
  111. * rcs.c (apply_rcs_changes): Improve linked list handling. Remove
  112. unused variables and unreachable error handling code. Avoid unneeded
  113. dynamic allocation of temp linevector. Minor stylistic code clean up.
  114. 2006-09-06 Derek Price <derek@ximbiot.com>
  115. [bug #17560]
  116. * rcs.c (apply_rcs_changes): Improve header block comment. Clean up
  117. unused linevector on non-fatal error.
  118. 2006-09-06 Derek Price <derek@ximbiot.com>
  119. [bug #17560]
  120. * rcs.c (apply_rcs_changes): Remove an unecessary memcpy. Avoid some
  121. other processing on error.
  122. (linevector_delete): Remove - it's no longer used.
  123. 2006-09-06 Mark D. Baushke <mdb@gnu.org>
  124. [bug #17560]
  125. * rcs.c (apply_rcs_changes): Fix the merge algorithm from O(n^2)
  126. to O(n).
  127. (Based on a patch submitted by "Michael J. Smith"
  128. <msmith@ideorlando.org>)
  129. 2006-08-28 Derek Price <derek@ximbiot.com>
  130. * recurse.c (do_recursion): Remove misguided assertion.
  131. * sanity.sh (dottedroot-3): Add test for the above.
  132. (Thanks to report from Paul Eggert <eggert@CS.UCLA.EDU>.)
  133. [bug #17168]
  134. * classify.c (Classify_File): Use T_PATCH for changed keywords instead
  135. of T_CHECKOUT to conserver bandwidth. Don't sticky check when marking
  136. files for update anyhow.
  137. * sanity.sh: Update to compensate (s/^U /[UP] /).
  138. 2006-08-25 Derek Price <derek@ximbiot.com>
  139. [bug #17168]
  140. * classify.c (Classify_file): Mark files with potential keyword
  141. substitution changes as needing update.
  142. * sanity.sh: Update to compensate.
  143. (keyword, keywordname, serverpatch): Update to compensate, removing
  144. the last few "checksum failed" tests.
  145. * classify.c (Classify_File): Remove hacks which worked around checksum
  146. failures from bug #17032.
  147. 2006-08-24 Derek Price <derek@ximbiot.com>
  148. [bug #17032]
  149. * update.c (patch_file): Correctly recreate client working files
  150. containing the RCS `Name' keyword before generating patches.
  151. * sanity.sh (keyword-23r): Merge with local case to compensate.
  152. 2006-08-17 Larry Jones <lawrence.jones@ugs.com>
  153. * hash.h: Rename structs node and list to hashnode and hashlist
  154. to avoid name clashes.
  155. 2006-07-25 Mark D. Baushke <mdb@gnu.org>
  156. * login.c (free_cvs_password): New function to control freeing of
  157. the static get_cvs_passwd() returned storage.
  158. (login): Call it.
  159. * cvs.h (free_cvs_password): Add prototype for it.
  160. * client.c (auth_server): Call it.
  161. [Alter the previous NetBSD coverity cid-3404 patch.]
  162. 2006-07-11 Larry Jones <lawrence.jones@ugs.com>
  163. * log.c (log_usage): Fix misleading description of -b (it selects
  164. revisions on the default branch *in addition to* revisions selected
  165. with -r).
  166. 2006-06-29 Derek Price <derek@ximbiot.com>
  167. * client.c (is_arg_a_parent_or_listed_dir): Strip trailing slashes from
  168. dir name defore searching for it. Partially addresses TODO #205.
  169. * sanity.sh (trailingslashes): Update to compensate.
  170. 2006-06-28 Derek Price <derek@ximbiot.com>
  171. [bug #16961]
  172. * login.c (get_cvs_password): Return copy of global variable.
  173. (Patch from <mbarabas@redhat.com>.)
  174. 2006-06-23 Larry Jones <lawrence.jones@ugs.com>
  175. * server.c (do_cvs_command): Remove unused variable.
  176. 2006-06-22 Larry Jones <lawrence.jones@ugs.com>
  177. * mkmodules.c (modules_contents): Remove defunct -i option.
  178. 2006-06-10 Derek Price <derek@ximbiot.com>
  179. * sanity.sh (conflicts4): Don't expect specific file permissions. Use
  180. $PLUS.
  181. 2006-06-08 Derek Price <derek@ximbiot.com>
  182. * sanity.sh (conflicts4): Test that the client honors Empty-conflicts.
  183. * server.c (requests): Add "Empty-conflicts" marker.
  184. * client.c (send_fileproc): Send contents of all files with conflicts
  185. unless the server can handle the conflict marker in the Entry.
  186. * sanity.sh (conflicts4): New tests.
  187. (Original patch from Mark D. Baushke <mdb@gnu.org>.)
  188. 2006-06-07 Mark D. Baushke <mdb@gnu.org>
  189. * modules.c (my_module): Remove unused variable xvalue.
  190. [Fixes NetBSD coverity cid-705.]
  191. 2006-05-31 Mark D. Baushke <mdb@gnu.org>
  192. * add.c (add): Fix memory leak.
  193. [Fixes NetBSD coverity cid-3751.]
  194. (add_directory): Fix memory leak.
  195. [Fixes NetBSD coverity cid-3640.]
  196. * checkin.c (Checkin): Avoid possible NULL dereference.
  197. [Fixes NetBSD coverity cid-2425.]
  198. * client.c (auth_server): Fix memory leak.
  199. [Fixes NetBSD coverity cid-3404.]
  200. * commit.c (remove_file): Fix memory leak.
  201. [Fixes NetBSD coverity cid-3752.]
  202. * rcs.c (RCS_checkin): Add assert (tip).
  203. [Fixes NetBSD coverity cid-2424.]
  204. 2006-05-26 Mark D. Baushke <mdb@gnu.org>
  205. * add.c (add): Do not leak memory.
  206. [Fixes NetBSD coverity cid-2199.]
  207. * edit.c (onoff_fileproc): Do not leak memory.
  208. [Fixes NetBSD coverity cid-2201.]
  209. * edit.c (onoff_filesdoneproc): Do not leak memory.
  210. [Fixes NetBSD coverity cid-2202.]
  211. * lock.c (readers_exist): Add assert (lockdir).
  212. [Fixes NetBSD coverity cid-2411.]
  213. * rcs.c (RCS_findlock_or_tip): Do not leak memory.
  214. [Fixes NetBSD coverity cid-2198.]
  215. * rcs.c (RCS_getdate): Avoid possible NULL dereference.
  216. [Fixes NetBSD coverity cid-2412.]
  217. * server.c (serve_sticky): Do not leak file descriptors.
  218. [Fixes NetBSD coverity cid-2197.]
  219. * server.c (do_cvs_command): Do not leak memory.
  220. [Fixes NetBSD coverity cid-2204.]
  221. * tag.c (add_to_val_tags): Do not leak memory.
  222. [Fixes NetBSD coverity cid-2071.]
  223. 2006-05-25 Derek Price <derek@ximbiot.com>
  224. * client.c (start_rsh_server): Default rsh client to RSH_DFLT. Remove
  225. verbose comment attempting to justify the previous default.
  226. 2006-05-24 Larry Jones <lawrence.jones@ugs.com>
  227. * sanity.sh: Add -v|--verbose option to echo test names. Clean
  228. up help message.
  229. Remove val-tags files for cleanup instead of truncating since the
  230. truncation code doesn't work right on Solaris. Always use -f when
  231. removing val-tags.
  232. 2006-05-22 Derek Price <derek@ximbiot.com>
  233. * rcs.c (RCS_reparsercsfile, RCS_fully_parse, RCS_checkout, RCS_deltas,
  234. RCS_getdeltatext, RCS_copydeltas): Verify input revision numbers.
  235. (rcs6): Update to compensate.
  236. * sanity.sh (rcs6): New test.
  237. 2006-05-16 Derek Price <derek@ximbiot.com>
  238. * main.c: Update copyright for 2006.
  239. 2006-05-12 Mark D. Baushke <mdb@gnu.org>
  240. * log.c (log_expand_revlist): Add assert (r->first). It should
  241. only be possible for both r->first == NULL && r->last == NULL
  242. which would have been handled.
  243. [Fixes NetBSD coverity cid-1063.]
  244. * server.c (do_cvs_command): Protect close (dev_null_fd) against
  245. invalid fd value in error_exit.
  246. [Fixes NetBSD coverity cid-1307.]
  247. * rcs.c (RCS_isdead): Assert that the first argument is not NULL.
  248. [Fixes NetBSD coverity cid-1058.]
  249. * commit.c (checkaddfile): Do not dereference NULL on call to
  250. error().
  251. [Fixes NetBSD coverity cid-1061.]
  252. * log.c (cvslog): Assert p->start && p->end instead of masking the
  253. problem.
  254. * server.c (server_updated): Assert findnode_fn results instead of
  255. masking the problem.
  256. * add.c (add_directory): Revert previous change. The xstrdup()
  257. function already deals a NULL argument.
  258. * client.c (handle_mt): Ditto.
  259. * entries.c (Entnode_Create): Ditto.
  260. (Entries_Open): Ditto.
  261. * logmsg.c (fmt_proc): Ditto.
  262. * vers_ts.c (Version_TS): Ditto.
  263. 2006-05-11 Mark D. Baushke <mdb@gnu.org>
  264. * add.c (add_directory): Protect tag from NULL dereference.
  265. [Fixes NetBSD cid-1054.]
  266. * client.c (handle_mt): Deal with missing text argument.
  267. [Fixes NetBSD cid-924.]
  268. * entries.c (Entnode_Create): Protect date, tag and ts_conflict
  269. from possible NULL dereference.
  270. [Fixes NetBSD coverity cid-994, cid-995, cid-1055, cid-1057.]
  271. * entries.c (Entries_Open): Protect dirtag and dirdate from
  272. possible NULL dereference.
  273. [Fixes NetBSD coverity cid-996.]
  274. * log.c (cvslog): Validate start and end args to
  275. date_to_internet().
  276. [Fixes NetBSD coverity cid-2427 and cid-2428.]
  277. * logmsg.c (fmt_proc): Protect li->tag from NULL dereference.
  278. [Fixes NetBSD coverity cid-997.]
  279. * vers_ts.c (Version_TS): Protect tag and vers_ts->tag from NULL
  280. dereference.
  281. [Fixes NetBSD coverity cid-1053.]
  282. 2006-05-04 Mark D. Baushke <mdb@gnu.org>
  283. * filesubr.c (cvs_temp_file): Avoid keeping pointers to free()'d
  284. storage laying around.
  285. * commit.c (commit): Handle possible NULL filename values
  286. returned from cvs_temp_file().
  287. * filesubr.c (cvs_temp_name): Ditto.
  288. * import.c (import): Ditto.
  289. * login.c (password_entry_operation): Ditto.
  290. * logmsg.c (do_verify): Ditto.
  291. * patch.c (patch_fileproc): Ditto.
  292. [Fixes NetBSD coverity cid-2545.]
  293. * buffer.c (packetizing_buffer_output): Initialize outdata.
  294. [Fixes NetBSD coverity cid-2474.]
  295. * server.c (server_updated): Check for NULL return from
  296. findnode_fn(). [Fixes NetBSD coverity cid-1352.]
  297. 2006-04-19 Larry Jones <lawrence.jones@ugs.com>
  298. * history.c (sort_order): Back out previous change - not needed.
  299. 2006-04-15 Larry Jones <lawrence.jones@ugs.com>
  300. * history.c (sort_order): Add prototype.
  301. * server.c (template_proc): Add prototype and make args const.
  302. * update.c (RegisterMerge): Make static to match prototype.
  303. 2006-04-07 Derek Price <derek@ximbiot.com>
  304. * client.c (strto_file_size): New function which checks for errors when
  305. parsing protocol input.
  306. (read_counted_file, update_entries, handle_mbinary): Use new function.
  307. Remove FIXME.
  308. (Thanks to a report from Brendan Harrison
  309. <brendan.harrison@klocwork.com>.)
  310. * client.c (send_a_repository): Add assertion.
  311. (Thanks to an incorrect report from Brendan Harrison
  312. <brendan.harrison@klocwork.com>.)
  313. 2006-04-06 Derek Price <derek@ximbiot.com>
  314. * filesubr.c (last_component, expand_wild), rcs.c (RCS_deltas,
  315. RCS_rewrite), server.c (server_checked_in): Add assertions.
  316. (Thanks to an incorrect report from Brendan Harrison
  317. <brendan.harrison@klocwork.com>.)
  318. 2006-03-31 Mark D. Baushke <mdb@gnu.org>
  319. * cvsrc.c (read_cvsrc): Deal with \r\n (DOS) line endings in
  320. .cvsrc files.
  321. 2006-03-07 Derek Price <derek@ximbiot.com>
  322. * tag.c (rtag_proc): Search the Attic when -F is used.
  323. * sanity.sh (tests): Run death-rtag.
  324. (death-rtag): Expect success.
  325. * sanity.sh (death-rtag): Add failing force tag move test.
  326. 2006-03-06 Derek Price <derek@ximbiot.com>
  327. * tag.c (rtag_proc): Always search in the attic when -r is used.
  328. * sanity.sh (death-rtag): New test.
  329. (Original report from C. Michael Pilato <cmpilato@collab.net>.)
  330. 2006-03-01 Derek Price <derek@ximbiot.com>
  331. * sanity.sh: Set MALLOC_CHECK_ in hopes of exposing common memory
  332. errors when CVS is linked with glibc 2.x.
  333. 2006-02-27 Derek Price <derek@ximbiot.com>
  334. * lock.c (internal_lock): Back out previous change, we don't change
  335. user visible output on stable unless absolutely necessary.
  336. * lock.c (internal_lock): Improve error message.
  337. 2006-02-26 Derek Price <derek@ximbiot.com>
  338. * client.c (call_in_directory): Remove unneeded code.
  339. * sanity.sh (toplevel-12): Compensate by failing to expect a redundant
  340. error message.
  341. 2006-02-24 Mark D. Baushke <mdb@gnu.org>
  342. * client.c (gzip_level): Move to...
  343. * main.c (gzip_level): ...here.
  344. (main): Revert previous change in '-z' argument processing and
  345. remove CLIENT_SUPPORT ifdef/endif.
  346. * sanity.h (crerepos-6a): Deal with --disable-client output.
  347. * main.c (main): Validate the gzip compression level for
  348. --disable-client configurations.
  349. 2006-02-13 Derek Price <derek@ximbiot.com>
  350. * server.c (do_cvs_command): Skip server_cleanup in the child process.
  351. * sanity.sh (sshstdio-6): Rewrite using more portable sed script.
  352. 2006-02-02 Derek Price <derek@ximbiot.com>
  353. * sanity.sh (sshstdio): Attempt to ignore spurious SSH output.
  354. * main.c (main), release.c (release), server.c (do_cvs_command): Always
  355. call the cleanup hooks before exit.
  356. 2006-02-01 Derek Price <derek@ximbiot.com>
  357. * tag.c (add_to_val_tags): When a tag turns out to exist in the db when
  358. it isn't expected, release the lock.
  359. * history.c (save_user, save_file, save_mod, read_hrecs): Avoid
  360. overflow.
  361. 2006-01-30 Derek Price <derek@ximbiot.com>
  362. * server.c (do_cvs_command): Set flow control pipe to blocking mode
  363. before waiting for it to close.
  364. (set_block_fd): New function.
  365. (Original patch from Garrett Rooney <grooney@collab.net>.)
  366. 2006-01-13 Larry Jones <lawrence.jones@ugs.com>
  367. * mkmodules.c (config_contents): Change SystemAuth to yes to match
  368. the default value. Add missing newline in RereadLogAfterVerify.
  369. 2006-01-09 Larry Jones <lawrence.jones@ugs.com>
  370. * commit.c (remove_file): Record correct revision in history file.
  371. (Reported by Chris Reed <cr@progress.com>.)
  372. 2005-12-07 Derek Price <derek@ximbiot.com>
  373. * client.c (start_server), root.c (method_names), root.h (CVSmethod):
  374. Handle :extssh: as a kindness to Eclipse users.
  375. (Suggestion from Joseph P. Skudlarek <Jskud@Jskud.com>.)
  376. 2005-12-06 Mark D. Baushke <mdb@gnu.org>
  377. * buffer.c (stdio_buffer_shutdown): No longer assert() the
  378. fstat(). Use error (0, ...) instead of error (1, ...) to avoid
  379. infinite loops. (patch #4678)
  380. Patch adapted from "Allan L. Bazinet" <allan.bazinet@gmail.com>
  381. 2005-11-10 Larry Jones <lawrence.jones@ugs.com>
  382. * commit.c (commit): Complain about obsolete -n option if not in
  383. server mode.
  384. 2005-11-09 Derek Price <derek@ximbiot.com>
  385. * sanity.sh (pserver-4.2): Accept a "no such sytem user" message when
  386. a root attempt is made.
  387. 2005-09-30 Larry Jones <lawrence.jones@ugs.com>
  388. * expand_path.c (expand_path): Fix memory leaks.
  389. 2005-09-29 Paul Eggert <eggert@CS.UCLA.EDU>
  390. Derek Price <derek@ximbiot.com>
  391. * client.c (handle_m, handle_e): Remove incomplete workaround for
  392. O_NONBLOCK problem; no longer needed because of the fix below.
  393. (start_rsh_server): We need the O_NONBLOCK fix, so pass 'true' to
  394. piped_child to enable the workaround.
  395. * cvs.h (piped_child): New bool argument saying whether O_NONBLOCK
  396. fix is needed. All uses changed.
  397. * run.c (work_around_openssh_glitch): New function.
  398. (piped_child): Use it if the fix is requested. Avoid call call to
  399. vfork with undefined behavior.
  400. 2005-09-26 Conrad T. Pino <Conrad@Pino.com>
  401. * rcs.c: Use "#ifdef HAVE_FSYNC" just like every where else.
  402. 2005-09-25 Derek Price <derek@ximbiot.com>
  403. * rcs.c (rcs_internal_unlockfile): Fsync files before renaming them.
  404. Patch from Rahul Bhargava <rahul@wandisco.com>.
  405. 2005-09-24 Derek Price <derek@ximbiot.com>
  406. * update.c (merge_file): Check for RCS_checkout errors.
  407. 2005-09-23 Larry Jones <lawrence.jones@ugs.com>
  408. * checkout.c (export_usage): Note that -r requires a tag.
  409. 2005-09-22 Larry Jones <lawrence.jones@ugs.com>
  410. * patch.c (patch_usage): Document -k option.
  411. 2005-09-22 Derek Price <derek@ximbiot.com>
  412. * classify.c (Classify_File): If a file had a conflict and the
  413. timestamp hasn't changed, it still has a conflict. Add comment about
  414. how T_MODIFIED could later turn out to have conflict markers and why
  415. it should not be checked in this function.
  416. * client.c (send_fileproc): Don't send contents for files known to have
  417. conflicts unless this is for `cvs diff'.
  418. * commit.c (check_fileproc): T_CONFLICT should be handled like
  419. T_MODIFIED, since force could be requested. Simplify logic since
  420. T_CONFLICT can now be trusted.
  421. * cvs.h (file_has_conflict): Remove proto.
  422. * rcs.c (RCS_Checkout): Comment noexec behavior in header block.
  423. * server.c (serve_unchanged, serve_is_modified): Handle conflicts.
  424. * status.c (status_fileproc): Trust T_CONFLICT to simplify.
  425. * subr.c (file_has_conflict): Removed.
  426. * update.c (update_fileproc): Trust T_CONFLICT.
  427. (RegisterMerge): New function factored from...
  428. (merge_file, join_file): ...these two functions.
  429. * vers_ts.c (time_stamp_server): Handle = conflict timestamps in server
  430. entdata.
  431. * sanity.sh (files-12): Account for slight behavior improvement.
  432. (status, conflicts, mwrap): Account for corrected behavior.
  433. (join-readonly-conflict-10): Correct comment.
  434. (binfiles-con1b): New test for correct behavior.
  435. 2005-09-19 Derek Price <derek@ximbiot.com>
  436. * sanity.sh (modules5-8): Rename...
  437. (modules5-8r): ...to this and comment Mac OS X failure.
  438. Comment Solaris 9 failure below with a `FIXME?' tag.
  439. * sanity.sh: Remove previous hack in favor of setting TESTDIR on
  440. Solaris (and Mac OS X) until problem is solved correctly.
  441. 2005-09-15 Derek Price <derek@ximbiot.com>
  442. * sanity.sh: Use /bin/pwd to verify current dir since Solaris 9 is
  443. sometimes resolving symlinked paths.
  444. 2005-09-14 Derek Price <derek@ximbiot.com>
  445. * edit.c (edit_usage, unedit_usage, editors_usage), watch.c
  446. (watch_usage, watchers_usage): Add quotes and reword for clarity and
  447. consistency.
  448. * edit.c (edit_usage): Add missing syntax. Reword description for
  449. clarity. Mention default behavior.
  450. 2005-09-13 Derek Price <derek@ximbiot.com>
  451. * sanity.sh: Split $username into $username & $username8. Rename
  452. $author as $anyusername.
  453. 2005-09-12 Derek Price <derek@ximbiot.com>
  454. * sanity.sh (binfiles-con1b): Back out accidental addition.
  455. * sanity.sh (username): Cut $username down to 8 characters when longer,
  456. since that is all that appears in output.
  457. 2005-09-07 Derek Price <derek@ximbiot.com>
  458. Close <http://savannah.nongnu.org/bugs/?func=detailitem&item_id=14462>.
  459. * rcs.c (RCS_parse): Free variable *after* using it for the last time.
  460. 2005-09-06 Derek Price <derek@ximbiot.com>
  461. * rcs.c (RCS_putdtree): Remove unused variable.
  462. 2005-09-06 Mark D. Baushke <mdb@gnu.org>
  463. Close <https://savannah.nongnu.org/bugs/?func=detailitem&item_id=14435>.
  464. * rcs.c (RCS_putdtree): Avoid stack overflow which may be
  465. possible with excessive recursive calls to RCS_putdtree().
  466. (Patch from Serg Masyutin.)
  467. 2005-09-03 Derek Price <derek@ximbiot.com>
  468. * add.c (add_usage): Standardize usage message somewhat.
  469. 2005-09-02 Larry Jones <lawrence.jones@ugs.com>
  470. * commit.c (checkaddfile): Improve error messages for lock_RCS failure.
  471. * release.c (release): Improve error message for pclose failure.
  472. * root.h (struct cvsroot_s): Always declare isremote to simplify
  473. other code. Simplify referencing code.
  474. * root.c (new_cvsroot_t): Always initialize isremote.
  475. * server.h: Always declare server_active to simplify other code.
  476. Simplify referencing code.
  477. * server.c: Always define server_active.
  478. 2005-09-01 Derek Price <derek@ximbiot.com>
  479. * main.c, wrapper.c: Update links.
  480. 2005-09-01 Derek Price <derek@ximbiot.com>
  481. * recurse.c: Update bug report email address.
  482. 2005-08-30 Larry Jones <lawrence.jones@ugs.com>
  483. * import.c (import_descend): Lock repository directory during import.
  484. 2005-07-12 Derek Price <derek@ximbiot.com>
  485. * buffer.c, buffer.h, client.h, expand_path.c, history.c, myndbm.h,
  486. release.c: Add copyright notices.
  487. 2005-07-11 Derek Price <derek@ximbiot.com>
  488. * buffer.c, buffer.h, client.h, expand_path.c, history.c, myndbm.h,
  489. release.c: Update license notices.
  490. 2005-06-22 Larry Jones <lawrence.jones@ugs.com>
  491. * vers_ts (Version_TS): Don't allow command line keyword expansion
  492. modes to override binary mode.
  493. * sanity.sh (): Tests for the above.
  494. (Merged from trunk.)
  495. 2005-06-06 Conrad T. Pino <Conrad@Pino.com>
  496. * cvs.h: Reverse patch committed 2005-05-27 by Conrad T. Pino.
  497. * run.c: Reverse patch committed 2005-05-27 by Conrad T. Pino.
  498. 2005-06-02 Derek Price <derek@ximbiot.com>
  499. * zlib.c (compress_buffer_shutdown_input): Don't attempt to read EOF
  500. from the client during shutdown. It might never be sent.
  501. * sanity.sh (abspath2): Test for this.
  502. 2005-05-31 Derek Price <derek@ximbiot.com>
  503. for Alexander Taler <alex@0--0.org>
  504. * rcscmds.c: Change type of call_diff_argc_allocated from int to
  505. size_t, to match the prototype of run_add_arg_p(). This fixes a
  506. bus error in OpenBSD 3.6 sparc64.
  507. 2005-05-27 Conrad T. Pino <Conrad@Pino.com>
  508. * cvs.h: Replace "run_arg" function with "#define run_arg run_add_arg",
  509. add "run_add_arg" prototype, change "piped_child" prototype to be same
  510. as feature branch to reflect "(os2,src,windows-NT)/run.c" changes.
  511. * run.c: Remove "run_arg" to synchronize with "../windows-NT/run.c".
  512. Function "run_add_arg" scope was "static" and is now "extern" scope.
  513. Synchronize "piped_child" function arguments with feature branch.
  514. 2005-05-27 Derek Price <derek@ximbiot.com>
  515. * client.c (send_arg): Make arg const.
  516. (send_option_string): Rename to...
  517. (send_options): ...this and accept argc/argv in place of string.
  518. * client.h: Update protos to match the changes to client.c.
  519. * cvs.h (RCS_exec_rcsdiff, diff_exec): Update protos.
  520. (run_add_arg_p, run_arg_free_p): New protos.
  521. * diff.c (opts, opts_allocated): Replace with...
  522. (diff_argv, diff_argc, diff_arg_allocated): ...these.
  523. (add_diff_args): New convenience function.
  524. (diff): Use new constructs and APIs.
  525. * patch.c (patch_fileproc, RCS_checkin, RCS_delete_revs), rcscmds.c
  526. (call_diff_add_arg, call_diff_setup, RCS_merge, RCS_exec_rcsdiff,
  527. diff_exec, RCS_output_diff_options), update.c (patch_file): Use new
  528. APIs.
  529. * run.c (run_add_arg_p, run_arg_free_p): New functions.
  530. (run_argc_allocated): Make size_t.
  531. (run_setup, run_add_arg): Use new functions.
  532. * sanity.sh: Accomodate above changes.
  533. (rcslib-diffrgx-3): Slip in test for space splitting.
  534. 2005-05-02 Derek Price <derek@ximbiot.com>
  535. Remove unnecessary level of indirection.
  536. * lock.c (L_HISTORY_LOCK, L_VAL_TAGS_LOCK): Remove macros.
  537. (internal_lock, internal_clear_lock): Accept lock as argument.
  538. (history_lock, clear_history_lock, val_tags_lock, clear_val_tags_lock):
  539. Replace old macro arg with an actual lock pointer.
  540. 2005-05-02 Derek Price <derek@ximbiot.com>
  541. * lock.c (internal_lock, internal_clear_lock): Add protos.
  542. (history_lock, val_tags_lock): Return the chartered true/false status.
  543. 2005-05-02 Derek Price <derek@ximbiot.com>
  544. * cvs.h (CVSHISTLCK): Rename macro to...
  545. (CVSHISTORYLCK): ...this.
  546. (CVSVALTAGSLCK): New macro.
  547. (val_tags_lock, clear_val_tags_lock): New functions.
  548. * lock.c (global_val_tags_lock): New global.
  549. (Lock_Cleanup): Clean up after val-tags lock if necessary.
  550. (L_HISTORY_LOCK, L_VAL_TAGS_LOCK): New local macros.
  551. (internal_lock, internal_clear_lock, val_tags_lock,
  552. clear_val_tags_lock): New functions.
  553. (history_lock, clear_history_lock): Use new internal functions.
  554. * tag.c (is_in_val_tags, add_to_val_tags): New functions using the
  555. write-lock for val-tags and factored from...
  556. (tag_check_valid): ...this function.
  557. * sanity.sh (lockfiles-22): Add val-tags lock test.
  558. 2005-04-28 Derek Price <derek@ximbiot.com>
  559. * cvs.h (history_lock, clear_history_lock): New protos.
  560. * lock.c (struct lock): Add lockdirname.
  561. (global_history_lock): New global.
  562. (global_read_lock): Initialize.
  563. (lock_name): Handle const args.
  564. (lock_simple_remove): Factor out code in favor of clear_lock call.
  565. (set_lock): Handle variable lockdirname.
  566. (lock_filesdoneproc): Set new lockdirname.
  567. (history_lock, clear_history_lock): New functions.
  568. (clear_lock): Avoid segfault on missing lock.
  569. (Lock_Cleanup): Clean up history locks when necessary.
  570. * history.c (history_write): Use new lock.
  571. * sanity.sh (lockfiles-20): Test new lock.
  572. 2005-04-28 Derek Price <derek@ximbiot.com>
  573. * sanity.sh (lockfiles): Port some locking tests over from 1.12.x.
  574. 2005-04-28 Derek Price <derek@ximbiot.com>
  575. * lock.c (clear_lock): Improve comment.
  576. 2005-04-28 Derek Price <derek@ximbiot.com>
  577. * lock.c (struct lock): Store lockdir name.
  578. (masterlock): Remove global.
  579. (remove_lock_files, clear_lock, set_lock): Update to compensate.
  580. 2005-04-20 Derek Price <derek@ximbiot.com>
  581. * sanity.sh (rcs5): Minor cosmetic change.
  582. 2005-04-20 Derek Price <derek@ximbiot.com>
  583. * sanity.sh (tests): Add rcs4.
  584. (rcs5): Add comments.
  585. 2005-04-20 Derek Price <derek@ximbiot.com>
  586. * rcs.c (expand_keywords): Avoid buffer overflow.
  587. (Original patch from Stewart Brodie <stewart@eh.org>.)
  588. * sanity.sh (rcs5): New tests for the above.
  589. 2005-03-17 Derek Price <derek@ximbiot.com>
  590. * login.c (password_entry_parseline): Avoid using uninitialized
  591. variable.
  592. * rcs.c (RCS_deltas): Avoid buffer overflow.
  593. (RCS_checkout): Avoid using uninitialized loglen.
  594. * patch.c (patch_fileproc): Free original pointer, not one that may
  595. have been incremented.
  596. (Thanks to report from Alen Zukich <alen.zukich@klocwork.com>.)
  597. 2005-03-17 Derek Price <derek@ximbiot.com>
  598. * commit.c (checkaddfile): Avoid dereferencing a NULL pointer in
  599. response to a rare error.
  600. * admin.c (admin_fileproc), log.c (log_expand_revlist), mkmodules.c
  601. (checkout_file), rcs.c (RCS_getdate, RCS_deltas, RCS_findlock_or_tip,
  602. RCS_tag2rev): Avoid dereferencing NULL pointer.
  603. (Thanks to report from Alen Zukich <alen.zukich@klocwork.com>.)
  604. 2005-03-17 Derek Price <derek@ximbiot.com>
  605. * rcs.c (RCS_reparsercsfile): Avoid memory leak.
  606. (Thanks to report from Alen Zukich <alen.zukich@klocwork.com>.)
  607. 2005-03-17 Derek Price <derek@ximbiot.com>
  608. * log.c (log_expand_revlist): Suppress message and not error handling
  609. when really_quiet.
  610. 2005-03-17 Derek Price <derek@ximbiot.com>
  611. * client.c (call_in_directory): Put function call after var decls.
  612. 2005-03-16 Derek Price <derek@ximbiot.com>
  613. * client.c (call_in_directory), commit.c (commit_filesdoneproc), log.c
  614. (log_expand_revlist, log_version), logmsg.c (logfile_write), modules
  615. (my_module), no_diff.c (No_Difference), parseinfo.c (Parse_Info), rcs.c
  616. (RCS_deltas, RCS_checkin, RCS_addbranch, do_locks, do_symbols),
  617. rcscmds.c (RCS_merge), root.c (parse_cvsroot, normalize_cvsroot),
  618. update.c (merge_file): Verify assumptions via assertions.
  619. (Thanks to (probably) incorrect reports from Alen Zukich
  620. <alen.zukich@klocwork.com>.)
  621. 2005-03-16 Derek Price <derek@ximbiot.com>
  622. * server.c (create_adm_p, serve_entry), tag.c (rtag_proc): Avoid memory
  623. leaks.
  624. (Thanks to report from Alen Zukich <alen.zukich@klocwork.com>.)
  625. 2005-03-15 Mark D. Baushke <mdb@cvshome.org>
  626. * history.c (select_hrec): Avoid possible memory leak.
  627. 2005-03-15 Derek Price <derek@ximbiot.com>
  628. * patch.c (patch_proc): Avoid memory leak.
  629. (Thanks to report from Alen Zukich <alen.zukich@klocwork.com>.)
  630. 2005-03-11 Mark D. Baushke <mdb@cvshome.org>
  631. * modules.c (my_module): Protect against free (NULL) code path.
  632. 2005-03-11 Derek Price <derek@ximbiot.com>
  633. * annotate.c (rannotate_proc), fileattr.c (fileattr_write), rcs.c
  634. (RCS_deltas), server.c (check_repository_password), update.c (update):
  635. Avoid memory leaks.
  636. (Thanks to report from Alen Zukich <alen.zukich@klocwork.com>.)
  637. 2005-03-09 Derek Price <derek@ximbiot.com>
  638. * add.c (add, add_directory), buffer.c (allocate_buffer_datas),
  639. client.c (update_entries), commit.c (checkaddfile), entries.c
  640. (Entries_Open), fileattr.c (fileattr_read), ignore.c (ign_add),
  641. import.c (import), main.c (main), parseinfo.c (parse_config), rcs.c
  642. (RCS_reparsercsfile, RCS_getbranchpoint, RCS_checkout,
  643. RCS_delete_revs, apply_rcs_changes): Avoid memory leaks.
  644. (Thanks to report from Alen Zukich <alen.zukich@klocwork.com>.)
  645. * hardlink.c, hardlink.h: Avoid compiling entire contents of these
  646. files w/o preserve permissions support.
  647. 2005-03-09 Mark D. Baushke <mdb@cvshome.org>
  648. * history.c (history, save_file): Cleanup the API to match the
  649. comments.
  650. 2005-02-27 Jim Meyering <jim@meyering.net>
  651. * login.c (password_entry_operation): Exit nonzero when
  652. failing to close a just-appended-to .cvspass file.
  653. 2005-02-26 Larry Jones <lawrence.jones@ugs.com>
  654. * release.c (release): Remove unneeded code.
  655. 2005-02-22 Derek Price <derek@ximbiot.com>
  656. * edit.c: Load watch settings before setting new ones with
  657. `cvs watch on/off'.
  658. (Original patch from Jim Hyslop <jhyslop@ieee.org>.)
  659. * sanity.sh (watch6): New tests for same.
  660. (Outline from Jim Hyslop <jhyslop@ieee.org>.)
  661. 2005-02-21 Mark D. Baushke <mdb@cvshome.org>
  662. * import.c (import): Avoid using assert with side effects it may
  663. be configured away using NDEBUG.
  664. (Patch from Frank Hemer <frank@hemer.org>.)
  665. 2005-02-08 Derek Price <derek@ximbiot.com>
  666. * build_src.com: Build stack.c on VMS.
  667. (Suggestion from Piet Schuermans <pschuermans@mac.com>.)
  668. 2005-02-01 Larry Jones <lawrence.jones@ugs.com>
  669. * log.c (log_fileproc, log_expand_revlist): Add support for BASE tag.
  670. * sanity.sh (log): New tests for above.
  671. 2005-01-31 Derek Price <derek@ximbiot.com>
  672. * main.c: Update year in copyright notice to match GNU standards.
  673. * sanity.sh (version-1): Update to match.
  674. 2005-01-31 Derek Price <derek@ximbiot.com>
  675. * main.c: Rephrase --version message.
  676. * sanity.sh (version-1): Update to match.
  677. 2005-01-31 Derek Price <derek@ximbiot.com>
  678. * Makefile.am, add.c, admin.c, annotate.c, checkin.c, checkout.c,
  679. classify.c, commit.c, create_adm.c, cvs.h, cvsrc.c, diff.c, entries.c,
  680. find_names.c, hash.c, hash.h, history.h, import.c, lock.c, log.c,
  681. login.c, logmsg.c, main.c, mkmodules.c, modules.c, myndbm.c, no_diff.c,
  682. parseinfo.c, patch.c, rcs.c, rcs.h, rcscmds.c, recurse.c, remove.c,
  683. repos.c, root.c, root.h, server.h, stack.c, stack.h, status.c, subr.c,
  684. tag.c, update.c, vers_ts.c, version.c: Update copyright notices.
  685. 2005-01-29 Derek Price <derek@ximbiot.com>
  686. * log.c (log_usage): Add note about using -S with revision info
  687. supression and selection.
  688. (Suggestion from Dan Peterson <dbpete@aol.com>.)
  689. 2004-12-19 Larry Jones <lawrence.jones@ugs.com>
  690. * expand_path.c (expand_path): Rewrite using offsets instead of
  691. pointers to simplify and avoid reallocation bugs.
  692. (Inspired by Jeremy Bopp <jeremy@motive.com>.)
  693. 2004-12-09 Derek Price <derek@ximbiot.com>
  694. * sanity.sh (tests): Add modules7.
  695. 2004-12-09 Derek Price <derek@ximbiot.com>
  696. * sanity.sh (modules7): New test group.
  697. (Based on a patch from Mark D. Baushke <mdb@cvshome.org>, based on a
  698. report from Richard Verhoeven <Richard_Verhoeven@WestLB.de>.)
  699. 2004-11-18 Mark D. Baushke <mdb@cvshome.org>
  700. * checkout.c (checkout_proc): Passing the repository to
  701. tag_check_valid seems to stop the assertion failure in recurse.c
  702. do_recursion.
  703. * sanity.sh (basic2-21a): Removed.
  704. (basic2-21b): Fixed.
  705. 2004-11-17 Mark D. Baushke <mdb@cvshome.org>
  706. * sanity.sh (basic2-21a): The val-tags file should have
  707. at least 'rtagged-by-head y' in it.
  708. (basic2-21b): New test showing a cvs bug when val-tags
  709. is not properly updated.
  710. (Report from "John Elgin" <John@JCElgin.com>.)
  711. 2004-11-17 Mark D. Baushke <mdb@cvshome.org>
  712. * client.c (handle_m, handle_e): Winsock is returning
  713. SOCK_ERRNO == WSAENOTSOCK for select() problems and not
  714. setting errno. Do not bother with printing an error from a
  715. select() that is not returning an non-zero errno.
  716. (Report from Conrad T. Pino <Conrad@Pino.com>.)
  717. 2004-11-10 Derek Price <derek@ximbiot.com>
  718. * sanity.sh: Maintain pass/skip/warn status and output at end.
  719. (usage): Note new functionality of -e.
  720. (warn): New function.
  721. (verify_tmp_empty): Warn instead of failing. Delete turds if warn()
  722. doesn't exit.
  723. 2004-11-10 Derek Price <derek@ximbiot.com>
  724. * sanity.sh (verify_tmp_empty): New function.
  725. (dotest_internal_*): Call verify_tmp_empty as needed.
  726. 2004-11-09 Mark D. Baushke <mdb@cvshome.org>
  727. * sanity.sh: Backport find_tool changes from 1.12.9.1.
  728. (SEARCHPATH): New list of PATH directories to search.
  729. (Which): Use $SEARCHPATH. Support -a switch.
  730. (badtools,set_bad_tool,is_bad_tool): Keep track of tools that do
  731. not work for us.
  732. (version_test): Obtain the version of tools under test if
  733. possible.
  734. (tool_find): Rewrite. API changed to allow a list of
  735. tests to be used against a list of possible command names found on
  736. the SEARCHPATH.
  737. (id_tool_test): Check that 'id -u' and 'id -un' work.
  738. (expr_tooltest1): Check for NextStep 3.3 expr bug.
  739. (expr_tooltest2): Check for SunOS expr multi-line pattern bug.
  740. (expr_create_bar): Create a test file for expr testing.
  741. (expr_tooltest3): Use it and test for big multi-line identity
  742. matches.
  743. (expr_set_ENDANCHOR): Find and set the right value for ENDANCHOR.
  744. (expr_set_DOTSTAR): Find and set the right value for DOTSTAR.
  745. (expr_tooltest_DOTSTAR): Ensure that DOTSTAR works with big
  746. matches.
  747. (tr_tooltest1): Verify that tr handles NUL bytes.
  748. (awk_tooltest1): Verify that awk the BEGIN clause works properly.
  749. (awk_tooltest2): Verify that print %c format item works properly.
  750. 2004-11-02 Mark D. Baushke <mdb@cvshome.org>
  751. * filesubr.c (MAXSIZE): New macro.
  752. (xreadlink): Ensure initial buffer size does not exceed MAXSIZE.
  753. Avoid cast. If readlink fails with buffer size just under MAXSIZE,
  754. try again with MAXSIZE.
  755. 2004-11-02 Mark D. Baushke <mdb@cvshome.org>
  756. * filesubr.c (xreadlink): AIX and HP-UX readlink() returns ERANGE
  757. when there is not enough room in the buffer.
  758. 2004-11-01 Derek Price <derek@ximbiot.com>
  759. * sanity.sh (rcslib): Fix typo in path.
  760. 2004-11-01 Derek Price <derek@ximbiot.com>
  761. * sanity.sh (rcslib): Test a link to a path longer than 128
  762. characters.
  763. 2004-10-29 Derek Price <derek@ximbiot.com>
  764. * filesubr.c (xreadlink): Make sure allocation is tried once at the
  765. maximum buffer size. Protect against overflow.
  766. 2004-10-29 Mark D. Baushke <mdb@cvshome.org>
  767. * filesubr.c (SIZE_MAX, SSIZE_MAX): Use #include "xsize.h" instead.
  768. (xreadlink): Use xrealloc instead of xmalloc/free.
  769. 2004-10-29 Mark D. Baushke <mdb@cvshome.org>
  770. * filesubr.c (SIZE_MAX, SSIZE_MAX): New constants.
  771. (xreadlink): Deal with symlinks longer than 127 bytes.
  772. (Problem reported as issue 190 by Gottfried Ganssauge
  773. <gotti@cvshome.org>.)
  774. 2004-10-28 Mark D. Baushke <mdb@cvshome.org>
  775. * release.c (release): Allow builds of cvs with --disable-server
  776. --disable-client both used for local installation configuration.
  777. * root.c (Name_Root): Ditto.
  778. * update.c (checkout_file): Ditto.
  779. (Problem reported by Jean Olivier Caron <jecar@mlab.t.u-tokyo.ac.jp>.)
  780. 2004-10-27 Mark D. Baushke <mdb@cvshome.org>
  781. * cvs.h (RCS_FLAGS_USETIME): New flag.
  782. * rcs.c (RCS_checkin): Add citime argument.
  783. * rcs.h (RCS_checkin): Ditto.
  784. * checkin.c (Checkin): Pass new RCS_checkin argument.
  785. * commit.c (remove_file, checkaddfile): Ditto.
  786. * import.c (add_rev): Ditto.
  787. * sanity.sh (tagdate): Delete tagdate-19b as an incorrect test.
  788. 2004-10-27 Mark D. Baushke <mdb@cvshome.org>
  789. * sanity.sh (tagdate): Provide more output.
  790. 2004-10-26 Mark D. Baushke <mdb@cvshome.org>
  791. * commit.c (checkaddfile): Create a dead version for a new file
  792. added to a branch. Fixes FIXCVS for tagdate tests.
  793. * sanity.sh (tagdate): Update to expect correct results.
  794. (death2, branch-after-import, join, ignore-on-branch): Ditto.
  795. 2004-10-26 Derek Price <derek@ximbiot.com>
  796. * client.c (connect_to_gserver): Avoid truncating error messages from
  797. the GSSAPI server.
  798. (Report from Dan Peterson <dbpete@aol.com>.)
  799. 2004-10-26 Derek Price <derek@ximbiot.com>
  800. * sanity.sh (import-quirks): Test an even branch number.
  801. 2004-10-25 Derek Price <derek@ximbiot.com>
  802. * import.c (import): Repair regex for regressions introduced in last
  803. commit.
  804. * sanity.sh (import-quirks): Test a few branch numbers import shouldn't
  805. have a problem with.
  806. 2004-10-25 Derek Price <derek@ximbiot.com>
  807. * import.c (import): Anchor and simplify branch verification regex.
  808. * sanity.sh (import-quirks): Test another pattern that should fail.
  809. 2004-10-25 Mark D. Baushke <mdb@cvshome.org>
  810. * sanity.sh (tagdate): Added some additional tests and FIXCVS
  811. comments for dealing properly with a 'cvs add' of a file to
  812. a branch that already exists on the mainline.
  813. (Problem reported by Renny Barrett <rbarrett@curamsoftware.com>.)
  814. * sanity.sh (getrlogdate): New shell function.
  815. (tagdate-{13,14,16}): Use it to avoid 'sleep 60' by using
  816. the exact 1.1.4.1 timestamp for tagdate-14 and tagdate-16.
  817. 2004-10-22 Mark D. Baushke <mdb@cvshome.org>
  818. * sanity.sh (tagdate): Fix typo.
  819. 2004-10-19 Derek Price <derek@ximbiot.com>
  820. * add.c (add): Avoid attempting to resurrect a dead rev 1.1.
  821. * sanity.sh (resurrection): Add test for the above.
  822. (Report from Dan Peterson <dbpete@aol.com>.)
  823. 2004-10-14 Derek Price <derek@ximbiot.com>
  824. * import.c (import): Verify branch specifications more thoroughly.
  825. * sanity.sh (importb): Adapt to new error message.
  826. (import-quirks): New test.
  827. 2004-10-04 Derek Price <derek@ximbiot.com>
  828. * cvs.h (CVSROOT_DFLT): Undef rather than defining to NULL.
  829. * main.c (main): Untangle parsing of CVSROOT, eliminating several
  830. variables in the process. Simplify xmalloc/sprintf with asnprintf.
  831. 2004-10-01 Mark D. Baushke <mdb@cvshome.org>
  832. * main.c (main): Initialize CVSroot before it is used.
  833. (Report and patch by Martin Neitzel <neitzel@sco.gaertner.de>.)
  834. * sanity.sh (status): Test it.
  835. 2004-09-25 Mark D. Baushke <mdb@cvshome.org>
  836. * sanity.sh (parseroot2): Correct two test names. Restore CVSROOT.
  837. * sanity.sh (parseroot2): Expand dokeep inline.
  838. 2004-09-24 Derek Price <derek@ximbiot.com>
  839. * sanity.sh (tests): Add parseroot2.
  840. 2004-09-24 Derek Price <derek@ximbiot.com>
  841. * sanity.sh (parseroot2): New test for root parsing consistency.
  842. (Original patch from Alexander Taler <dissent@cvshome.org>.)
  843. * cvs.h (Name_Root, free_cvsroot_t, parse_cvsroot, local_cvsroot,
  844. Create_Root, root_allow_add, root_allow_free, root_allow_ok): Move
  845. these protos to...
  846. * root.h: ...here.
  847. * client.c (arg_should_not_be_sent_to_server), recurse.c
  848. (start_recusrion, do_recursion): Use new Name_Root API.
  849. * main.c (current_root): Remove global.
  850. (set_root_directory): Set current_parsed_root directly.
  851. (main): Use new Name_Root API. Restore deletion of root directories
  852. list.
  853. * root.c (Name_Root): Return a parsed cvsroot_t rather than a string.
  854. 2004-09-23 Derek Price <derek@ximbiot.com>
  855. * sanity.sh (depends_on_ssh, sshstdio): Don't use skip() to skip
  856. remote-only tests.
  857. 2004-09-23 Mark D. Baushke <mdb@cvshome.org>
  858. * server.c (cvs_output, cvs_output_binary): fflush (stderr)
  859. here to avoid problems with 'cvs status 2>&1'.
  860. (Report by Frank Hemer <frank@hemer.org>.)
  861. 2004-09-23 Derek Price <derek@ximbiot.com>
  862. * sanity.sh (crerepos, sshstdio): Minor modifications to make use of
  863. the new depends_on_?sh API.
  864. 2004-09-23 Derek Price <derek@ximbiot.com>
  865. * sanity.sh: Accept new -e option to interpret non-fatal calls to skip
  866. as errors.
  867. (skip, depends_on_rsh, depends_on_ssh): New functions.
  868. 2004-09-12 Mark D. Baushke <mdb@cvshome.org>
  869. * rcs.c (RCS_checkout): Allow noexec to do checkouts when
  870. server_active is true.
  871. * sanity.sh (join7): Test above change (fixes a FIXCVS).
  872. 2004-09-08 Mark D. Baushke <mdb@cvshome.org>
  873. * sanity.sh (join7): Fix if-then-else conditional.
  874. * server.c (server_updated): Deal with cvs -n update -jt1 -jt2
  875. "protocol error: uncounted data discarded" problem.
  876. * sanity.sh (join7): New test for this case.
  877. 2004-08-24 Derek Price <derek@ximbiot.com>
  878. * recurse.c (start_recursion): Don't shorten //. to / (use //).
  879. 2004-08-24 Derek Price <derek@ximbiot.com>
  880. * recurse.c (start_recursion): Strip trailing CWD indirections on
  881. repository.
  882. * sanity.sh (rstar-toplevel): Update to account for new behavior.
  883. (Report from Dan Peterson <dbpete@aol.com>.)
  884. 2004-08-24 Mark D. Baushke <mdb@cvshome.org>
  885. * recurse.c (do_recursion): Correct test for calling
  886. server_pause_check to occur when locktype != CVS_LOCK_WRITE.
  887. (Patch suggested by Ian Lance Taylor <ian@wasabisystems.com>
  888. in bug#198).
  889. 2004-08-24 Derek Price <derek@ximbiot.com>
  890. * rcs.c (translate_symtag): Prevent infinite loop.
  891. * tag.c (tag_check_valid): Check tag syntax before searching for tags.
  892. * sanity.sh (tag-space): Some tests for the above.
  893. (Report from Dan Peterson <dbpete@aol.com>.)
  894. 2004-08-24 Mark D. Baushke <mdb@cvshome.org>
  895. * ignore.c (ignore_directory): Include the terminating NUL
  896. character in the directory name comparison to avoid matching
  897. substrings of directories by accident.
  898. (Report and suggested fix from James E Wilson
  899. <wilson@specifixinc.com>.)
  900. * sanity.sh (modules4): Add some more tests testing the above
  901. change.
  902. 2004-08-17 Mark D. Baushke <mdb@cvshome.org>
  903. * sanity.sh (sshstdio): Fix comment typo plus gratuitous
  904. reformatting.
  905. * client.c (handle_m): Workaround to deal with stdio getting put
  906. into non-blocking via redirection of stderr and interaction with
  907. ssh on some platforms. On those boxes, stdio can put stdout
  908. unexpectedly into non-blocking mode which may lead to fwrite() or
  909. fflush() failing with EAGAIN, but cvs not checking for the error.
  910. (Patch suggested by Frank Hemer <frank@hemer.org>.)
  911. * client.c (handle_e): Similar fix for stderr.
  912. * sanity.sh (sshstdio): New test for non-blocking stdio via ssh.
  913. 2004-08-11 Derek Price <derek@ximbiot.com>
  914. * sanity.sh (basicc): Work around a problem in Linux 2.2 & Bash 2.05b
  915. which prevents a `cd ..' from a deleted directory from working.
  916. (Original patch from Matthew Ogilvie <mmo9317bd@mailcan.com>.)
  917. 2004-06-22 Derek Price <derek@ximbiot.com>
  918. * wrapper.c: Add explicit "void" return type to "wrap_clean_fmt_str"
  919. definition.
  920. (Patch from Conrad T. Pino <Conrad@Pino.com>.)
  921. 2004-06-09 Derek Price <derek@ximbiot.com>
  922. * commit.c, filesubr.c, history.c, server.c, wrapper.c: Various
  923. security fixes.
  924. (Original patch from Stefan Essler <s.esser@e-matters.de> & Sebastian
  925. Krahmer <krahmer@suse.de>.)
  926. * cvs.h: Include xsize.h.
  927. 2004-06-09 Derek Price <derek@ximbiot.com>
  928. * server.c (serve_entry, serve_is_modified, serve_unchanged): Protect
  929. against malformed entries.
  930. * sanity.sh (server): Tests for same.
  931. 2004-06-07 Larry Jones <lawrence.jones@ugsplm.com>
  932. * sanity.sh (basica): More tests for string-based revision inc.
  933. 2004-06-04 Larry Jones <lawrence.jones@ugsplm.com>
  934. * subr.c (increment_revnum): Rewrite ala RCS to work directly on
  935. the string rather than converting to int to avoid overflow.
  936. * sanity.sh (basica): New tests for above, update others to match.
  937. 2004-05-19 Derek Price <derek@ximbiot.com>
  938. * server.c (serve_unchanged, serve_is_modified): Overwrite existing
  939. data in timefields. Fixes CAN-2004-0396.
  940. 2004-05-14 Derek Price <derek@ximbiot.com>
  941. * subr.c (file_has_conflict), vers_ts.c (time_stamp_server): Don't
  942. require '=' to be the only character here, as this is potentially
  943. destabilizing.
  944. 2004-05-14 Mark D. Baushke <mdb@cvshome.org>
  945. * sanity.sh (trailingslashes): During cleanup remove topfile,v to
  946. avoid problems in later tests (editor-1).
  947. 2004-05-13 Derek Price <derek@ximbiot.com>
  948. * sanity.sh (trailingslashes): Note TODO item #205 in the comment.
  949. 2004-05-13 Derek Price <derek@ximbiot.com>
  950. * sanity.sh (trailingslashes): New tests to expose a bug in CVS when
  951. paths are specified with trailing slashes. This relates to TODO #205.
  952. 2004-05-12 Derek Price <derek@ximbiot.com>
  953. * subr.c (file_has_conflict), vers_ts.c (time_stamp_server): Only
  954. special case "=" when it is the only character in a timestamp field.
  955. Gratuitous reformatting.
  956. * vers_ts.c (time_stamp_server): Check for NULL in a consistent manner.
  957. Gratuitous reformatting.
  958. 2004-05-10 Derek Price <derek@ximbiot.com>
  959. * sanity.sh (top-level): Rename to...
  960. (rstar-toplevel): ...this for clarity.
  961. 2004-05-10 Derek Price <derek@ximbiot.com>
  962. * sanity.sh (dirs2-10ar): Remove unnecessary empty argument.
  963. 2004-05-02 Larry Jones <lawrence.jones@ugsplm.com>
  964. * log.c (log_expand_revlist): Suppress warnings if really_quiet.
  965. 2004-05-07 Derek Price <derek@ximbiot.com>
  966. * sanity.sh (basica): Remove unnecessary empty arguments.
  967. 2004-05-07 Derek Price <derek@ximbiot.com>
  968. * cvs.h (fopen_case): Remove obsolescent prototype.
  969. 2004-05-05 Derek Price <derek@ximbiot.com>
  970. * sanity.sh: Wait a second and retry if cvs-serv* directories are
  971. discovered to avoid race conditions on some systems.
  972. (Patch from Pavel Roskin <proski@gnu.org>.)
  973. 2004-05-05 Derek Price <derek@ximbiot.com>
  974. * commit.c: Some gratuitous reformatting.
  975. 2004-05-04 Derek Price <derek@ximbiot.com>
  976. * update.c: Some gratuitous reformatting.
  977. 2004-05-04 Derek Price <derek@ximbiot.com>
  978. * add.c (add): Remove obsolete FIXME comment.
  979. (*): Some gratuitous reformatting.
  980. 2004-04-26 Derek Price <derek@ximbiot.com>
  981. * client.c (start_rsh_server): Don't rely on GNU argument processing
  982. capabilities in the RSH command.
  983. (Report from Mark Andrews <Mark_Andrews@isc.org>.)
  984. 2004-04-19 Derek Price <derek@ximbiot.com>
  985. * ignore.c: Gratuitous reformatting.
  986. 2004-04-11 Derek Price <derek@ximbiot.com>
  987. * client.c (call_in_directory): Check paths the server sends us to make
  988. sure they are within a sandbox the user requested be updated.
  989. (is_valid_client_path, path_list_prefixed): New functions.
  990. 2004-04-11 Derek Price <derek@ximbiot.com>
  991. * modules.c (do_module): Don't allow up-level references in paths to
  992. step out of the repository.
  993. * sanity.sh (multiroot3): Update tests and add a few more.
  994. 2004-04-07 Derek Price <derek@ximbiot.com>
  995. * sanity.sh (parseroot): Replace hard path with $HOME.
  996. 2004-04-07 Derek Price <derek@ximbiot.com>
  997. * sanity.sh (parseroot): s/oberon/$username/.
  998. 2004-04-07 Derek Price <derek@ximbiot.com>
  999. * client.c (start_tcp_server): Use xstrdup rather than
  1000. xmalloc(strlen)/strcpy.
  1001. 2004-04-07 Derek Price <derek@ximbiot.com>
  1002. * root.c (parse_cvsroot): Ignore method options.
  1003. * sanity.sh (parseroot): Verify that method options are ignored.
  1004. 2004-04-06 Derek Price <derek@ximbiot.com>
  1005. * root.h (cvsroot_t): Move username, password, hostname, port inside
  1006. CLIENT_SUPPORT ifdefs.
  1007. * buffer.c, root.c, server.c: Add #ifdefs as necessary so that this
  1008. will compile without client support and the root.h change. Some
  1009. gratuitous restyling.
  1010. 2004-04-06 Derek Price <derek@ximbiot.com>
  1011. * log.c, tag.c: Gratuitous restyling.
  1012. 2004-04-04 Derek Price <derek@ximbiot.com>
  1013. * filesubr.c (isabsolute): Move...
  1014. * subr.c: ...here and use new ISABSOLUTE macro.
  1015. 2004-04-04 Derek Price <derek@ximbiot.com>
  1016. * client.c (send_file_names): Cast out an unneeded const to avoid a
  1017. warning.
  1018. 2004-04-03 Larry Jones <lawrence.jones@ugsplm.com>
  1019. * client.c (send_file_names): Remove unused variables.
  1020. 2004-04-02 Derek Price <derek@ximbiot.com>
  1021. * sanity.sh (client): Honor $keep.
  1022. 2004-04-02 Derek Price <derek@ximbiot.com>
  1023. * log.c, patch.c, rcs.c: Gratuitous restyling.
  1024. 2004-04-02 Derek Price <derek@ximbiot.com>
  1025. * import.c (import): Use ISDIRSEP rather than testing paths against `/'
  1026. directly. Some gratuitos reformatting.
  1027. 2004-04-02 Derek Price <derek@ximbiot.com>
  1028. * sanity.sh: Note the effectiveness of `tail -f check.log' in providing
  1029. running status.
  1030. 2004-04-02 Derek Price <derek@ximbiot.com>
  1031. * client.c (send_file_names): Move code which calculates and sends
  1032. Max-dotdot...
  1033. (send_max_dotdot): ...to this new function.
  1034. (send_files): Call send_max_dotdot.
  1035. * sanity.sh (files-14): Expect .. in paths to work now.
  1036. (status): Add a few new tests using `..'.
  1037. 2004-04-01 Derek Price <derek@ximbiot.com>
  1038. * lock.c: Gratuitous restyling.
  1039. 2004-04-01 Derek Price <derek@ximbiot.com>
  1040. * cvs.h, server.c: Gratuitous restyling.
  1041. * run.c (run_exec): Ditto, plus call cvs_flush{out,err}() instead of
  1042. flushing stderr & stdout directly.
  1043. 2004-03-29 Derek Price <derek@ximbiot.com>
  1044. * server.c: Gratuitous restyling.
  1045. 2004-03-29 Derek Price <derek@ximbiot.com>
  1046. * login.c: Gratuitous restyling.
  1047. 2004-03-22 Derek Price <derek@ximbiot.com>
  1048. * sanity.sh (toplevel): Remove FIXME type comment and unneeded
  1049. Emtptydir removal.
  1050. 2004-03-22 Derek Price <derek@ximbiot.com>
  1051. * update.c: Some minor style cleanup.
  1052. 2004-03-22 Derek Price <derek@ximbiot.com>
  1053. * sanity.sh (top-level): Don't match most of the assertion since this
  1054. string is often system dependent.
  1055. (Thanks to Larry Jones <lawrence.jones@ugsplm.com>.)
  1056. 2004-03-22 Derek Price <derek@ximbiot.com>
  1057. * sanity.sh (top-level): Don't match the assertion's line number.
  1058. 2004-03-22 Derek Price <derek@ximbiot.com>
  1059. * sanity.sh (top-level): New test to confirm assertion failure.
  1060. 2004-03-22 Derek Price <derek@ximbiot.com>
  1061. * sanity.sh: Only verify argument to -f when -f was passed. Check for
  1062. $TMPDIR/cvsXXXXXX temp files after each test.
  1063. 2004-03-22 Derek Price <derek@ximbiot.com>
  1064. * sanity.sh: Verify that the argument to -f is really a test.
  1065. 2004-03-20 Larry Jones <lawrence.jones@ugsplm.com>
  1066. * cvs.h: Change command_name to cvs_command_name to avoid conflict
  1067. on HP-UX (incredibly, it declares a global command_name in prot.h,
  1068. which is included from shadow.h, which we include in server.c).
  1069. Change all references.
  1070. * subr.c (previous_rev): Fix == vs = typo.
  1071. * buffer.h: Add prototype for buf_empty.
  1072. * add.c (add): Remove unused variable.
  1073. 2004-03-20 Derek Price <derek@ximbiot.com>
  1074. * add.c (add, add_directory, build_entry), admin.c (admin_dirproc),
  1075. checkin.c (Checkin), checkout.c (safe_location, build_dirs_and_chdir),
  1076. client.c (add_prune_candidate, send_repository, send_a_repository,
  1077. send_to_server, start_rsh_server, send_arg, send_modified,
  1078. send_ignproc, send_filesdone_proc, send_dirent_proc,
  1079. send_dirleave_proc, client_notify), commit.c (check_direntproc,
  1080. check_filesdoneproc, checkaddfile, commit_direntproc,
  1081. commit_dirleaveproc, lock_RCS, precommit_proc, find_data,
  1082. find_dirent_proc, find_ignproc, find_filesdoneproc), create_adm.c
  1083. (Create_Admin), cvsrc.c (read_cvsrc), diff.c (diff_dirproc,
  1084. diff_filesdoneproc, diff_dirleaveproc), edit.c (onoff_filesdoneproc,
  1085. mark_up_to_date, editor_set, notify_proc_args, notify_proc, notify_do,
  1086. notify_check), entries.c (Scratch_Entry, Register, WriteTag),
  1087. expand_path.c (expand_variable, expand_path), fileattr.c
  1088. (fileattr_startdir), filesubr.c (mkdir_if_needed, xchmod,
  1089. last_component), history.c (history_write), ignore.c (ignore_directory,
  1090. ignore_files), import.c (get_comment, add_rcs_file, expand_at_signs),xi
  1091. lock.c (lock_filesdoneproc), log.c (log_dirproc), logmsg.c
  1092. (logfile_write, rcsinfo_proc, update_logfile_proc, editinfo_proc,
  1093. verifymsg_proc, do_editor, do_verify, Update_Logfile), main.c (main
  1094. program_name, program_path, command_name), parseinfo.c (Parse_Info),
  1095. patch.c (patch_dirproc), rcs.c (RCS_getdatebranch, rcs_lockfilename,
  1096. RCS_parse, RCS_setattic, RCS_getversion, RCS_gettag, RCS_getbranch,
  1097. RCS_getdate, RCS_datecmp, RCS_getrevtime, RCS_setexpand,
  1098. expand_keywords, RCS_checkout, RCS_addbranch, RCS_checkin, RCS_lock,
  1099. RCS_cmp_file, RCS_deltas, rcs_lockfilename, make_file_label),
  1100. rcscmds.c (RCS_output_diff_options, call_diff, RCS_merge,
  1101. RCS_exec_rcsdiff, diff_exec), recurse.c (start_recursion, do_recursion,
  1102. do_file_proc), remove.c (remove_dirproc), repos.c (Name_Repository,
  1103. Short_Repository), root.c (Name_Root, Create_Root), run.c
  1104. (piped_child), server.c (output_dir, server_register,
  1105. server_checked_in, server_update_entries, server_copy_file,
  1106. server_set_entstat, server_clear_entstat, server_set_sticky,
  1107. server_template, cvs_output_tagged), status.c (status_dirproc), subr.c
  1108. (make_message_rcslegal), tag.c (pretag_proc, tag_dirproc,
  1109. check_fileproc, check_filesdoneproc, tag_fileproc, val_direntproc),
  1110. update.c (update_dirent_proc, update_dirleave_proc, update_ignproc,
  1111. update_filesdone_proc, isemptydir), vers_ts.c (time_stamp_server,
  1112. time_stamp), watch.c (watch_modify_watchers, addremove_filesdoneproc),
  1113. zlib.c (read_and_gzip): Make most string args const, mainly in the
  1114. interest of preserving repository & updatedir but including some
  1115. collateral damage. Update a few functions to comply with new
  1116. requirement. Some style fixes.
  1117. * client.h, cvs.h, edit.h, fileattr.h, rcs.h, server.h, update.h,
  1118. watch.h: Update prototypes to match.
  1119. 2004-03-20 Derek Price <derek@ximbiot.com>
  1120. * sanity.sh (conflicts2): s/cvs/$testcvs/.
  1121. 2004-03-20 Derek Price <derek@ximbiot.com>
  1122. * add.c (add): Correct longstanding resurrection bugs. Remove FIXME
  1123. comment to this effect. Set mode and Entries timestamps of resurrected
  1124. files correctly.
  1125. * sanity.sh (basica, binfiles, conflicts2, recase, resurrection,
  1126. update-p): Update tests to compensate. Remove FIXCVS comments.
  1127. 2004-03-19 Mark D. Baushke <mdb@cvshome.org>
  1128. * server.c (gserver_authenticate_connection): Handle large
  1129. GSSAPI packets dynamically.
  1130. (Bug report from Douglas Engert <DEEngert@anl.gov>)
  1131. 2004-03-19 Derek Price <derek@ximbiot.com>
  1132. * cvs.h (pathname_levels, previous_rev): Remove leading underscore from
  1133. prototype arguments to avoid potential conflicts with implementations.
  1134. 2004-03-18 Derek Price <derek@ximbiot.com>
  1135. * cvs.h (pathname_levels): Make string argument const.
  1136. * subr.c (pathname_levels): Simplify function.
  1137. 2004-03-17 Derek Price <derek@ximbiot.com>
  1138. * subr.c (pathname_levels): Get it right this time.
  1139. 2004-03-17 Derek Price <derek@ximbiot.com>
  1140. * subr.c (pathname_levels): Remove incorrect assertion and just
  1141. return 0 when pathname is NULL.
  1142. 2004-03-17 Derek Price <derek@ximbiot.com>
  1143. * subr.c (pathname_levels): Use ISDIRSEP() instead of strchr('/')
  1144. and remove FIXME comment to that effect.
  1145. 2004-03-16 Derek Price <derek@ximbiot.com>
  1146. * main.c (main): Update the --version Copyright (c) string to
  1147. include 2004.
  1148. 2004-03-15 Mark D. Baushke <mdb@cvshome.org>
  1149. * release.c (release): Add missing xmalloc of update_cmd.
  1150. 2004-03-15 Derek Price <derek@ximbiot.com>
  1151. * release.c (release): Enable authentication and encryption for a child
  1152. update process when necessary.
  1153. (Original patch from Dan Russell <russelld@aol.net> via Hal Mahaffey
  1154. <HMahaffey@aol.com>.)
  1155. 2004-03-14 Derek Price <derek@ximbiot.com>
  1156. * add.c (add): Only call server_updated() when we actual have a new
  1157. resurrected file for the client.
  1158. 2004-03-14 Derek Price <derek@ximbiot.com>
  1159. * cvs.h (previous_rev, write_letter): New prototypes.
  1160. (struct file_info): Move to before the write_letter prototype.
  1161. * add.c (add): Allow resurrection of files which used to exist on a
  1162. branch.
  1163. * subr.c (previous_rev): New function.
  1164. * update.c: Consolidate like pragmas.
  1165. (write_letter): Remove prototype. Remove static declaration.
  1166. * sanity.sh (resurrection): New tests.
  1167. 2004-03-14 Derek Price <derek@ximbiot.com>
  1168. * commit.c (remove_file): Print the actual previous revision instead of
  1169. a branch number.
  1170. * sanity.sh: Update to match.
  1171. 2004-03-14 Derek Price <derek@ximbiot.com>
  1172. * rcs.c (RCS_cmp_file): Print the actual name of the file we failed to
  1173. open in the error message.
  1174. 2004-03-14 Derek Price <derek@ximbiot.com>
  1175. * diff.c (diff_fileproc): Allow diffing of new files against arbitrary
  1176. revisions instead of assuming that there is no RCS archive file.
  1177. 2004-03-03 Derek Price <derek@ximbiot.com>
  1178. * import.c (import): Check that the module name specified by the user
  1179. does not contain `CVS' as a directory name.
  1180. * ignore.c (ign_add): Never cease ignoring "CVS" - it is a reserved
  1181. name.
  1182. (Original patch from Dan Peterson <dbpete@aol.com>.)
  1183. * sanity.sh (import-CVS): New tests for the above.
  1184. 2004-02-29 Larry Jones <lawrence.jones@ugsplm.com>
  1185. * import.c (expand_at_signs): Change type of len to size_t.
  1186. * subr.c (resolve_symlink): Move declaration of newname inside
  1187. #ifdef, clean up coding style.
  1188. * zlib.c (gunzip_and_write): Fix up potential overlow problems.
  1189. (read_and_gzip): Add explicit casts to placate paranoid compilers.
  1190. 2004-02-28 Larry Jones <lawrence.jones@ugsplm.com>
  1191. * sanity.sh (join6): New tests for previous fix.
  1192. * update.c (join_file): One more fix to avoid dereferencing NULL.
  1193. (Reported by Steve McIntyre <steve@einval.com>.)
  1194. * sanity.sh (join6): New tests for above.
  1195. 2004-02-25 Larry Jones <lawrence.jones@ugsplm.com>
  1196. * update.c (join_file): Fix optimization to avoid dereferencing NULL.
  1197. (Reported by Steve McIntyre <steve@einval.com>.)
  1198. 2004-02-25 Derek Price <derek@ximbiot.com>
  1199. * buffer.c (buf_empty): New function.
  1200. * server.c (server): Check for unread data in buffer before closing.
  1201. 2004-02-25 Derek Price <derek@ximbiot.com>
  1202. * release.c (release): Restore the initial directory before and after
  1203. calling various sections of code that expect it to prevent corruption
  1204. of CVS/Entries files on release of a subdir and tell unedit() what to
  1205. release.
  1206. * sanity.sh: Add test case for release.c fix.
  1207. (Original patch from Matthew Ogilvie <mmo9317bd@mailcan.com>.)
  1208. * client.c (last_entries): Move global variable...
  1209. (call_in_directory): ...here (now a local variable). Remove test that
  1210. always evaluates to true.
  1211. (last_dir_name): Remove unused global variable.
  1212. 2004-02-24 Larry Jones <lawrence.jones@ugsplm.com>
  1213. * filesubr.c (xresolvepath): Fix crash in error case.
  1214. (Reported by Reinhard Zierke <zierke@informatik.uni-hamburg.de>.)
  1215. 2004-02-24 Derek Price <derek@ximbiot.com>
  1216. * sanity.sh (crerepos): Minor stylistic changes to previous change.
  1217. 2004-02-24 Derek Price <derek@ximbiot.com>
  1218. * sanity.sh (crerepos): Fix it so that it ignores the user's
  1219. .cvsrc file (.cvsrc "checkout -r" used to cause the "rm -r 1"
  1220. command to print warnings and wait for input).
  1221. (Original patch from Matthew Ogilvie <mmo9317bd@mailcan.com>.)
  1222. * sanity.sh (reposmv, parseroot, devcom3, binwrap3):
  1223. s/_SAVED\>/_save/ for consistency.
  1224. 2004-02-20 Derek Price <derek@ximbiot.com>
  1225. * subr.c (set_nonblock_fd): Move back to...
  1226. * server.c: ...here.
  1227. * cvs.h: Remove protos for the above two functions.
  1228. * buffer.c (stdio_buffer_shutdown): Remove unexessary and possibly
  1229. dangerous check for unread data on a pipe with a nonblock read.
  1230. 2004-02-20 Derek Price <derek@ximbiot.com>
  1231. * ChangeLog, commit.c, filesubr.c, rcs.c, root.c, sanity.sh, subr.c,
  1232. update.c: Remove VIM editor commands.
  1233. 2004-02-20 Larry Jones <lawrence.jones@ugsplm.com>
  1234. * hash.h (struct node): Change data from char * to void *, change
  1235. all callers.
  1236. 2004-02-19 Larry Jones <lawrence.jones@ugsplm.com>
  1237. * login.c (password_entry_operation): Initialize line.
  1238. 2004-02-19 Derek Price <derek@ximbiot.com>
  1239. * sanity.sh (crerepos): Correct comment.
  1240. 2004-02-19 Derek Price <derek@ximbiot.com>
  1241. * sanity.sh (crerepos): Don't create directories named `tmp' in
  1242. $TESTDIR to avoid conflicts with the default value of $TMPDIR.
  1243. 2004-02-19 Derek Price <derek@ximbiot.com>
  1244. * sanity.sh (directory_cmp): Use $TESTDIR for temporary files, like the
  1245. dotest functions.
  1246. 2004-02-19 Derek Price <derek@ximbiot.com>
  1247. * sanity.sh: No longer allow user override of $tmp. Set $TMPDIR to a
  1248. directory under $TESTDIR, as for $HOME, but still allowing for user
  1249. override. Check for cvs-serv* directories under $TMPDIR rather than
  1250. $tmp at the end of the script.
  1251. 2004-02-17 Derek Price <derek@ximbiot.com>
  1252. * sanity.sh: Check for $PWD != $TESTDIR after each set of tests rather
  1253. than once at the end. Check that there are no cvs-serv* directories in
  1254. $tmp after each set of remote tests.
  1255. 2004-02-17 Derek Price <derek@ximbiot.com>
  1256. * sanity.sh: Don't check for an empty $TESTDIR - if $TESTDIR was empty
  1257. then the preceding call to mkdir would have failed anyhow.
  1258. 2004-02-17 Larry Jones <lawrence.jones@ugsplm.com>
  1259. * log.c (rlog_proc): Fix (harmless) uninitialized variable.
  1260. * sanity.sh (basicc): Add tests pointing out defective handling
  1261. of the Entries file.
  1262. 2004-02-17 Derek Price <derek@ximbiot.com>
  1263. * checkout.c (build_dir_and_chdir): Expand header comment.
  1264. 2004-02-15 Mark D. Baushke <mdb@cvshome.org>
  1265. * annotate.c (rannotate_proc): Plug a memory leak.
  1266. * log.c (log_fileproc): Ditto.
  1267. * tag.c (tag_fileproc): Ditto.
  1268. * update.c (checkout_file): Ditto.
  1269. * server.c (server_updated): Do not buf_free (filebuf) here.
  1270. 2004-02-13 Larry Jones <lawrence.jones@ugsplm.com>
  1271. * rcs.c (locate_rcs): Remove unused variables.
  1272. 2004-02-12 Mark D. Baushke <mdb@cvshome.org>
  1273. * lock.c (readers_exist): Plug a memory leak.
  1274. 2004-02-12 Mark D. Baushke <mdb@cvshome.org>
  1275. * server.c (do_cvs_command): Plug a memory leak.
  1276. 2004-02-12 Derek Price <derek@ximbiot.com>
  1277. * modules.c: Reformat comment and line to fit in 80 chars.
  1278. 2004-02-12 Larry Jones <lawrence.jones@ugsplm.com>
  1279. * modules.c (_do_module): Rename to my_module to avoid reserved name.
  1280. * stack.c (_push, _pop, _unshift, _shift): Rename to do_*.
  1281. 2004-02-11 Larry Jones <lawrence.jones@ugsplm.com>
  1282. * root.c (parse_cvsroot): Set hostname in fork mode for error messages.
  1283. * buffer.c (stdio_buffer_shutdown): Undo previous change.
  1284. 2004-02-11 Mark D. Baushke <mdb@cvshome.org>
  1285. * buffer.c (buf_free): Plug a memory leak.
  1286. * commit.c (checkaddfile): Ditto.
  1287. * server.c (fd_buffer_shutdown): Avoid a double free().
  1288. * parseinfo.c (parse_config): Fix comments.
  1289. 2004-02-11 Derek Price <derek@ximbiot.com>
  1290. * buffer.c (stdio_buffer_shutdown): Add logic to avoid attempting to
  1291. print current_parsed_root->hostname when using the fork method.
  1292. 2004-02-11 Derek Price <derek@ximbiot.com>
  1293. * server.c (do_cvs_command): Simplify stream & pipe closing.
  1294. (Suggestion from Eric Siegerman <erics@telepres.com>.)
  1295. * cvs.h, subr.c (set_block_fd): Remove this unnecessary function.
  1296. 2004-02-11 Derek Price <derek@ximbiot.com>
  1297. * checkout.c (checkout_proc): s/is_absolute/isabsolute/.
  1298. 2004-02-11 Derek Price <derek@ximbiot.com>
  1299. * checkout.c (checkout_proc): Remove unneeded variable and enclosing
  1300. block.
  1301. * modules.c (_do_modules): Minor whitespace change.
  1302. 2004-02-10 Derek Price <derek@ximbiot.com>
  1303. * server.c (do_cvs_command): s/FIXCVS/FIXME/ in comment.
  1304. (set_block_fd, set_nonblock_fd): Move to...
  1305. * subr.c: ...here.
  1306. * cvs.h: Add protos for the above two functions.
  1307. * buffer.c (stdio_buffer_shutdown): Replace fgetc() which checked for
  1308. unread data on a pipe with a nonblock read.
  1309. 2004-02-10 Derek Price <derek@ximbiot.com>
  1310. * server.c (do_cvs_command): Have the server child close all the pipes
  1311. but the flow control pipe and wait on an EOF on the flow control pipe
  1312. from the parent when done to avoid a race condition that could
  1313. otherwise generate a SIGPIPE for the parent before the SIGCHILD when
  1314. the other pipes were so full after a child exited that the parent
  1315. attempted to write a stop byte to the flow control pipe.
  1316. (Original report from <jesse_off@stchome.com>.)
  1317. 2004-02-10 Derek Price <derek@ximbiot.com>
  1318. * buffer.c (stdio_buffer_shutdown): Add a helpful comment.
  1319. 2004-02-09 Derek Price <derek@ximbiot.com>
  1320. * sanity.sh (co-d): Update comments and tests to reflect the current
  1321. state of my side of my discussion with Larry Jones on how these
  1322. commands should behave.
  1323. 2004-02-09 Derek Price <derek@ximbiot.com>
  1324. * sanity.sh (emptydir): Add two new tests for how modules -d behaves
  1325. when a directory already exists in the user's workspace.
  1326. (emptydir): Add --keep functionality.
  1327. 2004-02-09 Derek Price <derek@ximbiot.com>
  1328. * sanity.sh (co-d): New test to prove `co -d' failure case.
  1329. 2004-02-05 Derek Price <derek@ximbiot.com>
  1330. * sanity.sh (recase): Fix typo that creeped in somehow between my last
  1331. test run and my commit.
  1332. 2004-02-04 Derek Price <derek@ximbiot.com>
  1333. * stack.c (shift, shift_string): Make sure these functions return their
  1334. result.
  1335. 2004-02-04 Derek Price <derek@ximbiot.com>
  1336. * modules.c (do_modules): Move content to and make this function a
  1337. wrapper for...
  1338. (_do_modules): ...this new function which can watch for infinite loops
  1339. in alias modules.
  1340. * stack.c (_push, _pop, _unshift, _shift, push_string, pop_string,
  1341. unshift_string, shift_string): New
  1342. functions.
  1343. * stack.h (push_string, pop_string, unshift_string, shift_string: New
  1344. prototypes.
  1345. * sanity.sh (modules): Add check for nested alias loops.
  1346. 2004-02-04 Derek Price <derek@ximbiot.com>
  1347. * sanity.sh (recase): Update test names and comments for clarity and
  1348. consistency.
  1349. 2004-02-03 Derek Price <derek@ximbiot.com>
  1350. Preserve the case of checked out directories in a path as well as file
  1351. names for client communication with the server.
  1352. * Makefile.am (cvs_SOURCES): Add stack.c & stack.h.
  1353. * stack.c, stack.h: New files.
  1354. * cvs.h: Include stack.h.
  1355. * client.c (send_file_names): Preserve the case of directories in a
  1356. path as well as file names for communication with the server.
  1357. * Makefile.in: Regenerated.
  1358. 2004-02-02 Derek Price <derek@ximbiot.com>
  1359. * sanity.sh (join-rm): New test for issue #104 & #159.
  1360. 2004-02-02 Derek Price <derek@ximbiot.com>
  1361. Continue removal from server of handling of case insensitive clients.
  1362. * cvs.h: Remove extern declaration of ign_case.
  1363. * ignore.c (ign_case): Remove declaration.
  1364. (ign_name): Remove support for ign_case.
  1365. * server.c (serve_case): Ditto.
  1366. (requests): No longer support the "Case" request.
  1367. * rcs.c (locate_rcs): Remove reference to GLOBAL in function header
  1368. comment.
  1369. 2004-02-02 Derek Price <derek@ximbiot.com>
  1370. * add.c, client.c, cvs.h, rcs.c, subr.c: Remove server support for case
  1371. insensitivity.
  1372. 2004-01-25 Derek Price <derek@ximbiot.com>
  1373. * server.c (kserver_authenticate_connection): Fix call to
  1374. switch_to_user().
  1375. (Original patch from Alexey Mahotkin <alexm@hsys.msk.ru>.)
  1376. 2004-01-22 Derek Price <derek@ximbiot.com>
  1377. * modules.c (do_module): Strip trailing slashes before checking for
  1378. infinite alias loops.
  1379. * sanity.sh (modules): Tests for response to infinite alias loops.
  1380. 2004-01-17 Mark D. Baushke <mdb@cvshome.org>
  1381. * logmsg.c (do_verify): Eliminate double-free bug.
  1382. (Original patch from Gerald Combs.)
  1383. 2004-01-07 Larry Jones <lawrence.jones@ugsplm.com>
  1384. * checkout.c (safe_location): Remove unused variable(s).
  1385. * lock.c (lock_tree_for_write): Ditto.
  1386. * rcs.c (RCS_checkin): Ditto.
  1387. * subr.c (compare_revnums): Ditto.
  1388. * tag.c (tag_check_valid): Ditto.
  1389. * mkmodules.c (init): Initialize err and return it rather than 0.
  1390. * server.c (do_cvs_command): Only define and set max_command_fd if
  1391. we're actually going to use it.
  1392. 2004-01-01 Larry Jones <lawrence.jones@ugsplm.com>
  1393. * zlib.c (read_and_gzip, gunzip_and_write): Fix potential buffer
  1394. overruns, use names for magic numbers.
  1395. (Original patch from Jeff Downs <heydowns@borg.com>.)
  1396. 2003-12-18 Derek Price <derek@ximbiot.com>
  1397. * server.c (switch_to_user): SysLog attempts to root from pserver.
  1398. 2003-12-18 Derek Price <derek@ximbiot.com>
  1399. * server.c (switch_to_user): Don't allow CVS to run as root in pserver
  1400. mode.
  1401. (Original patch from Wichert Akkerman via Bradley M Kuhn
  1402. <bkuhn@fsf.org>.)
  1403. * sanity.sh (pserver): Check for bad root error message.
  1404. 2003-12-17 Larry Jones <lawrence.jones@eds.com>
  1405. * run.c (close_on_exec): fcntl is not documented to return 0 for
  1406. success (and QNX doesn't), only -1 for error.
  1407. (Patch from George Refseth <george.refseth@arxi.no>.)
  1408. 2003-12-09 Mark D. Baushke <mdb@cvshome.org>
  1409. * server.c (template_proc): Fix broken Template protocol code.
  1410. Must call send buf_send_counted() for Template files to avoid
  1411. "Protocol error: uncounted data discarded" messages in some
  1412. circumstances.
  1413. (Problem reported by "Jim.Hyslop" <Jim.Hyslop@Leitch.com>.)
  1414. 2003-12-03 Derek Price <derek@ximbiot.com>
  1415. * sanity.sh (recase-8csss): rename to...
  1416. (recase-8sscs): ...this to match the convention.
  1417. 2003-12-03 Derek Price <derek@ximbiot.com>
  1418. * sanity.sh (recase): Add some clarifying comments.
  1419. 2003-12-03 Larry Jones <lawrence.jones@eds.com>
  1420. * expand_path.c (expand_variable): Expand ${CVSROOT} to just the
  1421. directory like it's supposed to be.
  1422. (Reported by Michael S. Tsirkin <cvs1@misha.eml.cc>.)
  1423. 2003-11-26 Derek Price <derek@ximbiot.com>
  1424. * sanity.sh (modules3-2): Simplify syntax that may have given Cygwin
  1425. intermittent conniptions.
  1426. 2003-11-25 Mark D. Baushke <mdb@cvshome.org>
  1427. * sanity.sh (recase-17sscs): Use ${CVSROOT_DIRNAME} in pattern.
  1428. 2003-11-25 Derek Price <derek@ximbiot.com>
  1429. * sanity.sh (release): Perform forgotten cleanup.
  1430. 2003-11-25 Derek Price <derek@ximbiot.com>
  1431. * commit.c (commit_fileproc): Reword comment.
  1432. 2003-11-25 Derek Price <derek@ximbiot.com>
  1433. * add.c (add): Disable ign_case for the purposes of adding a file so
  1434. that recasing the name of a file is possible from a case insensitive
  1435. client.
  1436. * sanity.sh (recase): New tests for behavior which varies when the
  1437. client and/or the server are case insensitive.
  1438. 2003-11-25 Derek Price <derek@ximbiot.com>
  1439. * sanity.sh (devcom3-9ar): Ignore the stderr output since it varies
  1440. considerably between platforms.
  1441. 2003-11-24 Larry Jones <lawrence.jones@eds.com>
  1442. * diff.c (diff_file_nodiff): use_rev1 does *not* imply that diff_rev1
  1443. is not null, diff_date1 could be set instead (ditto for use_rev2).
  1444. (Reported by <jnelson-cvsbug@jamponi.net>.)
  1445. 2003-11-24 Derek Price <derek@ximbiot.com>
  1446. * sanity.sh (modes3): Skip modes3-5 entirely under Cygwin since
  1447. permisions are broken there. This change removes most of the earlier
  1448. Cygwin differentiation in this test ($cygwin_hack & $cygwin_hack2) in
  1449. favor of skipping the test entirely.
  1450. 2003-11-21 Larry Jones <lawrence.jones@eds.com>
  1451. * hash.c (printnode, printlist): Cast %p arguments to void * as
  1452. required by the C standard.
  1453. 2003-11-21 Derek Price <derek@ximbiot.com>
  1454. * sanity.sh: Add `-h <hostname>' option to enable testing across a
  1455. :ext: connection to another host. Warn when `-h' is specified without
  1456. $TESTDIR. Leave $TESTDIR intact when it looks absolute since it may
  1457. contain symlinks. Allow $CVS_SERVER to be overridden via the
  1458. environment for `-h'. Default $CVS_RSH to `rsh'.
  1459. (*): Use $CVS_RSH to perform certain commands on the remote host (esp.
  1460. `ln -s' and `chmod') when `-h' is specified to work around
  1461. incompatibilities with CygWin & Samba. Add a few other minor
  1462. workarounds for Cygwin bugs.
  1463. (newroot): New function.
  1464. (*): Use newroot when appropriate.
  1465. 2003-11-19 Larry Jones <lawrence.jones@eds.com>
  1466. * rcs.c (RCS_getrevtime): Add error checking; cleanup.
  1467. 2003-11-18 Derek Price <derek@ximbiot.com>
  1468. * modules.c (do_module): Reject absolute paths.
  1469. (Report and suggested fix from Tony Hoyle <tmh@nodomain.org>.)
  1470. * sanity.sh (abspath2): Check for the above.
  1471. (spacefiles): Remove tests that expect absolute paths to files in the
  1472. top level repository directory to work.
  1473. (tests): Add abspath2.
  1474. 2003-11-13 Derek Price <derek@ximbiot.com>
  1475. * rcs.c (RCS_delete_revs): It's `&&', not `and'.
  1476. 2003-11-13 Derek Price <derek@ximbiot.com>
  1477. * sanity.sh: Create the empty log to make it easier to tail immediately
  1478. after the script is started.
  1479. 2003-11-13 Derek Price <derek@ximbiot.com>
  1480. * sanity.sh (exit_help): Correct help to specify `-H' and not `-h' as
  1481. the help option.
  1482. 2003-11-13 Derek Price <derek@ximbiot.com>
  1483. * rcs.c (RCS_delete_revs): Don't use the WOE32 kludge which refuses to
  1484. delete revisions from bvinary files on Cygwin. I'm not sure what the
  1485. kludge was trying to avoid, but commenting it out causes the test suite
  1486. to pass.
  1487. 2003-11-10 Derek Price <derek@ximbiot.com>
  1488. * commit.c (check_fileproc, find_fileproc): Don't leak memory.
  1489. 2003-11-10 Derek Price <derek@ximbiot.com>
  1490. * commit.c (find_fileproc, check_fileproc): Refuse to remove files
  1491. when the file exists in the sandbox. This used to cause data loss.
  1492. (Report from Andreas Reifschneider <andyreif@studcs.uni-sb.de>.)
  1493. * sanity.sh (rmadd3): Update to match. Expand comments.
  1494. 2003-11-10 Derek Price <derek@ximbiot.com>
  1495. * sanity.sh (rmadd3): Test the behavior of commit after the
  1496. add/replace.
  1497. (Report from Andreas Reifschneider <andyreif@studcs.uni-sb.de>.)
  1498. 2003-11-10 Mark D. Baushke <mdb@cvshome.org>
  1499. * Backport symlink bugfix from cvs 1.12.1.1 feature release
  1500. as written by Derek Price <derek@ximbiot.com>. (This fixes
  1501. the Issue 142 bug.)
  1502. * recurse.c (start_recursion): Accept new repository argument so
  1503. that the working directory may be tracked by do_recursion without
  1504. using xgetwd(), which returned a value different from the one the
  1505. user requested when symlinks were in use. Pass repository_in to
  1506. do_recursion() as part of the recursion frame.
  1507. * cvs.h (xreadlink): #ifdef HAVE_READLINK proto.
  1508. (xresolvepath): New proto.
  1509. (start_recursion): Add repository to proto.
  1510. * checkout.c (safe_location): Add more complete header comment.
  1511. Add trace. Use new xresolvepath() function. Always return true
  1512. in client mode since checking our destination path against the
  1513. CVSROOT path is usually meaningless in client/server mode.
  1514. (checkout_proc): Pass repository to do_update() for later use with
  1515. start_recursion().
  1516. * admin.c (admin): Use new definition of start_recursion().
  1517. * annotate.c (rannotate_proc): Ditto.
  1518. * client.c (send_files): Ditto.
  1519. * commit.c (commit): Ditto.
  1520. * diff.c (diff): Ditto.
  1521. * edit.c (watch_onoff, send_notifications, edit, unedit, editors):
  1522. Ditto.
  1523. * lock.c (lock_tree_for_write): Ditto.
  1524. * log.c (rlog_proc): Ditto.
  1525. * patch.c (patch_proc): Ditto.
  1526. * remove.c (cvsremove): Ditto.
  1527. * tag.c (rtag_proc): Ditto.
  1528. * update.c (do_update): Ditto.
  1529. * watch.c (watch_addremove, watchers): Ditto.
  1530. * patch.c (patch_proc): Call tag_check_valid with repository
  1531. instead of NULL.
  1532. * filesubr.c (xreadlink): #ifdef HAVE_READLINK this function. Add
  1533. more complete header comment.
  1534. (xresolvepath): New function.
  1535. * recurse.c (do_recursion): Call Lock_Cleanup() only repository
  1536. was set.
  1537. * update.c (do_update): Accept new repository argument so that the
  1538. working directory may be tracked.
  1539. (update): Pass NULL repository to do_update().
  1540. * update.c (do_update): Add repository to proto.
  1541. * checkout.c (checkout_proc): Use new definition of do_update().
  1542. * update.c (update): Ditto.
  1543. * sanity.sh: Add new -l option to test symlinked roots.
  1544. (checkout_repository-1): Add server error messages about absolute
  1545. paths since the client now skips destination validity checks.
  1546. (check_repository-2): Test renamed to checkout_repository-2.
  1547. (checkout_repository-2): Process client error messages about
  1548. CVSROOT files being in the way since the client skips destination
  1549. validity checks since it should be rare that a client is running
  1550. in client/server mode on the server and CVS has no current way to
  1551. check if it is running on the server.
  1552. (check_repository-3): Test renamed to checkout_repository-3.
  1553. (dottedroot): New test to check that a CVSROOT with a "." in the
  1554. name will work.
  1555. 2003-11-10 Derek Price <derek@ximbiot.com>
  1556. * sanity.sh (rmadd3): Add whitespace after end of test for readability.
  1557. 2003-11-10 Derek Price <derek@ximbiot.com>
  1558. * sanity.sh (rmadd3): New tests that confirms that CVS refuses to
  1559. delete a file it thinks was already removed.
  1560. (Report and test from Andreas Reifschneider
  1561. <andyreif@studcs.uni-sb.de>.)
  1562. 2003-11-03 Derek Price <derek@ximbiot.com>
  1563. * sanity.sh (server): Test that the global `-l' option is ignored
  1564. nonfatally.
  1565. 2003-11-01 Larry Jones <lawrence.jones@eds.com>
  1566. * ignore.c (ignore_files): Use CVS_LSTAT() instead of lstat().
  1567. * filesubr.c (xcmp): Make sure S_ISLNK exists before calling it.
  1568. (Reported by Paul Edwards <fight.subjugation@gmail.com>.)
  1569. 2003-10-31 Derek Price <derek@ximbiot.com>
  1570. * sanity.sh (checkout_repository): Name tests consistently.
  1571. 2003-10-31 Derek Price <derek@ximbiot.com>
  1572. * sanity.sh: s/${TESTDIR}/cvsroot/${CVSROOT_DIRNAME}/.
  1573. 2003-10-28 Derek Price <derek@ximbiot.com>
  1574. * sanity.sh (devcom): s/cvs/$PROG/.
  1575. 2003-10-28 Derek Price <derek@ximbiot.com>
  1576. * sanity.sh (devcom): Renumber tests and use dotest function.
  1577. 2003-10-28 Derek Price <derek@ximbiot.com>
  1578. * sever.h: Add the standard copyright notice.
  1579. 2003-10-28 Derek Price <derek@ximbiot.com>
  1580. * lock.c: Remove some suggestions which have already been implemented
  1581. or which have become obsolete from the header comment.
  1582. 2003-10-26 Derek Price <derek@ximbiot.com>
  1583. * sanity.sh (join6): Fix a few typos in the last test and remove a
  1584. misplaced test.
  1585. 2003-10-25 Mark D. Baushke <mdb@cvshome.org>
  1586. * sanity.sh (parseroot): Perform this test in a subdirectory.
  1587. It should avoid problems on case-insensitive systems where
  1588. CVSROOT and cvsroot are the same directory (eg, MacOS X).
  1589. 2003-10-24 Derek Price <derek@ximbiot.com>
  1590. * update.c (join_file): Restore the optimization Mark recently removed,
  1591. but fix it. Move one other optimization up since it needs to be
  1592. checked for first. Add bew status messages like merge_file produces
  1593. when the requested diff has already been applied to the destination.
  1594. Expand header comment.
  1595. * sanity.sh (join6): Add tests for the new error messages.
  1596. (import-113, join-admin-2, diffmerge1): Fix collateral damage.
  1597. 2003-10-23 Mark D. Baushke <mdb@cvshome.org>
  1598. * update.c (join_file): Do the -jrev1 -jrev2 merge even when
  1599. the file is already at rev2.
  1600. * sanity.sh (join6): New testcase for above.
  1601. (Suggested by Paul Edwards, from somewhere in Australia.)
  1602. (import): Fix collateral damage.
  1603. 2003-10-23 Derek Price <derek@ximbiot.com>
  1604. * sanity.sh (fail): Refer the user to the `TESTS' and `check.log' files
  1605. on failure.
  1606. 2003-10-19 Mark D. Baushke <mdb@cvshome.org>
  1607. * sanity.sh (admin-31): Fix more typos.
  1608. 2003-10-18 Mark D. Baushke <mdb@cvshome.org>
  1609. * sanity.sh (admin): Fix a typo.
  1610. * admin.c (admin_fileproc): Restore the ':' character in the
  1611. -mtag:message admin argument even if the tag does not exist so
  1612. that other files with the tag will be found. Also, be more
  1613. paranoid that a symbolic tag actually points to a version that
  1614. exists.
  1615. (Reported by Rodolfo Schulz de Lima <rodolfo@rodsoft.org>.)
  1616. * sanity.sh (admin): Test these changes.
  1617. 2003-10-17 Mark D. Baushke <mdb@cvshome.org>
  1618. * admin.c (admin_fileproc): Force tag match on admin
  1619. -mversion:message rather than altering the wrong log message.
  1620. (Patch from "Rodolfo Schulz de Lima" <rodsoft@uol.com.br>.)
  1621. * sanity.sh (admin): Test case for it.
  1622. 2003-10-15 Larry Jones <lawrence.jones@eds.com>
  1623. * commit.c (commit_fileproc, finaladd): Don't call fixaddfile()
  1624. if the RCS file didn't get created at all.
  1625. (Reported by David Wood <David.Wood@thestreet.com>.)
  1626. 2003-10-14 Derek Price <derek@ximbiot.com>
  1627. Port to pedantic POSIX 1003.1-2001 hosts, such as Debian GNU/Linux
  1628. testing with _POSIX2_VERSION=200112 in the environment.
  1629. * sanity.sh: Use 'sed 1q', not 'head -1'.
  1630. (Patch from Paul Eggert <eggert@twinsun.com>.)
  1631. 2003-10-10 Derek Price <derek@ximbiot.com>
  1632. * lock.c (set_lock): Clarify comment.
  1633. 2003-10-08 Derek Price <derek@ximbiot.com>
  1634. * Makefile.am (cvs_SOURCES): Add history.h.
  1635. * history.c: Include history.h. Add the `P' record types to more
  1636. comments. s/ALL_REC_TYPES/ALL_HISTORY_REC_TYPES/.
  1637. (usage): Reference ALL_HISTORY_REC_TYPES rather than using a separate
  1638. string literal.
  1639. (report_hrecs): Handle `P' record type.
  1640. (ALL_REC_TYPES): Rename and move...
  1641. * history.h (ALL_HISTORY_REC_TYPES): ...here.
  1642. * mkmodules.c: Include history.h.
  1643. (config_contents): Update contents of and references to LogHistory
  1644. records to use ALL_HISTORY_REC_TYPES.
  1645. * sanity.sh (basic2-64): Update to include history records of type `P'.
  1646. * Makefile.in: Regenerated.
  1647. 2003-10-08 Derek Price <derek@ximbiot.com>
  1648. * update.c (patch_file): Correct spelling and punctuation in comment.
  1649. Update some lines to fit in 80 characters.
  1650. 2003-10-08 Larry Jones <lawrence.jones@eds.com>
  1651. * history.c (history): Don't conflate -e with -x since the client's
  1652. idea of what -e means may not match the server's.
  1653. (Reported by Frank Hemer <frank@hemer.org>.)
  1654. 2003-10-07 Larry Jones <lawrence.jones@eds.com>
  1655. * sanity.sh: Use dotest_fail instead of dotest_status for diff tests
  1656. since CVS only returns success/fail rather than 0/1/2 like diff does.
  1657. 2003-10-07 Derek Price <derek@ximbiot.com>
  1658. Fix a client/server bug introduced via the data loss fix of 2003-03-17.
  1659. Basically, the server was reporting ambiguous filename requests when it
  1660. should have been trusting the user to type the intended case or using
  1661. the case the client preserved in CVS/Entries before it tried to look
  1662. anything up in case insensitive mode.
  1663. * rcs.c (locate_rcs): Use the filename exactly as cased before
  1664. investigating a case insensitive lookup, per the client/server protocol
  1665. specification. Expand comments.
  1666. * subr.c (locate_file_in_dir): This function only needs to locate files
  1667. case insensitively. Expand comments.
  1668. * cvs.h (locate_file_in_dir): Only prototype when servers which need to
  1669. handle case insensitivity are being compiled.
  1670. 2003-10-07 Derek Price <derek@ximbiot.com>
  1671. * rcs.c (locate_rcs): Declare static. Move to an earlier location in
  1672. file to avoid prototyping.
  1673. * rcs.h (locate_rcs): Remove proto.
  1674. 2003-10-03 Derek Price <derek@ximbiot.com>
  1675. * server.c (serve_global_option): Warn that -l is being ignored rather
  1676. than exiting fatally due to backwards compatibility complaints from
  1677. administrators.
  1678. 2003-09-29 Derek Price <derek@ximbiot.com>
  1679. * rcs.c (make_file_label): Make a failure to stat a file a fatal error
  1680. since it signals that a later read will also fail.
  1681. 2003-09-26 Derek Price <derek@ximbiot.com>
  1682. * diff.c (diff): Add a FIXME re spaces in diff arguments.
  1683. 2003-09-25 Mark D. Baushke <mdb@cvshome.org>
  1684. * rcs.c (make_file_label): Do not return an uninitialized label.
  1685. (Reported by "Todd C. Miller" <Todd.Miller@courtesan.com>)
  1686. 2003-09-12 Derek Price <derek@ximbiot.com>
  1687. * sanity.sh (mkmodules): Correct comments.
  1688. 2003-09-12 Derek Price <derek@ximbiot.com>
  1689. * mkmodules.c (mkmodules): Do not pass a string which came from the
  1690. checkoutlist file directly to error as a format string since we don't
  1691. want to trust any user with access to checkoutlist with creating printf
  1692. format strings. I already claimed I did this in the NEWS file.
  1693. (Thanks to Larry Jones for spotting my mistake.)
  1694. * sanity.sh (mkmodules): Test for the above.
  1695. 2003-09-12 Derek Price <derek@ximbiot.com>
  1696. * mkmodules.c (checkoutlist_contents): Document the optional portions
  1697. of this file format more accurately.
  1698. (mkmodules): Ditto, in comments. Fix bug that always failed to ignore
  1699. whitespace before error messages.
  1700. * sanity.sh (mkmodules-temp-file-removal): Rename to...
  1701. (mkmodules): ...this and add a test of the checkoutlist error message.
  1702. Add cleanup step to restore checkoutlist.
  1703. 2003-08-27 Larry Jones <lawrence.jones@eds.com>
  1704. * history.c: 'P' is a valid record type and has been for a long time.
  1705. Add it to the comments, usage message, and, most important,
  1706. ALL_REC_TYPES so it gets recorded by default.
  1707. * server.c (do_cvs_command): Set global command_name to the real
  1708. command name rather than leaving it set to "server".
  1709. * sanity.sh: Update to match.
  1710. (Reported by Dmitry Ryzhkov <rdim_outside@softhome.net>.)
  1711. 2003-08-13 Larry Jones <lawrence.jones@eds.com>
  1712. * server.c (server_cleanup): Don't shutdown buf_from_net if it's
  1713. null.
  1714. (Reported by Scott Mitchell <scott@fishballoon.org>.)
  1715. 2003-08-01 Derek Price <derek@ximbiot.com>
  1716. * sanity.sh (join5): Use $PROG consistently and escape a `.'.
  1717. 2003-08-01 Derek Price <derek@ximbiot.com>
  1718. * sanity.sh (join5): Use `[a-z]*' as opposed to `update'.
  1719. 2003-07-31 Derek Price <derek@ximbiot.com>
  1720. * add.c (add_directory): Restore a malloc I shouldn't have altered on
  1721. the stable branch.
  1722. 2003-07-31 Derek Price <derek@ximbiot.com>
  1723. * rcscmds.c (RCS_merge): Pass `--' before the filename arguments to
  1724. diff so that filenames starting with `-' can be merged.
  1725. * sanity.sh (join5): New test for same.
  1726. 2003-07-31 Derek Price <derek@ximbiot.com>
  1727. * add.c (add_directory): Don't print status information in really_quiet
  1728. mode.
  1729. 2003-07-29 Derek Price <derek@ximbiot.com>
  1730. * commit.c (checkaddfile): Simplify the logic here, using assumptions
  1731. already made later in the function to remove calls to locate_rcs and
  1732. some conditionals. Use same assumptions to remove some variables.
  1733. 2003-07-29 Derek Price <derek@ximbiot.com>
  1734. * login.c: Remove GETPASS & HAVE_GETPASSPHRASE cruft in favor of always
  1735. using the GNULIB getpass since the system getpass was removed from the
  1736. POSIX.2 specification.
  1737. 2003-07-28 Derek Price <derek@ximbiot.com>
  1738. * subr.c (strip_trailiing_newlines): Use size_t rather than int to
  1739. count string length.
  1740. (Suggestion from Paul Edwards, who provides a broken return email
  1741. address in Tonga. I believe he is actually from Australia.)
  1742. 2003-07-28 Derek Price <derek@ximbiot.com>
  1743. * checkout.c (checkout): Remove out-of-date comment about Checkin.prog
  1744. and Update.prog.
  1745. 2003-07-25 Derek Price <derek@ximbiot.com>
  1746. * rcs.c (RCS_parsercsfile): Declare rcsfile argument as const.
  1747. * rcs.h (RCS_parsercsfile): Update prototype to match.
  1748. * commit.c (fixaddfile): Accept a single path to an rcs file as an
  1749. argument rather than trying to look it up again when it is not
  1750. necessary.
  1751. 2003-07-25 Derek Price <derek@ximbiot.com>
  1752. * commit.c (finaladd): But don't free variables we no longer allocate.
  1753. 2003-07-25 Derek Price <derek@ximbiot.com>
  1754. * checkin.c (Checkin): The rcs argument is unecessary since we know
  1755. that the parsed RCS data always exists as part of finfo by the time
  1756. this function gets called.
  1757. * commit.c (commit_fileproc, finaladd): Use new Checkin() API.
  1758. * cvs.h (Checkin): Update prototype.
  1759. 2003-07-25 Derek Price <derek@ximbiot.com>
  1760. * subr.c (strip_trailing_newlines): Check len b4 str[len] to avoid
  1761. exceeding the array bounds when the string length == 0.
  1762. (Report from John Tytgat <JoTy@esko-graphics.com>.)
  1763. 2003-07-25 Derek Price <derek@ximbiot.com>
  1764. * subr.c (strip_trailing_newlines): Generalize this function to watch
  1765. len so that it cannot walk past the beginning of the string passed in.
  1766. (Report from John Tytgat <JoTy@esko-graphics.com>.)
  1767. 2003-07-25 Derek Price <derek@ximbiot.com>
  1768. * subr.c (strip_trailing_newlines): Leave the K&R function decl on this
  1769. branch.
  1770. 2003-07-25 Derek Price <derek@ximbiot.com>
  1771. * cvs.h (strip_trailing_newlines): Update prototype.
  1772. * subr.c (strip_trailing_newlines): Return true when newlines are
  1773. removed.
  1774. * server.c (pserver_authenticate_connection): Don't give a DOS attack a
  1775. chance to authenticate accidentally because I like to be paranoid.
  1776. * sanity.sh (pserver): New test for same.
  1777. 2003-07-20 Derek Price <derek@ximbiot.com>
  1778. * wrapper.c: Remove mention of obsolete -f and -t wrapper options from
  1779. a comment.
  1780. 2003-07-12 Larry Jones <lawrence.jones@eds.com>
  1781. * sanity.sh (diffnl): New tests for diff on files with no newline
  1782. at end.
  1783. (Patch from Andrew Moise <chops@demiurgestudios.com>.)
  1784. 2003-07-09 Larry Jones <lawrence.jones@eds.com>
  1785. * add.c (add): Update "re-adding" message to have quotes around
  1786. the file name like all the other similar messages.
  1787. * sanity.sh: Update to match.
  1788. * update.c (join_file): Handle locally removed but not yet committed
  1789. files.
  1790. (Reported by Larry Lords <LordsLL@ldschurch.org>.)
  1791. * sanity.sh (join, join4): New tests for above.
  1792. 2003-06-28 Larry Jones <lawrence.jones@eds.com>
  1793. * commit.c (fixaddfile): Bail out if locate_rcs() fails. Make
  1794. parameters const.
  1795. * add.c (add): Fix -Wall complaints.
  1796. * diff.c (diff_file_nodiff): Ditto.
  1797. * filesubr.c (cvs_casecmp): Ditto.
  1798. * patch.c (patch_fileproc): Ditto.
  1799. * rcs.c (RCS_cmp_file): Ditto.
  1800. * root.c (parse_cvsroot): Ditto.
  1801. * subr.c (locate_file_in_dir): Ditto.
  1802. * cvs.h (cvs_casecmp, locate_file_in_dir): Update prototypes.
  1803. 2003-06-27 Larry Jones <lawrence.jones@eds.com>
  1804. * lock.c (readers_exist): Use LockDir rather than always looking
  1805. in the repository.
  1806. (Original patch from Robert Ambalu <Robert.Ambalu@gs.com>.)
  1807. Remove vestigial lock promotion code.
  1808. 2003-06-26 Larry Jones <lawrence.jones@eds.com>
  1809. * hash.c (sortlist): Avoid crash when list is null.
  1810. 2003-06-23 Derek Price <derek@ximbiot.com>
  1811. * patch.c (patch_fileproc): Output revision number of the original
  1812. revision in the removed case.
  1813. (Idea from Paul Edwards <kerravon@w3.to>.)
  1814. * sanity.sh (rdiff-add-remove-nodiff): Rename to...
  1815. (rdiff-short): ...this. Test for the above changes. Add some tests
  1816. for when rev2 defaults to the trunk. Expand comments.
  1817. 2003-06-23 Derek Price <derek@ximbiot.com>
  1818. * add.c (add): Fix xmalloc's strlen() of wrong variable.
  1819. * checkout.c (safe_location): leak: reused where_location without free.
  1820. * log.c (rlog_proc): leak: free where before exit.
  1821. * logmsg.c (do_verify): leak: free verifymsg_script before exit.
  1822. (Original patch from Kenneth Lorber <keni@his.com>.)
  1823. 2003-06-20 Derek Price <derek@ximbiot.com>
  1824. * client.c: Remove silly comment.
  1825. (Patch from Alexey Mahotkin <alexm@hsys.msk.ru>.)
  1826. 2003-06-13 Derek Price <derek@ximbiot.com>
  1827. * subr.c (file_has_conflict): Fix comment.
  1828. (Patch from Paul Edwards <kerravon@w3.to>.)
  1829. 2003-06-13 Derek Price <derek@ximbiot.com>
  1830. * subr.c (xrealloc): Trivial comment fix.
  1831. (Patch from Kenneth Lorber <keni@his.com>.)
  1832. 2003-06-13 Derek Price <derek@ximbiot.com>
  1833. * diff.c (diff_fileproc): Fix memory leak.
  1834. (Patch from Kenneth Lorber <keni@his.com>.)
  1835. 2003-06-12 Derek Price <derek@ximbiot.com>
  1836. * root.c (parse_cvsroot, local_cvsroot): Parse trailing '/'s off the
  1837. end of cvsroots. Make arguments const.
  1838. * cvs.h: Update prototypes to match.
  1839. (Idea from Miles Zarathustra <shiva@aranyaka.org>.)
  1840. 2003-06-11 Larry Jones <lawrence.jones@eds.com>
  1841. * sanity.sh: Change warning messages to note that defective tools
  1842. can result in defective results, both pass and fail. Also change
  1843. "which" to "that" for errant grammar pedants.
  1844. 2003-06-09 Derek Price <derek@ximbiot.com>
  1845. * rcs.c (RCS_delete_revs): Reference WOE32 rather than WIN32 in
  1846. accordance with the GNU convention to avoid implying that we consider
  1847. the Microsoft Windows Operating Environment any sort of "win".
  1848. 2003-06-09 Derek Price <derek@ximbiot.com>
  1849. * filesubr.c (cvs_temp_file): Tidy a comment.
  1850. 2003-06-09 Derek Price <derek@ximbiot.com>
  1851. * patch.c (patch_fileproc): Don't assume the content of files is
  1852. different just because the revision number is different.
  1853. * sanity.sh (rdiff-add-remove-nodiff): New tests for the above.
  1854. (Report & original patches from Paul Edwards <kerravon@w3.to>.)
  1855. 2003-06-04 Derek Price <derek@ximbiot.com>
  1856. * cvs.h (locate_file_in_dir): New proto.
  1857. (locate_rcs): Move proto...
  1858. * rcs.h: ...here.
  1859. * filesubr.c (locate_rcs): Move function...
  1860. * rcs.c: ...here for Windows.
  1861. * filesubr.c (locate_file_in_dir): Move function...
  1862. * subr.c: ...here for Windows.
  1863. 2003-06-02 Derek Price <derek@ximbiot.com>
  1864. * diff.c (diff_file_nodiff): Don't assume that because two specified
  1865. revision numbers are different, the contents are different.
  1866. (Original report & patch from Paul Edwards <kerravon@w3.to>.)
  1867. * diff.c (diff_file_nodiff): Pass through rev1_cache to be filled in
  1868. by RCS_cmp_file when it needs to check out revision 1 into a file. Add
  1869. some more informative error messages. Cleanup for efficiency &
  1870. readability.
  1871. (diff_fileproc): Pass the cached revision to RCS_exec_diff(). Clean up
  1872. the error exit code. Remove code killed by the changes to
  1873. diff_file_nodiff().
  1874. * rcscmds.c (RCS_exec_rcsdiff): Accept and use new cached revision text
  1875. if present.
  1876. * rcs.c (RCS_cmp_file): Accept a second revision number and cache the
  1877. first revision if it needs to be checked out.
  1878. * checkin.c (Checkin): Use new RCS_cmp_file().
  1879. * import.c (update_rcs_file): Ditto.
  1880. * no_diff.c (No_Difference): Ditto.
  1881. * cvs.h (RCS_exec_rcsdiff): New proto to match above changes.
  1882. * rcs.h (RCS_cmp_file): Ditto.
  1883. * sanity.sh: Minor corrections to handle the above changes.
  1884. 2003-05-29 Derek Price <derek@ximbiot.com>
  1885. * client.c (start_server): Don't send -l to server.
  1886. * history.c (history_write): Fix comment.
  1887. * main.c (main): Don't process -l.
  1888. * server.c (serve_global_option): Ditto.
  1889. (Suggestion from Rob Lanphier <robla@real.com>.)
  1890. 2003-05-23 Larry Jones <lawrence.jones@eds.com>
  1891. * sanity.sh (info-cleanup-verifymsg): Avoid race in output.
  1892. 2003-05-22 Larry Jones <lawrence.jones@eds.com>
  1893. * commit.c (commit): Fix leading zero stripping code to not strip
  1894. unless there's a following digit.
  1895. * parseinfo.c (Parse_Info): Warn if multiple DEFAULT lines found.
  1896. * sanity.sh (info): New test for above.
  1897. 2003-05-21 Derek Price <derek@ximbiot.com>
  1898. * Makefile.in: Regenerate with Automake version 1.7.5.
  1899. 2003-05-20 Larry Jones <lawrence.jones@eds.com>
  1900. * parseinfo.c (Parse_Info): Fix stupid memory management error.
  1901. * logmsg.c (do_verify): Treate Parse_Info errors as failure.
  1902. * parseinfo.c (Parse_Info): Don't call expand_path until executing
  1903. the command so that errors in unexecuted commands aren't reported.
  1904. * sanity.sh (info): New tests for above.
  1905. 2003-05-18 Mark D. Baushke <mdb@gnu.org>
  1906. * Makefile.am (localcheck,remotecheck): Use cvs$(EXEEXT) not cvs.
  1907. * Makefile.in: Regenerated.
  1908. * sanity.sh (status-init-7): Use ${PROG} not cvs in tests.
  1909. (branch-after-import-5): Ditto.
  1910. (keywordname-update-11): Ditto.
  1911. 2003-05-18 Larry Jones <lawrence.jones@eds.com>
  1912. * server.h (kserver_authenticate_connection,
  1913. pserver_authenticate_connection): Add prototypes.
  1914. * client.c (update_entries): Set file's access time to the current
  1915. time rather than the same as the modification time.
  1916. * vers_ts.c (Version_TS): Ditto.
  1917. 2003-05-01 Derek Price <derek@ximbiot.com>
  1918. * main.c (main): Ignore -z when CLIENT_SUPPORT is not defined.
  1919. (Report from Jim Salter <jsalterjim@earthlink.net>.)
  1920. 2003-05-01 Derek Price <derek@ximbiot.com>
  1921. * repos.c (Sanitize_Repository_Name): Remove some old comments about
  1922. the defunct RELATIVE_REPOS macro.
  1923. * server.c (outside_root): Ditto.
  1924. 2003-04-30 Derek Price <derek@ximbiot.com>
  1925. * add.c (add): Fix a possible, if unlikely, memory out of bounds error.
  1926. 2003-04-28 Derek Price <derek@ximbiot.com>
  1927. * client.c (save_prog): Remove unneeded struct.
  1928. (checkin_progs, update_progs): Remove these unneeded globals.
  1929. (handle_set_checkin_prog, handle_set_update_prog, do_deferred_progs):
  1930. Remove these functions.
  1931. (send_repository): Remove checkin and update prog support.
  1932. (responses): Remove Set-checkin-prog and Set-update-prog.
  1933. (get_responses_and_close): Don't call do_deferred_prog().
  1934. * commit.c (commit_usage): Remove reference to -n.
  1935. (commit): Don't set and send run_module_prog via -n. Don't run
  1936. Checkin.prog or Checkout.prog in local mode.
  1937. * modules.c (CVSMODULE_OPTS): Remove -i and -u.
  1938. (do_module): Don't process -i and -u options to set checkin and update
  1939. progs, respectively.
  1940. * server.c (server_prog, serve_checkin_prog, server_update_prog):
  1941. Remove unused functions.
  1942. (requests): Remove Checkin-prog and Update-prog.
  1943. * update.c (update_dirleave_proc): Remove update prog functionality.
  1944. * cvs.h (CVSADM_CIPROG, CVSADM_UPROG): Remove unneeded defines.
  1945. * server.h (server_prog): Remove proto.
  1946. (progs): Remove enum.
  1947. * sanity.sh (modules5): Remove tests for checkin and update programs.
  1948. 2003-04-10 Larry Jones <lawrence.jones@eds.com>
  1949. * Makefile.in: Regenerated.
  1950. 2003-03-27 Mark D. Baushke <mdb@cvshome.org>
  1951. * sanity.sh (rdiff2): Add new test case for SEGV problem reported
  1952. against cvs 1.11.5.
  1953. (Report from James Cribb)
  1954. 2003-03-26 Derek Price <derek@ximbiot.com>
  1955. * client.c: Fix, reorganize, and comment ifdefs for AUTH_CLIENT_SUPPORT
  1956. and HAVE_GSSAPI.
  1957. * client.h: Ditto. Remove some unecessary server function prototypes.
  1958. 2003-03-26 Derek Price <derek@ximbiot.com>
  1959. * client.c: Include the net headers for HAVE_GSSAPI.
  1960. (Report from Jim Salter <jsalterjim@earthlink.net>.)
  1961. 2003-03-26 Derek Price <derek@ximbiot.com>
  1962. * main.c (main): Verify the argument to -z when running without
  1963. CLIENT_SUPPORT since Eric Siegerman complained about being bit
  1964. by a run of `cvs -z -n up' which parsed the -n as the argument to
  1965. -z.
  1966. * sanity.sh (opterrmsg): New tests for -z argument checking.
  1967. 2003-03-26 Larry Jones <lawrence.jones@eds.com>
  1968. * main.c (main): Use strtol() instead of atoi() when parsing -z
  1969. to detect errors.
  1970. (Reported by Eric Siegerman <erics@telepres.com>.)
  1971. 2003-03-24 Derek Price <derek@ximbiot.com>
  1972. * Makefile.am: Update copyright notice.
  1973. * Makefile.in: Regenerated.
  1974. 2003-03-19 Larry Jones <lawrence.jones@eds.com>
  1975. * filesubr.c (mkdir_if_needed): Save errno since isdir() can clobber.
  1976. (Patch from Brian Poole <raj@cerias.purdue.edu>.)
  1977. * sanity.sh (abspath-4): Update to match.
  1978. * filesubr.c (locate_rcs): Fix gcc warning.
  1979. 2003-03-17 Derek Price <derek@ximbiot.com>
  1980. * add.c: Correct comment.
  1981. * client.c: Ditto.
  1982. * checkin.c (Checkin): Pass work file name to RCS_checkin so that this
  1983. function works properly in the case insensitive mode.
  1984. * commit.c (checkaddfile): Fix and factor add logic so that the
  1985. correct files and directories are created in the case insensitive mode.
  1986. Reuse code in RCS_parse() below. This avoids a problem that could
  1987. cause corrupted RCS files to be created on an add from a case
  1988. insensitive system. Corrupted RCS files could cause later assertion
  1989. failures for everyone.
  1990. (locate_rcs): Move this function...
  1991. * filesubr.c (locate_rcs): ...here and rewrite it.
  1992. (fopen_case): Remove this function.
  1993. (locate_file_in_dir): New function.
  1994. * cvs.h (locate_rcs): Prototype new function.
  1995. * rcs.c (RCS_parse): Factor out file location into locate_rcs.
  1996. 2003-03-17 Larry Jones <lawrence.jones@eds.com>
  1997. * server.c (switch_to_user): Add syslog calls for setgid/setuid
  1998. failure.
  1999. 2003-03-07 Derek Price <derek@ximbiot.com>
  2000. * sanity.sh (help): Add explanation of CVS-TO-TEST and edit for
  2001. consistency.
  2002. 2003-03-07 Derek Price <derek@ximbiot.com>
  2003. * sanity.sh (usage): Show users long --help rather than less
  2004. informative -h.
  2005. 2003-03-07 Derek Price <derek@ximbiot.com>
  2006. * sanity.sh: Add support for long options.
  2007. (exit_usage): Move the actual generation of usage text to...
  2008. (usage): ...this new function and improve the usage message.
  2009. (exit_help): New function.
  2010. 2003-03-07 Larry Jones <lawrence.jones@eds.com>
  2011. * commit.c (check_fileproc): Remove unused variables.
  2012. * patch.c (patch): Pass local to do_module so that -l actually works.
  2013. (Reported by John Coers <coers@intrinsity.com>.)
  2014. (patch_fileproc): Fix uninitialized variables.
  2015. * sanity.sh: Define a DATE pattern for rdiff and use it.
  2016. (basic2-24a): New test for above.
  2017. 2003-03-06 Derek Price <derek@ximbiot.com>
  2018. * subr.c (file_has_conflict): New file.
  2019. * commit.c (check_fileproc): Factor code into new file_has_conflict()
  2020. function.
  2021. * update.c (update_fileproc): Ditto.
  2022. * status.c (status_fileproc): Use new file_has_conflict() function.
  2023. (Report from Bernd Kuemmerlen <bkuemmer@mevis.de>.)
  2024. * sanity.sh (status): New test for same.
  2025. 2003-03-05 Mark D. Baushke <mdb@cvshome.org>
  2026. * rcs.c (RCS_magicrev): Backout CVS_LOCAL_BRANCH_NUM feature.
  2027. * rcs.c (RCS_magicrev): CVS_LOCAL_BRANCH_NUM feature.
  2028. Port of the FreeBSD hack for setting the next magic branch number
  2029. to be used. The original patch was written by Peter Wemm
  2030. <peter@FreeBSD.org> and may be found by visiting the URL:
  2031. http://www.freebsd.org/cgi/cvsweb.cgi/src/contrib/cvs/src/rcs.c.diff?r1=1.1&r2=1.2
  2032. Implement a horrible (but simple) hack to allow some control over the
  2033. branch number that is assigned. This is specifically to support the
  2034. local commit feature of cvsup. If one sets $CVS_LOCAL_BRANCH_NUM to
  2035. (say) 1000 then branches the local repository, the revision numbers
  2036. will look like 1.66.1000.xx. This is almost a dead-set certainty that
  2037. there will be no conflicts with version numbers.
  2038. (This needs to be something more than an option to 'cvs tag' or 'cvs
  2039. rtag' as various parts of cvs "know" how to automatically branch files
  2040. (eg: cvs add). Trying to remember state is getting "Too Hard (TM)")
  2041. * sanity.sh (branches3): Test the CVS_LOCAL_BRANCH_NUM feature.
  2042. 2003-03-04 Derek Price <derek@ximbiot.com>
  2043. * history.c (history_write): Remove unneeded O_CREAT in the call to
  2044. open() since we abort a few lines earlier if the file doesn't exist.
  2045. Add a comment to the effect that this is not the optimal method of
  2046. doing things and needs fixed.
  2047. 2003-02-28 Derek Price <derek@ximbiot.com>
  2048. * root.c (parse_cvsroot): s/no_passwd/no_password/ in comments.
  2049. 2003-02-28 Derek Price <derek@ximbiot.com>
  2050. * root.c (parse_cvsroot): Set no_password for :gserver: and :kserver:
  2051. as tokens should already be obtained via external sources.
  2052. * update.c (update_fileproc): Remove redundant code.
  2053. 2003-02-28 Larry Jones <lawrence.jones@eds.com>
  2054. * lock.c (set_lock): If possible, try a short wait with no message
  2055. before calling lock_wait() to optimize master lock contention.
  2056. 2003-02-26 Larry Jones <lawrence.jones@eds.com>
  2057. * checkout.c (checkout): Send "--" before file names.
  2058. * sanity.sh (spacefiles): Remote now works just like local.
  2059. 2003-02-25 Derek Price <derek@ximbiot.com>
  2060. * sanity.sh (rcs4): Use UTC to work across timezones.
  2061. 2003-02-25 Derek Price <derek@ximbiot.com>
  2062. * rcs.c (RCS_getdate): Fix a bug that shows up when checking out
  2063. files by date with the "-D date" command line option. There is
  2064. code in the original to handle a special case. If the date search
  2065. finds revision 1.1 it is supposed to check whether revision
  2066. 1.1.1.1 has the same date stamp, which would indicate that the
  2067. file was originally brought in with "cvs import". In that case it
  2068. is supposed to return the vendor branch version 1.1.1.1.
  2069. However, there was a bug in the code. It actually compares the date
  2070. of revision 1.1 for equality with the date given on the command
  2071. line -- clearly wrong. This commit fixes the coding bug.
  2072. Note: There is an additional bug which is _not_ fixed in this
  2073. commit. The date comparison should not be a strict equality test.
  2074. It should allow a fudge factor of, say, 2-3 seconds. Old versions
  2075. of CVS created the two revisions with two separate invocations of
  2076. the RCS "ci" command. We have many old files in the tree in which
  2077. the dates of revisions 1.1 and 1.1.1.1 differ by 1 second.
  2078. This bug was discovered and fixed for FreeBSD cvs. See v 1.21 of
  2079. <http://www.freebsd.org/cgi/cvsweb.cgi/src/contrib/cvs/src/rcs.c.diff>
  2080. for more information.
  2081. * sanity.sh (rcs4): Tests for same.
  2082. (Patch from Mark D. Baushke <mdb@cvshome.org>.)
  2083. 2003-02-25 Derek Price <derek@ximbiot.com>
  2084. * logmsg.c (logfile_write): Do not pass a NULL pointer to
  2085. fprintf() when we have an empty log message.
  2086. * sanity.sh (editor): Add new tests to verify correct behavior of
  2087. empty log messages.
  2088. (Patch from Mark D. Baushke <mdb@cvshome.org>, original report from
  2089. Piotr KUCHARSKI <chopin@sgh.waw.pl>.)
  2090. 2003-02-25 Derek Price <derek@ximbiot.com>
  2091. * cvsbug.in: Import use of mktemp function from RedHat 8.0's
  2092. CVS 1.11.2 RPM. Use new MKTEMP configure variable. Use new
  2093. SENDMAIL from configure.
  2094. * Makefile.in: Regenerated.
  2095. 2003-02-25 Derek Price <derek@ximbiot.com>
  2096. * watch.c (watch_usage): Use {} rather than () for literals.
  2097. 2003-02-14 Derek Price <derek@ximbiot.com>
  2098. * watch.c (watch_usage): Make the repeatability of -a part of the
  2099. usage spec.
  2100. 2003-02-14 Derek Price <derek@ximbiot.com>
  2101. * watch.c (watch_usage): Mention default for -a. Mention multiple
  2102. invocations of -a. Mention -R as default. Use required () rather than
  2103. optional [] around watch subcommand list in invocation spec. Use
  2104. `path' instead of `file'. Put variable <> around `action' and `path'.
  2105. 2003-02-07 Derek Price <derek@ximbiot.com>
  2106. * commit.c (checkaddfile): Do not lose the vendor branch when
  2107. adding files to a new branch. Avoids extranious conflicts for
  2108. future vendor imports. This was found and fixed in FreeBSD cvs.
  2109. See http://www.freebsd.org/cgi/query-pr.cgi?pr=4033 for details.
  2110. * sanity.sh (branch-after-import): New test.
  2111. (Thanks to Mark D Baushke <mdb@cvshome.org> for forwarding the
  2112. patch and writing the test cases!)
  2113. * sanity.sh (branch-after-import): Misc portablility and standard
  2114. changes.
  2115. 2003-02-12 Derek Price <derek@ximbiot.com>
  2116. * main.c (main): Update copyright message to 2003.
  2117. 2003-02-21 Larry Jones <lawrence.jones@eds.com>
  2118. * server.c (switch_to_user): Update comment, change error message
  2119. so it's not an exact duplicate of the one in check_password.
  2120. (check_repository_password): Add syslog call for password mismatches.
  2121. (check_password): Add syslog call for password mismatches, rearrange
  2122. code to simplify and eliminate redundancy.
  2123. (pserver_authenticate_connection): Remove syslog call, now done by
  2124. lower-level routines.
  2125. 2003-02-19 Larry Jones <lawrence.jones@eds.com>
  2126. * sanity.sh (admin-10): Add test for repository files not in
  2127. working directory.
  2128. * admin.c (admin_fileproc): Fix crash when no rcs file, return
  2129. failure status for bogus files.
  2130. * sanity.sh (admin-4a): Test for above.
  2131. (Original patch submitted by Mark D. Baushke <mdb@cvshome.org>).
  2132. 2003-02-14 Larry Jones <lawrence.jones@eds.com>
  2133. * log.c (log_expand_revlist): Fix crashes in error cases.
  2134. (Reported by Bart Santy <Bart.Santy@switch.be>.)
  2135. * sanity.sh (log): New tests for above.
  2136. 2003-02-01 Larry Jones <lawrence.jones@eds.com>
  2137. * buffer.c (stdio_buffer_shutdown): Handle EINTR from waitpid.
  2138. (Patch from Johannes Grřdem <johs+n@ifi.uio.no>.)
  2139. 2003-02-08 Derek Price <derek@ximbiot.com>
  2140. * rcs.c (RCS_checkout): Supply the full function name in the trace
  2141. output.
  2142. * update.c (checkout_file, join_file): Supply tag properly to
  2143. RCS_checkout more often.
  2144. (patch_file): Ditto. Fill out comments.
  2145. * sanity.sh (keyword, keywordname): Some changes to accomodate the fact
  2146. that the above changes cause patches generated by patch_file to fail
  2147. occassionally.
  2148. 2003-02-06 Derek Price <derek@ximbiot.com>
  2149. * client.c: Use the complete path to the CVSADM_TEMPLATE file in
  2150. error messages. Remove related FIXME.
  2151. 2003-01-31 Derek Price <derek@ximbiot.com>
  2152. * sanity.sh (keywordname): Change a "FIXME" comment to "FIXCVS".
  2153. 2003-01-30 Derek Price <derek@ximbiot.com>
  2154. * sanity.sh (keywordname): New test.
  2155. 2003-01-23 Larry Jones <lawrence.jones@eds.com>
  2156. * diff.c (diff_fileproc): Restructure code to simplify and eliminate
  2157. redundant tests.
  2158. * server.c (do_cvs_command): Use WCOREDUMP macro rather than hard
  2159. coding test for core file.
  2160. 2003-01-21 Larry Jones <lawrence.jones@eds.com>
  2161. * root.c (method_name): Redefine as a 2D array.
  2162. * root.h (method_name): Ditto.
  2163. 2003-01-21 Jim Meyering <jim@meyering.net>
  2164. * add.c (add): Rename local-shadowing `i' to `j'.
  2165. * root.c (method_names): Declare to be a const array of const strings.
  2166. (Name_Root): Save errno so it doesn't get clobbered
  2167. by the intervening error call.
  2168. Use getline's return value, mainly to save a call to strrchr.
  2169. 2003-01-20 Larry Jones <lawrence.jones@eds.com>
  2170. * myndbm.c (O_ACCMODE): Parenthesize the replacement string so that
  2171. it parses correctly.
  2172. (Reported by Andres Bertens <abertens@entelchile.net>.)
  2173. 2003-01-15 Karl Fogel <kfogel@collab.net>
  2174. * server.c (dirswitch): Don't free dir_name until right before
  2175. allocating it again. This removes a potential double-free
  2176. problem, whereby this function could free dir_name and then
  2177. immediately return due to invalid directory syntax (without ever
  2178. reassigning dir_name), then reenter and free dir_name again.
  2179. Thanks to Stefan Esser <s.esser@e-matters.de> for the fix.
  2180. 2003-01-08 Larry Jones <lawrence.jones@eds.com>
  2181. * client.c (update_entries): Only "0" is a special version number;
  2182. other numbers starting with 0 (like 0.1) are normal version numbers.
  2183. * commit.c (find_fileproc): Ditto. Also reorganize the code to
  2184. simplify the conditions.
  2185. (Reported by Michele Zamparelli <michele.zamparelli@eso.org>.)
  2186. 2003-01-02 Larry Jones <lawrence.jones@eds.com>
  2187. * rcs.c (getdelta): Use RCSDEAD rather than literal "dead".
  2188. 2002-12-27 Derek Price <derek@ximbiot.com>
  2189. * admin.c: s/LOCK_(NONE|WRITE|READ)/CVS_$&/g; since the definition of
  2190. LOCK_WRITE clashes with a definition in objidl.h on Windoze platforms.
  2191. * annotate.c: Ditto.
  2192. * client.c: Ditto.
  2193. * commit.c: Ditto.
  2194. * cvs.h: Ditto.
  2195. * diff.c: Ditto.
  2196. * edit.c: Ditto.
  2197. * lock.c: Ditto.
  2198. * log.c: Ditto.
  2199. * patch.c: Ditto.
  2200. * recurse.c: Ditto.
  2201. * remove.c: Ditto.
  2202. * status.c: Ditto.
  2203. * tag.c: Ditto.
  2204. * update.c: Ditto.
  2205. * watch.c: Ditto.
  2206. * myndbm.c: Ditto & define O_ACCMODE when it isn't defined, as under
  2207. Windoze.
  2208. (Thanks to Stephane Rouleau <s.rouleau@videotron.ca>,
  2209. Cristopher Seawood <cls@seawood.org>, and
  2210. Frederico Costa <frederico.costa@tiscali.no> for all their hints,
  2211. tips, and patches for this problem.)
  2212. 2002-12-20 Derek Price <derek@ximbiot.com>
  2213. * client.c (send_a_repository): Suppress a warning under Windoze.
  2214. 2002-12-19 Derek Price <derek@ximbiot.com>
  2215. * Makefile.am: Remove reference to options.h.
  2216. * cvs.h: Ditto.
  2217. * options.h: Remove this obsolete file.
  2218. * sanity.sh: Remove comment about external diffs causing tests to fail
  2219. since CVS hasn't used external diffs in years.
  2220. * Makefile.in: Regenerated.
  2221. 2002-12-16 Derek Price <derek@ximbiot.com>
  2222. * admin.c: Disable cvsadmin group checking on the client.
  2223. (Reported by Dan Peterson <dbpete@aol.com>.)
  2224. 2002-12-06 Derek Price <derek@ximbiot.com>
  2225. * buffer.c: Replace calls to malloc with calls to xmalloc and calls to
  2226. realloc with calls to xrealloc.
  2227. * parseinfo.c: Ditto.
  2228. * root.c: Ditto.
  2229. * server.c: Ditto.
  2230. * zlib.c: Ditto.
  2231. * scramble.c: Change some comments to refer to xmalloc rather than
  2232. malloc.
  2233. (Reported by Dan Peterson <dbpete@aol.com>.)
  2234. 2002-12-04 Derek Price <derek@ximbiot.com>
  2235. * options.h: Remove CVS_ADMIN_GROUP.
  2236. 2002-12-02 Larry Jones <lawrence.jones@eds.com>
  2237. * commit.c (commit): Strip leading zeros from numeric revision
  2238. in addition to trailing dots.
  2239. (Reported by Peter Meszaros <pme@prolan.hu>.)
  2240. 2002-11-22 Larry Jones <lawrence.jones@eds.com>
  2241. * sanity.sh: Note that the tests run for a long time.
  2242. * checkout.c (safe_location): Use xstrdup, not strdup.
  2243. (Reported by Terrence Enger <tenger@iSeries-guru.com>.)
  2244. 2002-11-19 Larry Jones <lawrence.jones@eds.com>
  2245. * log.c (log_expand_revlist): Fix cross-branch correction code.
  2246. * sanity.sh: Set $LANG for systems that ignore $LC_ALL.
  2247. (rcs2-7): Change date offset from 100 months to 96 months to reduce
  2248. periodic problems with invalid dates.
  2249. 2002-11-12 Derek Price <derek@ximbiot.com>
  2250. * sanity.sh (rcslib-symlink): Use rm -f rather than a simple rm when
  2251. removing links because under some configurations of RH Linux 8.0 the
  2252. script pauses to ask for removal approval.
  2253. 2002-11-08 Derek Price <derek@ximbiot.com>
  2254. * sanity.sh (importc): Update the use of the touch command to be
  2255. compliant with POSIX 1003.1-2001, SUS2, and SUS3 now that GNU touch
  2256. supports this. If this breaks any test platforms we should test
  2257. the behavior of touch like we do for other tools.
  2258. 2002-11-03 Derek Price <derek@ximbiot.com>
  2259. * sanity.sh (rcs2-7): Notate with a wild untested hypothesis.
  2260. 2002-11-03 Derek Price <derek@ximbiot.com>
  2261. * sanity.sh (rcs2-7): Notate with three more failure dates.
  2262. 2002-10-25 Derek Price <derek@ximbiot.com>
  2263. * root.c: Change some calls to SYSTEM_CLEANUP() and then exit() to
  2264. more appropriate calls to error_exit().
  2265. * server.c: Ditto.
  2266. * tag.c: Ditto.
  2267. 2002-10-24 Derek Price <derek@ximbiot.com>
  2268. * buffer.c (stdio_buffer_shutdown): Remove the getc() call used to
  2269. detect spurious output from clients since getc() would sometimes
  2270. block and hang indefinately if the client kept the conection open but
  2271. sent no data. Bug reports state that this hapened frequently with
  2272. older clients connecting to 1.11.2 servers, especially when
  2273. compression is enabled.
  2274. (Original report from Mark D. Baushke <mdb@juniper.net>.
  2275. Original patch from Ralf S. Engelschall <rse@engelschall.com>
  2276. via Peter Wemm <peter@freebsd.org>.)
  2277. 2002-10-05 Larry Jones <lawrence.jones@eds.com>
  2278. * recurse.c (start_recursion, do_recursion): Allow write locking
  2279. in addition to read locking. Change all callers.
  2280. * cvs.h: Change prototype to match, add lock types.
  2281. * tag.c (rtag_proc, rtag_fileproc, tag_fileproc): Have start_recursion
  2282. use write locks rather than calling lock_dir_for_write to avoid deadly
  2283. embrace.
  2284. 2002-10-04 Larry Jones <lawrence.jones@eds.com>
  2285. * client.c (get_responses_and_close, connect_to_pserver): Set
  2286. to_server and from_server to NULL after freeing.
  2287. * main.c (main): Clear server_active when finished. Also neaten
  2288. up the SERVER_SUPPORT ifdef's.
  2289. * server.c (do_cvs_command): Set protocol_inbuf, stderrbuf, and
  2290. stdoutbuf to NULL after freeing.
  2291. (server_cleanup): Free buf_from_net and buf_to_set and set to NULL.
  2292. Also reset error_use_protocol.
  2293. (server): Don't SIG_register server_cleanup. main_cleanup (which
  2294. is already registered) outputs a fatal error which causes it to
  2295. be called; registering it directly results in it being called twice.
  2296. (cvs_output): Don't try to use buf_to_net or protocol if they're NULL.
  2297. 2002-10-03 Larry Jones <lawrence.jones@eds.com>
  2298. * lock.c (readers_exist): Ignore our own read lock, if any, to
  2299. allow upgrading an existing read lock to a write lock.
  2300. * tag.c (rtag_proc, rtag_fileproc, tag_fileproc): Rather than
  2301. locking the entire tree, have start_recursion establish read
  2302. locks and then upgrade the read lock to a write lock (so only
  2303. one directory is locked at a time).
  2304. 2002-09-27 Larry Jones <lawrence.jones@eds.com>
  2305. * add.c (add): Send "--" before file names.
  2306. * admin.c (admin): Ditto.
  2307. * annotate.c (annotate): Ditto.
  2308. * commit.c (commit): Ditto.
  2309. * diff.c (diff): Ditto.
  2310. * edit.c (watch_onoff, editors): Ditto.
  2311. * log.c (cvslog): Ditto.
  2312. * remove.c (cvsremove): Ditto.
  2313. * status.c (cvsstatus): Ditto.
  2314. * tag.c (cvstag): Ditto.
  2315. * update.c (update): Ditto.
  2316. * watch.c (watch_addremove, watchers): Ditto.
  2317. * sanity.sh (client-9): Update to match.
  2318. 2002-09-24 Derek Price <derek@ximbiot.com>
  2319. * options.h: Remove prototype of STDC exit() function. If this breaks
  2320. a build, this should be detected in configure.in somehow rather than
  2321. restoring the line to this file.
  2322. 2002-09-24 Derek Price <derek@ximbiot.com>
  2323. * options.h: Move definition of AUTH_CLIENT_SUPPORT into configure.in.
  2324. 2002-09-24 Derek Price <derek@ximbiot.com>
  2325. * options.h: Move definition of FORCE_USE_EDITOR into configure.in.
  2326. 2002-09-24 Derek Price <derek@ximbiot.com>
  2327. * options.h: Move definition of UMASK_DFLT into configure.in.
  2328. 2002-09-24 Derek Price <derek@ximbiot.com>
  2329. * Makefile.in: Regenerated using Automake 1.6.3.
  2330. 2002-09-24 Larry Jones <lawrence.jones@eds.com>
  2331. * filesubr.c, history.c, import.c, rcs.c, update.c: Use
  2332. HAVE_STRUCT_STAT_ST_BLKSIZE and HAVE_STRUCT_STAT_ST_RDEV instead of
  2333. the obsolete HAVE_ST_BLKSIZE and HAVE_ST_RDEV.
  2334. 2002-09-24 Derek Price <derek@ximbiot.com>
  2335. * options.h: Move definition of TMPDIR_DFLT into configure.in.
  2336. 2002-09-24 Derek Price <derek@ximbiot.com>
  2337. * options.h: Move defininition of EDITOR_DFLT into configure.in.
  2338. * Makefile.in: Regenerated.
  2339. 2002-09-23 Jim Meyering <meyering@lucent.com>
  2340. If `cvs -d REPO commit ...' was used to override CVS/Root,
  2341. then modified files in the directory from which cvs is invoked
  2342. would not be committed.
  2343. * client.c (arg_should_not_be_sent_to_server): The above would happen
  2344. because this function would throw out a file name when CVS/Root
  2345. did not match the current server. Fix by allowing the command-line-
  2346. specified repository to take precedence over the value returned
  2347. by Name_Root. Patch by Simon Walton <simonw@lucent.com>.
  2348. * sanity.sh (commit-d): New tests for the above.
  2349. Patch by Simon Walton <simonw@lucent.com>.
  2350. 2002-09-20 Derek Price <derek@ximbiot.com>
  2351. * options.h: Move definition of SERVER_FLOWCONTROL, SERVER_HI_WATER,
  2352. and SERVER_LO_WATER into configure.in.
  2353. 2002-09-20 Derek Price <derek@ximbiot.com>
  2354. * options.h: Move definition of PATCH_PROGRAM to configure.in.
  2355. 2002-09-18 Larry Jones <lawrence.jones@eds.com>
  2356. * client.c (call_in_directory): Don't create admin directory when
  2357. exporting into an existing directory.
  2358. (Reported by Jens Engel <Jens.Engel@marconi.com>.)
  2359. * sanity.sh (basic2): New tests for above.
  2360. 2002-09-16 Jim Meyering <meyering@lucent.com>
  2361. * server.c (do_cvs_command): Move declarations of locals, timeout and
  2362. timeout_ptr, `up', out of enclosing `#ifdef SERVER_FLOWCONTROL' block.
  2363. Otherwise, this file would not compile with SERVER_FLOWCONTROL
  2364. turned off. Patch by Ed Santiago <esm@ascend.com>.
  2365. 2002-09-15 Larry Jones <lawrence.jones@eds.com>
  2366. * myndbm.c (mydbm_open): Open the file read/write rather than read-
  2367. only if that's what the user asked for to ensure that the later open
  2368. for write will succeed.
  2369. (Patch submitted by Josh Lehan <cvs@krellan.com>.)
  2370. 2002-08-28 Larry Jones <lawrence.jones@eds.com>
  2371. * logmsg.c (do_editor): Fix bug which prevented reusing log messages.
  2372. (Reported by Eric Siegerman <erics@telepres.com>.)
  2373. 2002-08-16 Derek Price <derek@ximbiot.com>
  2374. * create_adm.c (Create_Admin): Assume RELATIVE_REPOS is set.
  2375. * server.c (outside_root): Add comment.
  2376. * options.h: Remove RELATIVE_REPOS & CVS_BADROOT.
  2377. * sanity.sh: Remove a lot of !RELATIVE_REPOS cruft from tests.
  2378. 2002-08-14 Derek Price <oberon@umich.edu>
  2379. * server.c (server): Dispose of the correct pointer. Tidy comment.
  2380. 2002-08-13 Derek Price <oberon@umich.edu>
  2381. * client.c (get_cvs_port_number): Fix typo in comment. Add comments.
  2382. * server.c (server): Fix a FIXME. Remove an errant "const" directive.
  2383. Remove some redundant memory allocation and error handling code.
  2384. 2002-08-08 Derek Price <oberon@umich.edu>
  2385. * import.c (import): Surrounded `server_active' with
  2386. #ifdef SERVER_SUPPORT/#endif.
  2387. * commit.c (commit_fileproc, commit_direntproc): Likewise.
  2388. (Patch from John Tytgat <John.Tytgat@aaug.net>.)
  2389. 2002-07-31 Derek Price <oberon@umich.edu>
  2390. * filesubr.c: Add a line so VIM can determine tab stops and shift widths.
  2391. * root.c: Ditto.
  2392. * (parse_cvsroot): Add comments and tidy slightly.
  2393. 2002-07-31 Derek Price <oberon@umich.edu>
  2394. * sanity.sh: Add another date to the comment about rcs2-7 failing.
  2395. 2002-07-26 Jim Meyering <meyering@lucent.com>
  2396. * commit.c (find_fileproc): When committing in client mode,
  2397. arrange to fail if a `cvs add'ed file no longer exists in the
  2398. working directory.
  2399. * sanity.sh (commit-add-missing): New test for above.
  2400. 2002-07-25 Larry Jones <lawrence.jones@eds.com>
  2401. * sanity.sh: Set $TMPDIR if it's not already set and use it rather
  2402. than /tmp for the expected server temp directory path.
  2403. 2002-07-09 Larry Jones <lawrence.jones@eds.com>
  2404. * vers_ts.c (time_stamp_server, time_stamp): Eliminate unneeded
  2405. struct_tm copying.
  2406. * lock.c (lock_wait, lock_obtained): Display time in UTC if possible
  2407. to reduce confusion in client/server mode.
  2408. (Original patch from Eduardo Perez Ureta <eperez@it.uc3m.es>.)
  2409. 2002-06-26 Larry Jones <lawrence.jones@eds.com>
  2410. * tag.c (check_fileproc): When checking up-to-date, T_REMOVE_ENTRY
  2411. is also a valid status.
  2412. (Reported by David Everly <David.Everly@wcom.com>.)
  2413. * sanity.sh (tagc): New tests for above.
  2414. 2002-06-18 Larry Jones <lawrence.jones@eds.com>
  2415. * update.c (patch_file): Don't patch if diff bigger than file.
  2416. Don't bother adjusting the permission on the diff output if
  2417. we're not going to use it.
  2418. 2002-06-18 Derek Price <oberon@umich.edu>
  2419. * server.c: Handle HPUX password expiration fields in the passwd
  2420. string in case we are set up on a server with NIS passwords served
  2421. from HPUX.
  2422. (Original patch from John Cavanaugh <john_cavanaugh@agilent.com>.)
  2423. 2002-06-17 Larry Jones <lawrence.jones@eds.com>
  2424. and Jonathan Kamens <jik@kamens.brookline.ma.us>
  2425. * commit.c (commit_fileproc, commit_direntproc): Don't try to call
  2426. an editor to get the log message if running as a server. Instead,
  2427. just use an empty log message.
  2428. * import.c (import): Ditto.
  2429. * import.c (import): In client mode, always send a message to the
  2430. server, even if it's empty (this parallels a change made by Larry
  2431. Jones to commit.c on May 7).
  2432. 2002-05-31 Larry Jones <lawrence.jones@eds.com>
  2433. * rcs.c: Conditionally define MAP_FAILED for old systems that don't
  2434. have it in <mman.h>.
  2435. (Reported by jeremy brand <jeremy@earth.care2.com>.)
  2436. 2002-05-24 Larry Jones <lawrence.jones@eds.com>
  2437. * rcscmds.c (diff_exec): Add a -- before the first file name just
  2438. in case it looks like an option.
  2439. (Reported by Zooko <zooko@zooko.com>.)
  2440. * rcscmds.c (diff_execv): Remove -- same as diff_exec. Change
  2441. only caller.
  2442. * cvs.h: Ditto.
  2443. 2002-05-23 Larry Jones <lawrence.jones@eds.com>
  2444. * cvs.h (strcat_filename_onto_homedir): Make arguments const.
  2445. * filesubr.c (strcat_filename_onto_homedir): Make arguments const,
  2446. move more code here from callers, change all callers.
  2447. 2002-05-22 Derek Price <oberon@umich.edu>
  2448. * cvs.h: Add prototype for this...
  2449. * filesubr.c (strcat_filename_onto_homedir): new function.
  2450. * login.c (): Use new function.
  2451. * cvsrc.c (read_cvsrc): Use new function due to problems on VMS.
  2452. * ignore.c (ign_setup): Ditto.
  2453. * wrapper.c (wrap_setup): Ditto.
  2454. (Original patch from Karsten Spang <ksp@dannet.dk>.)
  2455. 2002-05-21 Larry Jones <lawrence.jones@eds.com>
  2456. * rcs.c (rcsbuf_getkey): Correct off-by-one error in ptr assertion
  2457. and add a similar assertion for ptrend.
  2458. (Reported by Rebecca Young <raygirl@cvshome.org>.)
  2459. (rcsbuf_fill): Remove redundant code.
  2460. 2002-05-20 Derek Price <oberon@umich.edu>
  2461. * buffer.h: New prototype for...
  2462. * buffer.c (stdio_buffer_get_file): this new function to abstract
  2463. access to a buffer's file descriptor.
  2464. * client.c (auth_server): Use the new function.
  2465. (Original patch from Jonathan Kamens <jik@kamens.brookline.ma.us>.)
  2466. 2002-05-20 Derek Price <oberon@umich.edu>
  2467. * main.c (main): Add 2002 to the copyright years output with the
  2468. version string.
  2469. 2002-05-15 Larry Jones <lawrence.jones@eds.com>
  2470. * log.c (log_parse_list): Fix off-by-one error which caused
  2471. incorrect handling of 'cvs log -wuser1,user2 foo.c' command.
  2472. (Patch from Alexey Mahotkin <alexm@hsys.msk.ru>,
  2473. reported by Alex Morozov <morozov@novosoft.ru>.)
  2474. 2002-05-09 Larry Jones <lawrence.jones@eds.com>
  2475. * login.c (password_entry_operation): Get cvsroot_canonical before
  2476. trying to read the user's password file so we have it even if the
  2477. file doesn't exist.
  2478. (Reported by Sarah Thompson <sthompson@fsl.noaa.gov>.)
  2479. 2002-05-08 Derek Price <oberon@umich.edu>
  2480. * Makefile.am (cvs_SOURCES): Add options.h explicitly - since we
  2481. stopped generating it dynamically, Automake stopped noticing it and
  2482. including it in dists. See TODO item #214 for notes.
  2483. 2002-05-08 Derek Price <oberon@umich.edu>
  2484. * cvs.h: Use the HAVE_CONFIG_H define.
  2485. 2002-05-07 Larry Jones <lawrence.jones@eds.com>
  2486. * filesubr.c (isaccessible): Set errno before returning failure
  2487. in the SETXID_SUPPORT code.
  2488. * logmsg (do_verify): Avoid even more work if there's no verifymsg
  2489. script to run.
  2490. * logmsg: Use fputs/putc rather than fprintf where appropriate.
  2491. (do_verify): Run the verifymsg script even if there's no log
  2492. message. (Reported by Andy Baker <Andy.Baker2@t-mobile.co.uk>.)
  2493. Don't reread the log message unless a verifymsg script was run.
  2494. * commit.c (commit): Always send -m to the server, even if there's
  2495. no message.
  2496. * create_adm.c (Create_Admin): Add dotemplate parameter to trace.
  2497. Remove unreachable code.
  2498. 2002-05-03 Larry Jones <lawrence.jones@eds.com>
  2499. * server.c (serve_watch_on, serve_watch_off, serve_watch_add,
  2500. serve_watch_remove): Just pass "watch" as the command name
  2501. to do_cvs_command to avoid unknown command errors.
  2502. (Reported by Gary Hennigan <gary@ieee.org>.)
  2503. * rcs.c (RCS_checkin): Fix bad call to error () in buggy
  2504. PRESERVE_PERMISSIONS code.
  2505. (rcs_internal_unlockfile): Include current value of errno in error
  2506. message even though it may well be irrelevant (it's still better
  2507. than nothing).
  2508. 2002-05-02 Derek Price <oberon@umich.edu>
  2509. * .cvsignore: Remove lines for files obsoleted by new autotools.
  2510. 2002-05-02 Derek Price <oberon@umich.edu>
  2511. * stamp-h2.in: Remove this uneeded file.
  2512. 2002-05-01 Derek Price <oberon@umich.edu>
  2513. * options.h.in: Move to...
  2514. * options.h: here.
  2515. 2002-04-30 Derek Price <oberon@umich.edu>
  2516. * version.h.in: Remove this file.
  2517. * version.h: Ditto.
  2518. * Makefile.am: Remove references to version.h.
  2519. * cvs.h: Use <> rather than "" around the config.h #include. I didn't
  2520. quite bother to understand why, but autoconf recommends it.
  2521. * cvsbug.in: Use PACKAGE_BUGREPORT defined by configure for the bug
  2522. report email address.
  2523. * version.c (version): Use PACKAGE_STRING defined in config.h instead
  2524. of the version_string that used to be defined in version.h.
  2525. * Makefile.in: Regenerated with automake 1.6.
  2526. 2002-04-28 Derek Price <oberon@umich.edu>
  2527. * cvs.h: Use `"'s around includes when we mean a local file.
  2528. 2002-04-28 Derek Price <oberon@umich.edu>
  2529. * cvs.h: #define new names for functions and variables when they
  2530. might conflict with system definitions (namely on Mac OS X 10.1 with
  2531. the most recent dev packages - This should be removable after the Mac
  2532. dev packages are fixed.).
  2533. 2002-04-26 Larry Jones <larry.jones@sdrc.com>
  2534. * logmsg.c (do_editor): Fix assertion when CLIENT_SUPPORT not defined.
  2535. (Reported by Matthias Andree <matthias.andree@stud.uni-dortmund.de>.)
  2536. 2002-04-19 Larry Jones <larry.jones@sdrc.com>
  2537. * log.c (log_expand_revlist): First cut at code to allow logging
  2538. between a revision and *any* ancestor, not just one explicitly on
  2539. the same branch (e.g., from 1.1 to 4.1.2.3.6.1).
  2540. * subr.c (gca): Simplify and optimize.
  2541. 2002-04-19 Jim Meyering <meyering@lucent.com>
  2542. and Ed Santiago <easm@lucent.com>
  2543. * classify.c (Classify_File): Fix it so that `cvs update -p -r...'
  2544. works, even under some slightly unusual (though perfectly legitimate)
  2545. circumstances.
  2546. * sanity.sh (update-p): New tests for this.
  2547. 2002-04-18 Derek Price <oberon@umich.edu>
  2548. * sanity.sh: Move test for regex metacharacters in username until
  2549. after we're sure we found the version of expr that we're going to use.
  2550. 2002-04-18 Larry Jones <larry.jones@sdrc.com>
  2551. * admin.c (admin_fileproc): Allow admin to be used on RCS files with
  2552. no local version (e.g., removed files) like most other subcommands.
  2553. * wrapper.c (wrap_add): Update URL of -t/-f wrapper discussion.
  2554. 2002-04-18 Derek Price <oberon@umich.edu>
  2555. * version.h: Regenerated for 1.11.2.1 version update.
  2556. 2002-04-17 Derek Price <oberon@umich.edu>
  2557. * version.h: Regenerated for 1.11.2.
  2558. 2002-04-03 Derek Price <oberon@umich.edu>
  2559. * stamp-h2.in: Regenerate with recent version of Autoconf.
  2560. 2002-04-03 Derek Price <oberon@umich.edu>
  2561. * sanity.sh (TR): Send the stderr of one of the tool setup (tr) tests
  2562. to /dev/null to avoid spurious output on some operating systems
  2563. (notably Mac OS X).
  2564. 2002-03-22 Larry Jones <larry.jones@sdrc.com>
  2565. * sanity.sh (rcslib): Correct new tests to use ${testcvs} instead
  2566. of cvs.
  2567. 2002-03-21 Derek Price <oberon@umich.edu>
  2568. * vers_ts.c (time_stamp): Return the timestamp for the newer of the
  2569. link and the link's source when the file is a link.
  2570. (Patch from RedHat cvs-1.11.1p1-7 SRPM.)
  2571. * sanity.sh (rcslib): Test for same.
  2572. 2002-03-17 Larry Jones <larry.jones@sdrc.com>
  2573. * log.c (cvslog, log_fileproc): Add -S option to suppress head or
  2574. file name if no revisions selected.
  2575. * sanity.sh (log): New tests for above.
  2576. 2002-03-13 Derek Price <oberon@umich.edu>
  2577. * main.c (usg): Correct a spelling mistake in a comment.
  2578. (Thanks to Matt Kraai <kraai@alumni.cmu.edu>.)
  2579. 2002-03-09 Larry Jones <larry.jones@sdrc.com>
  2580. * import.c (import): Change the suggested merge message to use
  2581. rev tags instead of the branch tag with a date.
  2582. * sanity.sh (import, importb): Change to match.
  2583. * remove.c (remove_fileproc): Disallow removing files with sticky
  2584. dates for the same reason we already disallow sticky numeric tags.
  2585. * sanity.sh (sticky): New test for above.
  2586. 2002-02-27 Larry Jones <larry.jones@sdrc.com>
  2587. * diff.c (diff_fileproc): Treat dead revisions as nonexistent.
  2588. 2002-02-26 Larry Jones <larry.jones@sdrc.com>
  2589. * diff.c (diff): Remove -V and --paginate options: they aren't valid.
  2590. (diff_usage): Document all the diff options.
  2591. 2002-02-13 Larry Jones <larry.jones@sdrc.com>
  2592. * rcs.c (RCS_gettag): Do not interpret an empty tag as HEAD (nothing
  2593. else does and I don't see any documentation that says it should).
  2594. (translate_symtag): Break out of loop at end of symbols to prevent
  2595. looping forever when tag is "".
  2596. (Reported by Alain ENOUT <aln00@udcast.com>
  2597. via Eric Gillespie <epg@pretzelnet.org>.)
  2598. 2002-02-11 Larry Jones <larry.jones@sdrc.com>
  2599. * server.c (server_cleanup): Set buf_to_net back to blocking mode
  2600. and flush it (in case there are any error messages pending) before
  2601. shutting down buf_from_net and again right before shutting it down.
  2602. 2002-02-08 Larry Jones <larry.jones@sdrc.com>
  2603. * main.c (lookup_command_attribute): Throw a fatal error if the
  2604. command is not found.
  2605. * server.c (server_tag): Use the correct command name.
  2606. 2002-01-30 Larry Jones <larry.jones@sdrc.com>
  2607. * error.h (error_exit): Remove unintended prototype.
  2608. * server.c (serve_root): Remove check for impossible condition.
  2609. (serve_init): Save and restore current_parsed_root.
  2610. 2002-01-29 Larry Jones <larry.jones@sdrc.com>
  2611. * error.h (error_exit): Declare __noreturn__ to avoid spurious
  2612. warnings.
  2613. * server.c (serve_root): If the specified root doesn't match the
  2614. pserver root, return before changing current_parsed_root to prevent
  2615. subsequent commands from accessing an unchecked root directory.
  2616. (server_init): Check specified root against the pserver root and
  2617. complain if they don't match. Also, if there are pending errors,
  2618. print them and return before changing current_parsed_root to prevent
  2619. subsequent commands from accessing an unchecked root directory.
  2620. * sanity.sh (pserver): New tests for above.
  2621. 2002-01-10 Larry Jones <larry.jones@sdrc.com>
  2622. * log.c (log_version_requested): Change :: in revision spec to be
  2623. exclusive just on the low end (so -r tag1::tag2 gives revisions
  2624. after tag1 but up to and including tag2), which is much more useful
  2625. than the previous (exclusive at both ends) behavior.
  2626. (log_usage): Update to match.
  2627. * sanity.sh (log): Update to match.
  2628. 2002-01-02 Larry Jones <larry.jones@sdrc.com>
  2629. * server.c (LOG_DAEMON): Define if needed.
  2630. (Patch from John David Anglin <dave@hiauly1.hia.nrc.ca>.)
  2631. * server.c (pserver_authenticate_connection): Add a specific error
  2632. message for EOF at protocol start and syslog if available.
  2633. * sanity.sh (pserver-bufinit): Update to match.
  2634. 2001-12-10 Larry Jones <larry.jones@sdrc.com>
  2635. * log.c (log_usage): Note that -r and -d take lists, not just a
  2636. single specification.
  2637. (log_expand_revlist): Don't dereference null pointers when one end
  2638. of a revision range is a non-existent tag.
  2639. 2001-12-03 Larry Jones <larry.jones@sdrc.com>
  2640. * annotate.c (annotate, annotate_fileproc): Don't annotate binary
  2641. files unless new -F option given.
  2642. * sanity.sh (basica, ann, ann-id, rcs, keywordlog, tagdate): Update
  2643. to match.
  2644. 2001-11-30 Larry Jones <larry.jones@sdrc.com>
  2645. * admin.c (admin): Allow unrestricted usage of -q in addition to -k.
  2646. 2001-10-25 Larry Jones <larry.jones@sdrc.com>
  2647. * log.c (log_expand_revlist): Make erroneous or inconsistent revision
  2648. specs select no revisions rather than all revisions.
  2649. 2001-10-23 Larry Jones <larry.jones@sdrc.com>
  2650. * import.c (add_rcs_file): Don't put an expand entry into the file
  2651. for the default expansion mode (kv).
  2652. * wrapper.c (wrap_send, wrap_unparse_rcs_options): Process entries
  2653. with default expansion mode since they may be needed to avoid matching
  2654. a more general entry later.
  2655. (wrap_add): Set rcsOption to NULL for default (kv).
  2656. (wrap_add_entry): Use structure assignment to copy entries rather
  2657. that copying members by hand.
  2658. * sanity.sh (binwrap3): Revise to test wrapper entries that don't
  2659. specify any non-default options but just prevent matching later,
  2660. more general entries.
  2661. 2001-10-02 Larry Jones <larry.jones@sdrc.com>
  2662. * rcs.c (RCS_fully_parse): Add revision number to more error messages.
  2663. 2001-09-27 Larry Jones <larry.jones@sdrc.com>
  2664. * rcs.c (RCS_fully_parse, RCS_getdeltatext): Add the missing revision
  2665. number to the "mismatch" error message.
  2666. * sanity.sh (multiroot2-9a): Update to match changes to lock.c.
  2667. 2001-09-26 Larry Jones <larry.jones@sdrc.com>
  2668. * lock.c (Lock_Cleanup, Reader_Lock, write_lock): Add trace messages.
  2669. 2001-09-24 Derek Price <dprice@collab.net>
  2670. * find_names.c (add_entries_proc): Leave closure specified as such in the
  2671. function definition for clarity.
  2672. * find_names.c (Find_Names): Use 'closure' feature of walklist()
  2673. to eliminate the static variable.
  2674. (add_entries_proc): Expect closure to be the file list.
  2675. (Patch from Alexey Mahotkin <alexm@hsys.msk.ru>.)
  2676. 2001-09-19 Derek Price <dprice@collab.net>
  2677. * rcs.c (rcsbuf_valpolish_internal): Restore one of the
  2678. "if ( ... ) abort();" sequences since it seems to check the validity of
  2679. the RCS file rather than for a programming error. Also added a FIXME
  2680. comment to the effect that we should explain the RCS file error to the
  2681. user as such if it is such.
  2682. (Thanks to Larry Jones <scjones@sdrc.com>.)
  2683. 2001-09-19 Derek Price <dprice@collab.net>
  2684. * rcs.c (rcsbuf_getkey, rcsbuf_valpolish_internal): Replace some code
  2685. of the form "if ( ... ) abort();" with equivalent calls to assert().
  2686. 2001-09-17 Derek Price <dprice@collab.net>
  2687. * myndbm.c (mydbm_load_file): Fix buffer overflow error and make error
  2688. messages more informative.
  2689. * sanity.sh (modules6): New test.
  2690. (Original report from Taska <taska@collab.net> and others.)
  2691. 2001-09-14 Derek Price <dprice@collab.net>
  2692. * logmsg.c (do_verify): Dispose memory when finished with it.
  2693. 2001-09-07 Larry Jones <larry.jones@sdrc.com>
  2694. * mkmodules.c (notify_contents): In the example, move the %s to
  2695. the end since many, if not most, versions of mail insist on
  2696. options coming before addresses.
  2697. 2001-09-06 Derek Price <dprice@collab.net>
  2698. * login.c (login): Deal with NULL return value from getpass.
  2699. 2001-09-04 Derek Price <dprice@collab.net>
  2700. * Makefile.in: Regenerated with automake 1.5.
  2701. * stamp-h2.in: Ditto.
  2702. 2001-09-04 Derek Price <dprice@collab.net>
  2703. * main.c (main): Fix empty CVSROOT message to specify `valid' instead
  2704. of `legal'.
  2705. 2001-09-04 Derek Price <dprice@collab.net>
  2706. * server.c (pserver_authenticate_connection): Back out changes from the
  2707. 30th and...
  2708. * getline.c (getstr): init the buffer instead.
  2709. 2001-08-31 Derek Price <dprice@collab.net>
  2710. * Makefile.in: Backed out accidental commit from yesterday.
  2711. 2001-08-30 Derek Price <dprice@collab.net>
  2712. * server.c (pserver_authenticate_connection): Don't print from the
  2713. NULL pointer in the error message string in the case where the client
  2714. didn't send any data.
  2715. * sanity.sh (pserver): Test for this case.
  2716. (Report from Mark Welch <mark@collab.net>).
  2717. 2001-08-24 Derek Price <dprice@collab.net>
  2718. * logmsg.c (do_editor): Add comment and assertion.
  2719. * import.c (import): Don't call do_editor with a repository argument
  2720. in client mode.
  2721. (Report and original patch from darkness <darkness@invado.com>.)
  2722. 2001-08-24 Larry Jones <larry.jones@sdrc.com>
  2723. * log.c (log_expand_revlist): Arrange for nil revision specs to
  2724. select nothing instead of everything.
  2725. * sanity.sh (log): New tests for above.
  2726. 2001-08-24 Derek Price <dprice@collab.net>
  2727. * parseinfo.c (Parse_Info): Change the function name in the trace
  2728. and add the client/server string.
  2729. 2001-08-24 Derek Price <dprice@collab.net>
  2730. * Implement RereadLogAfterVerify CVSROOT/config option to control
  2731. FreeBSD read-write of log messages in the verification script.
  2732. * logmsg.c: RereadLogAfterVerify defaults to LOGMSG_REREAD_NEVER
  2733. to preserve the status quo.
  2734. * parseinfo.c (parse_config): Add parsing for RereadLogAfterVerify
  2735. option. Possible values are: no | never | yes | always | stat
  2736. * cvs.h: Add extern for RereadLogAfterVerify and new value macros
  2737. LOGMSG_REREAD_NEVER, LOGMSG_REREAD_ALWAYS, LOGMSG_REREAD_STAT for
  2738. its values.
  2739. (Patch from Mark D. Baushke <mdb@cvshome.org>.)
  2740. * Apply changes from FreeBSD cvs sources to implement a read-write
  2741. user-defined verification script.
  2742. * logmsg.c (do_verify): Update do_verify to expect a pointer
  2743. to the saved message. The log file passed to the verifymsg_script
  2744. should be re-read after the user-defined verification script has
  2745. been run. The user-defined verification script is allowed to
  2746. modify the message. This allows the script to add extra
  2747. information to the log message or to remove template lines that
  2748. are not needed.
  2749. * cvs.h: Update prototype for do_verify prototype to expect a
  2750. pointer to the saved_message.
  2751. * commit.c (commit, commit_fileproc, commit_direntproc): Update
  2752. calls to do_verify as the saved_message arg is now read-write.
  2753. * import.c (import): Update calls to do_verify as the
  2754. saved_message arg is now read-write.
  2755. * sanity.sh (info-v4-[12]): Rename the old info-v4 test to info-v5
  2756. and add a new info-v4 test case have the verification script
  2757. modify the log message to test the above changes.
  2758. (Patch from Mark D. Baushke <mdb@cvshome.org>.)
  2759. * logmsg.c: Change RereadLogAfterVerify default to always.
  2760. (do_verify): Reformat and make minor fixes to Mark's patch.
  2761. * mkmodules.c (config_constants): Add comment about
  2762. RereadLogAfterVerify.
  2763. * sanity.sh (info-rereadlog): Rename the tests from Mark's patch and
  2764. reformat them a bit.
  2765. 2001-08-23 Derek Price <dprice@collab.net>
  2766. * sanity.sh (info): Demonstrate that the verifymsg scripts can
  2767. sometimes, but not always, retreive information on which directory is
  2768. being committed to.
  2769. 2001-08-22 Derek Price <dprice@collab.net>
  2770. * logmsg.c: Back out the last change - the repository which is passed
  2771. in is actually the directory and changes with each call to do_verify.
  2772. If a verifymsg script is using `pwd`, this could change the operation.
  2773. * cvs.h: Ditto.
  2774. * commit.c: Ditto.
  2775. * import.c: Ditto.
  2776. 2001-08-22 Derek Price <dprice@collab.net>
  2777. * logmsg.c (do_editor): Return reused_message.
  2778. (do_verify): Don't verify the same log message more than once.
  2779. * cvs.h: Update prototypes for do_verify and do_editor.
  2780. * commit.c (commit_fileproc, commit_direntproc): Use the new functionality.
  2781. * import.c (import): Ditto.
  2782. 2001-08-22 Derek Price <dprice@collab.net>
  2783. * logmsg.c (do_verify): Remove an unecessary "else" clause following an
  2784. exit and unindent the former contents.
  2785. 2001-08-22 Derek Price <dprice@collab.net>
  2786. * commit.c (commit): Don't call do_verify in client mode since we know
  2787. do_verify will just return anyhow.
  2788. 2001-08-20 Derek Price <dprice@collab.net>
  2789. * Makefile.am (cvs_SOURCES): Add version.c and version.h.
  2790. (BUILT_SOURCES): Add version.h.
  2791. (Maintainer Targets): Remove version.h.
  2792. * version.c: Remove @VERSION@ dependant bits.
  2793. * version.c.in: Removed.
  2794. * version.h.in: New file.
  2795. (Original patch from Alexey Mahotkin <alexm@hsys.msk.ru>.)
  2796. * Makefile.am: Various modifications to make Automake, make dist, and
  2797. windows targets work like they are supposed to.
  2798. * version.h: New (generated) file.
  2799. * Makefile.in: Regenerated.
  2800. 2001-08-09 Derek Price <dprice@collab.net>
  2801. * client.c (socket_buffer_shutdown): Use recv instead of read and
  2802. return 0 on success.
  2803. (Patch from "Manfred Klug" <manklu@web.de>.)
  2804. 2001-08-09 Derek Price <dprice@collab.net>
  2805. * buffer.c (stdio_buffer_shutdown): Assume the buffer is not a socket
  2806. when NO_SOCKET_TO_FD is defined.
  2807. * client.c (make_bufs_from_fds): Add is_sock argument and remove fstat
  2808. call and reference to S_ISSOCK since these functions aren't available
  2809. under Windows.
  2810. (connect_to_forked_server, connect_to_pserver, start_tcp_server,
  2811. start_server, start_rsh_server): Use new argument.
  2812. (Patch from "Manfred Klug" <manklu@web.de>.)
  2813. * buffer.c (stdio_buffer_shutdown): Various reformattings, fix bug
  2814. where rsh pipes weren't being closed.
  2815. 2001-08-09 Derek Price <dprice@collab.net>
  2816. * sanity.sh (rmadd, rm-update-message, join-two-branch,
  2817. ignore-on-branch): Change a few references to `cvs' to `$PROG'.
  2818. 2001-08-07 Derek Price <dprice@collab.net>
  2819. * build_src.com: Add annotate.c/annotate.obj,verify, correct zlib name.
  2820. * patch.c: VMS time_t appears to be unsigned. Add a cast when testing
  2821. for (time_t)-1.
  2822. * subr.c: #else,#endif for no symlinks should be moved.
  2823. (Patch from Mike Marciniszyn <Mike.Marciniszyn@sanchez.com>.)
  2824. 2001-08-06 Derek Price <dprice@collab.net>
  2825. * Makefile.in: Regenerated.
  2826. 2001-08-01 Derek Price <dprice@collab.net>
  2827. * diff.c (diff): Send long option for side-by-side diffs to the server
  2828. rather than '-y', for backwards compatibility with old servers.
  2829. (Original patch from Peter Mathiasson <peter@mathiasson.nu>.)
  2830. 2001-07-19 Larry Jones <larry.jones@sdrc.com>
  2831. * mkmodules.c (cvswrappers_contents): Remove -t/-f since they're
  2832. disabled in wrapper.c.
  2833. * checkout.c (checkout): Don't complain about checking out into the
  2834. repository when piping output.
  2835. (Reported by der Mouse <mouse@Rodents.Montreal.QC.CA>.)
  2836. * sanity.sh (checkout_repository): New tests for above.
  2837. 2001-07-10 Larry Jones <larry.jones@sdrc.com>
  2838. * sanity.sh (importc-7): Now works correctly in local mode.
  2839. * commit.c (commit_dirleaveproc): We're still in the directory when
  2840. this is called, so the first argument to Name_Repository needs to
  2841. be NULL, not dir.
  2842. * sanity.sh (rmadd): New tests for above.
  2843. * commit.c (commit): Reword error messages for committing as root.
  2844. 2001-07-08 Larry Jones <larry.jones@sdrc.com>
  2845. * rcs.c (RCS_checkout): Correct scanf format to allow for trailing
  2846. NUL terminator.
  2847. * update.c (special_file_mismatch): Ditto.
  2848. (Reported by Pekka Savola <pekkas@netcore.fi>.)
  2849. 2001-07-05 Larry Jones <larry.jones@sdrc.com>
  2850. * client.c, root.c: Fix -Wall warnings.
  2851. * buffer.c: #include socket header to declare shutdown().
  2852. * rcs.c (rcsbuf_open): Use getpagesize() instead of sysconf() for
  2853. portability.
  2854. (RCS_copydeltas, rcsbuf_fill): Fix -Wall warnings.
  2855. 2001-07-04 Derek Price <dprice@collab.net>
  2856. * Makefile.in: Regenerated with new Automake release candidate 1.4h.
  2857. 2001-07-03 Derek Price <dprice@collab.net>
  2858. * rcs.c (rcsbuf_open): Reduce memory consumption still further by not
  2859. mmapping the entire file when pos is specified.
  2860. (rcsbuf_cache_open): Add FIXME comment wrt read-only mmaps and rcsbuf
  2861. caching.
  2862. 2001-07-03 Derek Price <dprice@collab.net>
  2863. * rcs.c (rcsbuf_open): Use mmap when possible to reduce memory
  2864. consumption, especially with large (e.g. binary) files.
  2865. (rcsbuf_close): Call munmap.
  2866. (rcsbuf_getkey): Remove the buffer fill code when using mmap.
  2867. (rcsbuf_getrevnum): Ditto.
  2868. (rcsbuf_fill): Remove this function when using mmap.
  2869. (rcsbuf_cache_open): Mostly don't use this function with mmap.
  2870. (RCS_copydeltas): Don't depend on the file pointer with mmap.
  2871. * stamp-h2.in: Regenerated.
  2872. 2001-07-03 Derek Price <dprice@collab.net>
  2873. * update.c: Indent compiler directives.
  2874. 2001-07-02 Larry Jones <larry.jones@sdrc.com>
  2875. * import.c (update_rcs_file): Use -kb instead of -ko when comparing
  2876. binary files.
  2877. (Reported by Gyula Faller <gfaller@graphisoft.hu>.)
  2878. 2001-06-28 Larry Jones <larry.jones@sdrc.com>
  2879. * checkout.c (checkout): Explicitly initialize all the static options
  2880. so that multiple calls work right. Also fix potential memory leaks.
  2881. (Reported by Dr. Dieter Maurer <dieter@sz-sb.de>.)
  2882. 2001-06-28 Derek Price <dprice@collab.net>
  2883. * Makefile.in: Regenerated with new version of Automake.
  2884. 2001-06-28 Larry Jones <larry.jones@sdrc.com>
  2885. * checkout.c (checkout): Set history_name for export as well as
  2886. checkout.
  2887. (checkout_proc): Use it.
  2888. * checkout.c (safe_location): Add missing argument in error message.
  2889. 2001-06-26 Larry Jones <larry.jones@sdrc.com>
  2890. * recurse.c (start_recursion): Use strip_trailing_slashes instead
  2891. of doing it by hand.
  2892. * server.c (pserver_authenticate_connection): Don't clear out
  2893. descrambled_password until *after* it's (potentially) logged.
  2894. (Reported by Eric Hanchrow <offby1@blarg.net>.)
  2895. 2001-06-25 Larry Jones <larry.jones@sdrc.com>
  2896. * recurse.c (start_recursion): Deal with at least some of the cases
  2897. where trailing slashes cause confusion.
  2898. (Reported by Malcolm Fernandes <fernande@redback.com>.)
  2899. * sanity.sh (basica, basicb): Tweak existing tests to check this.
  2900. 2001-06-22 Larry Jones <larry.jones@sdrc.com>
  2901. * sanity.sh (modules5): New tests with -d on command line.
  2902. 2001-06-21 Larry Jones <larry.jones@sdrc.com>
  2903. * modules.c (do_module): Use run_module_prog and server_active to
  2904. determine when to call server_prog instead of using server_expanding
  2905. so that we get the right paths in the replies as long as we take
  2906. mwhere into account in addition to where.
  2907. (Reported by Pascal Bourguignon <pjb@informatimago.com>.)
  2908. * server.c (server_prog): Use protocol pipe instead of buf_to_net.
  2909. * sanity.sh (modules5): Remove FIXCVS comment and update to match.
  2910. * server.c, server.h: Remove server_expanding since now unused.
  2911. 2001-06-21 Larry Jones <larry.jones@sdrc.com>
  2912. for Stephen Rasku <stephen@tgivan.com>
  2913. * admin.c: Corrected spelling mistakes in help.
  2914. 2001-06-20 Derek Price <dprice@collab.net>
  2915. * client.c (socket_buffer_shutdown): Fix untested typos.
  2916. (Reported by "Jerzy Kaczorowski" <jerzyk@wndtabs.com>.)
  2917. * buffer.c (stdio_buffer_shutdown): Put the call to SHUTDOWN_SERVER in
  2918. the correct place.
  2919. 2001-06-20 Derek Price <dprice@collab.net>
  2920. * logmsg.c (do_editor): Abort in the case that the file has only
  2921. comment lines.
  2922. (Original patch from Mark Valentine <mark@thuvia.demon.co.uk>.)
  2923. * logmsg.c (do_editor): Fix rare memory leak.
  2924. * sanity.sh (editor): Add tests for aborted log messages.
  2925. 2001-06-20 Larry Jones <larry.jones@sdrc.com>
  2926. * server.c (switch_to_user): Only set $CVS_USER if
  2927. AUTH_SERVER_SUPPORT is defined.
  2928. (Reported by Nalin Dahyabhai <nalin@blade.devel.redhat.com>.)
  2929. 2001-06-13 Derek Price <dprice@collab.net>
  2930. * client.c: Fix incorrect fixed-size buffer usage in
  2931. connect_to_gserver().
  2932. (Minor changes to a patch from Alexey Mahotkin <alexm@hsys.msk.ru>.)
  2933. 2001-06-11 Derek Price <dprice@collab.net>
  2934. * main.c (main): Always print $CVSROOT when parse_cvsroot fails.
  2935. * root.c (parse_cvsroot): Tidy error messages and provide more
  2936. consistent behavior.
  2937. * sanity.sh (crerepos): Adapt to new error messages.
  2938. (Suggested by Alexey Mahotkin <alexm@hsys.msk.ru>.)
  2939. 2001-06-08 Derek Price <dprice@collab.net>
  2940. * sanity.sh (tagf-28): Use $CVSROOT_DIRNAME.
  2941. 2001-06-07 Larry Jones <larry.jones@sdrc.com>
  2942. * rcs.c (RCS_unlock): Reverse kj's change of 1999-10-18: a bare -u
  2943. should never break locks, you have to specify a specific revision
  2944. to do that. Also add an informative message for a bare -u when
  2945. the user doesn't hold any locks.
  2946. * commit.c (unlockrcs): Make RCS_unlock quiet, like RCS_lock.
  2947. * sanity.sh (rmadd-24): Update to match.
  2948. * sanity.sh (crerepos-6a): Set CVS_RSH for ${testcvs}, not for
  2949. dotest_fail. Allow for "broken pipe" rather than "end of file".
  2950. 2001-06-07 Derek Price <dprice@collab.net>
  2951. * sanity.sh (tagf): Use $CVSROOT_DIRNAME rather than
  2952. /tmp/cvs-sanity/cvsroot.
  2953. 2001-06-06 Derek Price <dprice@collab.net>
  2954. (Reformatting, bug fixes, tests, and comments to a
  2955. patch from Stephen Cameron <steve.cameron@compaq.com>.)
  2956. * tag.c: (rtag_fileproc, rtag_delete, tag_fileproc)
  2957. Changed behavior of "cvs tag -F", "cvs tag -d", "cvs rtag -F"
  2958. and "cvs rtag -d" so that they will not disturb existing
  2959. branch tags unless a new "-B" option is given.
  2960. * sanity.sh (tagf-16 - tagf-33): Added tests for new -B option
  2961. to "cvs tag" and "cvs rtag"
  2962. 2001-06-06 Derek Price <dprice@collab.net>
  2963. * sanity.sh (crerepos-6a): Set CVS_RSH=false and only for the actual
  2964. test call at Larry's suggestion. Also, test the error message since
  2965. it's fixed now.
  2966. 2001-06-05 Larry Jones <larry.jones@sdrc.com>
  2967. * rcs.c (RCS_unlock): Note when breaking someone else's lock.
  2968. (Reported by MURVAI-BUZOGANY Laszlo
  2969. <Laszlo.MURVAI-BUZOGANY@gt-systems.hu>.)
  2970. * sanity.sh (reserved-14): Update to match.
  2971. 2001-06-05 Derek Price <dprice@collab.net>
  2972. * sanity.sh (crerepos-6a): Set CVS_RSH=/bin/false... this is a local
  2973. mode only test anyhow.
  2974. (Thanks to Larry Jones and Morgan Burke <morgan@sitka.triumf.ca>.)
  2975. 2001-05-31 Derek Price <dprice@collab.net>
  2976. * sanity.sh (rcs2-7): Add today to the list of failure dates for rcs2-7
  2977. in the hopes that the data will eventually prove useful to someone
  2978. motivated enough to fix the problem.
  2979. 2001-05-30 Derek Price <dprice@collab.net>
  2980. * stamp-h2.in: Regenerated.
  2981. 2001-05-30 Derek Price <dprice@collab.net>
  2982. * *: Various bug fixes and comments for the following
  2983. patch from Donald Sharp <sharpd@cisco.com>:
  2984. * checkout.c (safe_location): cvs co -d <directory> still had
  2985. failure modes from the way the -d option works.
  2986. * sanity.sh: Misc error message resynching.
  2987. 2001-05-29 Derek Price <dprice@collab.net>
  2988. * Makefile.am (cvs_SOURCES): Add root.h.
  2989. * Makefile.in: Regenerated.
  2990. * stamp-h2.in: Regenerated.
  2991. 2001-05-29 Derek Price <dprice@collab.net>
  2992. * checkout.c (safe_location): Correct formatting.
  2993. 2001-05-29 Derek Price <dprice@collab.net>
  2994. * root.c (parse_cvsroot): Fix a comment.
  2995. 2001-05-26 Larry Jones <larry.jones@sdrc.com>
  2996. * checkout.c (safe_location): Use old-style definition to keep
  2997. non-ANSI compilers happy.
  2998. * sanity.sh (check_respository): Use ${CVSROOT_DIRNAME} instead
  2999. of /tmp/cvs-sanity/cvsroot.
  3000. 2001-05-25 Larry Jones <larry.jones@sdrc.com>
  3001. * sanity.sh (modules5): Add sleep to script to help avoid out of
  3002. order messages.
  3003. * filesubr.c (mkdir_if_needed): Return 1 if the directory exists
  3004. reguardless of what errno is set to.
  3005. (Reported by "Robinson, Greg" <greg.robinson@dsto.defence.gov.au>.)
  3006. 2001-05-25 Derek Price <dprice@collab.net>
  3007. for Donald Sharp <sharpd@cisco.com>
  3008. * checkout.c: Modified safe_location() to refuse checkout if
  3009. the -d option to co specifies inside of the repository.
  3010. * import.c: New parameter to safe_location needed to be added.
  3011. * cvs.h: New parameter to safe_location needed to be added.
  3012. * sanity.sh: Test case to test for failure mode.
  3013. 2001-05-23 Larry Jones <larry.jones@sdrc.com>
  3014. * checkout.c (checkout_proc): Don't build top_level_admin directory
  3015. when exporting.
  3016. (Reported by Tony Byrne <tonyb@directski.com>.)
  3017. 2001-05-21 Derek Price <dprice@collab.net>
  3018. * client.c: Fix a mispelling in a comment.
  3019. (Patch from Alexey Mahotkin <alexm@hsys.msk.ru>).
  3020. 2001-05-05 Larry Jones <larry.jones@sdrc.com>
  3021. * login.c (password_entry_operation): Only warn if unable to open
  3022. .cvspass for reading: may be initial login and it doesn't exist yet.
  3023. 2001-05-15 Derek Price <dprice@collab.net>
  3024. * client.c (start_tcp_server): Use the struct sockaddr_in declared in
  3025. the function.
  3026. (Reported by Emil Isberg <isberg@dynarc.se>.)
  3027. 2001-05-05 Larry Jones <larry.jones@sdrc.com>
  3028. * annotate.c (annotate): Pass local to do_module and rannotate_proc
  3029. so that -l actually works.
  3030. * log.c (cvslog): Ditto.
  3031. * patch.c (patch): Ditto; make local local instead of global.
  3032. (patch_proc): Use local_specified parameter instead of global.
  3033. * tag.c (cvstag, rtag_proc): Ditto.
  3034. 2001-05-05 Larry Jones <larry.jones@sdrc.com>
  3035. * client.h: Declare "struct buffer" outside prototype for __STDC__
  3036. compilers.
  3037. 2001-05-04 Derek Price <dprice@collab.net>
  3038. * client.c: General refactoring. Removed several global variables in
  3039. favor of passing locals and/or dynamic evaluation.
  3040. (recv_line): Removed this function.
  3041. (make_bufs_from_fds): New function with factored code.
  3042. (connect_to_forked_server): New prototype. Use new functions.
  3043. (connect_to_pserver): New prototype. Use new functions.
  3044. (connect_to_gserver): New prototype. Use new API.
  3045. (auth_server): Factored this portion of the pserver code so it can be
  3046. shared. Rewrote to use buffers rather than depending on a socket.
  3047. (start_rsh_server): New prototype. Use new API.
  3048. (start_tcp_server): New prototype. Use new API.
  3049. (start_server): Factor some code. Use new API.
  3050. * client.h: New prototypes.
  3051. * cvs.h: Gratuitous reformatting. Use new root.h.
  3052. * login.c (login): Use new connect_to_pserver API.
  3053. * root.h: New file. Contains some code that used to be in cvs.h.
  3054. 2001-05-04 Derek Price <dprice@collab.net>
  3055. * client.c: Gratuitous reformatting.
  3056. * client.h: Ditto.
  3057. 2001-05-04 Derek Price <dprice@collab.net>
  3058. * zlib.c (compress_buffer_shutdown_input): Use new buffer shutdown
  3059. prototype.
  3060. (compress_buffer_shutdown_output): Ditto.
  3061. (Thanks to Pavel Roskin <proski@gnu.org>.)
  3062. 2001-05-03 Derek Price <dprice@collab.net>
  3063. * buffer.c (struct stdio_buffer_closure): New structure to hold a
  3064. FILE * and the child's PID when necessary.
  3065. (stdio_buffer_initialize): Change proto to accept PID. Set up new
  3066. closure. Pass new stdio_buffer_shutdown to buf_initialize.
  3067. (stdio_buffer_input): Use new closure.
  3068. (stdio_buffer_output): Ditto.
  3069. (stdio_buffer_flush): Ditto.
  3070. (stdio_buffer_shutdown): New function. Teach buffer to close itself.
  3071. (packetizing_buffer_shutdown): Use new buffer shutdown proto.
  3072. * buffer.h (struct buffer): New buffer shutdown proto.
  3073. (stdio_buffer_initialize): New proto.
  3074. * client.c (log_buffer_shutdown): Use new proto.
  3075. (socket_buffer_initialize): Pass shutdown func.
  3076. (socket_buffer_shutdown): New function.
  3077. * server.c (get_responses_and_close): Remove most of the guts. Rely
  3078. on the buffer shutdown function from now on.
  3079. (start_rsh_server): Return child PID.
  3080. 2001-05-03 Larry Jones <larry.jones@sdrc.com>
  3081. * history.c (history_write): Handle the case where the user's home
  3082. directory doesn't exist gracefully instead of erroring out.
  3083. (Reported by David Hoover <dhoover@cadence.com>.)
  3084. 2001-05-03 Derek Price <dprice@collab.net>
  3085. * cvs.h: s/allocate_and_strcat/xrealloc_and_strcat/ since that is what
  3086. I wrote in the ChangeLog, oh, so long ago.
  3087. * diff.c (diff): Ditto.
  3088. * subr.c (allocate_and_strcat, xrealloc_and_strcat): Ditto.
  3089. 2001-05-02 Larry Jones <larry.jones@sdrc.com>
  3090. * rcs.c (RCS_getdate): Handle the (unusual!) case where we
  3091. can't find any revisions at all.
  3092. (Reported by Ryan Grow <rgrow@Dbdoctor.net>.)
  3093. 2001-04-30 Larry Jones <larry.jones@sdrc.com>
  3094. * sanity.sh (multiroot2-9a): Rename (from multiroot2-9) to avoid
  3095. duplicate names; fix to work without SERVER_SUPPORT defined.
  3096. (Reported by Pavel Roskin <proski@gnu.org>.)
  3097. 2001-04-29 Derek Price <dprice@collab.net>
  3098. * Makefile.am (check-local): Make dependent on localcheck and
  3099. remotecheck and move old check target...
  3100. (localcheck): here.
  3101. * Makefile.in: Regenerated.
  3102. 2001-04-27 Larry Jones <larry.jones@sdrc.com>
  3103. * sanity.sh (pserver): Add tests for readers and writers.
  3104. 2001-04-27 Derek Price <dprice@collab.net>
  3105. * sanity.sh (version-2r): Update to handle patch releases in version
  3106. numbers.
  3107. 2001-04-27 Derek Price <dprice@collab.net>
  3108. * version.c: Regenerated.
  3109. 2001-04-27 Derek Price <dprice@collab.net>
  3110. * version.c: Regenerated.
  3111. 2001-04-27 Larry Jones <larry.jones@sdrc.com>
  3112. * main.c (lookup_command_attribute): Lookup specified command, not
  3113. whatever's in the global command_name.
  3114. 2001-04-25 Derek Price <dprice@collab.net>
  3115. * Makefile.in: Regenerated using AM 1.4e as of today at 18:10 -0400.
  3116. * version.c: Regenerated.
  3117. 2001-04-22 Larry Jones <larry.jones@sdrc.com>
  3118. * tag.c (tag_check_valid): Make an unwritable val-tags file a
  3119. warning instead of a fatal error.
  3120. 2001-04-20 Larry Jones <larry.jones@sdrc.com>
  3121. * annotate.c (annotate_usage): -r and -D are not mutually exclusive.
  3122. * main.c (cmd_usage): Add missing version subcommand.
  3123. * update.c (update_usage): Add missing -C option.
  3124. * sanity.sh (death2): New tests for previous change.
  3125. * classify.c (Classify_File): Treat a dead revision like the RCS
  3126. file doesn't exist.
  3127. * sanity.sh: Update to match.
  3128. 2001-04-16 Larry Jones <larry.jones@sdrc.com>
  3129. * checkout.c, update.c: Fix usage messages: -r and -D are not
  3130. mutually exclusive.
  3131. (Suggested by David L. Martin <dlmart2@home.com>.)
  3132. * logmsg.c (do_editor): Don't add a blank line to the message.
  3133. * sanity.sh (editor-log-file*): Update to match.
  3134. * checkout.c, update.c: Note in usage message that -k is sticky.
  3135. * server.c: (server_cleanup, wait_sig): Remove ancient SunOS kludge.
  3136. (Suggested by Rob Saccoccio <robs@chelsea.net>.)
  3137. 2001-04-04 Larry Jones <larry.jones@sdrc.com>
  3138. * sanity.sh (dotest, dotest_lit, dotest_fail, dotest_status,
  3139. dotest_sort): Don't count on $? being set in then or else clauses.
  3140. * ignore.c (ignore_files): Collect unignored files into a list and
  3141. sort it before calling PROC to avoid order dependencies. Rewrite
  3142. the while loop to allow normal continues instead of goto.
  3143. 2001-04-04 Derek Price <dprice@collab.net>
  3144. * sanity.sh (ignore-on-branch-3): Fix in the remote case.
  3145. 2001-04-03 Larry Jones <larry.jones@sdrc.com>
  3146. * update.c (update_fileproc): Remove unused variable (resurrecting).
  3147. 2001-04-03 Derek Price <dprice@collab.net>
  3148. Larry Jones <larry.jones@sdrc.com>
  3149. reported by Jakob Břhm <JB@Danware.dk>
  3150. * update.c (update_fileproc): Don't store a file with T_UNKNOWN status
  3151. in ignlist if present in the sandbox.
  3152. * sanity.sh (ignore-on-branch): New test.
  3153. (ignore): Tidy this test.
  3154. 2001-04-02 Derek Price <dprice@collab.net>
  3155. * sanity.sh: Make sure the test for `id' fails when a nonstandard `id'
  3156. is used and the user is root. Fix some quoting in error messages.
  3157. (fork): Take `cvs' out of the PATH.
  3158. (TODO): Add note about the test suite not working with user names over
  3159. eight characters in length.
  3160. 2001-04-02 Derek Price <dprice@collab.net>
  3161. * sanity.sh (fork): New test for CVS_SERVER default.
  3162. (TODO): Note about eventually removing most of the references to
  3163. CVS_SERVER.
  3164. 2001-04-02 Larry Jones <larry.jones@sdrc.com>
  3165. * client.c (connect_to_forked_server): Use program_path as the default
  3166. server instead of "cvs".
  3167. 2001-04-02 Derek Price <dprice@collab.net>
  3168. * sanity.sh: Use less obfuscated English in my comment about sanity
  3169. checking sanity.sh.
  3170. 2001-04-02 Derek Price <dprice@collab.net>
  3171. * sanity.sh (rm-update-message): Create a test directory again but
  3172. change back to the correct directory upon completion this time.
  3173. 2001-04-02 Derek Price <dprice@collab.net>
  3174. * sanity.sh: Change last two '[.*]'s to 'test's for
  3175. consistency and remove...
  3176. (TODO): the note from the TODO list.
  3177. 2001-04-02 Derek Price <dprice@collab.net>
  3178. * sanity.sh: Add test for PWD before successful exit.
  3179. 2001-03-30 Larry Jones <larry.jones@sdrc.com>
  3180. * sanity.sh (rm-update-message): Remove duplicate code.
  3181. 2001-03-30 Derek Price <dprice@collab.net>
  3182. * sanity.sh (rm-update-message): New test for local/client-server
  3183. warning message discrepency.
  3184. 2001-03-30 Larry Jones <larry.jones@sdrc.com>
  3185. * annotate.c: Move annotate() here from rcs.c, support rannotate.
  3186. * Makefile.am, Makefile.in: Add annotate.c.
  3187. * main.c (cmds[], cmd_usage[]): Add rannotate.
  3188. * rcs.c: Move declarations of rcs_delta_op and RCS_deltas to...
  3189. * rcs.h: ... here.
  3190. * server.c (serve_rannotate): New.
  3191. (requests[]): Add rannotate.
  3192. * sanity.sh (ann): New tests for rannotate.
  3193. * log.c (rlog_proc): Remove dead code.
  3194. 2001-03-30 Derek Price <dprice@collab.net>
  3195. * sanity.sh (join-readonly-conflict): Run more of this through dotest.
  3196. 2001-03-30 Larry Jones <larry.jones@sdrc.com>
  3197. * log.c (log_fileproc): Don't output working file for rlog.
  3198. * sanity.sh (log): New tests for rlog.
  3199. * cvs.h (mtype): Add MISC type.
  3200. * log.c (cvslog): Support rlog as well as log.
  3201. (rlog_proc): New.
  3202. * main.c (cmds[], cmd_usage[]): Add rlog.
  3203. (main): Remove old rlog warning message.
  3204. * server.c (serve_rlog): New.
  3205. (requests[]): Add rlog.
  3206. 2001-03-29 Derek Price <dprice@collab.net>
  3207. * sanity.sh: cd to $TESTDIR once after it is normalized. Make TODO
  3208. on history and symlinks more specific. Tested properly this time.
  3209. 2001-03-29 Larry Jones <larry.jones@sdrc.com>
  3210. * main.c (cmds[], lookup_command_attribute, main): Include the
  3211. command attributes in the global command table instead of inferring
  3212. them from the command names. Change the sense of the
  3213. CVS_CMD_IGNORE_ADMROOT attribute to match its name.
  3214. 2001-03-29 Derek Price <dprice@collab.net>
  3215. * sanity.sh (*, basic2-64): Remove references to TMPPWD. Fix FIXME
  3216. at end of script now that $TESTDIR can't be relative.
  3217. 2001-03-29 Derek Price <dprice@collab.net>
  3218. * sanity.sh: Normalize TESTDIR even when the user set it.
  3219. 2001-03-29 Larry Jones <larry.jones@sdrc.com>
  3220. * client.c (connect_to_pserver, start_tcp_server): Add IP address
  3221. to connect failed message.
  3222. (connect_to_forked_server, connect_to_pserver, start_tcp_server): Add
  3223. trace messages ala start_rsh_server.
  3224. (start_rsh_server): Include entire command in trace message for
  3225. START_RSH_WITH_POPEN_RW like ! START_RSH_WITH_POPEN_RW does.
  3226. 2001-03-29 Derek Price <dprice@collab.net>
  3227. * sanity.sh: Global search & replace ${TESTDIR}/cvsroot with
  3228. ${CVSROOT_DIRNAME} for consistency.
  3229. 2001-03-29 Derek Price <dprice@collab.net>
  3230. * sanity.sh (conflicts-12[68].5): Remove sanity hack which has allowed
  3231. for a CVS bug since May 96/97. Not sure when the bug went bye-bye, but
  3232. the tests broke when $TESTDIR != $TMPPWD.
  3233. 2001-03-26 Larry Jones <larry.jones@sdrc.com>
  3234. * classify.c (Classify_File): Don't report a conflict for a removed
  3235. file when piping. Also simplify the code structure.
  3236. (Reported by Milos Kleint <milos.kleint@netbeans.com>.)
  3237. * sanity.sh (rmadd2-14[abc]): New tests for above.
  3238. 2001-03-24 Noel Cragg <noel@shave.cnet.com>
  3239. * diff.c: mods to allow `-T' and `-y' options to be passed through
  3240. to the diff library. This wasn't allowed earlier because of a
  3241. similarly named options that got passed through to the old rcs
  3242. programs. We've long since stopped sending `-T' to any rcs
  3243. utility and have never used `-y'. Any users of moldly CVS
  3244. versions which used to support `-T' have (hopefully) upgraded to
  3245. one where that option isn't supported. It seems reasonable to
  3246. enable them again and pass them through. (sanity.sh still works
  3247. anyways...)
  3248. (longopts): add short option equivalents for --initial-tab and
  3249. --side-by-side.
  3250. (diff): add new short options to getopt string and switch
  3251. statement.
  3252. 2001-03-22 Larry Jones <larry.jones@sdrc.com>
  3253. * sanity.sh: Add check for ${DOTSTAR} with large matches.
  3254. 2001-03-23 Derek Price <dprice@collab.net>
  3255. * sanity.sh: Do the same as below for $keep.
  3256. 2001-03-23 Derek Price <dprice@collab.net>
  3257. * sanity.sh: Replace 'remote=(yes|no)' with 'remote=(:|false)' since
  3258. often 'false' and more often ':' are shell builtins. This makes the
  3259. succinct, 'if $remote; then' faster than 'if test $remote = yes; then'.
  3260. Alter tests in the rest of the script to match the new usage. Added
  3261. a suffix of 'r' to remote test names when it was appropriate and I
  3262. remembered. Some reformatting.
  3263. 2001-03-22 Larry Jones <larry.jones@sdrc.com>
  3264. * sanity.sh (diffmerge1_yours, diffmerge1_mine): Check for exact
  3265. output instead of using wildcards to avoid buffer overflows in some
  3266. versions of expr.
  3267. 2001-03-21 Derek Price <dprice@collab.net>
  3268. * sanity.sh: cd to '/tmp' again rather than $HOME since HOME was set to
  3269. a value inside ${TESTDIR} by the script.
  3270. 2001-03-20 Derek Price <dprice@collab.net>
  3271. * sanity.sh (diffmerge1): Minor formatting and syntax changes.
  3272. for Jacob Burckhardt <bjacob@ca.metsci.com>
  3273. * sanity.sh (diffmerge1): More merging behavior tests. Specifically,
  3274. test some cases which broke before in Karl Tomlinson's diff fix was
  3275. checked in today.
  3276. 2001-03-20 Derek Price <dprice@collab.net>
  3277. * sanity.sh: Don't use unescaped parens in sh outside of quotes.
  3278. 2001-03-20 Derek Price <dprice@collab.net>
  3279. * sanity.sh: Don't remove ${TESTDIR} when -k (keep) set.
  3280. 2001-03-20 Derek Price <dprice@collab.net>
  3281. * sanity.sh: Change usage to match the new getopts format and comment.
  3282. 2001-03-16 Derek Price <dprice@collab.net>
  3283. * sanity.sh (modules2-nestedrename): New test. Verifies behavior of
  3284. renames nested under an ampersand module.
  3285. (modules2-ampertag): New test. Verifies an error condition which
  3286. prevents some ampersand modules from being checked out when a tag
  3287. is specified.
  3288. 2001-03-16 Derek Price <dprice@collab.net>
  3289. * sanity.sh (modules2): Additional test for ampersand module behavior
  3290. with '-d'.
  3291. for Greg Klanderman <greg@itasoftware.com>
  3292. * checkout.c (build_one_dir): Fix typo where clauses of two
  3293. conditionals were reversed in call to Create_Admin. This caused
  3294. the CVS/Tag file to be removed in cases where it should have been
  3295. set, and vice-versa. It only surfaced in rare cases as this code
  3296. is only invoked when using the -d option to build the path to
  3297. check out in. Further, the bug would only matter when checking
  3298. out a module containing ampersand modules within it, via
  3299. client/server CVS.
  3300. 2001-03-16 Derek Price <dprice@collab.net>
  3301. * sanity.sh (admin-28-5): Confirm that a missing tag during an
  3302. 'admin -n' operation is not a fatal error.
  3303. 2001-03-16 Derek Price <dprice@collab.net>
  3304. * admin.c (admin_data): Remove 'quiet' member.
  3305. (admin_fileproc): Use global 'really_quiet' rather than
  3306. admin_data->quiet.
  3307. 2001-03-16 Derek Price <dprice@collab.net>
  3308. * sanity.sh (admin): Replace hardcoded testdir path with the variable.
  3309. 2001-03-15 Derek Price <derek.price@openavenue.com>
  3310. * sanity.sh (basica, binfiles, head, admin): Adjust for new messages.
  3311. * admin.c (admin_fileproc): Only print messages when not in
  3312. really_quiet mode.
  3313. for Stephen Rasku <stephen@tgivan.com>
  3314. * rcs.c (RCS_tag2rev): Make a missing tag a survivable error.
  3315. 2001-03-15 Larry Jones <larry.jones@sdrc.com>
  3316. * subr.c (sleep_past): Fix various bugs that would result in a
  3317. negative sleep time if it weren't unsigned; since it is, it would
  3318. result in a very large sleep time. Ensure that us is always less
  3319. than 1000000. Don't try to sleep for more 1 sec with usleep.
  3320. Cast NULL select arguments to correct type just in case.
  3321. 2001-03-14 Derek Price <derek.price@openavenue.com>
  3322. * subr.c (sleep_past): New function.
  3323. * client.c (get_responses_and_close): Use new function.
  3324. * commit.c (commit): Ditto.
  3325. * update.c (do_update): Ditto.
  3326. * cvs.h: Prototype new function.
  3327. * stamp-h2.in: Regenerated.
  3328. 2001-03-14 Derek Price <derek.price@openavenue.com>
  3329. * Makefile.in: Regenerated.
  3330. * stamp-h2.in: Ditto.
  3331. 2001-03-14 Larry Jones <larry.jones@sdrc.com>
  3332. * commit.c (check_fileproc): Allow adding on the trunk when there's
  3333. an existing non-Attic RCS file as long as the head revision is dead.
  3334. This can happen due to an aborted resurrection.
  3335. (commit_fileproc): When resurrecting, consider the dead revision
  3336. along with the other files' revisions.
  3337. (findmaxrev): Avoid unnecessary work.
  3338. (checkaddfile): Only warn if file isn't in Attic as expected.
  3339. (Reported by Ross Burton <r.burton@180sw.com>.)
  3340. * sanity.sh (basica-r*): New tests for above.
  3341. (basica-o4): Update to match.
  3342. 2001-03-09 Larry Jones <larry.jones@sdrc.com>
  3343. * edit.c (edit_fileproc, unedit_fileproc): Some implementations of
  3344. asctime/ctime apparently use a leading zero on the date instead
  3345. of the space required by the C Standard. Correct for this so that
  3346. shared working directories work without hassle.
  3347. (Reported by David L. Martin <dlmart2@home.com>.)
  3348. * entries.c (fgetentent): Ditto.
  3349. * vers_ts.c (time_stamp_server, time_stamp) Ditto.
  3350. 2001-03-07 Larry Jones <larry.jones@sdrc.com>
  3351. * sanity.sh (basica, binfiles2, head, admin): Update to match
  3352. change to admin.c.
  3353. 2001-03-06 Larry Jones <larry.jones@sdrc.com>
  3354. * client.c (recv_bytes): Handle EOF as in recv_line().
  3355. (Reported by Pavel Roskin <proski@gnu.org>.)
  3356. * admin.c (admin_fileproc): Change final error message to clarify
  3357. that CVS refused to modify the RCS file rather than being unable to.
  3358. 2001-02-28 Jim Meyering <meyering@lucent.com>
  3359. * commit.c (commit_usage): Use `-F logfile' (rather than -F file') in
  3360. the description of that option, to be consistent with the `-F logfile'
  3361. in the Usage: line. Use spaces instead of TAB characters, and realign.
  3362. 2001-03-02 Derek Price <derek.price@openavenue.com>
  3363. * sanity.sh (crerepos): Make failed ${CVS_RSH-rsh} attempt print the
  3364. name of the command it actually used rather than 'rsh'.
  3365. 2001-02-27 Derek Price <derek.price@openavenue.com>
  3366. * sanity.sh (modules2-ampermod-*): Added these tests to make sure the
  3367. top level directory is created in an ampermodule when '-n' is passed to
  3368. checkout.
  3369. original bug report from
  3370. Wolfgang Haefelinger <Wolfgang.Haefelinger@Dresdner-Bank.com>
  3371. 2001-02-27 Derek Price <derek.price@openavenue.com>
  3372. * sanity.sh (version-[12]): replace ' (client/server)' with .* in these
  3373. two tests so that 'make check' works with whatever client/server
  3374. options the executable was compiled with.
  3375. 2001-02-23 Derek Price <derek.price@openavenue.com>
  3376. * main.c (main): Only check a cvsroot_t's isremote member when client
  3377. support is enabled.
  3378. * server.c: Include GSSAPI headers with client support as well as
  3379. server support.
  3380. 2001-02-21 Larry Jones <larry.jones@sdrc.com>
  3381. * modules.c, cvs.h (do_module): Add build_dirs argument and use it
  3382. instead of run_module_prog. Change all callers.
  3383. * tag.c (cvstag): For rtag, don't build directories.
  3384. * sanity.sh (modules3): Update to match.
  3385. 2001-02-20 Derek Price <derek.price@openavenue.com>
  3386. * client.c: Use xgssapi.h.
  3387. * server.c: Ditto.
  3388. 2001-02-15 Derek Price <derek.price@openavenue.com>
  3389. * Makefile.am (cvs_SOURCES): Correct error from yesterday.
  3390. * Makefile.in: Regenerated.
  3391. 2001-02-14 Derek Price <derek.price@openavenue.com>
  3392. * server.c: Include xselect.h.
  3393. * update.c (do_update): Use best available sleep function.
  3394. 2001-02-14 Derek Price <derek.price@openavenue.com>
  3395. * Makefile.am (cvs_SOURCES): Alphabetize and split to one/line.
  3396. (cvs_LDADD): Alphabetize and split to one/line.
  3397. * Makefile.in: Regenerated.
  3398. 2001-02-14 Larry Jones <larry.jones@sdrc.com>
  3399. * build_src.com: Remove references to rtag.c & rtag.obj.
  3400. 2001-02-13 Derek Price <derek.price@openavenue.com>
  3401. * main.c (date_to_tm): New function to convert an RCS date string to a
  3402. struct tm.
  3403. (tm_to_internet): New function to convert a struct tm to a date string
  3404. as specified by RFC822 and amended by RFC 1123.
  3405. (date_to_internet): Use the above two functions and a struct tm
  3406. intermediary for conversion.
  3407. * patch.c (patch_fileproc): Answer somebody's comment and use the new
  3408. diff_exec API.
  3409. * rcs.c (RCS_checkin): Use new diff_exec API.
  3410. (RCS_delete_revs): Use new diff_exec API.
  3411. (make_file_label): If the file name is DEVNULL, date it the Epoch for
  3412. compatibility with the POSIX.2 spec and Larry Wall's patch
  3413. implementation.
  3414. * rcscmds.c (diff_exec): Accept new label arguments.
  3415. * sanity.sh (death2): Update some diff tests to accept the new format.
  3416. * update.c (patch_file): Use new diff_exec API.
  3417. * diff.c (diff_fileproc): Create header labels appropriate for
  3418. compatibility with the Larry Wall version of patch.
  3419. (diff): Rename calls to strcat_and_allocate.
  3420. (strcat_and_allocate): Rename and move...
  3421. * subr.c (xrealloc_and_strcat): here.
  3422. * cvs.h: Update prototypes to match.
  3423. 2001-02-13 Derek Price <derek.price@openavenue.com>
  3424. * Makefile.am (cvs_SOURCES): Remove rtag.c.
  3425. 2001-02-07 Larry Jones <larry.jones@sdrc.com>
  3426. * sanity.sh (directory_cmp): Return status rather than setting ISDIFF.
  3427. (basic2): Rewrite using dotest.
  3428. 2001-02-06 Larry Jones <larry.jones@sdrc.com>
  3429. * tag.c, rtag.c: Merge with tag.c being the surviving file.
  3430. * Makefile.in: Update to match.
  3431. * main.c (cmds): rtag() => cvstag().
  3432. * server.c (serve_rtag): Ditto, and set command name.
  3433. 2001-02-06 Derek Price <derek.price@openavenue.com>
  3434. Rex Jolliff <Rex_Jolliff@notes.ymp.gov>
  3435. Shawn Smith <Shawn_Smith@notes.ymp.gov>
  3436. * add.c: Replace opendir, closedir, & readdir calls with CVS_OPENDIR,
  3437. CVS_CLOSEDIR, & CVS_READDIR in support of changes to handle VMS DEC C
  3438. 5.7 {open,read,close}dir problems. Check today's entry in the vms
  3439. subdir for more.
  3440. * filesubr.c: ditto
  3441. * find_names.c: ditto
  3442. * ignore.c: ditto
  3443. * import.c: ditto
  3444. * lock.c: ditto
  3445. * update.c: ditto
  3446. 2001-02-02 Larry Jones <larry.jones@sdrc.com>
  3447. * error.h: Changed include guard macro from _error_h_ to ERROR_H;
  3448. names beginning with underscore are reserved.
  3449. * login.c (password_entry_parseline, password_entry_operation,
  3450. password_entry_operation_e, password_entry_operation_t): Removed
  3451. leading underscore(s).
  3452. (password_entry_parseline): Corrected error messages.
  3453. (password_entry_operation): Fixed uninitialized variable (password).
  3454. (login): Removed unused variable (found_password).
  3455. * rtag.c (rtag_proc): Call lock_tree_for_write() before calling
  3456. start_recursion. This fixes a serious problem where do_recursion
  3457. was reading and caching RCS files without any locks in place and
  3458. that information was subsequently being used to rewrite the file
  3459. causing any intermediate changes to be lost.
  3460. (rtag_filesdoneproc): Defunct.
  3461. (Reported by Karl Tomlinson <k.tomlinson@auckland.ac.nz>.)
  3462. * tag.c (cvstag, tag_filesdoneproc): Ditto.
  3463. * lock.c (lock_tree_for_write): Add which argument, change all
  3464. callers to pass W_LOCAL.
  3465. * rcs.h: Ditto.
  3466. 2001-01-29 Derek Price <derek.price@openavenue.com>
  3467. * client.c (get_cvs_port_number): change the prototype to accept a
  3468. const cvsroot_t * as input and add a FIXME comment
  3469. * cvs.h: new prototypes for get_cvs_port_number & normalize_cvsroot
  3470. * login.c (_password_entry_operation): consolidate all the ~/.cvspass
  3471. access into a single new function which reads ~/.cvspass in a backwards
  3472. compatible manner
  3473. (logout): use the new _password_entry_operation function
  3474. (login): ditto
  3475. (get_cvs_password): ditto
  3476. * root.c (normalize_cvsroot): move knowledge of default port & username
  3477. values inside
  3478. 2001-01-29 Larry Jones <larry.jones@sdrc.com>
  3479. * subr.c (shell_escape): New function.
  3480. * cvs.h: Declare it.
  3481. * logmsg.c (logfile_write): Use it to avoid problems with filenames
  3482. containing "'".
  3483. (Reported by Gerhard Ahuis <gerhard@ats.xs4all.nl>.)
  3484. * server.c (outbuf_memory_error, pserver_authenticate_connection,
  3485. kserver_authenticate_connection): If available, use syslog() to
  3486. record some errors.
  3487. 2001-01-25 Larry Jones <larry.jones@sdrc.com>
  3488. * server.c (do_cvs_command): If there's a partial output line left
  3489. over and the client doesn't support MT, go ahead and send it in an
  3490. M response instead of just dropping it.
  3491. (Reported by Milos Kleint <Milos.Kleint@netbeans.com>.)
  3492. * update.c (update_fileproc): Handle toss_local_changes in the
  3493. T_NEEDS_MERGE case.
  3494. (Inspired by Noel L Yap <yap_noel@jpmorgan.com>.)
  3495. * sanity.sh (clean): New tests for above.
  3496. 2001-01-23 Derek Price <derek.price@openavenue.com>
  3497. * run.c (run_exec): flush, if used, stderr and stdout before exit
  3498. * server.c (cvs_flusherr): flush stderr & send a stderr flush command
  3499. on the protocol pipe
  3500. (cvs_flushout): like above, for stdout
  3501. (do_cvs_command): handle flushes properly
  3502. * sanity.sh (reserved): make the commitinfo script echo errors to
  3503. stderr rather than stdin
  3504. 2001-01-18 Larry Jones <larry.jones@sdrc.com>
  3505. * log.c (option_revlist, revlist, log_usage, cvslog,
  3506. log_parse_revlist, log_expand_revlist, log_version_requested): Add
  3507. support for :: for exclusive ranges.
  3508. * admin.c (admin_usage): Reorder -o to be parallel to log -r.
  3509. * sanity.sh (log): New tests for above.
  3510. 2001-01-18 Derek Price <derek.price@openavenue.com>
  3511. * main.c: Add '2001' to the range of copyright years listed by the
  3512. --version option
  3513. * version.c.in (version): check current_parsed_root before its isremote
  3514. member to avoid a core dump
  3515. * sanity.sh (version): add a test for the version command
  3516. * version.c: regenerated
  3517. 2001-01-12 Larry Jones <larry.jones@sdrc.com>
  3518. * rcs.c, rcs.h (RCS_lock, RCS_unlock): Use RCS_gettag to find the
  3519. correct revision so that symbolic tags work correctly. (This
  3520. requires removing the "const" from the rev parameter since it's
  3521. passed to RCS_gettag which might modify it.)
  3522. (Reported by irina sturm <irina.sturm@st.com>.)
  3523. 2001-01-11 Larry Jones <larry.jones@sdrc.com>
  3524. * run.c (close_on_exec): Remove check for FD_CLOEXEC. As far as I
  3525. can see, it's *never* been defined, which defeats the whole point.
  3526. If F_SETFD is defined, it's probably safe to use it.
  3527. * server.c (do_cvs_command): Call close_on_exec on the protocol and
  3528. flow control pipes in the child process so they don't get inherited
  3529. by any subsidiary processes.
  3530. (Reported by Tristan Gingold <tgi@netgem.com>.)
  3531. * cvs.h (free_cvsroot_t): Spell correctly (was free_CVSroot_t).
  3532. 2001-01-10 Derek Price <derek.price@openavenue.com>
  3533. Rex Jolliff <Rex_Jolliff@notes.ymp.gov>
  3534. * build_src.com: VMS changes
  3535. * filesubr.c: replace calls to unlink() with CVS_UNLINK() for VMS
  3536. * rcs.c: ditto
  3537. 2001-01-10 Derek Price <derek.price@openavenue.com>
  3538. * main.c (current_root): explicitly list this as a static global
  3539. 2001-01-10 Derek Price <derek.price@openavenue.com>
  3540. * cvs.h (get_cvs_port_number): change name & prototype from
  3541. get_port_number
  3542. * client.c (get_cvs_port_number): new function which returns a port
  3543. number based on a cvsroot_t rather than requiring all possible sources
  3544. passed in
  3545. (connect_to_pserver): use new get_cvs_port_number function
  3546. (connect_to_server): ditto
  3547. * login.c (get_password): use new get_cvs_port_number function
  3548. (login): ditto
  3549. (logout): ditto
  3550. 2001-01-10 Derek Price <derek.price@openavenue.com>
  3551. * Makefile.am ($(srcdir)/version.c): specify $(srcdir) for all subparts
  3552. of the build since some systems don't allow mv's across partitions
  3553. * Makefile.in: regenerated
  3554. 2001-01-10 Derek Price <derek.price@openavenue.com>
  3555. * Makefile.am (version.c): specify $(srcdir) explicitly in target rule
  3556. so version.c gets built properly for all makes.
  3557. (version.o): specify $(srcdir)/version.c explicitly so dependency is
  3558. found and built properly
  3559. * Makefile.in: regenerated
  3560. 2001-01-09 Derek Price <derek.price@openavenue.com>
  3561. * version.c: updated timestamp
  3562. 2001-01-09 Larry Jones <larry.jones@sdrc.com>
  3563. * server.c (server): Change to server_temp_dir immediately after
  3564. creating it so that any stray files that happen to be created go
  3565. there instead of in the server's initial directory, wherever that
  3566. may be.
  3567. * sanity.sh (modules5-15): Update to match.
  3568. * version.c.in: Update to match Derek's change to version.c.
  3569. 2001-01-09 Derek Price <derek.price@openavenue.com>
  3570. * cvs.h: Remove the various CVSroot_* bits and replace them with a
  3571. single structure of type cvsroot_t (current_parsed_root)
  3572. * root.c (parse_cvsroot): return pointer to a new cvsroot_t rather than
  3573. altering global variables
  3574. (local_cvsroot): return a pointer to a new cvsroot_t rather than
  3575. setting globals. changed the name of this function from
  3576. set_local_cvsroot to better explain new functionality
  3577. (new_cvsroot_t): new initializer function
  3578. (free_cvsroot_t): new function
  3579. (others): use current_parsed_root rather than the old CVSroot_* globals
  3580. * add.c: use current_parsed_root rather than the old CVSroot_* globals
  3581. * admin.c: ditto
  3582. * checkout.c: ditto
  3583. * client.c: ditto
  3584. * commit.c: ditto
  3585. * create_adm.c: ditto
  3586. * diff.c: ditto
  3587. * edit.c: ditto
  3588. * expand_path.c: ditto
  3589. * find_names.c: ditto
  3590. * history.c: ditto
  3591. * ignore.c: ditto
  3592. * import.c: ditto
  3593. * lock.c: ditto
  3594. * log.c: ditto
  3595. * login.c: ditto
  3596. * logmsg.c: ditto
  3597. * main.c: ditto
  3598. * mkmodules.c: ditto
  3599. * modules.c: ditto
  3600. * parseinfo.c: ditto
  3601. * patch.c: ditto
  3602. * rcs.c: ditto
  3603. * recurse.c: ditto
  3604. * release.c: ditto
  3605. * remove.c: ditto
  3606. * repos.c: ditto
  3607. * rtag.c: ditto
  3608. * server.c: ditto
  3609. * status.c: ditto
  3610. * tag.c: ditto
  3611. * update.c: ditto
  3612. * version.c: ditto
  3613. * watch.c: ditto
  3614. * wrapper.c: ditto
  3615. 2001-01-05 Derek Price <derek.price@openavenue.com>
  3616. * cvs.h (enum CVSmethod): add null_method
  3617. * root.c (method_names): correlate null_method & "undefined"
  3618. (parse_cvsroot): make two error cases non fatal
  3619. * sanity.sh (crerepos-6b): account for new error message, re above
  3620. 2001-01-05 Derek Price <derek.price@openavenue.com>
  3621. * src/Makefile.am (cvsbug, cvsbug_EXTRA_DIST, EXTRA_DIST): move cvsbug
  3622. target to configure.in - see ../ChangeLog for more
  3623. * src/cvsbug.in: Rename from cvsbug.sh
  3624. * src/cvsbug.sh: Rename to cvsbug.in
  3625. 2001-01-04 Larry Jones <larry.jones@sdrc.com>
  3626. * Makefile.am (cvsbug): Explicitly list input file ($< is only
  3627. valid in inference rules).
  3628. * Makefile.in: Ditto.
  3629. 2001-01-04 Derek Price <derek.price@openavenue.com>
  3630. * sanity.sh: use getopts rather than getopt for portability reasons
  3631. 2001-01-03 Derek Price <derek.price@openavenue.com>
  3632. * Makefile.am (remotecheck): depend on 'all'
  3633. * Makefile.in: regenerated
  3634. 2000-12-29 Derek Price <derek.price@openavenue.com>
  3635. * sanity.sh: remove explicit "$@" from last checkin and move the 'do'
  3636. to the line following the 'for'. Apparently this is more portable.
  3637. 2000-12-29 Derek Price <derek.price@openavenue.com>
  3638. * sanity.sh: make "$@" explicit in 'for' statement since Solaris 5.6's
  3639. implementation of Bourne shell doesn't seem to implement this default
  3640. behavior.
  3641. 2000-12-27 Derek Price <derek.price@openavenue.com>
  3642. * sanity.sh: add a -f option for continuing from a particular test
  3643. and shorten --keep to -k so we can use the getopt function.
  3644. 2000-12-27 Derek Price <derek.price@openavenue.com>
  3645. * Makefile.am (remotecheck): Make remotecheck dependant on all
  3646. * Makefile.in: regenerated
  3647. 2000-12-26 Derek Price <derek.price@openavenue.com>
  3648. * Makefile.in: update timestamp
  3649. * stamp-h2.in: ditto
  3650. * version.c: ditto
  3651. 2000-12-26 Derek Price <derek.price@openavenue.com>
  3652. * Makefile.am: new target for version.c
  3653. (EXTRA_DIST): add version.c.in & version.c so builds work when
  3654. configure doesn't
  3655. * Makefile.in: Regenerated
  3656. * stamp-h2.in: update timestamp
  3657. * version.c: ditto
  3658. 2000-12-26 Derek Price <derek.price@openavenue.com>
  3659. * Makefile.am (INCLUDES): add zlib
  3660. * Makefile.in: Regenerated
  3661. 2000-12-22 Derek Price <derek.price@openavenue.com>
  3662. * Makefile.am (DISTCLEANFILES): added a few files
  3663. (INCLUDES): commented
  3664. * Makefile.in: Regenerated
  3665. 2000-12-21 Derek Price <derek.price@openavenue.com>
  3666. * .cvsignore: Added .deps directory and a new stamp file
  3667. * Makefile.am: New file needed by Automake
  3668. * Makefile.in: Regenerated
  3669. * stamp-h2.in: New stamp file created by Automake
  3670. * version.c.in: use configure to generate version.c
  3671. 2000-12-16 Derek Price <derek.price@openavenue.com>
  3672. * server.c (server_update): Keep the vers structure up to date after
  3673. sending a Remove or Remove-entry command to the client
  3674. * update.c (update): remove call to server_updated() after
  3675. scratch_file()
  3676. (scratch_file): in server mode, call server_updated(), otherwise keep
  3677. the vers structure up to date
  3678. (join_file): add a trace, save the revision to Register() on a remove
  3679. before calling server_scratch & server_updated
  3680. * sanity.sh (join): Add test for a remove/add caused by an update
  3681. to a new branch and a join in the same step.
  3682. 2000-12-15 Larry Jones <larry.jones@sdrc.com>
  3683. * error.c (error): Add %ld and %lu.
  3684. * history.c: Change hrec.idx from int to long, reformat NEXT_BAR
  3685. for readability, add hrec_idx.
  3686. (fill_hrec): Change initialization to be portable and always set
  3687. idx so it can be used as a line number in error messages; improve
  3688. parsing and error checking.
  3689. (read_hrecs): Initialize hrec_idx, handle embedded NULs, warn about
  3690. no newline at end of file.
  3691. (select_hrec): Add basic validity checking.
  3692. 2000-12-07 Larry Jones <larry.jones@sdrc.com>
  3693. * history.c (history): Allow multiple -m options as documented.
  3694. 2000-11-29 Derek Price <derek.price@openavenue.com>
  3695. * root.c (parse_cvsroot): back out yesterday's redundant changes
  3696. * main.c (main): fix CVSROOT trace message to look like other trace
  3697. messages
  3698. * sanity.sh (multiroot2-9): expect new trace message
  3699. 2000-11-28 Derek Price <derek.price@openavenue.com>
  3700. * root.c (parse_cvsroot): add trace on this function
  3701. * client.c (get_port_number): make trace print look like others
  3702. 2000-11-16 Derek Price <derek.price@openavenue.com>
  3703. * filesubr.c (cvs_temp_file): back out the previous change in the
  3704. interests of portability, add an assertion, and fix the header comment
  3705. 2000-11-16 Derek Price <derek.price@openavenue.com>
  3706. * filesubr.c (cvs_temp_file): refine the exit behavior to notice if
  3707. the out param was passed in NULL and, if so, avoid setting it and delete
  3708. the temp file for later
  3709. 2000-11-16 Derek Price <derek.price@openavenue.com>
  3710. * filesubr.c (cvs_temp_file): fixed a garble or two, added some
  3711. additional error checking, and added a comment
  3712. 2000-11-15 Derek Price <derek.price@openavenue.com>
  3713. * filesubr.c (cvs_temp_file): added cvs_temp_file
  3714. function to use mkstemp rather than one of the other temp file
  3715. generators as gcc keeps complaining I should.
  3716. (cvs_temp_name): altered this function to simply wrap cvs_temp_file
  3717. and deprecated it
  3718. * cvs.h: added prototype for cvs_temp_file
  3719. * commit.c (commit): use the new function instead of the old and plug
  3720. an old (though related) memory leak.
  3721. * import.c (import): use the new function
  3722. * login.c (login): Ditto
  3723. * logmsg.c (do_editor, do_verify): Ditto
  3724. * patch.c (patch_fileproc): Ditto
  3725. 2000-11-14 Larry Jones <larry.jones@sdrc.com>
  3726. * update.c, update.h (do_update): Add xdotemplate parameter.
  3727. Change all callers.
  3728. (update_dirent_proc): Use dotemplate for Create_Admin, not 1.
  3729. * checkout.c (checkout_proc): Don't create CVS/Template if
  3730. exporting.
  3731. (Reported by Andrey Podkolzin <mdh@zenon.net>.)
  3732. 2000-11-08 Larry Jones <larry.jones@sdrc.com>
  3733. * admin.c (admin): Use getgroups() to check for membership in
  3734. CVS_ADMIN_GROUP if it exists. In any event, check the user's
  3735. primary group in addition to any additional groups.
  3736. (Reported by Thomas Okken <TOkken@refco.com>.)
  3737. 2000-11-06 Jim Meyering <meyering@lucent.com>
  3738. Compile with gcc's -Wformat and fix the exposed problems.
  3739. * root.c (parse_cvsroot) [! HAVE_KERBEROS]: Provide an argument
  3740. for the %s error format spec.
  3741. [! HAVE_GSSAPI]: Likewise.
  3742. (normalize_cvsroot): Put comment delimiters around token after `#endif'.
  3743. 2000-11-03 Larry Jones <larry.jones@sdrc.com>
  3744. * sanity.sh: Some versions of sed require a space between -e and
  3745. the value.
  3746. 2000-10-27 Larry Jones <larry.jones@sdrc.com>
  3747. * checkout.c (checkout): Don't check for a safe location if just
  3748. cat'ing the module database.
  3749. (Reported by Ilya Martynov <m_ilya@agava.com>.)
  3750. Have -s set cat as well as status; it simplifies the code.
  3751. 2000-10-26 Larry Jones <larry.jones@sdrc.com>
  3752. * sanity.sh (join-admin-2): Check output from all commands instead
  3753. of (mostly) discarding. (Some of the tests used to produce stray
  3754. output in remote mode.)
  3755. * sanity.sh (dotest_line_by_line): Handle empty lines in pattern
  3756. (expr doesn't distingish between successfully matching nothing
  3757. and failing to match anything).
  3758. * sanity.sh (dotest_internal): Rearrange and use elif to simplify.
  3759. 2000-10-24 Jim Meyering <meyering@lucent.com>
  3760. Fix a bug, introduced with my fix of 2000-07-10, whereby -kk would
  3761. sometimes be ignored for some of the files involved in an update.
  3762. * update.c (join_file): Restore the original value of `options'
  3763. right after calling checkout_file.
  3764. * sanity.sh (join-admin-2): New test for this.
  3765. 2000-10-23 Derek Price <derek.price@openavenue.com>
  3766. James Youngman <jay@gnu.org>
  3767. * sanity.sh: it's /gnu/bin, not /gun/bin. Thanks go to James Youngman
  3768. <jay@gnu.org> for the bug report and patch.
  3769. 2000-10-20 Jim Kingdon <http://sourceforge.net/users/kingdon/>
  3770. * server.c (switch_to_user): Set CVS_USER. Patch from Sudish
  3771. Joseph and popularized by dozens (e.g. mozilla.org, also others).
  3772. 2000-10-20 Derek Price <derek.price@openavenue.com>
  3773. KOIE Hidetaka <hide@koie.org>
  3774. * root.c (normalize_cvsroot): plug a memory leak. Thanks to
  3775. KOIE Hidetaka <hide@koie.org>
  3776. 2000-10-18 Derek Price <derek.price@openavenue.com>
  3777. * client.c (connect_to_pserver): added a close brace the lack of which
  3778. was preventing compilation when gssapi was enabled. Removed a
  3779. redundant check for HAVE_KERBEROS.
  3780. 2000-10-18 Derek Price <derek.price@openavenue.com>
  3781. * root.c (normalize_cvsroot): removed references to free_port_s and the
  3782. now useless call to free now that port_s is on the stack. Thanks to
  3783. Jon Miner.
  3784. 2000-10-18 Derek Price <derek.price@openavenue.com>
  3785. * root.c (normalize_cvsroot): remove calls to snprintf for
  3786. compatibility with M$ Windoze.
  3787. 2000-10-18 Derek Price <derek.price@openavenue.com>
  3788. * sanity.sh (crerepos-6a, crerepos-6a-r): fix a "?" in a regex & pipe
  3789. the output of a test to /dev/null since we don't know what error
  3790. messages specific rsh implementations will output.
  3791. 2000-10-17 Derek Price <derek.price@openavenue.com>
  3792. * cvs.h: added CVSroot_password variable. Provided prototypes for
  3793. get_port_number & normalize_cvsroot.
  3794. * client.c (get_port_number): Fixed an ANSI prototype I had included
  3795. for get_port_number.
  3796. * login.c (login, logout): Removed two checks for a non-null
  3797. CVSroot_username since parse_cvsroot now supplies a default in pserver
  3798. mode. allow for a password in CVSROOT
  3799. (get_cvs_passsword): return CVSroot_password if it was supplied
  3800. in the CVSROOT.
  3801. * root.c (parse_cvsroot): Changed CVSROOT spec from
  3802. :method:user@host/port:/cvsroot to
  3803. :method:[[user][:password]@]host[:[port]]/cvsroot
  3804. Removed the xstrdup function since we'd rather have the error checking
  3805. from the version in subr.c anyhow. Moved some error messages which
  3806. looked like they would print the wrong error message after a failed
  3807. connect_to_gserver call.
  3808. (normalize_cvsroot): return a normalized CVSROOT for use in the
  3809. .cvspass file.
  3810. * sanity.sh (crerepos-6): fix a test which was expecting an old error
  3811. message.
  3812. * client.c (connect_to_pserver): Moved some error messages which looked like they
  3813. would print the wrong error message after a failed connect_to_gserver
  3814. call.
  3815. * login.c (login): Paranoiacly zero a password in memory.
  3816. 2000-10-12 Derek Price <derek.price@openavenue.com>
  3817. * client.c (auth_server_port_number -> get_port_number, start_pserver,
  3818. start_tcp_server): use a port specified in CVSROOT instead of the
  3819. default port. Failing that, use the CVS_CLIENT_PORT environment
  3820. variable.
  3821. * cvs.h: Added global CVSroot_port & renamed auth_server_port_number.
  3822. * root.c (parse_cvsroot): Parse the new CVSROOT format properly.
  3823. Incidentally reformated some error messages for uniformity and
  3824. readability.
  3825. * sanity.sh (crerepos): fix two tests which were now expecting the
  3826. wrong error message.
  3827. 2000-10-11 Larry Jones <larry.jones@sdrc.com>
  3828. * server.c (pserver_authenticate_connection): Fix stupid mistake
  3829. in previous change.
  3830. 2000-10-11 Derek Price <derek.price@openavenue.com>
  3831. * main.c (main): Dispose old CVSroot when parsing a '-d' option if
  3832. free_CVSroot is set.
  3833. * root.c (parse_cvsroot): remove references to 'cvsroot_parsed', a
  3834. static boolean I expect hasn't been used since CVS learned to handle
  3835. multiple CVSROOTs.
  3836. 2000-10-10 Larry Jones <larry.jones@sdrc.com>
  3837. * server.c (print_error): Make up a message if strerror fails.
  3838. * server.c (pserver_authenticate_connection): Give a real error
  3839. message for an invalid repository.
  3840. 2000-10-06 Derek Price <derek.price@openavenue.com>
  3841. * add.c (add): Made quiet mode affect some warning messages as seemed
  3842. appropriate. Specifically, some of the messages which a user might
  3843. want to ignore so they don't have to be quite so specific on the
  3844. command line: files added twice, files already in the repository and
  3845. check out properly (i.e. but picked up by 'cvs add *'), & files which
  3846. are readded in place of a dead revision or onto a branch. '-q' will
  3847. not change the non-zero exit code for the cases where at least one
  3848. passed in file name was already in the Entries file. There seems to
  3849. be a precedent in remove.c.
  3850. * remove.c (cvsremove): switched the "use cvs ci to make these changes
  3851. permanent message" to only print w/o '-Q' to match the new behavior of
  3852. add. This seems appropriate as '-Q' is defined to restrict messages
  3853. to critical errors.
  3854. * sanity.sh (adderrmsg): Added some tests for the above behavior.
  3855. 2000-10-05 Larry Jones <larry.jones@sdrc.com>
  3856. * client.c (call_in_directory): Create CVSADM directory if it doesn't
  3857. exist in the directory. This makes client/server work more like
  3858. standalone when checking out into an existing (non-CVS) directory.
  3859. * sanity.sh (dirs2, conflicts3, toplevel): Update to match.
  3860. 2000-10-03 Larry Jones <larry.jones@sdrc.com>
  3861. * filesubr.c (get_homedir): Ignore $HOME when running in server mode.
  3862. 2000-10-02 Larry Jones <larry.jones@sdrc.com>
  3863. * cvs.h: Define (and use) T_PATCH as a valid file classification
  3864. even when SERVER_SUPPORT isn't defined -- it simplifies the code.
  3865. * classify.c (Classify_File): Ditto.
  3866. * commit.c (check_fileproc): Ditto.
  3867. * status.c (status_fileproc): Ditto.
  3868. * update.c (update_fileproc): Ditto.
  3869. * tag.c (check_fileproc): Accept T_PATCH in addition to T_CHECKOUT.
  3870. * sanity.sh (tagc-10): Update to match.
  3871. 2000-09-29 Larry Jones <larry.jones@sdrc.com>
  3872. * client.c (get_responses_and_close): Reset server_fd to -1 after
  3873. shutting down.
  3874. (Reported by Joerg Thoennes <Joerg.Thoennes@data-sciences.de>.)
  3875. 2000-09-27 Larry Jones <larry.jones@sdrc.com>
  3876. * commit.c (commit): Don't sleep before returning in server mode,
  3877. just let the client do it.
  3878. * update.c (do_update): Ditto.
  3879. * sanity.sh (find_tool): Correct method of checking for GNU tools.
  3880. * checkout.c (checkout_proc): Match up user directories with
  3881. repository directories instead of using Emptydir.
  3882. * sanity.sh (cvsadm, emptydir): Update to match.
  3883. 2000-09-19 Larry Jones <larry.jones@sdrc.com>
  3884. * version.c: Push version number to 1.11.0.1.
  3885. * version.c: Version 1.11.
  3886. 2000-09-07 Larry Jones <larry.jones@sdrc.com>
  3887. * Makefile.in: Use @bindir@, @libdir@, @infodir@, and @mandir@
  3888. from autoconf.
  3889. 2000-08-23 Larry Jones <larry.jones@sdrc.com>
  3890. * mkmodules.c (init): Create an empty val-tags file if it doesn't
  3891. already exist to avoid problems with users not having sufficient
  3892. permissions to create it later.
  3893. 2000-09-06 Jim Kingdon <jkingdon@dhcp-net200-89.su.valinux.com>
  3894. * main.c (lookup_command_attribute): Add "release" to commands
  3895. which can be done by a read-only user.
  3896. 2000-08-23 Larry Jones <larry.jones@sdrc.com>
  3897. * repos.c (Name_Repository): Use pathname_levels to detect attempts
  3898. to get above the repository instead of checking for leading ..
  3899. which isn't reliable.
  3900. * sanity.sh (multiroot3-12 to multiroot3-15): New tests for above.
  3901. 2000-08-21 Larry Jones <larry.jones@sdrc.com>
  3902. * rcs.c (expand_keywords): Handle the unusual case of log == NULL.
  3903. (Reported by Craig Metz <cmetz@inner.net>.)
  3904. 2000-08-01 Larry Jones <larry.jones@sdrc.com>
  3905. * subr.c (pathname_levels): Fix bug that miscounts adjacent
  3906. slashes.
  3907. (Patch submitted by Tanaka Akira <akr@m17n.org>.)
  3908. * loginc.c (login): If available, use getpassphrase instead of
  3909. getpass to support long passwords on Solaris.
  3910. 2000-07-28 Larry Jones <larry.jones@sdrc.com>
  3911. * server.c (server_noop): Avoid do_cvs_command() overhead.
  3912. (requests): Make noop RQ_ROOTLESS.
  3913. 2000-07-27 Noel Cragg <noel@red-bean.com>
  3914. * root.c (parse_cvsroot): change fork method to behave like other
  3915. remote methods -- let the server check that the repository
  3916. directory is an absolute pathname.
  3917. 2000-07-27 Larry Jones <larry.jones@sdrc.com>
  3918. * lock.c (set_lock): Include actual lock directory in error message.
  3919. * sanity.sh (multiroot3-10): Change to match.
  3920. * sanity.sh (client-3): Allow for a potential "broken pipe".
  3921. 2000-07-26 Larry Jones <larry.jones@sdrc.com>
  3922. * commit.c (commit_filesdoneproc): Flush stdout before running script.
  3923. * modules.c (do_module): Ditto.
  3924. * update.c (update_dirleave_proc): Ditto.
  3925. * server.c (do_cvs_command): Give input from the protocol pipe
  3926. precedence over input from stdout/stderr. There's no particularly
  3927. good justification for this other than helping to avoid out-of-order
  3928. messages in sanity.sh.
  3929. * admin.c (admin_usage): Add the supported options.
  3930. * sanity.sh (info): Try to avoid out-of-order messages.
  3931. * sanity.sh (info): Fix problems when running twice in a row.
  3932. 2000-07-17 Larry Jones <larry.jones@sdrc.com>
  3933. * sanity.sh (modules5-7, cvsadm-1e, emptydir-2): Allow for a nil
  3934. commit (can happen if the test is run twice in a row).
  3935. 2000-07-19 Pavel Roskin <proski@gnu.org>
  3936. and Larry Jones <larry.jones@sdrc.com>
  3937. * mkmodules.c (config_contents): Add a commented out example for
  3938. LockDir. Don't suggest PreservePermissions unless it's enabled.
  3939. 2000-07-17 Larry Jones <larry.jones@sdrc.com>
  3940. * login.c (get_cvs_password): Handle malformed ~/.cvspass more
  3941. gracefully.
  3942. 2000-07-12 Larry Jones <larry.jones@sdrc.com>
  3943. * sanity.sh (modules5): New tests for module programs.
  3944. 2000-07-11 Larry Jones <larry.jones@sdrc.com>
  3945. * filesubr.c (copy_file, xcmp): Handle systems (like Plan 9) that
  3946. don't support mknod() and/or st_rdev.
  3947. * import.c (add_rcs_file): Ditto.
  3948. * rcs.c (RCS_checkout, RCS_checkin): Ditto.
  3949. * update.c (special_file_mismatch): Ditto.
  3950. 2000-07-10 Larry Jones <larry.jones@sdrc.com>
  3951. * zlib.c (gunzip_and_write): Fix type clashes.
  3952. * main.c (main): Remove unused variables.
  3953. 2000-07-10 Jim Meyering <meyering@lucent.com>
  3954. When a command like `cvs update -kk -jT1 -jT2' creates a new file
  3955. (because it had the T2 tag, but not T1), the subsequent commit of
  3956. that just-added file would effectively set the admin `-kk' option
  3957. for that file in the repository.
  3958. * update.c (join_file): Rename global-shadowing local `options'
  3959. to `t_options'.
  3960. Set file-scoped global `options' to NULL just before
  3961. check-out.
  3962. * sanity.sh (join-admin): New test for this.
  3963. 2000-07-08 Larry Jones <larry.jones@sdrc.com>
  3964. * version.c, cvs.h (version): New function.
  3965. * main.c (cmds[]): Add version command to invoke it.
  3966. (main): Also use it in -v.
  3967. * server.c (serve_version): New function.
  3968. (requests[]): Add version command to invoke it.
  3969. 2000-07-06 Karl Fogel <kfogel@red-bean.com>
  3970. * sanity.sh (pserver-14): remove this test for portability
  3971. reasons (it was only recently added for the 2000-07-04 change).
  3972. 2000-07-06 Larry Jones <larry.jones@sdrc.com>
  3973. sanity.sh (modules-148): Don't test for specific revisions.
  3974. * main.c (main): Catch SIGABRT to try to clean up after assertion
  3975. failures. Don't bother SIG_register'ing Lock_Cleanup because
  3976. main_cleanup calls it indirectly anyway.
  3977. * patch.c (patch): Catch SIGABRT.
  3978. * rcs.c (rcs_internal_lockfile): Ditto.
  3979. * server.c (server): Ditto.
  3980. * fileattr.c (fileattr_write): Don't delete the unrecog_head list
  3981. when writing...
  3982. (fileattr_free): Delete it when freeing!
  3983. 2000-07-05 Larry Jones <larry.jones@sdrc.com>
  3984. * admin.c (admin): Handle -t in client so reading from files works
  3985. correctly in client/server mode.
  3986. * sanity.sh (log2): Update to match.
  3987. 2000-07-04 Karl Fogel <kfogel@red-bean.com>
  3988. * server.c (pserver_authenticate_connection): use new
  3989. getline_safe() during authentication phase, to avoid a
  3990. denial-of-service attack in which client sends arbitrary
  3991. amounts of data with no newlines.
  3992. (Reported by <jpmg@eng.cam.ac.uk>.)
  3993. * sanity.sh: new test pserver-14 for above.
  3994. * myndbm.c: #include getline.h.
  3995. (mydbm_load_file): pass new GETLINE_NO_LIMIT flag to getstr().
  3996. 2000-07-03 Larry Jones <larry.jones@sdrc.com>
  3997. * sanity.sh (modules): Rewrite using dotest. Add "modules-"
  3998. prefix to test names.
  3999. 2000-06-28 Larry Jones <larry.jones@sdrc.com>
  4000. * error.c (error_exit): Call rcs_cleanup () to release any rcs locks.
  4001. * rcs.c, rcs.h (rcs_cleanup): Make public, close file before trying
  4002. to remove (some systems won't remove open files).
  4003. (RCS_putdtree): Don't worry about cleaning up before call error
  4004. since it now does it for us.
  4005. (rcs_internal_lockfile, rcs_internal_unlockfile): Keep track of
  4006. lock file fd for rcs_cleanup ().
  4007. * client.c (handle_set_checkin_prog, handle_set_update_prog):
  4008. Just ignore the request when exporting.
  4009. 2000-06-27 Larry Jones <larry.jones@sdrc.com>
  4010. * create_adm.c, cvs.h (Create_Admin): Add dotemplate argument.
  4011. Change all callers.
  4012. * checkout.c (checkout_proc): Don't create CVS/Template if
  4013. exporting.
  4014. 2000-06-26 Pavel Roskin <proski@gnu.org>
  4015. and Larry Jones <larry.jones@sdrc.com>
  4016. * server.c (switch_to_user): Only set CVS_Username if
  4017. AUTH_SERVER_SUPPORT is defined.
  4018. 2000-06-23 Larry Jones <larry.jones@sdrc.com>
  4019. * client.c (send_dirent_proc): Don't allocate ignlist if you're
  4020. going to skip the directory (plugs memory leak).
  4021. (send_dirleave_proc): New function.
  4022. (send_files): Use it (plugs memory leak).
  4023. * root.c (root_allow_free): Plug memory leaks.
  4024. * server.c (serve_directory, serve_notify, check_password,
  4025. pserver_authenticate_connection): Ditto.
  4026. * update.c (update): Ditto.
  4027. This completes the memory leak shoot-out -- the Purify'ed version
  4028. of CVS now runs the entire test suite, both local and remote (except
  4029. for remote crerepos, which causes Purify to choke) with *no* memory
  4030. leaks.
  4031. * server.c (pserver_authenticate_connection): Don't free null pointer.
  4032. 2000-06-21 Larry Jones <larry.jones@sdrc.com>
  4033. * client.c (update_entries, get_responses_and_close): Plug memory leaks.
  4034. * commit.c (find_fileproc, commit): Ditto.
  4035. * import.c (import): Ditto.
  4036. * log.c (cvslog): Ditto.
  4037. * recurse.c (start_recursion): Ditto.
  4038. * remove.c (cvsremove): Ditto.
  4039. * server.c (fd_buffer_initialize, server_notify, do_cvs_command): Ditto.
  4040. (fd_buffer_shutdown): New function.
  4041. 2000-06-20 Larry Jones <larry.jones@sdrc.com>
  4042. * root.c (parse_cvsroot): Put the terminating NUL byte into the
  4043. string *before* copying it, not after. :-(
  4044. 2000-06-19 Larry Jones <larry.jones@sdrc.com>
  4045. * main.c (main): Plug memory leaks.
  4046. * root.c (parse_cvsroot, set_local_cvsroot): Ditto.
  4047. * server.c (serve_root): Ditto.
  4048. 2000-06-16 Larry Jones <larry.jones@sdrc.com>
  4049. * fileattr.c (fileattr_read): Plug memory leak.
  4050. * rcs.c (RCS_whatbranch): Ditto.
  4051. * update.c (update_dirleave_proc): Ditto.
  4052. * ignore.c (ign_dir_add): Duplicate string so caller can free.
  4053. * modules.c (do_module): Don't write into dbm's memory!
  4054. 2000-06-15 Larry Jones <larry.jones@sdrc.com>
  4055. * checkout.c (checkout_proc): Fix non-ANSI code in call to
  4056. findslash(), minor cleanups.
  4057. 2000-06-14 Larry Jones <larry.jones@sdrc.com>
  4058. * tag.c (val_direntproc): Return R_PROCESS instead of 0.
  4059. * client.c (update_entries): Fix type clash calling gunzip_and_write().
  4060. * server.c (receive_file): Fix type clash calling gunzip_and_write().
  4061. (server_updated): Fix type clash calling buf_output().
  4062. * error.c (error): Make buf char instead of unsigned char to avoid
  4063. type clashes.
  4064. * modules.c (do_module): Change callback_proc to pass argc by
  4065. value instead of by reference: callback procs shouldn't be
  4066. messing with the callers argc/argv, it makes correct memory
  4067. management impossible. Plug memory leaks.
  4068. * cvs.h: Change to match.
  4069. * checkout.c (checkout_proc): Ditto; use a local argv array instead
  4070. of messing with caller's.
  4071. * modules.c (callback_proc): Ditto.
  4072. * patch.c (patch_proc): Ditto; use a local argv array instead
  4073. of messing with caller's.
  4074. * rtag.c (rtag_proc): Ditto; use a local argv array instead
  4075. of messing with caller's.
  4076. * server.c (expand_proc): Ditto.
  4077. * subr.c (line2argv): Change initial argv_allocated back to 1.
  4078. * checkout.c (findslash): Fix non-ANSI code.
  4079. * sanity.sh (modes3): Fix test names.
  4080. 2000-06-13 Larry Jones <larry.jones@sdrc.com>
  4081. * add.c (add): Plug memory leaks.
  4082. * admin.c (admin_fileproc): Ditto.
  4083. * checkout.c (build_dirs_and_chdir): Ditto.
  4084. * edit.c (editors_fileproc): Ditto.
  4085. * log.c (cvslog, log_parse_revlist, log_parse_date): Ditto.
  4086. * rcs.c (RCS_addaccess): Ditto.
  4087. * tag.c (check_fileproc): Ditto.
  4088. * vers_ts.c (Version_TS): Ditto.
  4089. * watch.c (watchers_fileproc): Ditto.
  4090. 2000-06-12 Larry Jones <larry.jones@sdrc.com>
  4091. * rcs.c (rcsbuf_valword): Set rcsbuf->vlen to keep rcsbuf_valcopy()
  4092. from allocating more memory than needed for @ strings. Don't declare
  4093. unless PRESERVE_PERMISSIONS_SUPPORT (since not defined).
  4094. * rcs.c (RCS_abandon): New function to abandon changes.
  4095. * rcs.h: Declare it.
  4096. * admin.c (admin_fileproc): Use it instead of RCS_reparsercsfile.
  4097. * commit.c (commit_fileproc): Fix memory leaks.
  4098. * patch.c (patch_fileproc): Ditto.
  4099. * rcs.c (RCS_nodeisbranch, RCS_copydeltas): Ditto.
  4100. * tag.c (tag_fileproc): Ditto.
  4101. * update.c (update): Ditto.
  4102. 2000-06-09 Larry Jones <larry.jones@sdrc.com>
  4103. * rcs.c (RCS_reparsercsfile, RCS_fully_parse, getdelta,
  4104. RCS_getdeltatext): Handle newphrases with composite values.
  4105. (rcsbuf_getkey): Don't remove @s in composite values -- it makes
  4106. it impossible to parse the value! Set special flag to indicate
  4107. a composite value.
  4108. (rcsbuf_valcopy, rcsbuf_valpolish_internal): Handle composite values.
  4109. (putrcsfield): Write composite values.
  4110. (RCS_checkin): Set node types in other_delta list.
  4111. * hash.h: Add RCSCMPFLD.
  4112. * hash.c (nodetypestring): Ditto.
  4113. * rcs.c (getdelta): Never allocate space for value, just return
  4114. pointer into rcsbuf (fixes memory leaks). Use rcsbuf_getkey to
  4115. read a key and value and then parse the value if needed rather
  4116. than trying to read it in bits and pieces with rcsbuf_getid,
  4117. rcsbuf_getstring, and rcsbuf_getword.
  4118. (RCS_reparsercsfile): Change callers to compensate.
  4119. (rcsbuf_valcmp, rcsbuf_valword): New functions.
  4120. (rcsbuf_getid, rcsbuf_getstring, rcsbuf_getword): Deleted.
  4121. * sanity.sh (rcs3-1): Now get slightly different error message.
  4122. 2000-06-08 Larry Jones <larry.jones@sdrc.com>
  4123. * main.c (usg): Update CVS home page URL.
  4124. * main.c (main): Provide an actual error message for an unknown
  4125. command in addition to the usage message.
  4126. 2000-06-07 Larry Jones <larry.jones@sdrc.com>
  4127. * server.c (serve_root, dirswitch, serve_repository,
  4128. serve_static_directory, serve_sticky, receive_partial_file,
  4129. receive_file, serve_modified, server_write_entries, serve_notify,
  4130. serve_checkin_prog, serve_update_prog, server): Don't set
  4131. pending_error before calling alloc_pending, it makes it fail;
  4132. use alloc_pending instead of malloc when reasonable; be sure to
  4133. save errno before calling functions that might change it.
  4134. (Patch submitted by Dietmar Petras <dietmar.petras@elsa.de>.)
  4135. 2000-06-03 Larry Jones <larry.jones@sdrc.com>
  4136. * commit.c (checkaddfile): Plug memory leak.
  4137. * rcs.c (RCS_checkin): Plug memory leaks.
  4138. * server.c (do_cvs_command): Plug file descriptor leaks.
  4139. * tag.c (check_fileproc): Plug memory leak.
  4140. 2000-05-26 Larry Jones <larry.jones@sdrc.com>
  4141. * recurse.c (unroll_files_proc): Plug memory leak.
  4142. * recurse.c (addfile): Fix nonportable pointer cast.
  4143. * rcs.c (rcsbuf_getstring, rcsbuf_getword, getdelta): Plug memory
  4144. leaks.
  4145. 2000-05-25 Larry Jones <larry.jones@sdrc.com>
  4146. * checkout.c (checkout, build_one_dir, checkout_proc): Move m_type
  4147. to file scope and use it instead of continually doing strcmp on
  4148. command_name.
  4149. (build_one_dir, checkout_proc): Don't allow export if CVSADM
  4150. directory already exists.
  4151. 2000-05-23 Larry Jones <larry.jones@sdrc.com>
  4152. * rcs.c (RCS_checkin, RCS_cmp_file): Plug memory leaks. (Patch
  4153. submitted by Chris G. Demetriou <cgd@sibyte.com>.)
  4154. 2000-05-20 Ian Lance Taylor <ian@zembu.com>
  4155. * client.c (connect_to_gserver): Handle server error messages
  4156. reasonably.
  4157. 2000-05-19 Larry Jones <larry.jones@sdrc.com>
  4158. * server.c (requests): Make Global_option RQ_ROOTLESS so it can be
  4159. used with init.
  4160. 2000-05-18 Larry Jones <larry.jones@sdrc.com>
  4161. * client.c (start_server): Don't do encryption, authentication,
  4162. compression, or case insensitivity when doing init because init
  4163. is ROOTLESS and they're not.
  4164. * client.c (connect_to_pserver): Include repository and username in
  4165. authorization failed message -- if a directory tree crosses multiple
  4166. repositories, it can be quite difficult for the user to figure out
  4167. which one is the problem.
  4168. 2000-05-17 Larry Jones <larry.jones@sdrc.com>
  4169. * main.c (main): Use full set of options when looking for -f to
  4170. avoid misparsing options that take values (previously, -sVAR=foo
  4171. was incorrectly parsed as though it were -s -V -A -R -= -f -o -o
  4172. because it didn't know that -s takes a value).
  4173. * sanity.sh (info-6b): New test for above.
  4174. * sanity.sh (conflicts-status): Fix tests so they work remotely, too.
  4175. 2000-05-17 Jim Meyering <meyering@lucent.com>
  4176. * sanity.sh (TESTDIR): Fix braino in last change:
  4177. cd to /tmp before invoking pwd.
  4178. * sanity.sh: Set TESTDIR so that `make check' passes even when /tmp
  4179. is a symlink.
  4180. (join-36): Use $TESTDIR rather than hard-coding `/tmp/cvs-sanity'.
  4181. (conflicts-132): Remove unnecessary `rm aa'.
  4182. 2000-05-16 Jim Kingdon <kingdon@redhat.com>
  4183. * cvs.h, checkout.c (safe_location): Make extern.
  4184. * import.c (import): Call it rather than reimplementing
  4185. (incompletely) the same check.
  4186. 2000-05-16 Larry Jones <larry.jones@sdrc.com>
  4187. * rcs.h, subr.c (file_has_markers): Check for any of the three
  4188. conflict marker lines, not just one.
  4189. * sanity.sh (conflicts-status): New tests for above.
  4190. * sanity.sh: Revise to avoid tripping the above check when merging
  4191. changes into sanity.sh itself.
  4192. 2000-05-15 Larry Jones <larry.jones@sdrc.com>
  4193. * update.c (join_file): When registering the result of the merge,
  4194. make sure that the version number is valid (vers->vn_rcs may be
  4195. null if the file doesn't exist on the branch yet). (Patch submitted
  4196. by Robert de Vries <rhdv@rhdv.cistron.nl>.)
  4197. * update.c (join_file): Correct diagnostics (previous change was not
  4198. correct -- the file *does* exist in the specified revision, it just
  4199. doesn't exist in the sandbox).
  4200. * sanity.sh (import-113, join): New tests and changes for above.
  4201. 2000-05-04 Larry Jones <larry.jones@sdrc.com>
  4202. * sanity.sh: Look for a useful id program. Since we're getting
  4203. the real username for some tests anyway, use it for all the
  4204. tests instead of a generic regular expression that may or may
  4205. not match the actual username.
  4206. 2000-05-04 Larry Jones <larry.jones@sdrc.com>
  4207. * server.c: More error messages.
  4208. 2000-05-02 Donald Sharp <sharpd@cisco.com>
  4209. and Larry Jones <larry.jones@sdrc.com>
  4210. * history.c (report_hrecs): Added code to print out year instead of
  4211. just month/day.
  4212. * sanity.sh (basic2-64, history): Update to match.
  4213. 2000-04-19 Larry Jones <larry.jones@sdrc.com>
  4214. * server.c (dirswitch): Set pending_error_text in addition to
  4215. pending_error to aid in problem determination.
  4216. 2000-03-23 Larry Jones <larry.jones@sdrc.com>
  4217. * mkmodules.c (mkmodules): Return without doing anything if noexec
  4218. is set to avoid trashing existing files.
  4219. 2000-03-23 Larry Jones <larry.jones@sdrc.com>
  4220. * main.c: Alphabetize cmds[] and cmd_usage[] and add server
  4221. commands to cmd_usage[].
  4222. 2000-03-21 Larry Jones <larry.jones@sdrc.com>
  4223. * sanity.sh (client-1): May get "Broken pipe" message from the
  4224. "server" in addition to the expected output.
  4225. 2000-03-17 Larry Jones <larry.jones@sdrc.com>
  4226. * server.c (switch_to_user): Set CVS_Username if it hasn't already
  4227. been set elsewhere. (Patch submitted by Gordon Matzigkeit
  4228. <gord@fig.org>).
  4229. 2000-03-13 Larry Jones <larry.jones@sdrc.com>
  4230. * parseinfo.c: Add extern to logHistory declaration. (Reported by
  4231. <John.Tytgat@aaug.net>.)
  4232. (parse_config): Reformat logHistory code.
  4233. 2000-03-10 Larry Jones <larry.jones@sdrc.com>
  4234. * add.c (add): Don't try to set cvsroot_len until after checking
  4235. for help only -- CVSroot_directory isn't set in that case.
  4236. 2000-03-03 Larry Jones <larry.jones@sdrc.com>
  4237. * mkmodules.c (init): Use mkdir_if_needed to create CVSROOT/Emptydir
  4238. so we don't fail if run multiple times. (Reported by KOIE Hidetaka
  4239. <hide@koie.org>.)
  4240. * sanity.sh (1a): New test for above.
  4241. 2000-03-02 Larry Jones <larry.jones@sdrc.com>
  4242. * main.c: Use identical #if's in the command table and the code
  4243. for pserver and kserver to prevent "peculiar" configurations from
  4244. having really perverse behavior because the command table entries
  4245. are present but the related code isn't.
  4246. 2000-03-01 Larry Jones <larry.jones@sdrc.com>
  4247. * import.c (import): Don't allow importing the repository.
  4248. * sanity.sh (errmsg2-20, errmsg2-21): New tests for above.
  4249. 2000-03-01 Larry Jones <larry.jones@sdrc.com>
  4250. * main.c (main): Update year in copyright message.
  4251. 2000-03-01 Larry Jones <larry.jones@sdrc.com>
  4252. * logmsg.c (do_editor): Correct previous change.
  4253. 2000-02-29 Larry Jones <larry.jones@sdrc.com>
  4254. * logmsg.c (do_editor): When reading temp file, check that message
  4255. buffer is large enough to hold the next line and expand if needed.
  4256. 2000-02-28 Larry Jones <larry.jones@sdrc.com>
  4257. * commit.c (commit): Use get_file() to read log file correctly
  4258. and in text mode rather than binary mode.
  4259. * subr.c (get_file): Ignore bufsize if buf is NULL. Include
  4260. terminating NUL byte when estimating required buffer size.
  4261. 2000-02-28 Larry Jones <larry.jones@sdrc.com>
  4262. * sanity.sh (find_tool): New function to replace duplicated code.
  4263. 2000-02-25 Larry Jones <larry.jones@sdrc.com>
  4264. * import.c (add_rcs_file): Don't abort just because lstat fails.
  4265. 2000-02-16 Jim Meyering <meyering@lucent.com>
  4266. Avoid race condition whereby a catchable signal could
  4267. end up corrupting the repository.
  4268. * commit.c (checkaddfile): Put a critical section around the code
  4269. that handles the first commit on the trunk of a file that's already
  4270. been committed on a branch.
  4271. * cvs.h (Sig_inCrSect): Declare new function.
  4272. 2000-02-21 Karl Fogel <kfogel@red-bean.com>
  4273. * main.c (main): still check for repository, but not history file
  4274. (correction to 2000-02-18 change -- that's what I get for
  4275. believing the comment rather than the code).
  4276. 2000-02-21 K.J. Paradise <kj@sourcegear.com>
  4277. * history.c mkmodules.c parseinfo.c: control which actions
  4278. get logged to the cvs history file via CVSROOT/config file
  4279. and LogHistory keyword. (John P Cavanaugh <cavanaug@sr.hp.com>)
  4280. 2000-02-18 Karl Fogel <kfogel@red-bean.com>
  4281. * history.c (history_write): don't die if history file not
  4282. writable, just warn (unless `really_quiet') and skip out.
  4283. * main.c (main): don't bother checking if history file is
  4284. writable.
  4285. * server.c (serve_root): same.
  4286. 2000-02-17 Larry Jones <larry.jones@sdrc.com>
  4287. * sanity.sh (perms symlinks symlinks2 hardlinks): Don't run by
  4288. default since PreservePermissions code is now disabled.
  4289. 2000-02-17 Larry Jones <larry.jones@sdrc.com>
  4290. * sanity.sh (import-113): Revise to match Jim Meyering's fix.
  4291. 2000-02-16 Larry Jones <larry.jones@sdrc.com>
  4292. * add.c (add): Don't allow adding files or directories to Emptydir.
  4293. (Patch submitted by Chris Cameron <chris.cameron@ot.co.nz>.)
  4294. * sanity.sh (emptydir): Revise (emptydir-7 and emptydir-8) for this.
  4295. 2000-02-16 Jim Meyering <meyering@lucent.com>
  4296. * update.c (join_file): Correct typo in diagnostic:
  4297. change `file %s is present...' to `file %s is not present...'.
  4298. 2000-02-10 Larry Jones <larry.jones@sdrc.com>
  4299. * parseinfo.c (Parse_Info): Treat matching lines with bad expansions
  4300. as errors rather than just ignoring.
  4301. 2000-02-10 Larry Jones <larry.jones@sdrc.com>
  4302. * edit.c (edit): Check for invalid characters in hostname and CurDir.
  4303. (Reported by "Andrew S. Townley" <atownley@informix.com>.)
  4304. * sanity.sh (devcom2): New tests for above.
  4305. 2000-02-10 Larry Jones <larry.jones@sdrc.com>
  4306. * cvs.h: Always #include "server.h" to prevent compile errors when
  4307. neither CLIENT_SUPPORT nor SERVER_SUPPORT is defined.
  4308. (Reported by "Crow, Ian" <ian.crow@linklaters.com>.)
  4309. * log.c (send_one, send_arg_list): Only define when CLIENT_SUPPORT
  4310. is defined to prevent link errors.
  4311. * server.c (server): Always create a new temporary directory, don't
  4312. try to reuse an existing one since we might not have correct
  4313. permissions. Also, include directory name in error messages.
  4314. 2000-01-29 Jim Kingdon <http://developer.redhat.com/>
  4315. * ignore.c (ignore_files): Correctly set errno to 0 when we go
  4316. back to the top of the loop. Fixes spurious errors like "cvs
  4317. update: error reading current directory: No such file or
  4318. directory".
  4319. 2000-01-26 Larry Jones <larry.jones@sdrc.com>
  4320. * run.c (run_exec): Conditionalize K.J.'s change so that it only
  4321. applies when SETXID_SUPPORT is defined since some platforms don't
  4322. have setegid().
  4323. 2000-01-26 Larry Jones <larry.jones@sdrc.com>
  4324. * sanity.sh: Make TESTDIR earlier then use it to check for versions
  4325. of expr that don't work right with long expressions.
  4326. * sanity.sh (dotest_line_by_line): Have wc read from stdin so it
  4327. doesn't output the file name and confuse expr. Make the output a
  4328. bit less verbose and easier to read.
  4329. 2000-01-24 K.J. Paradise <kj@sourcegear.com>
  4330. * run.c :> prevents a user from creating a privileged shell from the
  4331. text editor when the SETXID_SUPPORT option is selected. This came from
  4332. Bob Colle <bcolle@ilx.com>, and is his completely.
  4333. 2000-01-22 Jim Kingdon <http://developer.redhat.com/>
  4334. * sanity.sh (emptydir): Add a case in which one might hope for a
  4335. non-Emptydir result, but which result?
  4336. 2000-01-18 Larry Jones <larry.jones@sdrc.com>
  4337. * main.c (main): Allow -z0 to disable gzip compression.
  4338. 2000-01-17 Larry Jones <larry.jones@sdrc.com> for
  4339. K.J. Paradise (kj@sourcegear.com)
  4340. * version.c: Push version number to 1.10.8.1.
  4341. * version.c: Version 1.10.8.
  4342. 2000-01-17 Larry Jones <larry.jones@sdrc.com>
  4343. * mkmodules.c (init): Create CVSROOT/Emptydir to avoid problems
  4344. with users not having sufficient permissions to create it later.
  4345. 2000-01-04 Larry Jones <larry.jones@sdrc.com>
  4346. * client.c (get_responses_and_close): Simplify time-stamp race
  4347. avoidance code.
  4348. * commit.c (commit): Ditto.
  4349. * update.c (do_update): Ditto.
  4350. (Prompted by patch submitted by Pavel Roskin
  4351. <pavel_roskin@geocities.com>.)
  4352. * hardlink.c: sizeof (char) is 1, by definition.
  4353. * logmsg.c: Ditto.
  4354. * rcs.c: Ditto.
  4355. 2000-01-03 Karl Fogel <kfogel@red-bean.com>
  4356. * filesubr.c, subr.c (backup_file): moved this function from
  4357. filesubr.c to subr.c, at JimK's suggestion.
  4358. 2000-01-03 Jim Kingdon <http://developer.redhat.com/>
  4359. * sanity.sh (clean): Test the contents of the .#cleanme.txt.1.1
  4360. file, not just its existence.
  4361. 2000-01-03 Karl Fogel <kfogel@red-bean.com>
  4362. * cvs.h, filesubr.c (backup_file): use `const' for suffix too;
  4363. correct suffix length calculation and appending behavior; discard
  4364. unnecessary `void' cast. Thanks to Jim Meyering for noticing.
  4365. 2000-01-03 Larry Jones <larry.jones@sdrc.com>
  4366. * sanity.sh (clean): Fix up expected output.
  4367. 2000-01-02 John P Cavanaugh <cavanaug@sr.hp.com>
  4368. and Karl Fogel <kfogel@red-bean.com>
  4369. New -C option to update: overwrites local changes with clean
  4370. copies from the repository. (This is an unreversion of the
  4371. 1999-12-10 change, further modified to work remotely.)
  4372. * client.h (BACKUP_MODIFIED_FILES): new #define.
  4373. * client.c (struct send_data): new element `backup_modified'.
  4374. (send_files): set above element if BACKUP_MODIFIED_FILES flag is
  4375. present.
  4376. * filesubr.c (backup_file): new function.
  4377. * cvs.h: prototype for new function `backup_file'.
  4378. * update.c (toss_local_changes): new file-scoped global.
  4379. (update): set toss_local_changes if -C flag seen. If
  4380. client_active, send "-C" to server, and set SEND_NO_CONTENTS and
  4381. BACKUP_MODIFIED_FILES flags before calling send_files().
  4382. (update_fileproc): if file is modified and toss_local_changes is
  4383. set, then back the file up and then check out a fresh copy from
  4384. the repository. Also, fixed indentation and formatting for a
  4385. particularly bad stretch of code near (but unrelated to) these
  4386. changes.
  4387. * sanity.sh: new test `clean', for update -C option.
  4388. 1999-12-29 Jim Kingdon <http://developer.redhat.com/>
  4389. * history.c (read_hrecs): st_blksize is unsigned long, not int.
  4390. This isn't just cosmetic - getting it wrong will cause coredumps
  4391. and such on 64 bit machines.
  4392. * import.c (import_descend), ignore.c (ignore_files): Placate gcc
  4393. -Wall by parenthesizing foo || (bar && baz).
  4394. 1999-12-24 Larry Jones <larry.jones@sdrc.com>
  4395. * release.c (release): Use fputs to echo lines from update instead
  4396. of printf to avoid problems with lines containing "%". (Reported
  4397. by Jean-Luc Simard <Jean-Luc.Simard@matrox.com>.)
  4398. * history.c (read_hrecs): Allocate a single 2-block buffer instead
  4399. of allocating and freeing a buffer for each block.
  4400. (fill_hrec): Remove redundant code.
  4401. (select_hrec): Plug memory leak.
  4402. 1999-12-22 Larry Jones <larry.jones@sdrc.com>
  4403. * history.c (history): For "modified" or "checkout", sort on
  4404. file if user specified -l, even if user also specified a date-
  4405. oriented flag.
  4406. * sanity.sh (history): Update to match; add new tests.
  4407. 1999-12-15 Pavel Roskin <pavel_roskin@geocities.com>
  4408. and Larry Jones <larry.jones@sdrc.com>
  4409. * lock.c (lock_name): fixed assertion failure for the
  4410. top-level CVS directory when LockDir is used
  4411. * sanity.sh (lockfiles-9): new test for this case
  4412. 1999-12-11 Karl Fogel <kfogel@red-bean.com>
  4413. * Revert previous change -- it doesn't work remotely yet.
  4414. 1999-12-10 John P Cavanaugh <cavanaug@sr.hp.com>
  4415. and Karl Fogel <kfogel@red-bean.com>
  4416. * update.c: new -C option to update, overwrites local changes with
  4417. clean copies from the repository.
  4418. Also, fixed indentation and formatting for a particularly bad
  4419. stretch of code near these changes in update_fileproc().
  4420. * sanity.sh: test new update -C option.
  4421. 1999-12-10 Larry Jones <larry.jones@sdrc.com>
  4422. * commit.c (remove_file): Call history_write with update_dir NULL
  4423. like Checkin() does for add and modify.
  4424. * sanity.sh (basic2-64): Update to match, add "R" records to expected
  4425. remote output.
  4426. 1999-12-09 K.J. Paradise (kj@sourcegear.com)
  4427. * history.c, commit.c, sanity.sh: found (I think) final
  4428. cause of seg fault in history command. Also, added the "R"
  4429. history functionality. Fixed basic2-64 so it looks correct for
  4430. the change.
  4431. 1999-11-30 K.J. Paradise (kj@sourcegear.com)
  4432. * history.c: fixed seg fault caused by 11-03 changes.
  4433. off by one in block memory allocations.
  4434. 1999-11-29 Karl Fogel <kfogel@red-bean.com>
  4435. * login.c (logout): free `tmp_name' when done.
  4436. Correct a comment.
  4437. 1999-11-29 Larry Jones <larry.jones@sdrc.com>
  4438. * cvs.h, error.c, import.c: Rename fperror to avoid name clash
  4439. on LynxOS. (Reported by Markus Braun <MarkusBraun@gmx.de>.)
  4440. 1999-11-23 Larry Jones <larry.jones@sdrc.com>
  4441. * checkout.c (checkout_proc): Split declaration and initialization
  4442. of rp to placate neurotic compilers that gripe about jumping past
  4443. an initialization, even when the variable is not subsequently used.
  4444. 1999-11-19 Larry Jones <larry.jones@sdrc.com>
  4445. * server.c (switch_to_user): Correct setgid error messages.
  4446. 1999-11-19 Karl Fogel <kfogel@red-bean.com>
  4447. * edit.c (unedit_usage, unedit): new struct, use it. Now "cvs
  4448. unedit" prints an accurate usage message (formerly it printed the
  4449. message for "cvs edit", even though the two commands do not have
  4450. identical usages).
  4451. 1999-11-19 Larry Jones <larry.jones@sdrc.com>
  4452. * history.c: Move -e documentation from Flags to Reports.
  4453. (history): Add -e to list of report types in error message.
  4454. * history.c (history): Process file arguments before client/server
  4455. processing so they get sent to the server.
  4456. * sanity.sh (history): New tests for above. (Also remove comments
  4457. about variable spacing -- history output is in variable-width
  4458. columns with exactly one space between.)
  4459. 1999-11-19 Larry Jones <larry.jones@sdrc.com>
  4460. * sanity.sh: Reestablish check for running as root (using ``id -u''
  4461. instead of ``whoami'').
  4462. * sanity.sh(dotest, dotest_lit, dotest_fail, dotest_status,
  4463. dotest_sort): Eval the command so quoting and pipes work right.
  4464. (spacefiles, dirs, rcslib, modules, unedit-without-baserev,
  4465. ignore, rcs, rcs2, history, tagdate, pserver, server, server2)
  4466. Simplify various tests based on above.
  4467. 1999-11-19 Karl Fogel <kfogel@red-bean.com>
  4468. * mkmodules.c (init): make history file world-writeable after
  4469. creating it, since it needs to be writeable for virtually any
  4470. CVS operation.
  4471. 1999-11-10 Jim Kingdon <http://developer.redhat.com/>
  4472. * admin.c: Revert change to add -H command option. The help
  4473. invocation is "cvs -H admin" not "cvs admin -H" (see cvs.texinfo,
  4474. basicb-21 in sanity.sh; fix to cvs.1)
  4475. 1999-11-08 Jim Kingdon <http://developer.redhat.com/>
  4476. * log.c (cvslog): If client_active, send options to the server
  4477. based on our parsed options rather than trying to send the exact
  4478. strings specified (using canonical forms, like RFC822/1123
  4479. dates, in the protocol is just cleaner).
  4480. (send_one, send_arg_list): New functions, helpers for above.
  4481. * sanity.sh (logopt-6a): New test, for this fix.
  4482. 1999-11-09 K.J. Paradise <kj@sourcegear.com>
  4483. * admin.c: made the -H option do what it is documented to
  4484. do. a
  4485. 1999-11-08 Tom Tromey <tromey@cygnus.com>
  4486. * client.c (connect_to_gserver): Print more error text if gssapi
  4487. initialization fails. From Assar Westerlund <assar@sics.se>.
  4488. 1999-11-06 Larry Jones <larry.jones@sdrc.com>
  4489. *sanity.sh(rcs3-5): Remote output can be out-of-order, so need a
  4490. more general pattern to match the assertion failure.
  4491. 1999-11-05 K.J. Paradise (kj@sourcegear.com)
  4492. * history.c: Added a trap to verify that if a
  4493. read(file, buffer,blocksize) returns less than blocksize,
  4494. that we really are at the end of the file. I can't easily
  4495. come up with a test case where this code gets touched, so
  4496. it may cause problems. All sanity tests still pass though.
  4497. 1999-11-05 Jim Kingdon <http://developer.redhat.com/>
  4498. * sanity.sh (logopt): New test, for Larry's fix.
  4499. * sanity.sh (log-18a, rcs-15 to rcs-19): New tests, to test -d
  4500. and -r more thoroughly.
  4501. 1999-11-05 Larry Jones <larry.jones@sdrc.com>
  4502. * log.c (cvslog): Fix -s and -d with spaces on client side.
  4503. (log_usage): Revert Karl's change once again.
  4504. sanity.sh(rcs3-5): No longer get different results from local
  4505. and client/server.
  4506. 1999-11-04 Karl Fogel <kfogel@red-bean.com>
  4507. * log.c (log_usage): Revert Jim Kingdon's reversion of my change
  4508. of 1999-11-03. Allowing a space between option and argument
  4509. results in lossage; here is a reproduction recipe: run this from
  4510. the top of a remote copy of the cvs source tree
  4511. cvs log -d '>1999-03-01' > log-out.with-space
  4512. and then run this (note there's no space after -d now):
  4513. cvs log -d'>1999-03-01' > log-out.no-space
  4514. The resulting files differ; furthermore, a glance at the output of
  4515. cvs shows that the first command failed to recurse into
  4516. subdirectories. Until this misbehavior can be fixed in the source
  4517. code, the documentation should reflect the true state of affairs:
  4518. if one simply omits the space, everything works fine.
  4519. 1999-11-04 Jim Kingdon <http://developer.redhat.com/>
  4520. * log.c (log_usage): Revert Karl's change regarding -d and
  4521. -s. A space is allowed (see sanity.sh for example).
  4522. 1999-11-03 K.J. Paradise (kj@sourcegear.com>
  4523. * history.c: cleaned up my prior change a bit, per Larry Jones'
  4524. comments, and John O'Conner's additional comments about bits of
  4525. non MS-Visual C++ compliancy of my code.
  4526. 1999-11-04 Larry Jones <larry.jones@sdrc.com>
  4527. * sanity.sh: Check that tr that correctly handles NULs; if not, try
  4528. to find a version that does; if none can be found, warn user.
  4529. Also fix warnings for defective expr.
  4530. 1999-11-04 Karl Fogel <kfogel@red-bean.com>
  4531. Changes for empty/random passwords in anon pserver access:
  4532. * server.c (check_repository_password): if password empty, grant
  4533. access no matter what password is received; this is so anon CVS no
  4534. longer requires a password but remains backwards-compatible with
  4535. all those clients out there.
  4536. * client.c (connect_to_pserver): proceed with login even if
  4537. password not found in .cvspass file -- just use empty string as
  4538. password. And if such a login fails, print a descriptive error.
  4539. * login.c (get_cvs_password): don't complain if file or password
  4540. not found. That condition is no longer a showstopper, now that
  4541. empty passwords are permissible.
  4542. Cleaned up conditional chaining a bit, too.
  4543. * sanity.sh (pserver-9, pserver-10, pserver-11, pserver-12,
  4544. pserver-13): new tests, about empty-password pserver access.
  4545. 1999-11-03 K.J. Paradise (kj@sourcegear.com>
  4546. * history.c: modify parsing routines to parse the history
  4547. file a block at a time, rather than all at once. This allows
  4548. people with large history files and small amount of memory
  4549. to still get some functionality out of the history file.
  4550. 1999-11-03 Karl Fogel <kfogel@red-bean.com>
  4551. * log.c (log_usage): correct usage message for -d and -s options.
  4552. Because the space between the option letter and its argument has
  4553. been eliminated, I capitalized the argument portion to distinguish
  4554. it from the option letter. This makes it slightly inconsistent
  4555. with other such usage summaries, but at least it is now both
  4556. correct and readable.
  4557. 1999-10-22 Larry Jones <larry.jones@sdrc.com>
  4558. * sanity.sh (dotest_sort): Old versions of tr don't understand \t
  4559. so use a literal tab instead.
  4560. 1999-10-21 Larry Jones <larry.jones@sdrc.com>
  4561. * sanity.sh (dotest_sort): Convert any tabs in the output into spaces
  4562. before sorting to avoid POSIX.2 sort weirdness.
  4563. (import-106, importb-2): Change expected output per above.
  4564. 1999-10-18 K.J. Paradise <kj@sourcegear.com>
  4565. Bug: users 'stan' and 'cartman' both have full read/write access
  4566. to the cvs repository. 'cartman' does a 'cvs admin -l foo.c'.
  4567. 'stan' then does a 'cvs admin -u foo.c'. The lock wouldn't be
  4568. removed, and no warning/error would be given. This is now fixed.
  4569. * rcs.c:(c.6157) remove caller/user check on the multiple lock
  4570. detection routines. Sanity.sh runs with no errors after this fix.
  4571. 1999-10-14 Larry Jones <larry.jones@sdrc.com>
  4572. Make "cvs admin -e" (with no list of users) work:
  4573. * admin.c (admin): Remove error message.
  4574. (admin_fileproc): If no args for -e, call RCS_delaccess with NULL user.
  4575. * rcs.c (RCS_delaccess): Interpret NULL user as request to delete
  4576. entire access list.
  4577. * sanity.sh (admin-19a-*): Test.
  4578. 1999-09-29 Larry Jones <larry.jones@sdrc.com>
  4579. * entries.c (Subdirs_Known): Use entfilename when opening CVSADM_ENTLOG
  4580. like everywhere else. Although this isn't strictly necessary (since
  4581. we immediately close it again), it keeps the code consistent and fixes
  4582. a bug where an open error reported the wrong file name.
  4583. 1999-09-16 Larry Jones <larry.jones@sdrc.com>
  4584. * log.c (log_parse_revlist): Handle peculiar revision specs like
  4585. "-r.", "-r:", and "-r," correctly. (Thanks to Pavel Roskin
  4586. <pavel_roskin@geocities.com> for submitting a patch, this fix is
  4587. somewhat different.)
  4588. * sanity.sh (log): New tests for above.
  4589. 1999-09-15 Larry Jones <larry.jones@sdrc.com>
  4590. * sanity.sh (basica-8b1): New test to check fix for bad diff options
  4591. causing cvs to crash.
  4592. 1999-09-02 Larry Jones <larry.jones@sdrc.com>
  4593. * modules.c (do_module): Handle case where module definition has
  4594. options and special options but no directory; fix potential problems
  4595. running off beginning of string while stripping trailing blanks.
  4596. * sanity.sh (modules2): New tests for above.
  4597. 1999-08-26 Larry Jones <larry.jones@sdrc.com>
  4598. * lock.c (lock_name): Remove side-effects from assert() expression
  4599. since they won't occur if NDEBUG is defined (not that that's a good
  4600. thing to do). (Reported by KOIE Hidetaka <hide@koie.org>.)
  4601. 1999-08-25 Larry Jones <larry.jones@sdrc.com>
  4602. * sanity.sh: Use "${AWK}" instead of "awk" to make it easier for
  4603. people to use nawk/gawk/etc.; use an explicit "-print" with find
  4604. since some older version don't assume it; rename tests to avoid
  4605. duplicate importc-8. (Changes along these lines suggested by
  4606. Chris Cameron <chris.cameron@ot.co.nz>.)
  4607. 1999-08-24 Larry Jones <larry.jones@sdrc.com>
  4608. * commit.c (check_fileproc): Don't crash when a file has no
  4609. repository, just treat it as unknown. (Reported by Stefaan
  4610. Diericx <stefaan.diericx@argenta.be>.)
  4611. * sanity.sh (errmsg2): New tests, for this fix.
  4612. 1999-08-18 Larry Jones <larry.jones@sdrc.com>
  4613. * update.c (special_file_mismatch): Initialize *_hardlinks to
  4614. avoid trying to free garbage later on. (Reported by Jan
  4615. Scheffczyk <herta@Xterminator.StudFB.UniBw-Muenchen.de>.)
  4616. 1999-08-17 Larry Jones <larry.jones@sdrc.com>
  4617. * sanity.sh (basicc-11): Older versions of sh don't understand
  4618. ``if ! test...''. (Patch submitted by David J N Begley
  4619. <david@avarice.nepean.uws.edu.au>.)
  4620. 1999-08-17 Larry Jones <larry.jones@sdrc.com>
  4621. * client.c, hardlink.c, hash.c, hash.h, main.c, recurse.c: Change
  4622. enum constant UNKNOWN to avoid conflicts on HPUX 11.0. (Reported
  4623. by Laurent Duperval <laurent.duperval@cgi.ca>.)
  4624. 1999-08-16 Larry Jones <larry.jones@sdrc.com>
  4625. client.c: Eliminate redundant #if. (Patch submitted by Assar
  4626. Westerlund <assar@sics.se>.)
  4627. 1999-07-30 Larry Jones <larry.jones@sdrc.com>
  4628. * rcs.c (RCS_checkin): Terminate cleanly if RCS_addbranch fails
  4629. rather than blithely continuing on and crashing.
  4630. * sanity.sh (basica): New tests, for this fix.
  4631. 1999-07-29 Larry Jones <larry.jones@sdrc.com>
  4632. * import.c (add_rcs_file): change "cannot lstat" message to include
  4633. userfile (the actual file causing the problem) instead of user
  4634. (which may or may not be the same).
  4635. 1999-07-29 Eric Sink <eric@sourcegear.com>
  4636. * version.c: Push version number to 1.10.7.1.
  4637. * version.c: Version 1.10.7.
  4638. 1999-07-28 Eric Sink <eric@sourcegear.com>
  4639. * sanity.sh: before running basicc-11, we need to see if
  4640. the cwd has been deleted (by basicc-8). If so, we
  4641. recreate it to allow basicc-11 to proceed. This may be
  4642. something that only happens under the Linux 2.2 kernel.
  4643. 1999-07-18 Karl Fogel <kfogel@floss.red-bean.com>
  4644. * edit.c (notify_do): chop newline, if any, from the value
  4645. obtained from CVSROOT/users. Otherwise it just gets passed along
  4646. in the argument to the notification program (usually mail), which
  4647. will misinterpret it as signifying the end of the command.
  4648. 1999-07-19 Larry Jones <larry.jones@sdrc.com>
  4649. * rcs.c (RCS_delete_revs): In the WIN32 kludge, be sure that the result
  4650. of RCS_getexpand is not NULL before trying to use what it points to.
  4651. (Patch submitted by Timothy L. Taylor <ttaylor@mitre.org>.)
  4652. 1999-07-16 Tom Tromey <tromey@cygnus.com>
  4653. * admin.c (admin): Allow `-k' options to be used unrestricted.
  4654. 1999-06-23 Jim Kingdon <http://www.cyclic.com>
  4655. * sanity.sh (symlinks2): New test, for symlinks in working
  4656. directory without PreservePermissions. This test (modulo a few
  4657. details not relevant to testing whether we are following symlinks)
  4658. worked remote as of now, or either remote or local for CVS 1.9.
  4659. * subr.c (get_file): Revert 1998-02-15 change to special-case
  4660. symlinks. This makes the above test work local too.
  4661. * rcs.c (RCS_checkin): Move the logic to handle special-case
  4662. symlinks (and other files other than regular files) here, and make
  4663. it only happen if PreservePermissions is on.
  4664. 1999-06-18 Larry Jones <larry.jones@sdrc.com>
  4665. * sanity.sh (devcom3-9a): Be less specific about the expected
  4666. error message (BSD/OS 4.0 has a bug that can cause exec* to fail
  4667. with EACCES instead of ENOENT).
  4668. 1999-06-08 Larry Jones <larry.jones@sdrc.com>
  4669. * sanity.sh (diff-4, dirs2-10, tagf-13, importc-7, conflicts2-142b8):
  4670. Use ${PROG} instead of "cvs".
  4671. 1999-06-05 Jim Kingdon <http://www.cyclic.com>
  4672. * recurse.c (do_recursion, do_dir_proc): Make the SERVER_ACTIVE
  4673. #ifdef be only around the check for server_active. Modulo a few
  4674. cosmetic tweaks, same as a patch submitted by Johannes Stezenbach
  4675. of propack-data.de.
  4676. 1999-06-01 Jim Kingdon <http://www.cyclic.com>
  4677. * sanity.sh: Add comment about rcs2-7 failures on certain days.
  4678. Make "cvs status -v" on a removed file work:
  4679. * status.c (cvsstatus): Reindent the client code.
  4680. (status_fileproc): Don't need a CVS/Entries listing to show the
  4681. tags.
  4682. * sanity.sh (rmadd2): New test rmadd2-16 tests the existing
  4683. behavior with "cvs log"; new test rmadd2-17 tests the new behavior
  4684. with "cvs status".
  4685. * sanity.sh (basicc): To match no output in dotest, put the empty
  4686. regexp first. Remove tests which check that first-dir exists,
  4687. since that isn't true in the case where the OS let us delete it.
  4688. (dotest_internal): Fix so that things work with two regexps, with
  4689. an empty one first.
  4690. 1999-05-28 Larry Jones <larry.jones@sdrc.com>
  4691. * sanity.sh (server-4): Replace bogus directory with real one since
  4692. the server now checks it.
  4693. 1999-05-27 Jim Kingdon <http://www.cyclic.com>
  4694. * sanity.sh (spacefiles): Clean up -c, top, and -b at end.
  4695. (spacefiles, files): Fix bad references to CVSROOT_DIRNAME.
  4696. Fix two problems pointed out by Olaf Kirch of swb.de/caldera.de:
  4697. * server.c (outside_root): New function, contains expanded version
  4698. of code from serve_directory.
  4699. (serve_directory): Call outside_root.
  4700. (outside_dir): New function
  4701. (serve_modified, serve_is_modified, serve_notify,
  4702. serve_questionable, serve_unchanged): Call outside_dir.
  4703. * sanity.sh (server2): New tests, for these fixes.
  4704. 1999-05-26 Jim Kingdon <http://www.cyclic.com>
  4705. * cvs.h, subr.c (xmalloc): Return void* not char*, like xrealloc
  4706. has done for some time.
  4707. * modules.c (do_module): If we find the module as a directory/file
  4708. (rather than in the modules file), skip a bunch of processing
  4709. which was unnecessary and also broken in most of the cases
  4710. now tested for by the spacefiles sanity.sh test.
  4711. * sanity.sh (spacefiles): New test, for specifying filenames
  4712. (containing spaces, or starting with '-', or starting with '/') to
  4713. "cvs co".
  4714. 1999-05-25 Jim Kingdon <http://www.cyclic.com>
  4715. * client.c (update_entries): Make the old DONT_USE_PATCH code the
  4716. only code. This means that if people are still on CVS 1.9
  4717. servers, then CVS will fall back to transferring entire files.
  4718. This is better than looking for an external "patch" program which
  4719. causes no end of troubles (especially on Windows, but someone just
  4720. posted to info-cvs about a problem with the Solaris patch). (This
  4721. change was run by devel-cvs and feedback was positive).
  4722. * subr.c (xmalloc, xrealloc): The new error.c does not support
  4723. %lu; use sprintf instead.
  4724. 1999-05-25 Derek Price
  4725. <http://www-personal.engin.umich.edu/~oberon/resume.html>
  4726. * sanity.sh (server): Escaped a few more newlines in
  4727. another awk script. Solaris awk still don't like 'em.
  4728. 1999-05-25 Derek Price
  4729. <http://www-personal.engin.umich.edu/~oberon/resume.html>
  4730. and Jim Kingdon
  4731. * log.c: Remove comment which said "you can delete [this line]"
  4732. and which stuck around for over 3 years.
  4733. * sanity.sh (errmsg2 & tagdate): Added tests to prove the
  4734. current functionality with respect to combining -r and -D.
  4735. 1999-05-20 Larry Jones <larry.jones@sdrc.com>
  4736. * server.c (pserver_authenticate_connection): Previous changes
  4737. broke verify_and_exit (reported by Robert Fitzsimons, thanks).
  4738. * sanity.sh (pserver): New tests pserver-7 and pserver-8 for this.
  4739. 1999-05-18 Derek Price
  4740. <http://www-personal.engin.umich.edu/~oberon/resume.html>
  4741. * sanity.sh (keyword2): Escaped a newline in an awk script.
  4742. Apparently Solaris awk don't like 'em.
  4743. 1999-05-18 Jim Kingdon <http://www.cyclic.com>
  4744. * sanity.sh (basicc): Allow the behavior whereby unlink(".")
  4745. succeeds. Reported by Jeremy Buhler and Pavel Roskin.
  4746. 1999-05-17 Steve Cameron of Compaq
  4747. * sanity.sh: Modified to no longer use "test -e" for existence
  4748. test as it has turned out to be not portable enough. Instead use
  4749. "test -f", "test -d", etc.
  4750. [SCO Unixware 7 apparently doesn't always support it -kingdon]
  4751. 1999-05-17 Jim Kingdon <http://www.cyclic.com>
  4752. * version.c: Push version number to 1.10.6.1.
  4753. * version.c: Version 1.10.6.
  4754. 1999-05-16 Jim Kingdon <http://www.cyclic.com>
  4755. * update.c (patch_file): When we are passing vn_rcs to
  4756. RCS_checkout, pass vn_tag as well.
  4757. * sanity.sh (keyword): In test keyword-22, test for the fixed
  4758. behavior rather than the buggy behavior. Adjust keyword-23. Add
  4759. test keyword-24, to see whether keyword-23 really worked.
  4760. 1999-05-12 Larry Jones <larry.jones@sdrc.com>
  4761. * sanity.sh (pserver-4, pserver-5): Bogus error messages from
  4762. non-root initgroups on some 4.4BSD derived systems now show up
  4763. in different places in the output.
  4764. 1999-05-12 Jim Kingdon <http://www.cyclic.com>
  4765. * import.c (import): Don't allow the user to supply a repository
  4766. directory which takes us out of the cvsroot.
  4767. * sanity.sh (importc): New tests importc-10 to importc-12, for this.
  4768. 1999-05-11 Larry Jones <larry.jones@sdrc.com>
  4769. * server.c (serve_notify): Allocate enough memory to hold the
  4770. "misformed Notify request" message in pending_error_text.
  4771. 1999-05-11 Jim Kingdon <http://www.cyclic.com>
  4772. * server.c (switch_to_user): Ignore EPERM from initgroups. Fixes
  4773. pserver-4 in testsuite.
  4774. (pserver_authenticate_connection): Only print "I LOVE YOU" after
  4775. switch_to_user has come back successfully.
  4776. * server.c (pserver_authenticate_connection): Call error_exit
  4777. rather than reinventing the wheel ourselves.
  4778. (switch_to_user): Check for errors from setuid, setgid, and
  4779. initgroups. Fix the #ifdef's (the previous code would skip the
  4780. setuid call if SETXID_SUPPORT).
  4781. 1999-05-10 Jim Kingdon <http://www.cyclic.com>
  4782. * server.c (serve_notify), edit.c (notify_do): Check for
  4783. and reject characters which will get confused with delimiters.
  4784. * sanity.sh (server): New tests server-7 through server-15 test
  4785. for this and for other notify behaviors.
  4786. * rcs.c (RCS_tag2rev): Also look for a physical branch with
  4787. RCS_getversion.
  4788. * sanity.sh (tagf): Adjust tagf-12 and following tests to test for
  4789. the fixed behavior rather than the broken behavior.
  4790. 1999-05-07 Jim Kingdon <http://www.cyclic.com>
  4791. * server.c (server_notify): Also set last_node to NULL.
  4792. * sanity.sh (server): New tests server-6 and server-7, for this.
  4793. 1999-05-05 Jim Kingdon <http://www.cyclic.com>
  4794. * rcs.c (rcs_internal_lockfile): Remove unused variable lockfile.
  4795. * add.c (add): Look for directories with the same name in a
  4796. different case where appropriate (analogous to fopen_case).
  4797. In client code, add comment about how this doesn't do quite
  4798. everything.
  4799. 1999-05-03 Jim Meyering <meyering@ascend.com>
  4800. Remove rcs-style ,file, lock files upon signal.
  4801. * rcs.c (rcs_lockfile): New file-scoped global.
  4802. (rcs_cleanup): New function (similar to patch_cleanup).
  4803. (rcs_internal_lockfile): Register rcs_cleanup the first time this
  4804. function is called. Rename uses of local `lockfile' to refer to new
  4805. global, `rcs_lockfile'. Don't free the lock file name string, now
  4806. that it's global.
  4807. (rcs_internal_unlockfile): Rename `lockfile', as above, and carefully
  4808. free and NULL-out the global, rcs_lockfile.
  4809. 1999-04-30 Jim Kingdon <http://www.cyclic.com>
  4810. * rcs.c (annotate_fileproc): Don't cast NULL in passing it to
  4811. RCS_deltas. Because there is a prototype in scope the cast is
  4812. unnecessary (per HACKING's ANSI C or SunOS4 rule), and in fact it
  4813. was causing failures on UNICOS because it cast to size_t instead
  4814. of size_t*. (Thanks to Dean Kopesky for reporting this).
  4815. 1999-04-29 Jim Kingdon <http://www.cyclic.com>
  4816. * sanity.sh: If invoked without any arguments, print a usage
  4817. message (thanks to Pavel Roskin for a report/patch).
  4818. * run.c (piped_child): Make the error messages more verbose.
  4819. (close_on_exec): Reindent.
  4820. * sanity.sh (devcom3): Several errors are possible in devcom3-9a.
  4821. Adjust for change to piped_child error message.
  4822. 1999-04-28 Jim Kingdon <http://www.cyclic.com>
  4823. * sanity.sh (devcom3): Add some tests of the CVS/Notify file and
  4824. disconnected "cvs edit".
  4825. * main.c (opt_usage): Remove -b.
  4826. 1999-04-20 Derek Price
  4827. <http://www-personal.engin.umich.edu/~oberon/resume.html>
  4828. * rcs.c (RCS_delete_revs): RCS_delete_revs uses an
  4829. RCS_checkout call to get a new copy of a revision to be
  4830. used internally after old revisions were deleted and it was
  4831. performing keyword substitutions. This munged all the
  4832. the revisions of the file on the branch containing the
  4833. deleted revisions and its sub-branches, as the original they
  4834. were being patched from was incorrect. Corrected this by
  4835. passing in "-ko" as an option to RCS_checkout.
  4836. * sanity.sh (keywordlog): modified this test to verify the
  4837. correct behavior of 'cvs admin -o'.
  4838. [Fixed use of \$ in keywordlog test; added code in RCS_delete_revs
  4839. to abort on binary file on Windows -kingdon]
  4840. 1999-04-21 Derek Price
  4841. <http://www-personal.engin.umich.edu/~oberon/resume.html>
  4842. and Jim Kingdon
  4843. * tag.c (tag_check_valid): A bug was causing CVS to spin
  4844. indefinately when -j:<date> was specified. CVS now returns
  4845. an error.
  4846. * sanity.sh: Added a test (tagdate-12) to test this.
  4847. 1999-04-19 Jim Kingdon <http://www.cyclic.com>
  4848. * sanity.sh (backuprecover): Clean up the repository at the end.
  4849. 1999-04-18 Derek Price
  4850. <http://www-personal.engin.umich.edu/~oberon/resume.html>
  4851. * sanity.sh added a test (backuprecover) to test cvs behavior
  4852. with a repository that is out of date relative to the
  4853. developer's workspaces.
  4854. [Fix --keep code; move test to "Repository Storage" section since
  4855. it doesn't really exercise the diff/diff3 library. -kingdon]
  4856. 1999-04-13 Derek Price
  4857. <http://www-personal.engin.umich.edu/~oberon/resume.html>
  4858. * sanity.sh (diff): Tests to verify correct operation of
  4859. the --ifdef parameter to cvs diff.
  4860. [indentation fixed -kingdon].
  4861. 1999-04-13 Derek Price
  4862. <http://www-personal.engin.umich.edu/~oberon/resume.html>
  4863. for Noah Friedman <friedman@splode.com>
  4864. * diff.c (diff): Put "--ifdef=" in opts string, not "-D"; the
  4865. latter is confused by pserver for a date spec.
  4866. 1999-04-14 Jim Kingdon <http://www.cyclic.com>
  4867. * fileattr.h: Adjust comments to reflect the official version of
  4868. the fileattr format now being in cvs.texinfo.
  4869. 1999-04-05 Jim Kingdon
  4870. * sanity.sh (watch5): Remove nonstandard --keep code. Don't pass
  4871. -f to rm when cleaning up (that tends to mask bugs). Add watch5
  4872. to list of tests at start. Add comment explaining why we consider
  4873. the behavior we test for the right one. Rename a few tests which
  4874. had been erroneously named watch6* instead of watch5*.
  4875. * client.c (update_entries): Add comment with brief discussion of
  4876. whether there is a better way.
  4877. 1999-04-05 Derek Price
  4878. <http://www-personal.engin.umich.edu/~oberon/resume.html>
  4879. * client.c (update_entries): Only call mark_up_to_date
  4880. (which deletes the CVS/Base/<filename> file for watched
  4881. and edited files) on commit.
  4882. * sanity.sh: Make sure the CVS/Base/<filename> file for
  4883. a watched and edited file is not removed on a status or
  4884. update of a touched/unmodfied file.
  4885. 1999-03-30 Larry Jones <larry.jones@sdrc.com>
  4886. * client.c (get_responses_and_close), commit.c (commit),
  4887. update.c (do_update): If the sleep(1) call returns prematurely
  4888. (due to the way wakeup is scheduled or receiving a signal), do
  4889. it again.
  4890. 1999-03-26 Jim Kingdon <http://www.cyclic.com>
  4891. * server.c (server): Add comment about Gzip-stream vs. RQ_ROOTLESS.
  4892. * sanity.sh (modules3-11b): Adjust exact text of error message to
  4893. reflect 1999-03-24 change to dirswitch.
  4894. 1999-03-25 Jim Kingdon <http://www.cyclic.com>
  4895. * admin.c (admin): Make argument to -e optional, to match the
  4896. documentation.
  4897. * sanity.sh (admin-19a-2): Test for this.
  4898. * server.c (serve_root): Update comment about checking for missing
  4899. Root request.
  4900. 1999-03-24 Jim Kingdon <http://www.cyclic.com>
  4901. * server.c (dirswitch): Also check dir here, similar to
  4902. what server_pathname_check does for other cases.
  4903. * sanity.sh (files): Adjust files-14 to test for this.
  4904. 1999-03-24 Derek Price
  4905. <http://www-personal.engin.umich.edu/~oberon/resume.html>
  4906. and Jim Kingdon
  4907. * sanity.sh: added a test (files-13) to test .. indirection
  4908. in a path and another (files-14) to make sure we still fail
  4909. out when the '..' indirection takes us into the $CVSROOT
  4910. directory or beyond.
  4911. 1999-03-24 Larry Jones <larry.jones@sdrc.com>
  4912. * rcs.c: Change enum constants ADD and DELETE to something less
  4913. likely to run into conflicts.
  4914. 1999-03-21 Jim Kingdon <http://www.cyclic.com>
  4915. * sanity.sh (tagf): New test, tests for moving a branch tag to a
  4916. non-branch tag and trying to recover.
  4917. 1999-03-12 Jim Kingdon <http://www.cyclic.com>
  4918. * sanity.sh (branches): Tweak test branches-5 to test the case in
  4919. which one modifies a file and then branches it.
  4920. 1999-03-09 John Bley of duke.edu
  4921. * mkmodules.c (filelist): Missed a NULL in this struct (should
  4922. have 3 members, only had 2).
  4923. 1999-03-07 Jim Kingdon <http://www.cyclic.com>
  4924. * sanity.sh (Index): Rename new test from rm_CVS/Root to rmroot
  4925. (we don't have a formal rule about funky punctuation in test names
  4926. but both underscore and a slash is too funky for me :-)).
  4927. Reindent a few tests which were off.
  4928. * root.c: Remove the sentence which had the improper English;
  4929. there isn't really a need for that sentence and it isn't
  4930. particularly accurate any more.
  4931. 1999-02-27 Derek Price
  4932. <http://www-personal.engin.umich.edu/~oberon/resume.html>
  4933. * sanity.sh: Added rm_CVS/Root test to test that CVS uses
  4934. $CVSROOT rather than dumping core when running remotely and
  4935. the admin file CVS/Root is deleted from the workspace.
  4936. Also, altered a few 'cvs commit' 's in regular expressions to
  4937. fit the .${PROG} commit. portability syntax.
  4938. * recurse.c: Stopped CVS from dumping core in the case tested
  4939. above.
  4940. * root.c: Fixed somebody's improper english.
  4941. 1999-02-25 Larry Jones <larry.jones@sdrc.com>
  4942. * sanity.sh (keyword2-12): Use ${QUESTION} instead of ? in the
  4943. expected result.
  4944. 1999-02-24 Jim Kingdon <http://www.cyclic.com>
  4945. * sanity.sh (keyword2): Restore the original \\\$ instead of $.
  4946. The latter ends up working due to various kludgy semantics in the
  4947. shell and regular expressions, but the former is cleaner.
  4948. * sanity.sh (keyword2): Protect keywords against accidental
  4949. expansion in sanity.sh itself (most occurrences had this, but not
  4950. all).
  4951. 1999-02-23 Derek Price <http://www.cyclic.com>
  4952. and Jim Kingdon.
  4953. * sanity.sh (keyword2): New test, tests for merging with -kk.
  4954. 1999-02-22 Jim Kingdon <http://www.cyclic.com>
  4955. * version.c: Ease version number to 1.10.5.1.
  4956. * version.c: Version 1.10.5.
  4957. 1999-02-18 Jim Kingdon <http://www.cyclic.com>
  4958. * sanity.sh (files): New test, for a relatively obscure spurious
  4959. "Up-to-date check failed" in client/server.
  4960. * main.c (lookup_command_attribute): Don't check for "history"
  4961. twice.
  4962. 1999-02-17 Jim Kingdon <http://www.cyclic.com>
  4963. and Hallvard B Furuseth
  4964. * root.c (parse_cvsroot): Rearrange ifdefs to squelch possible
  4965. warnings about statement not reached.
  4966. 1999-02-16 Jim Kingdon <http://www.cyclic.com>
  4967. * recurse.c (start_recursion): If we are skipping the current
  4968. directory (due to it being from the wrong repository), also adjust
  4969. the arguments we send to the server accordingly (like we already
  4970. do for the case in which there is no CVS directory).
  4971. * sanity.sh (multiroot4): New test, for this. All these tests had
  4972. passed locally, but remote multiroot4-12 tests for this fix.
  4973. (multiroot): Adjust multiroot-diff-1, multiroot-update-2,
  4974. multiroot-tag-1, multiroot-status-1, multiroot-update-3, and
  4975. multiroot-log-1 to reflect the cosmetic change this produces (one
  4976. less "Diffing ." message).
  4977. (multiroot2): multiroot2-8 likewise.
  4978. 1999-02-10 Jim Kingdon <http://www.cyclic.com>
  4979. * tag.c (cvstag): Don't pass SEND_NO_CONTENTS if -c specified.
  4980. * sanity.sh (tagc): New test, for various tag -c behaviors.
  4981. Test tagc-6 tests for this fix.
  4982. 1999-02-09 Jim Kingdon <http://www.cyclic.com>
  4983. * error.c (error): Rewrite to no longer use vasprintf (see
  4984. ../lib/ChangeLog for rationale). Note the slight change in
  4985. interface - callers which want %8.8s or similar formats need to
  4986. call sprintf.
  4987. * lock.c (lock_wait, lock_obtained): Use sprintf.
  4988. 1999-02-08 Jim Kingdon <http://www.cyclic.com>
  4989. * rcs.c (RCS_delete_revs): Pass -a to diff_exec.
  4990. * sanity.sh (binfiles3): New tests binfiles3-9 through
  4991. binfiles3-13 test for this fix.
  4992. * sanity.sh (binfiles): New tests binfiles-o4 and binfiles-o5
  4993. (which don't test this bug, just on general principles).
  4994. 1999-02-04 Jim Kingdon <http://www.cyclic.com>
  4995. * lock.c (lock_name): Permissions of directories in LockDir
  4996. shouldn't depend on the umask.
  4997. * sanity.sh (lockfiles): Set umask and CVSUMASK, to test for this.
  4998. 1999-02-01 Jim Kingdon <http://www.cyclic.com>
  4999. * sanity.sh (keywordlog): New tests keywordlog-22 and
  5000. keywordlog-23 test keyword expansion and $Log. Adjust other tests
  5001. so that revisions differ more from each other, so this is a
  5002. better test.
  5003. 1999-01-29 Jim Kingdon <http://www.cyclic.com>
  5004. * commit.c (checkaddfile): If options is "", treat it the same as
  5005. NULL. Centralize this check, and the one for it starting with
  5006. "-k", at the start of the function.
  5007. * rcs.c, rcs.h (RCS_setexpand): New function.
  5008. * admin.c (admin_fileproc): Access keyword expansion field via
  5009. RCS_getexpand and RCS_setexpand, rather than directly.
  5010. * commit.c (checkaddfile): When resurrecting, set the keyword
  5011. expansion mode.
  5012. * sanity.sh (binfiles3): Adjust tests binfiles3-7 and binfiles3-8
  5013. for the new behavior.
  5014. 1999-01-27 Jim Kingdon <http://www.cyclic.com>
  5015. * sanity.sh (multiroot3): Add new variant of multiroot3-10 test
  5016. for RELATIVE_REPOS. Move multiroot3-11 test out of the
  5017. conditionals; it works the same for remote or local,
  5018. RELATIVE_REPOS or no.
  5019. * options.h.in: Make RELATIVE_REPOS the default, as has been
  5020. announced as a future direction since 1997-10-11.
  5021. * sanity.sh (multiroot): Tweak multiroot-update-1a and
  5022. multiroot-update-1b tests to work with either RELATIVE_REPOS or
  5023. non-RELATIVE_REPOS.
  5024. * sanity.sh (client-9): Don't assume the time zone.
  5025. 1999-01-26 Jim Kingdon <http://www.cyclic.com>
  5026. Fix one facet of the "cvs add -kb" re-adding problem (the other
  5027. known facet is tested for by binfiles3-8).
  5028. * add.c (add): When re-adding a file, set the keyword expansion
  5029. as we normally would.
  5030. * sanity.sh (binfiles3): New test binfiles3-6a tests for this.
  5031. 1999-01-22 Jim Kingdon <http://www.cyclic.com>
  5032. * sanity.sh (rmadd2): New tests, for undoing a commit.
  5033. 1999-01-21 Eric Mumpower <nocturne@cygnus.com>
  5034. * sanity.sh (reposmv): Actually modify CVSROOT in current
  5035. environment when calling functions, rather than trying to achieve
  5036. the same effect with "CVSROOT=foo functionname". (Many common
  5037. bourne shells, including those in SunOS and Solaris 2.4-2.7,
  5038. do not properly handle "ENVVAR=foo command" when "command" is
  5039. a user-defined shell function rather than an actual executable.)
  5040. 1999-01-15 Jim Kingdon <http://www.cyclic.com>
  5041. * sanity.sh (rcs3): Redirect awk's stdin to /dev/null like all the
  5042. other awk invocations. GNU awk seems not to read stdin in this
  5043. case, but that behavior is hard to reconcile with the Single Unix
  5044. Spec and some awks don't do it.
  5045. * sanity.sh (binfiles, binfiles2, binfiles3, server): Use the same
  5046. tr trick as in rcs3. People don't seem to have been complaining,
  5047. and this should fix server-4 for HPUX.
  5048. 1999-01-14 Jim Kingdon <http://www.cyclic.com>
  5049. * client.c (recv_line): If the line we are reading contains a
  5050. character which would sign-extend to EOF, don't treat it as end of
  5051. file. recv() doesn't report end of file this way and this might
  5052. fix bugs with 0xff characters.
  5053. 1999-01-14 Larry Jones <larry.jones@sdrc.com>
  5054. * client.c (recv_line): Handle EOF from server.
  5055. * sanity.sh (importc-8, importc-9): Accept anything in the seconds
  5056. fields of the timestamps since touch doesn't set it reliably.
  5057. (This isn't great, but it's better than nothing.)
  5058. 1999-01-14 Jim Kingdon <http://www.cyclic.com>
  5059. * run.c (run_exec): Adjust comment about vfork; this isn't the place
  5060. to get into a treatise about fork performance vs. vfork
  5061. performance but it isn't quite as simple as whether one has
  5062. copy-on-write.
  5063. 1999-01-13 Larry Jones <larry.jones@sdrc.com>
  5064. * sanity.sh (dotest_fail): Handle spurrious output from assert better.
  5065. * sanity.sh (rcs3-4, rcs3-5a): Handle even more variants of the
  5066. assertion failure message.
  5067. 1999-01-12 Larry Jones <larry.jones@sdrc.com>
  5068. * sanity.sh (mtfr-3): ls behavior varies wildly on nonexistant files,
  5069. just use echo instead.
  5070. 1999-01-11 Jim Meyering <meyering@ascend.com>
  5071. * sanity.sh (mkmodules-temp-file-removal): New test, for this.
  5072. * mkmodules.c (mkmodules): Remove each `CVSROOT/.#[0-9]*' temporary
  5073. file that's used to check out files listed in CVSROOT/checkoutlist.
  5074. Remove extra semicolon at end of line.
  5075. 1999-01-11 Larry Jones <larry.jones@sdrc.com>
  5076. * sanity.sh (rcs3-5a): Allow for multiple lines of output before the
  5077. assertion failure message.
  5078. * sanity.sh (lockfiles-6, client-8): Work around bug in HP-UX chmod
  5079. (doesn't allow anything to follow omitted permissions).
  5080. 1999-01-09 Jim Kingdon <http://www.cyclic.com>
  5081. * client.c (set_sticky): Nonfatal error if we can't write it.
  5082. * sanity.sh (dirs2-8 through dirs2-14): New tests, for this.
  5083. * sanity.sh (rcs3): Write NUL character with tr not awk, in
  5084. accordance with Single Unix Specification. Hopefully will fix
  5085. rcs3-7 for HPUX. Will not work on SunOS4, but then again neither
  5086. did the old syntax.
  5087. 1999-01-05 Jim Kingdon <http://www.cyclic.com>
  5088. * client.c, update.c: Rename MD5* functions to cvs_MD5* per
  5089. corresponding change to ../lib/md5.h.
  5090. 1999-01-03 Jim Kingdon <http://www.cyclic.com>
  5091. * sanity.sh (client): Give file1 a predictable mode so that the
  5092. output in client-9 will not depend on the umask of the user
  5093. running the tests.
  5094. 1998-12-29 Jim Kingdon <http://www.cyclic.com>
  5095. * client.c (client_senddate): Use date_to_internet rather than
  5096. using our own "5/26/1997 13:01:40 GMT" date format.
  5097. * main.c (date_to_internet): Check for errors from sscanf. Always
  5098. send a four digit year. Send hours, minutes, and seconds as two
  5099. digits per RFC822.
  5100. * sanity.sh (client): New tests client-8 and client-9 test for this.
  5101. * sanity.sh (rcs2): New tests rcs2-6 through rcs2-8 test for fix
  5102. to lib/getdate.y (before the fix, "100 months" or "8 years" would
  5103. tend to mean the year 1969, thus the tests would give "cvs update:
  5104. file1 is no longer in the repository").
  5105. 1998-12-28 Larry Jones <larry.jones@sdrc.com>
  5106. * entries.c (Register): Return if unable to open log file to avoid
  5107. referencing the invalid file pointer.
  5108. * sanity.sh (dirs2-7): With above change, no longer fails.
  5109. * sanity.sh (rcs3-5a): Another assertion failure message.
  5110. * sanity.sh (pserver-4, pserver-5): Some 4.4BSD derived systems spit
  5111. out bogus error messages when initgroups is called as non-root.
  5112. 1998-12-23 Larry Jones <larry.jones@sdrc.com>
  5113. * sanity.sh (rcs3, dotest_fail): The assertion failure message varies
  5114. wildly between different systems and the resulting abort call can
  5115. even result in spurrious output. Fix the regexp to accept nearly
  5116. anything containing some kind of assertion failure and ensure that
  5117. any spurrious output ends up in the output file instead of on the
  5118. terminal.
  5119. 1998-12-23 Jim Kingdon <http://www.cyclic.com>
  5120. * admin.c, checkout.c, commit.c, cvsrc.c, expand_path.c,
  5121. history.c, ignore.c, import.c, log.c, mkmodules.c, modules.c,
  5122. myndbm.c, parseinfo.c, rcs.c, remove.c, rtag.c, status.c, subr.c,
  5123. tag.c, wrapper.c: Cast all char's to unsigned char before passing
  5124. them to ctype.h functions (isalpha, isgraph, isalnum, isspace,
  5125. isdigit, isprint, isupper). Whether using ctype.h is the right
  5126. thing at all is unclear to me (having the server depend on locale
  5127. seems wrong, as we don't necessarily have any good way to set the
  5128. right locale, if there even is such a concept as 'right' locale in
  5129. this context), but as long as we use ctype.h we might as use it
  5130. according to the standards (this affects systems where plain char
  5131. is signed but users supply characters with the 8th bit set).
  5132. Thanks to Paul Eggert for suggesting this.
  5133. 1998-12-22 Jim Kingdon <http://www.cyclic.com>
  5134. * sanity.sh (rcs3): Oops, the earlier fix for srcdir only fixed
  5135. the non-remote case, not the remote case. Fix the other occurrence.
  5136. 1998-12-22 Jim Kingdon
  5137. * sanity.sh (rcs3): The assertion failure message varies slightly
  5138. depending on whether CVS was built with srcdir != ".". Fix regexp.
  5139. 1998-12-21 Jim Kingdon
  5140. * rcs.c (RCS_getdate): Reindent Jim Meyering's change; remove
  5141. unused variable x_vers.
  5142. * rcs.c: When printing an unexpected character we found in the RCS
  5143. file, print it in hex rather than as a character (see comment for
  5144. rationale).
  5145. * sanity.sh (rcs3): Adjust rcs3-2 and rcs3-7 tests accordingly.
  5146. * sanity.sh (rcs3): New test, for some error handling cases
  5147. involving parsing RCS files.
  5148. 1998-12-16 Jim Meyering <meyering@ascend.com>
  5149. * rcs.c (RCS_getdate): Handle the case in which a file is first
  5150. imported after its initial version has been created.
  5151. * sanity.sh (import-after-initial): New test for that.
  5152. 1998-12-17 Jim Kingdon
  5153. * server.c (serve_root): Pserver_Repos only exists if
  5154. AUTH_SERVER_SUPPORT is defined.
  5155. 1998-12-12 Jim Kingdon, and Derek R. Price of Stortek.
  5156. * sanity.sh (multiroot): Change + to ${PLUS}.
  5157. 1998-12-12 Jim Kingdon, and Gary Young of Motorola
  5158. * sanity.sh (admin): In tests admin-13, admin-25, and admin-29,
  5159. allow 4 digit year in addition to 2 digit year.
  5160. 1998-12-12 Jim Kingdon
  5161. * sanity.sh (log): New tests log-14a and log-14b test for -rHEAD
  5162. and for HEAD as (nonexistent) file name.
  5163. 1998-12-02 Jim Kingdon
  5164. * version.c: Squish version number to 1.10.4.1.
  5165. * version.c: Version 1.10.4.
  5166. 1998-11-24 Jim Kingdon
  5167. * recurse.c (do_file_proc): Check for errors from RCS_parse.
  5168. * sanity.sh (rcslib-symlink-7 through rcslib-symlink-10): New
  5169. tests, test for this.
  5170. * sanity.sh (reposmv-2): Adjust for 22-Nov change to Find_Names.
  5171. * entries.c (Register): If we can't write Entries.Log, make it a
  5172. nonfatal error.
  5173. * sanity.sh (dirs2): Test for this fix.
  5174. * sanity.sh (dirs2): Clean up working directory at end of test.
  5175. 1998-11-23 Jim Kingdon
  5176. * sanity.sh (dirs2): New test, for some more cases involving
  5177. deleting directories and such.
  5178. * sanity.sh (dirs): Update for yesterday's change in Find_Names
  5179. error handling. The error in dirs-4 is fairly different now; in
  5180. dirs-3 and dirs-3a it is the obvious change.
  5181. 1998-11-22 Jim Kingdon
  5182. * sanity.sh (release): Move the commments listing "cvs release"
  5183. tests from modules2-6 to here.
  5184. * release.c (release): Update comment to reflect "? foo" case.
  5185. * find_names.c (Find_Names): If we can't read the repository, make
  5186. it a nonfatal error. Tell the caller whether this happened.
  5187. (find_rcs): Add comment regarding this behavior.
  5188. * recurse.c (do_recursion): If Find_Names gives an error, skip
  5189. the directory and print a message saying so.
  5190. * sanity.sh (modes3): New test, for this.
  5191. 1998-11-18 Jim Kingdon
  5192. * rtag.c (rtag_usage), tag.c (tag_usage): Use "-r rev"
  5193. consistently.
  5194. * sanity.sh (conflicts3): Tests conflicts3-24 through
  5195. conflicts3-28 test for another case similar to conflicts3-22.
  5196. 1998-11-14 Jim Kingdon
  5197. * sanity.sh (diff): New test, for now just tests for the "I know
  5198. nothing" message.
  5199. * sanity.sh (conflicts2-142b7 through conflicts2-142b11): New
  5200. tests; resurrecting doesn't work from one level up.
  5201. * sanity.sh (mwrap-7): Remote prints the messages in a different
  5202. order.
  5203. 1998-11-13 Jim Kingdon
  5204. * tag.c (check_fileproc): Log tag deletions.
  5205. * rtag.c (check_fileproc): Likewise.
  5206. * sanity.sh (taginfo-14 through taginfo-18): New tests, for
  5207. these behaviors.
  5208. 1998-11-12 Jim Kingdon
  5209. * sanity.sh (mwrap-7): Update for the noexec fix.
  5210. * server.c (server_copy_file): Add comment about noexec.
  5211. * update.c (checkout_file): Handle noexec case involving revbuf
  5212. and modes.
  5213. (update_fileproc): In case T_NEEDS_MERGE, let merge_file take care
  5214. of noexec, so it can tell the user if there would be conflicts.
  5215. (merge_file): Print "conflicts found in FILE" message
  5216. regardless of noexec. Add comment about checking for whether the
  5217. file already contained the changes, and noexec.
  5218. * sanity.sh (conflicts-192a): New test, for this.
  5219. 1998-10-20 Jim Kingdon
  5220. Use the gzip library on the server. Probably doesn't speed things
  5221. up as currently implemented, but does avoid hassles in terms of
  5222. finding an external gzip program.
  5223. * zlib.c, server.h (gunzip_and_write, read_and_gzip): Now returns
  5224. whether a fatal error occurred, rather than expecting error (1,
  5225. ...) to work.
  5226. * client.c (update_entries, send_modified): Change callers.
  5227. * server.c (receive_file): Rewrite gzip code to use
  5228. gunzip_and_write rather than filter_through_gunzip.
  5229. (server_updated): Likewise, use read_and_gzip rather than
  5230. filter_through_gzip.
  5231. * client.c, client.h (filter_through_gzip, filter_through_gunzip),
  5232. run.c, cvs.h (filter_stream_through_program): Removed; no longer used.
  5233. * sanity.sh (server): New tests server-4 and server-5 test
  5234. this feature (note that CVS 1.10 also passes these tests; the
  5235. behavior is supposed to be unchanged).
  5236. 1998-10-19 Jim Kingdon
  5237. * sanity.sh (multiroot3): New test, tests for a few more
  5238. multiroot cases.
  5239. * lock.c (lock_name): Set the permissions on each directory we
  5240. create to that of the parent directory.
  5241. * sanity.sh (lockfiles): New chmod and tests lockfiles-7a and
  5242. lockfiles-7b test for this. Adjust lockfiles-5 for new text of
  5243. error message.
  5244. 1998-10-15 Jim Kingdon
  5245. * server.c (requests): Set RQ_ROOTLESS for "Set".
  5246. * sanity.sh (info): Also clean up $HOME/.cvsrc.
  5247. (server): Test that we can send Set before Root (had been tested
  5248. by crerepos-6b, but only if you ran the info test first). Tests
  5249. for this fix.
  5250. 1998-10-14 Jim Kingdon
  5251. * subr.c (expand_string): Tweak the algorithm so that the size
  5252. that it allocates is generally a power of two.
  5253. 1998-10-14 Eivind Eklund and Jim Kingdon
  5254. * commit.c (commit): For the client, don't worry about whether we
  5255. are root.
  5256. 1998-10-13 Jim Kingdon
  5257. * server.h (struct request): Change status field to flags and add
  5258. RQ_ROOTLESS.
  5259. * client.c (handle_valid_requests, supported_request): Change
  5260. status to flags.
  5261. * server.c (requests): Change status to flags. Add RQ_ROOTLESS.
  5262. * server.c (server): If not RQ_ROOTLESS, and we haven't gotten a
  5263. Root request, give an error.
  5264. 1998-10-12 Jim Kingdon
  5265. * version.c: Slide version number to 1.10.3.1.
  5266. * Version 1.10.3.
  5267. * sanity.sh (modules2-17): Update for 9 Oct 1998 change to
  5268. update_dirent_proc.
  5269. 1998-10-11 Jim Kingdon
  5270. * commit.c (checkaddfile, commit_fileproc): A numeric value for
  5271. 'tag' does not mean that we are adding on a branch.
  5272. * sanity.sh (keywordlog): Adjust this test, to test for this
  5273. (replaces comment saying we should be doing it).
  5274. (rmadd): Likewise.
  5275. * sanity.sh (rmadd): New test, tests for various existing
  5276. behaviors with "cvs ci -r".
  5277. 1998-10-09 Jim Kingdon
  5278. * update.c (update_dirent_proc): For local CVS, if the directory
  5279. does not exist in the working directory nor in the repository,
  5280. just skip it.
  5281. * sanity.sh (dirs): New tests dirs-3a, dirs-7 and dirs-8 test for
  5282. this and related behaviors. Note that the new behavior was also
  5283. the previous behavior for remote; we are only changing it for local.
  5284. * wrapper.c, cvsrc.c, ignore.c: Add comments about ignoring .cvsrc
  5285. and friends if we can't find a home directory.
  5286. * expand_path.c (expand_path): If we can't find the home
  5287. directory, give an error rather than a coredump (or worse).
  5288. * login.c (construct_cvspass_filename): Don't use errno in error
  5289. message; get_homedir doesn't set it. Add comment about this
  5290. message.
  5291. 1998-10-07 Jim Kingdon <kingdon@harvey.cyclic.com>
  5292. * diff.c (diff): Set variables to NULL at the start, and free
  5293. memory at the end.
  5294. * sanity.sh (multiroot2): Add tests for this (before the fix,
  5295. multiroot2-12 would abort with "no more than two revisions/dates
  5296. can be specified").
  5297. 1998-10-06 Jim Kingdon <kingdon@harvey.cyclic.com>
  5298. * Makefile.in (installcheck check): Remove references to RCSBIN;
  5299. they don't do anything now that RCSBIN is ignored.
  5300. * client.c: Clean up horrible confusion about whether stored_mode
  5301. or stored_mode_valid (or nothing :-)) indicates whether
  5302. stored_mode is allocated. Should fix crashes (for example, on NT
  5303. when the server has renamed multiple files from uppercase to
  5304. lowercase).
  5305. * sanity.sh (dirs): New tests, tests for some cases involving
  5306. admins who do surgery on the repository.
  5307. 1998-10-03 Johannes Stezenbach <johannes.stezenbach@propack-data.de>
  5308. * vers_ts.c (Version_TS): If UTIME_EXPECTS_WRITABLE, if
  5309. necessary change the file to be writable temporarily to set its
  5310. modification time.
  5311. 1998-10-03 Jim Kingdon <kingdon@harvey.cyclic.com>
  5312. * client.c (handle_error): Add comment about indicating which
  5313. errors are from the server.
  5314. 1998-10-01 Jim Kingdon <kingdon@harvey.cyclic.com>
  5315. * sanity.sh (devcom-180): Allow one digit day.
  5316. 1998-09-30 Jim Kingdon <kingdon@harvey.cyclic.com>
  5317. * main.c (main): Don't call Name_Root if -d specified.
  5318. * recurse.c (do_recursion, do_dir_proc): Don't check CVS/Root
  5319. if -d was specified.
  5320. * import.c (import): Indentation fix.
  5321. * sanity.sh (multiroot): Update for this change.
  5322. (reposmv): New test, tests for this.
  5323. 1998-09-28 Jim Kingdon <kingdon@harvey.cyclic.com>
  5324. * sanity.sh (multiroot2): New test, tests some nested directory
  5325. cases.
  5326. 1998-09-25 Jim Kingdon <kingdon@harvey.cyclic.com>
  5327. * sanity.sh (multiroot): Change a few comments which said modules
  5328. when they meant directories.
  5329. 1998-09-25 Jim Meyering <meyering@ascend.com>
  5330. * sanity.sh (devcom-180): Add 0-9 to the range of characters allowed
  5331. in hostname regexp.
  5332. 1998-09-25 Jim Kingdon <kingdon@harvey.cyclic.com>
  5333. * sanity.sh (log2): New test log2-7a tests for one error handling
  5334. case. Add a comment about another.
  5335. 1998-09-24 Jim Kingdon <kingdon@harvey.cyclic.com>
  5336. * sanity.sh: Change crerepos test back to :ext: (for several
  5337. reasons; see comments).
  5338. 1998-09-24 Noel Cragg <noel@swish.red-bean.com>
  5339. * sanity.sh (rcslib-symlink-5, rcslib-symlink-6): new tests to
  5340. check the operation of "tag" when there are symlinks in the
  5341. repository.
  5342. * rcs.c (RCS_checkin): remove old code that resolved the symlink
  5343. and call resolve_symlink instead.
  5344. (RCS_rewrite): call resolve_symlink before doing anything else to
  5345. make sure we're operating on the file and not the symlink.
  5346. * subr.c (resolve_symlink): new routine -- resolves a symbolic
  5347. link chain to its destination.
  5348. * cvs.h: add prototype.
  5349. * sanity.sh (basica-6.2, basica-6.3): changed match expressions to
  5350. reflect new diff output.
  5351. * rcs.c (make_file_label): generate labels for files that include
  5352. the pathname so that output from "cvs diff" is useable by patch.
  5353. Looks like I came up with the mods as Andy Piper
  5354. <andyp@parallax.co.uk>; his patch was on the Cyclic unofficial
  5355. patches page.
  5356. * sanity.sh: change remote access method from ext to fork. This
  5357. results in a significant speed improvement when running the
  5358. testsuite. The ext method on my machine (i586 120MHz Linux 2.0.35
  5359. with TCP wrappers installed) runs in 450% of the time of the local
  5360. method while the fork method runs in only 150% of the time of the
  5361. local method! Yow! Am I SWAPPING yet?!
  5362. (crerepos-6a, crerepos-6b): change to reflect different error
  5363. messages for fork method.
  5364. (modes-15): same.
  5365. * client.c (connect_to_forked_server): new routine.
  5366. (start_server): call the above when method is fork_method.
  5367. * root.c: add a new method named "fork". This method uses the
  5368. remote protocol, but does so by forking a "cvs server" process
  5369. directly rather than doing "rsh host cvs server" (for example).
  5370. This new method has few advantages for day-to-day use, but has
  5371. three important benefits for debugging:
  5372. 1) Most secure installations these days don't allow rsh access.
  5373. With this new method, we can still test the remote protocol on
  5374. these machines because we don't need to be able to make a local
  5375. TCP connection.
  5376. 2) Even if installations allow rsh access, they almost always
  5377. have TCP wrappers to check permissions by IP/hostname. This
  5378. causes a short delay for every connection. For invocations from
  5379. the command line, this doesn't matter much, but it adds up to a
  5380. significant amount of time when running the testsuite.
  5381. 3) On machines that can't (or do not usually) provide rshd
  5382. access (I'm thinking of WNT/W95 in particular), we can now run
  5383. tests of the remote protocol using this method. Indeed, we can
  5384. run remote protocol tests on any machine that has an
  5385. implementation of piped_child().
  5386. (parse_cvsroot): handle new method.
  5387. (error_exit, xstrdup, isabsolute): new stub functions to use when
  5388. compiling root.c with the DEBUG option.
  5389. (main): fix a few typos.
  5390. * cvs.h (CVSmethod): add fork_method.
  5391. * server.c (create_adm_p): use Emptydir as the placeholder
  5392. directory instead of "." to avoid problems with "cvs update -d" et
  5393. al.
  5394. 1998-09-22 Noel Cragg <noel@swish.red-bean.com>
  5395. * sanity.sh (devcom-180): fixed typo in regexp.
  5396. * main.c (main): remove need_to_create_root and related code
  5397. (including CVS_IGNORE_REMOTE_ROOT environment variable). The
  5398. current implementation (just removed) of rewriting the contents of
  5399. the CVS/Root file isn't desirable for a number of reasons:
  5400. 1) Only the top-level CVS/Root directory is updated. If we're
  5401. really interested in pointing our WD at another CVSROOT, we
  5402. should have a separate command.
  5403. 2) With the new multiroot mods, we don't ever want to rewrite
  5404. CVS/Root files in the way the removed code did. Consider:
  5405. cvs -d repository1 co a
  5406. cd a
  5407. cvs -d repository2 co b
  5408. cvs -d repository2 update b
  5409. The update command would rewrite the contents of a/CVS/Root to
  5410. the incorrect value. Bad. We then wouldn't be talking to the
  5411. correct repository for files in a.
  5412. 3) The removed code seems to be a quick hack to support working
  5413. directories checked out from multiple repositories. With the
  5414. CVS_IGNORE_REMOTE_ROOT variable set, one could perform commands
  5415. as in example 2, above, without worring about updating CVS/Root
  5416. files. While in pre-1.10.1 recursive commands wouldn't handle
  5417. that working directory hierarchy, one could use commands like
  5418. "cvs foo -l" instead. While not great, this allows you (with a
  5419. lot of manual interaction) to have a multiroot WD. Since we now
  5420. have multiroot mods checked in, we don't need this code.
  5421. (lookup_command_attribute): while we don't need the
  5422. CVS_CMD_USES_WORK_DIR flag anymore (since it only was supporting
  5423. the need_to_create_root code), I'm leaving it in. It may come in
  5424. handy at some later date.
  5425. 1998-09-18 Jim Kingdon <kingdon@pennington.cyclic.com>
  5426. * version.c: Advance version number to 1.10.2.1.
  5427. * Version 1.10.2.
  5428. 1998-09-13 Jim Kingdon <kingdon@harvey.cyclic.com>
  5429. * client.c: Refuse to Copy-file to another directory
  5430. * sanity.sh (client): New test, tests for this.
  5431. * edit.c (editors_fileproc), watch.c (watchers_fileproc): Use
  5432. cvs_output rather than writing to stdout.
  5433. * sanity.sh (devcom): Use dotest for tests 178, 180, and 183
  5434. (tests that we preserve existing behavior on "cvs editors").
  5435. * commit.c (check_fileproc): Don't allow commits in Emptydir.
  5436. * sanity.sh (emptydir-8): Test for this change in behavior.
  5437. * sanity.sh: Add some compatibility tests to TODO comments at end.
  5438. 1998-09-10 Jim Kingdon <kingdon@harvey.cyclic.com>
  5439. * wrapper.c (wrap_add): Remove obsolete comment about -m.
  5440. * server.c (server_updated): Check for error from CVS_UNLINK.
  5441. 1998-09-09 Jim Kingdon <kingdon@harvey.cyclic.com>
  5442. * server.c (serve_root): Allocate with malloc, not xmalloc.
  5443. * root.c (set_local_cvsroot): Move memory allocation from here...
  5444. * server.c (serve_root): ...to here. Fixes error handling.
  5445. * root.c (parse_cvsroot): Don't call check_root_consistent;
  5446. parse_cvsroot is only used for local and client.
  5447. * root.c (set_local_cvsroot): Move check_root_consistent
  5448. functionality from here...
  5449. * server.c (serve_root): ...to here. Fixes error handling. Also
  5450. made the error more explicit, while I am at it.
  5451. * server.c (Pserver_Repos): Now static.
  5452. * cvs.h: Don't declare it.
  5453. * root.c (check_root_consistent): Removed; no longer needed.
  5454. * sanity.sh (pserver): New test, tests for this behavior and some
  5455. other basic pserver stuff.
  5456. * update.c (merge_file): Use cvs_output for "already contains the
  5457. differences" message. Found this one when I actually observed the
  5458. out-of-order bug in Real Life(TM).
  5459. 1998-09-09 Jim Kingdon
  5460. * find_names.c (find_dirs): Make sure to zero errno before
  5461. going around the loop again.
  5462. * find_names.c (find_rcs): Make sure to set save_errno.
  5463. (thanks to Alexandre Parenteau for reporting both problems).
  5464. 1998-09-09 Jim Kingdon <kingdon@harvey.cyclic.com> and Michael Pakovic
  5465. * edit.c (notify_do): Only free line if it is not NULL.
  5466. 1998-09-07 Jim Kingdon <kingdon@harvey.cyclic.com>
  5467. * cvs.h: dirs_sent_to_server should not be inside
  5468. AUTH_SERVER_SUPPORT (reported by both Richard Levitte and Murray
  5469. Bishop, thanks).
  5470. * lock.c, cvs.h: New variable lock_dir.
  5471. * parseinfo.c (parse_config): New option LockDir.
  5472. * lock.c (lock_name): New function, abstracts out lock file naming
  5473. and also supports LockDir.
  5474. * lock.c (lock_simple_remove, Reader_Lock, write_lock, set_lock):
  5475. Call it (6 places, to create/remove read/write/master locks).
  5476. (Lock_Cleanup): Refuse to reenter this function.
  5477. * sanity.sh (lockfiles): New test, tests for this feature.
  5478. 1998-09-03 Jim Kingdon <kingdon@harvey.cyclic.com>
  5479. * sanity.sh (multiroot): Expect ${TESTDIR} in output instead of
  5480. assuming it is /tmp/cvs-sanity (thanks to Mark D. Baushke of Cisco).
  5481. Clean up working directory when done (fixes apparent thinko).
  5482. * server.c (create_adm_p): Fix one "return" which didn't return a
  5483. value.
  5484. (dirswitch): Check for errors from create_adm_p.
  5485. * sanity.sh: Set LC_ALL rather than just LC_COLLATE.
  5486. Wed Sep 2 02:30:22 1998 Jim Kingdon <kingdon@pennington.cyclic.com>
  5487. * version.c: Bump version number to 1.10.1.1.
  5488. * Version 1.10.1.
  5489. 1998-09-01 Jim Kingdon <kingdon@harvey.cyclic.com>
  5490. Administrative note regarding Noel's changes to allow one to
  5491. switch from one CVS root to another in a single command: The
  5492. ChangeLog entries for the changes which Noel just checked in
  5493. appear for 1998-09-01, 1998-08-28, 1998-08-25, 1998-08-19, and
  5494. 1998-08-18, rather than being all together.
  5495. * main.c (set_root_directory): Fix whitespace.
  5496. (main): Nuke new -m option and just have that message controlled
  5497. by -t.
  5498. * server.c (server): Revert the CVS_SERVER_SLEEP code back the way
  5499. it was in CVS 1.10. Attaching to the parent process is relatively
  5500. boring (you can just run "cvs server" under a debugger instead),
  5501. but connecting to the child process is what the old code was for.
  5502. * recurse.c, server.c: Remove DEBUG_NJC code.
  5503. 1998-09-01 Noel Cragg <noel@swish.red-bean.com>
  5504. * server.c (do_cvs_command): add another environment variable,
  5505. CVS_SERVER_SLEEP2, after forking to pause the program so one can
  5506. attach a debugger.
  5507. * sanity.sh (crerepos): clean up crerepos-18 now that multiroot
  5508. works in this case.
  5509. (multiroot): finalize tests for local vs. remote operation.
  5510. * recurse.c (start_recursion): near the beginning, save the list
  5511. of directories to spoof as command-line arguments, if necessary.
  5512. Use that list near the end and call send_file_names to send those
  5513. arguments to the server.
  5514. (do_argument_proc): removed, since we call send_file_names now.
  5515. * main.c (main): re-initialize dirs_sent_to_server on each pass
  5516. through the loop for each CVSROOT.
  5517. * cvs.h: add proto for global variable which keeps track of which
  5518. directories have been sent to the server when in client mode.
  5519. * client.c (is_arg_a_parent_or_listed_dir): new function.
  5520. (arg_should_not_be_sent_to_server): new function. Tries to decide
  5521. whether the given argument should be sent to the server, based on
  5522. the current CVSROOT and the list of directories sent to the
  5523. server.
  5524. (send_repository): add the directory name to the list of
  5525. directories sent to the server.
  5526. (send_file_names): call arg_should_not_be_sent_to_server.
  5527. * add.c (add): switch the order of send_files and send_file_names
  5528. to make multiple repository support possible. send_files needs to
  5529. create a list of directories being requested so that
  5530. send_file_names can decide which command-line arguments to send to
  5531. the server for the given current CVSROOT.
  5532. * admin.c (admin): same.
  5533. * commit.c (commit): same.
  5534. * diff.c (diff): same.
  5535. * edit.c (editors): same.
  5536. * log.c (cvslog): same.
  5537. * rcs.c (annotate): same.
  5538. * remove.c (cvsremove): same.
  5539. * status.c (cvsstatus): same.
  5540. * tag.c (cvstag): same.
  5541. * update.c (update): same.
  5542. * watch.c (watch_addremove): same.
  5543. (watchers): same.
  5544. 1998-08-31 Jim Kingdon <kingdon@harvey.cyclic.com>
  5545. * sanity.sh: Remove "debug" function; it was apparently checked
  5546. in accidentally by Norbert Kiesel's change.
  5547. 1998-08-31 Norbert Kiesel <nk@iname.com>
  5548. * release.c (release): modify last patch to release so that
  5549. save_cwd is called only once and restore_cwd is always called when
  5550. neccessary. Also fixed a tiny memory leak.
  5551. * sanity.sh (release): added some more tests for "cvs release"
  5552. including a test with two dirs and a "no" for the first one (which
  5553. fails without the above patch).
  5554. 1998-08-28 Noel Cragg <noel@swish.red-bean.com>
  5555. * sanity.sh (crerepos-18): add new comment and change test
  5556. slightly to support multiroot.
  5557. (multiroot): add more tests.
  5558. * server.c (create_adm_p): new function.
  5559. (dirswitch): call create_adm_p. Modify the code to always write a
  5560. new CVSADM_REP file, since create_adm_p might have put a
  5561. placeholder there and our value is guaranteed to be correct.
  5562. (server): move the CVS_SERVER_SLEEP check here so we can debug
  5563. things at an earlier stage.
  5564. * recurse.c (start_recursion): add large comment about the ideal
  5565. solution to the "Argument xxx" problem.
  5566. * main.c (main): move position of debugging comment for -m flag.
  5567. * diff.c (diff): clear a static variable.
  5568. * client.c (send_file_names): check to see if we should send this
  5569. argument to the server based on the contents of the appropriate
  5570. CVSADM directory. This avoids "nothing known about foo" messages
  5571. and problems with duplicate modules names in multiple
  5572. repositories.
  5573. (send_a_repository): change method of calculating toplevel_repos
  5574. to support multiple CVSROOTs.
  5575. (start_server): clear some static variables.
  5576. 1998-08-28 Jim Meyering <meyering@ascend.com>
  5577. * sanity.sh (basicc-8, basicc-11): Use `.*' instead of explicit
  5578. `Operation not permitted'. Solaris2.5.1 gets a different error:
  5579. `Invalid argument'.
  5580. 1998-08-26 Eric M. Hopper
  5581. * sanity.sh: Set LC_COLLATE to "C".
  5582. 1998-08-25 Noel Cragg <noel@swish.red-bean.com>
  5583. * sanity.sh (multiroot): new set of tests to check the behavior of
  5584. multiroot.
  5585. * diff.c (diff): set options value to NULL after freeing to reset
  5586. the state for the next time around.
  5587. 1998-08-25 Jim Kingdon <kingdon@harvey.cyclic.com>
  5588. Fix problems with trying to rename an open file:
  5589. * rcs.c, rcs.h (RCS_setattic): New function.
  5590. * commit.c (remove_file, checkaddfile): Call it.
  5591. 1998-08-24 Jim Kingdon <kingdon@harvey.cyclic.com>
  5592. * release.c (release): Use save_cwd and restore_cwd to get back to
  5593. where we started, rather than hoping that CVS_CHDIR ("..") will do
  5594. something useful. This removes the need for most of
  5595. release_delete, so remove that function and inline what is left.
  5596. * sanity.sh (basicc): Adjust tests for this fix, also some tests
  5597. with multiple arguments to "cvs release" (in the non-"-d"-case, it
  5598. would seem like the old code would CVS_CHDIR into directories and not
  5599. CVS_CHDIR back, but I'm not going to investigate this and it
  5600. should be a moot point with this fix.).
  5601. * sanity.sh (basicc): Add tests for a serious bug in "cvs release
  5602. -d .".
  5603. More error handling fixes:
  5604. * ignore.c (ignore_files): Check for errors from opendir and
  5605. readdir.
  5606. * find_names.c (Find_Names): Check for errors from find_rcs.
  5607. (find_rcs, find_dirs): Comment error handling better; also return
  5608. an error if we got one from readdir.
  5609. * filesubr.c (deep_remove_dir): Also check for errors from readdir.
  5610. * import.c (import_descend): Print message on error from opendir
  5611. or readdir.
  5612. * commit.c (remove_file): Check for errors from CVS_MKDIR and
  5613. CVS_RENAME.
  5614. (remove_file): No need to remove the file in the temporary
  5615. directory; server.c now informs time_stamp_server of what is going
  5616. on via CVS/Entries rather than a file with a kludged up timestamp.
  5617. * client.c, entries.c, login.c, logmsg.c, mkmodules.c, patch.c,
  5618. remove.c, update.c: Check for errors from unlink_file.
  5619. * mkmodules.c (write_dbmfile, rename_dbfile, rename_rcsfile):
  5620. Check for errors from fclose, CVS_RENAME, and CVS_STAT.
  5621. * mkmodules.c (checkout_file): Clarify error handling convention.
  5622. * mkmodules.c (mkmodules): Call checkout_file accordingly.
  5623. * entries.c (Entries_Open): Check for errors from fclose.
  5624. 1998-08-21 Ian Lance Taylor <ian@cygnus.com>
  5625. * import.c (import): Output suggested merge command using
  5626. cvs_output_tagged rather than just cvs_output. Don't put
  5627. CVSroot_cmdline in the log file.
  5628. * client.c (importmergecmd): New static struct.
  5629. (handle_mt): Handle +importmergecmd tag.
  5630. * sanity.sh (import): Use an explicit -d in importb-2, to test
  5631. whether it is reported in the suggested merge command.
  5632. 1998-08-20 Ian Lance Taylor <ian@cygnus.com>
  5633. * sanity.sh (import): Rewrite tests to use dotest.
  5634. 1998-08-20 Jim Kingdon <kingdon@harvey.cyclic.com>
  5635. * sanity.sh: Add comments about binary files and cvs import.
  5636. 1998-08-19 Jim Kingdon <kingdon@harvey.cyclic.com>
  5637. * sanity.sh (importc): Use ${username} in one place where I had
  5638. missed it.
  5639. Make import -d work client/server:
  5640. * client.c, client.h (client_process_import_file): Take new
  5641. argument, for whether -d is specified, and send Checkin-time
  5642. request if it is set.
  5643. * import.c (import_descend): Pass it.
  5644. * main.c, cvs.h (date_to_internet): New function.
  5645. * server.c (server_modtime): Call date_to_internet.
  5646. * server.c (serve_checkin_time): New function.
  5647. (requests): Add "Checkin-time" request.
  5648. (serve_modified): If it was sent, set the timestamp in the
  5649. temporary directory.
  5650. * import.c (import): If the client sends a -d option, complain.
  5651. (import): For the server, always use the timestamps from the temp
  5652. directory.
  5653. (import): Don't send a -d option to the server.
  5654. * sanity.sh (importc): Add tests for import -d.
  5655. Wed Aug 19 15:19:13 1998 Larry Jones <larry.jones@sdrc.com>
  5656. * sanity.sh (unedit-without-baserev-5): use ${DOTSTAR} instead
  5657. of .* since we expect to match multiple lines.
  5658. 1998-08-19 Ian Lance Taylor <ian@cygnus.com>
  5659. * cvs.h (CVSroot_cmdline): Declare.
  5660. * root.c (CVSroot_cmdline): Define.
  5661. * main.c (main): Set CVSroot_cmdline if the -d option is used.
  5662. * import.c (import): If CVSroot_cmdline is not NULL, then mention
  5663. an explicit -d option in the suggested merge command line.
  5664. Wed Aug 19 00:28:50 1998 Noel Cragg <noel@swish.red-bean.com>
  5665. * recurse.c (do_dir_proc): don't muck with CVS/Root directories
  5666. when running in server mode.
  5667. (do_recursion): same.
  5668. * main.c (main): add the command-line option `m' to help debug the
  5669. multiroot environment; it prints out the value of CVSROOT for each
  5670. iteration through the main loop. Also, changed the main loop so
  5671. that it gets executed only once when running in server mode (the
  5672. server will only deal with a single CVSROOT).
  5673. * recurse.c (do_recursion): change default for
  5674. PROCESS_THIS_DIRECTORY to true; we should always process a
  5675. directory's contents unless there's an existing CVS/Root file with
  5676. a different root than the current root to tell us otherwise.
  5677. (do_dir_proc): same.
  5678. Tue Aug 18 14:30:59 1998 Noel Cragg <noel@swish.red-bean.com>
  5679. * recurse.c (do_recursion): check the current value of CVS/Root
  5680. and add it to our list of CVSROOTs if it doesn't exist. Decide
  5681. whether or not to process files in this directory based based on
  5682. the value of CURRENT_ROOT.
  5683. (do_dir_proc): same.
  5684. * main.c: add two new globals -- root_directories and current_root
  5685. -- which keep track of the values of CVSROOT we've seen and which
  5686. value of CVSROOT we're currently processing.
  5687. (main): put the main loop for stepping through cvsroot values
  5688. here, since we might need to send command-specific arguments for
  5689. every unique non-local cvsroot. Moved blocks of code around so
  5690. that one-time initializations happen first (outside the loop) and
  5691. the other stuff happens inside the loop.
  5692. (set_root_directory): helper function.
  5693. * cvs.h: add prototypes for root_directories and current_root, two
  5694. new globals for keeping track of multiple CVSROOT information.
  5695. 1998-08-18 Jim Kingdon <kingdon@harvey.cyclic.com>
  5696. * sanity.sh: Don't assume that the shell leaves $^ unexpanded in
  5697. an unquoted here-document (suggested by Bart Schaefer to help when
  5698. zsh is the shell).
  5699. 1998-08-17 Ian Lance Taylor <ian@cygnus.com>
  5700. * commit.c (checkaddfile): Don't call fix_rcs_modes.
  5701. (fix_rcs_modes): Remove.
  5702. 1998-08-16 Jim Kingdon <kingdon@harvey.cyclic.com>
  5703. * create_adm.c (Create_Admin): Don't condition traces on
  5704. SERVER_SUPPORT; SERVER_SUPPORT shouldn't do (much of) anything
  5705. independent of server_active.
  5706. * sanity.sh (binfiles3): New test, for yet another binary file
  5707. bug (sigh). Thanks to Jason Aten for reporting this one.
  5708. 1998-08-15 Jim Kingdon <kingdon@harvey.cyclic.com>
  5709. * rcscmds.c (call_diff_write_output): Update to reflect new
  5710. calling convention for the write_output callback.
  5711. 1998-08-15 Jim Meyering <meyering@ascend.com>
  5712. * update.c (merge_file): Warn about failed unlink when not due
  5713. to ENOENT.
  5714. * server.h (CLIENT_SERVER_STR): New macro
  5715. * create_adm.c (Create_Admin): Use it.
  5716. * entries.c (Scratch_Entry, Register): Use it.
  5717. * filesubr.c (copy_file, xchmod, rename_file, unlink_file): Use it.
  5718. * history.c (history_write): Use it.
  5719. * modules.c (do_module): Use it.
  5720. * no_diff.c (No_Difference): Use it.
  5721. * run.c (run_popen): Use it.
  5722. * server.c (server_register): Use it.
  5723. 1998-08-14 Jim Meyering <meyering@ascend.com>
  5724. * hardlink.c (lookup_file_by_inode): Use existence_error rather than
  5725. comparing errno to ENOENT directly.
  5726. * client.c (copy_a_file): Unlink destination before doing copy.
  5727. * sanity.sh (join-readonly-conflict): New test for this -- it would
  5728. fail only in client/server mode.
  5729. * sanity.sh (rcsmerge-symlink-4): Don't use `test -L', it's not
  5730. portable. Instead, match against the output of `ls -l'.
  5731. (dotest tag8k-16): Simplify tag-construction code and at the same
  5732. time, avoid using expr's `length' and `substr' operators. Not
  5733. all versions of expr support those.
  5734. 1998-08-14 Jim Kingdon <kingdon@harvey.cyclic.com>
  5735. * version.c: Bump version number to 1.10.0.1.
  5736. Thu Aug 13 11:15:24 1998 Noel Cragg <noel@swish.red-bean.com>
  5737. * version.c: Change version number to 1.10 and name to `Halibut'.
  5738. * sanity.sh (rcslib): new tests to check behavior of symlinks in
  5739. the repository.
  5740. Wed Aug 12 15:39:38 1998 Noel Cragg <noel@swish.red-bean.com>
  5741. * main.c (lookup_command_attribute): the `annotate' command
  5742. shouldn't require access to the repository. Add comment about
  5743. commands that do not use the working directory.
  5744. Mon Aug 10 10:26:38 1998 Noel Cragg <noel@swish.red-bean.com>
  5745. * version.c: Change version number to 1.9.30.
  5746. Thu Aug 6 17:44:50 1998 Noel Cragg <noel@swish.red-bean.com>
  5747. * server.c (serve_rdiff): change the name of the command (for
  5748. error reporting, etc.) from "patch" to "rdiff."
  5749. (serve_remove): rename from "cvsremove" to "remove."
  5750. * main.c (lookup_command_attribute): the `rdiff' command shouldn't
  5751. require write access to the repository.
  5752. 1998-08-06 David Masterson of kla-tencor.com
  5753. and Jim Kingdon
  5754. * commit.c (commit_filesdoneproc): Don't call strlen ("CVSROOT")
  5755. from within the assert statement. Apparently HP's cc compiler on
  5756. HPUX 10.20 has trouble with that.
  5757. 1998-08-06 Jim Kingdon <kingdon@harvey.cyclic.com>
  5758. * rcs.c (RCS_checkin): When adding branch, if there is a lock on
  5759. the branchpoint owned by someone else, leave it alone. This
  5760. restores CVS 1.9 (RCS 5.7) behavior, fixing a core dump.
  5761. * sanity.sh (reserved): New tests reserved-16 through reserved-19
  5762. test for this fix.
  5763. 1998-08-05 Jim Kingdon <kingdon@harvey.cyclic.com>
  5764. * sanity.sh (unedit-without-baserev): Use ${QUESTION} not "?".
  5765. This makes it work with GNU expr 1.12 as well as 1.16.
  5766. Sun Aug 2 20:27:44 1998 Noel Cragg <noel@swish.red-bean.com>
  5767. * mkmodules.c: add comment about TopLevelAdmin for the initial
  5768. contents of CVSROOT/config.
  5769. 1998-07-29 Jim Kingdon <kingdon@harvey.cyclic.com>
  5770. * rcs.c (RCS_checkin): Only try to call xreadlink if HAVE_READLINK
  5771. is defined.
  5772. Tue Jul 28 19:33:08 1998 Noel Cragg <noel@swish.red-bean.com>
  5773. * version.c: Change version number to 1.9.29.
  5774. * rcs.c (RCS_checkin): add code to follow symbolic links in the
  5775. repository.
  5776. Sun Jul 26 05:14:41 1998 Noel Cragg <noel@swish.red-bean.com>
  5777. * This set of changes reverts the code to pre-1.9.2 behavior and
  5778. does not create CVS directories at top-level (except for the
  5779. obvious "cvs co ."). Added a new configuration option to switch
  5780. between 1.9 and 1.9.2 behavior.
  5781. * recurse.c (do_argument_proc): new function.
  5782. (start_recursion): in the case that we've done a command from
  5783. top-level but have no CVS directory there, the behavior should be
  5784. the same as "cvs <cmd> dir1 dir2 dir3...". Make sure that the
  5785. appropriate "Argument" commands are sent to the server by calling
  5786. walklist with do_argument_proc.
  5787. * client.c (call_in_directory): only create the top-level CVS
  5788. directory when we're checking out "." explicitly. The server will
  5789. force creation of this directory in all other cases.
  5790. * checkout.c (checkout_proc): only generate the top-level
  5791. directory when the TopLevelAdmin=yes. Also send a message to the
  5792. client to do the same.
  5793. * parseinfo.c (parse_config): handle TopLevelAdmin option. Set
  5794. top_level_admin.
  5795. * main.c: add new variable top_level_admin.
  5796. * cvs.h: add extern definition for above.
  5797. * sanity.sh: since we're reverting to pre 1.9.2 behavior for
  5798. top-level CVS directories, I needed to make changes to a bunch of
  5799. tests that made assumptions about said directories.
  5800. (preamble): make sure to add read and execute access to everything
  5801. in TMPDIR before removing, since some tests make things read-only.
  5802. (basicb-1a, basicb-1b, basicb-9a, basicb-9b): use dotest_fail
  5803. because these tests check for the non-existant top-level CVS
  5804. directory.
  5805. (basicc-3, emptydir-6, emptydir-7, crerepos-6): use "rm -rf" so it
  5806. won't complain when trying to remove the non-existant top-level
  5807. CVS directory.
  5808. (106.5): remove imported-f2-orig.tmp.
  5809. (modules2-10, emptydir-4, abspath-1ba, abspath-1bb): cd into the
  5810. directory where files exist before using the "add" command so cvs
  5811. can find CVSROOT in CVS/Root.
  5812. (cvsadm-2): look at a different CVS/Repository file, since the
  5813. top-level one doesn't exist.
  5814. (taginfo-3): create the directory in the repository directly
  5815. rather than relying on the fact that the top-level CVS directory
  5816. was created in a previous test.
  5817. (serverpatch-6): update first-dir explicity, rather than relying
  5818. on the non-existant top-level CVS/Entries file.
  5819. (crerepos-18): look at CVS/Repository in a subdirectory rather
  5820. than in the non-existant top-level CVS directory.
  5821. (toplevel): add code to set TopLevelAdmin=yes.
  5822. (toplevel2): new tests -- same as toplevel, but TopLevelAdmin=no.
  5823. 1998-07-21 Jim Meyering <meyering@ascend.com>
  5824. * rcs.c (RCS_checkout): Hoist frees of rev and value.
  5825. Warn and return 1 in several cases rather than exiting via
  5826. `error (1, ...'. The latter could abort a multi-file commit
  5827. in mid-stream, leaving stale locks in the repository.
  5828. 1998-07-16 Jim Kingdon <kingdon@harvey.cyclic.com>
  5829. * build_src.com (rcscmds.c): Also look for include files in
  5830. [-.diff], just like Ian's 1998-06-18 change to Makefile.in
  5831. 1998-07-14 Jim Kingdon <kingdon@harvey.cyclic.com>
  5832. * tag.c (pretag_proc), rtag.c (pretag_proc): Don't pass RUN_REALLY
  5833. to run_exec. This means that taginfo does not get executed if the
  5834. global -n option is specified. Which makes it like loginfo, -i,
  5835. -e, -o, -t, -u in modules, editinfo, and verifymsg and unlike
  5836. commitinfo. The old behavior was pretty bad in the sense that it
  5837. doesn't provide any way to log only the tags which actually
  5838. happen.
  5839. * sanity.sh (taginfo): New tests taginfo-11 to taginfo-13, for this.
  5840. 1998-07-12 Jim Kingdon <kingdon@harvey.cyclic.com>
  5841. * sanity.sh (ann-id): Write the test so that it tests for the
  5842. current (buggy) behavior.
  5843. * sanity.sh (taginfo): Also clean up cvsroot/first-dir.
  5844. 1998-07-12 Jim Meyering <meyering@ascend.com>
  5845. * sanity.sh (ann-id): New (currently failing) test for bug in how
  5846. rcs keywords are expanded in the output of `cvs annotate'.
  5847. 1998-07-12 Jim Kingdon <kingdon@harvey.cyclic.com>
  5848. * sanity.sh (taginfo): Write the TESTDIR into the script rather
  5849. than having the script look at the environment. This means that
  5850. it will work if TESTDIR is set by sanity.sh as well as if
  5851. sanity.sh finds TESTDIR in the environment.
  5852. 1998-07-11 Jim Kingdon <kingdon@harvey.cyclic.com>
  5853. * tag.c (check_fileproc): Calculate the revision to be tagged the
  5854. same way that tag_fileproc does.
  5855. * sanity.sh (taginfo): New tests, test for this (before this fix,
  5856. brtag had said 1.1 not 1.1.2.1).
  5857. 1998-07-10 Jim Kingdon <kingdon@harvey.cyclic.com>
  5858. * sanity.sh (unedit-without-baserev): Also clean up "2" directory.
  5859. 1998-07-08 Jim Kingdon <kingdon@harvey.cyclic.com>
  5860. * edit.c (unedit_fileproc): If the Baserev file is missing, don't
  5861. get the working file from CVS/Base. The previous code could get
  5862. you version 1.1 of the working file and put 1.2 in CVS/Entries.
  5863. * sanity.sh (unedit-without-baserev): New tests test for this.
  5864. 1998-07-02 Jim Kingdon <kingdon@harvey.cyclic.com>
  5865. * sanity.sh (unedit-without-baserev): Move the test itself to be
  5866. in the same order as in the "tests" variable.
  5867. 1998-07-02 Ian Lance Taylor <ian@cygnus.com>
  5868. * rcscmds.c: Don't include <stdarg.h> or <vasprintf.h>. Don't
  5869. declare vasprintf.
  5870. (call_diff_printf_output): Remove.
  5871. (call_diff_stdout_callbacks): Don't initialize printf_output
  5872. field--it has been removed from the interface.
  5873. (call_diff_file_callbacks): Likewise.
  5874. 1998-07-01 Jim Meyering <meyering@ascend.com>
  5875. * edit.c (unedit_fileproc): Handle the case in which base_get
  5876. returns a NULL baserev. That happens when a file being `unedit'ed
  5877. exists in the CVS/Base directory, but isn't listed in the CVS/Baserev
  5878. file. The one case I've seen had no Baserev file at all. The symptom
  5879. (if you're lucky) is a segmentation fault upon unedit. If you use
  5880. SunOS4.1.4 for which printf prints NULL pointers as `(null)', your
  5881. unedit command will complete normally, but it will have corrupted
  5882. your CVS/Entries file and a subsequent update may result in an
  5883. assertion failure, a core dump, and a stale lock in the repository.
  5884. * sanity.sh (unedit-without-baserev): New test for this.
  5885. 1998-07-01 Andy Mortimer of aeat.co.uk
  5886. and Jim Kingdon <kingdon@harvey.cyclic.com>
  5887. * server.c (server_updated): Use a prototype if we are using them
  5888. for declarations.
  5889. 1998-06-29 Jim Kingdon <kingdon@harvey.cyclic.com>
  5890. * sanity.sh (commit-readonly): Protect keyword against expansion
  5891. in sanity.sh itself. Keep the keyword in the file which we check
  5892. in (or else this fails to test for the RCS_checkout change).
  5893. 1998-06-27 Jim Meyering <meyering@ascend.com>
  5894. * rcs.c (RCS_checkout): If opening the local workfile fails due to
  5895. lack of write access, try to chmod the file and retry the open.
  5896. Before, a commit could fail part way through merely because the
  5897. open to rewrite with newly expanded rcs keywords would fail. It's
  5898. easy to make this happen if you use `cvs -r' or CVSREAD and you
  5899. apply a patch to one of your read-only source files -- patch
  5900. preserves the read-only setting for the file and your next commit
  5901. will fail after committing that file, but before rewriting
  5902. (checking out) your working copy.
  5903. * sanity.sh (commit-readonly): New test for this.
  5904. 1998-06-25 Jim Kingdon <kingdon@harvey.cyclic.com>
  5905. * update.c (patch_file): Update comments regarding context diffs
  5906. to reflect diff library.
  5907. 1998-06-23 Jim Kingdon <kingdon@harvey.cyclic.com>
  5908. * sanity.sh (modules4): Add tests for reversing the order of the
  5909. "!first-dir/sdir" and "first-dir".
  5910. 1998-06-23 Jim Kingdon <kingdon@harvey.cyclic.com>
  5911. and Dave Wolfe@Motorola.
  5912. * sanity.sh (modes2): Touch the file before chmod'ing it.
  5913. 1998-06-21 Ian Lance Taylor <ian@cygnus.com>
  5914. * update.c (merge_files): Revert changes of 1998-06-19. Instead,
  5915. register a merged file with a dummy time stamp. Only set
  5916. last_register_time if we need to.
  5917. (join_file): Likewise. Always register a merged file, not just
  5918. when the merge fails.
  5919. 1998-06-21 Jim Kingdon <kingdon@harvey.cyclic.com>
  5920. * call_diff_write_output, call_diff_printf_output,
  5921. call_diff_flush_output, call_diff_write_stdout, call_diff_error,
  5922. call_diff_stdout_callbacks, call_diff_file_callbacks): Re-indent.
  5923. 1998-06-19 Ian Lance Taylor <ian@cygnus.com>
  5924. * update.c (merge_file): Make sure the time stamp of the file is
  5925. different from the time stamp we register in the Entries file.
  5926. (join_file): Likewise.
  5927. 1998-06-18 Ian Lance Taylor <ian@cygnus.com>
  5928. * rcscmds.c: Include <stdio.h>. Include either <stdarg.h> or
  5929. <varargs.h>. Declare vasprintf.
  5930. (call_diff_write_output): New static function.
  5931. (call_diff_printf_output): New static function.
  5932. (call_diff_flush_output): New static function.
  5933. (call_diff_write_stdout): New static function.
  5934. (call_diff_error): New static function.
  5935. (call_diff_stdout_callbacks): New static variable.
  5936. (call_diff_file_callbacks): New static variable.
  5937. (call_diff): Don't sleep. Use a callback structure when calling
  5938. the diff library.
  5939. (call_diff3): Likewise.
  5940. * rcscmds.c: Include diffrun.h.
  5941. (call_diff, call_diff3): Pass NULL callback parameter.
  5942. (diff_run, diff3_run): Don't declare.
  5943. * Makefile.in (rcscmds.o): New target, to use -I for diff
  5944. directory.
  5945. (zlib.o): Depend upon zlib.h.
  5946. 1998-06-09 Mike Sutton@SAIC
  5947. Make it compile with Sun's bundled K&R C compiler:
  5948. * rcs.c (count_delta_actions): Change to static to match
  5949. declaration.
  5950. * client.c (handle_wrapper_rcs_option): Rename error label to
  5951. handle_error to avoid clash with function name.
  5952. 1998-06-09 Jim Kingdon <kingdon@harvey.cyclic.com>
  5953. * rcs.c (RCS_delete_revs): If we are trying to delete all
  5954. revisions, give an error rather than assertion failed.
  5955. * sanity.sh (basicb): New tests basicb-o* test for this.
  5956. 1998-06-04 Jim Kingdon <kingdon@harvey.cyclic.com>
  5957. * add.c (add): Only send "Directory" requests if we need to.
  5958. 1998-06-02 Assar Westerlund <assar@sics.se>
  5959. * client.c: Check for HAVE_GSS_C_NT_HOSTBASED_SERVICE rather than
  5960. assuming that GSS_C_NT_HOSTBASED_SERVICE is a macro.
  5961. * server.c: Likewise.
  5962. 1998-06-02 Jim Kingdon <kingdon@harvey.cyclic.com>
  5963. * fileattr.c (fileattr_read): Check for NULL return from strchr.
  5964. * sanity.sh (devcom3): New test devcom3-10 checks for this.
  5965. 1998-06-01 Assar Westerlund <assar@sics.se>
  5966. and Ian Lance Taylor <ian@cygnus.com>
  5967. * client.c: If HAVE_GSSAPI_H, include <gssapi.h>. Only include
  5968. <gssapi/gssapi.h> if HAVE_GSSAPI_GSSAPI_H. Only include
  5969. <gssapi/gssapi_generic.h> if HAVE_GSSAPI_GSSAPI_GENERIC_H.
  5970. (GSS_C_NT_HOSTBASED_SERVICE): Define if not defined.
  5971. (connect_to_gserver): Use GSS_C_NT_HOSTBASED_SERVICE instead of
  5972. gss_nt_service_name.
  5973. * server.c: Same header file changes.
  5974. (GSS_C_NT_HOSTBASED_SERVICE): Define if not defined.
  5975. (gserver_authenticate_connection): Use GSS_C_NT_HOSTBASED_SERVICE
  5976. instead of gss_nt_service_name.
  5977. 1998-06-01 Jim Meyering <meyering@ascend.com>
  5978. * sanity.sh (tag8k): Add a test for the 1998-05-02 rcs.c bug fix.
  5979. 1998-05-26 Jim Kingdon <kingdon@harvey.cyclic.com>
  5980. * rcs.c (annotate): Call tag_check_valid like the other functions
  5981. which have a -r option.
  5982. * sanity.sh (ann): New test ann-14 tests for this.
  5983. 1998-05-24 Jim Kingdon <kingdon@harvey.cyclic.com>
  5984. * sanity.sh (importc): New tests importc-5 through importc-8 test
  5985. for a (fairly obscure) regression from CVS 1.9.
  5986. 1998-05-23 Jim Kingdon <kingdon@harvey.cyclic.com>
  5987. * sanity.sh (modules2): Add comment listing cvs release tests.
  5988. (info): New test info-cleanup-0 tests "cvs -n release".
  5989. * rcs.c (rcsbuf_getid): Remove semicolon at end of #undef. I'm
  5990. kind of surprised that compilers accepted this at all, but
  5991. removing it squelches a warning for some compilers.
  5992. * version.c: Change version number to 1.9.28.1.
  5993. * Version 1.9.28.
  5994. 1998-05-22 Jim Kingdon <kingdon@harvey.cyclic.com>
  5995. * rcs.c (RCS_cmp_file): Check for errors from CVS_FOPEN. This
  5996. restores the CVS 1.9 behavior (fatal error if we can't open the
  5997. file), and corrects an apparent oversight in Ian's 13 Apr 1997
  5998. change.
  5999. * sanity.sh (modes2): New test, tests for this.
  6000. 1998-05-22 Ian Lance Taylor <ian@cygnus.com>
  6001. * server.c (server_updated): Correct test for whether to unlink
  6002. the file.
  6003. 1998-05-20 Jim Kingdon <kingdon@harvey.cyclic.com>
  6004. * wrapper.c (wrap_add): Disable -t/-f wrappers at least until the
  6005. serious bug can be fixed.
  6006. 1998-05-15 Jim Kingdon <kingdon@harvey.cyclic.com>
  6007. * checkout.c (checkout): Call server_pathname_check on the
  6008. argument to "cvs co -d".
  6009. * server.c (server_pathname_check): Add comment about how we could
  6010. be handling absolute pathnames.
  6011. * sanity.sh (abspath): Rewrite the tests which run "cvs co -d /foo"
  6012. for remote, to reflect this.
  6013. * sanity.sh (abspath): Also do the "cannot rename" work-around for
  6014. abspath-7d.
  6015. 1998-05-13 Jim Kingdon <kingdon@harvey.cyclic.com>
  6016. * commit.c (commit_filesdoneproc): Free admin_dir when done with it.
  6017. 1998-05-13 Jim Meyering <meyering@ascend.com>
  6018. * sanity.sh (editor): Change bogus sed command, `s/^/x&/g', to `s/^/x/'.
  6019. The former exercised a bug in GNU sed-3.01-beta3.
  6020. (emptydir-8): Add `Rebuilding administrative file database' message,
  6021. since now it does that.
  6022. * commit.c (commit_filesdoneproc): Pass only the admin directory
  6023. pathname to mkmodules.
  6024. Remove #if 0, now that it's fixed.
  6025. * status.c (cvsstatus): Rename from `status' to avoid shadowing
  6026. lots of locals and parameters by the same name.
  6027. * server.c (serve_status): Update caller.
  6028. * main.c (cmds[]): Update table entry.
  6029. * cvs.h: Update prototype.
  6030. * commit.c (commit_filesdoneproc): Remove trailing blanks.
  6031. (commit) [CLIENT_SUPPORT]: Remove unnecessary (and local-shadowing)
  6032. declaration of `err'.
  6033. Rename global `tag' to `saved_tag' to avoid overshadowing `tag'
  6034. parameters of three functions.
  6035. Rename global `message' to `saved_message' to avoid overshadowing
  6036. `message' parameter of a function.
  6037. Rename global `ulist' to `saved_ulist' and move dcl up with others.
  6038. 1998-05-12 Jim Kingdon <kingdon@harvey.cyclic.com>
  6039. * commit.c (commit_filesdoneproc): #if 0 the new code until it can
  6040. be fixed.
  6041. * commit.c (commit_filesdoneproc): Add comment explaining last
  6042. change.
  6043. 1998-05-12 Jim Meyering <meyering@ascend.com>
  6044. * commit.c (commit_filesdoneproc): Call mkmodules not just when
  6045. committing a file directly under CVSROOT, but also when committing
  6046. files in subdirectories of CVSROOT.
  6047. 1998-05-08 Jim Meyering <meyering@ascend.com>
  6048. * filesubr.c (xreadlink): NUL-terminate the symbolic link name.
  6049. Use a much smaller initial buffer length.
  6050. Test errno only if readlink fails.
  6051. Use xstrdup then free the original link name so we don't waste space.
  6052. 1998-05-02 Jim Meyering <meyering@ascend.com>
  6053. * rcs.c (rcsbuf_getword): Fix off-by-one error that would result in
  6054. an abort (the first one in rcsbuf_getkey) when operating on on some
  6055. ,v files with over 8192 bytes of tag and branch info.
  6056. 1998-05-04 Jim Kingdon <kingdon@harvey.cyclic.com>
  6057. * sanity.sh (ann): New tests ann-12 and ann-13 test for specifying
  6058. a numeric branch.
  6059. 1998-05-02 Jim Kingdon <kingdon@harvey.cyclic.com>
  6060. * rcs.c: Add comments about getting rid of rcsbuf_getid,
  6061. rcsbuf_getword, and rcsbuf_getstring.
  6062. * sanity.sh (abspath): Revise the workarounds to deal with exit
  6063. status.
  6064. 1998-04-30 Jim Kingdon <kingdon@harvey.cyclic.com>
  6065. * sanity.sh (abspath): Work around the "cannot rename" bug.
  6066. 1998-04-27 Jim Kingdon <kingdon@harvey.cyclic.com>
  6067. * classify.c (Classify_File): Add comments about checking whether
  6068. command name is "update".
  6069. 1998-04-22 Jim Kingdon <kingdon@harvey.cyclic.com>
  6070. * version.c: Change version number to 1.9.27.1.
  6071. * Version 1.9.27.
  6072. 1998-04-20 Jim Kingdon <kingdon@harvey.cyclic.com>
  6073. (This diff was run by devel-cvs and everyone seemed to like it).
  6074. * diff.c (diff_file_nodiff): Make HEAD mean the head of the branch
  6075. which contains the sticky tag, not the sticky tag itself.
  6076. * rcs.c, rcs.h (RCS_branch_head): New function.
  6077. * sanity.sh (head): Update for this changed behavior.
  6078. 1998-04-19 Jim Kingdon <kingdon@harvey.cyclic.com>
  6079. * sanity.sh: Move emptydir tests from basicb to new test emptydir.
  6080. This is because we now need a module definition to create Emptydir;
  6081. "co -d" doesn't cut it anymore.
  6082. 1998-04-17 Petri Virkkula
  6083. * server.c (mkdir_p): Ignore EROFS error (like for EACCES).
  6084. 1998-04-16 Jim Kingdon <kingdon@harvey.cyclic.com>
  6085. * checkout.c (checkout_proc): Don't create directories above the
  6086. last one specified in "co -d".
  6087. (build_dirs_and_chdir): Revert Noel's change of 17 Feb 1998.
  6088. (struct dir_to_build): New field just_chdir.
  6089. (build_dirs_and_chdir): Test it.
  6090. * sanity.sh (abspath): New tests abspath-7* test for a bug which
  6091. we fix, in which CVS would create bogus "D/////" entries in
  6092. CVS/Entries.
  6093. (abspath): Revise abspath-3* tests to test for the fact that we no
  6094. longer create directories above the last one specified in "co -d".
  6095. I checked that CVS 1.9 gives an error on this, so changing this
  6096. behavior back should be OK.
  6097. (cvsadm-2d3): Likewise (also checked CVS 1.9 for this case).
  6098. (cvsadm-2d3d): Likewise (also checked CVS 1.9 for this case).
  6099. (cvsadm-2d{4,5,6,7,8}, cvsadm-N2d{3,4,5,6,7,8}): Adjust for new
  6100. behavior (same case as cvsadm-2d3).
  6101. (cvsadm-2d{4,5,6,7,8}d, cvsadm-N2d{3,4,5,6,7,8}d): Remove test
  6102. (same case as cvsadm-2d3d).
  6103. (cvsadm): For remote, skip most these tests.
  6104. (abspath): When cleaning up, delete mod1 and mod2 rather than mod1
  6105. twice (longstanding bug, apparently only becomes visible if you
  6106. run the tests in a certain order).
  6107. 1998-04-14 Wilfredo Sanchez <wsanchez@apple.com>
  6108. * rcs.c: variable "lockfile" was being referenced after being
  6109. free'd. Bad. Moved the free() call down.
  6110. 1998-04-12 Jim Kingdon <kingdon@harvey.cyclic.com>
  6111. * sanity.sh (rcs): Add test for annotate and the year 2000.
  6112. * server.c (do_cvs_command): If there are partial lines left when
  6113. the child process is done, send them along.
  6114. * sanity.sh (rcs, rcs2): Enable all tests for remote; tests for
  6115. this fix.
  6116. 1998-04-11 Jim Kingdon <kingdon@harvey.cyclic.com>
  6117. * client.c (client_senddate): Pass SDATEFORM not DATEFORM to
  6118. sscanf. This fixes a Y2K bug.
  6119. * history.c (history, select_hrec): Change since_date from time_t
  6120. to RCS format. Use the usual machinery (in particular, Make_Date
  6121. and client_senddate) so that it will work on VMS too.
  6122. * main.c, cvs.h (date_from_time_t): New function.
  6123. * sanity.sh (history): New test, to test that this didn't break
  6124. anything (also tests client_senddate fix).
  6125. 1998-04-11 Norbert Kiesel <nk@iname.com>
  6126. * server.c (cvs_output_binary): Shut up "gcc -Wall" by removing
  6127. unnecessary else if test.
  6128. * server.c (check_password): Fix uninitialized memory read if
  6129. shadow passwords are used. Also added some comments.
  6130. * rcs.c (RCS_checkout): Make sure to call chown with -1 for uid or
  6131. gid if they should not be changed
  6132. 1998-04-10 Jim Kingdon <kingdon@harvey.cyclic.com>
  6133. * sanity.sh (rcs2): New test, tests for various Y2K cases.
  6134. * rcs.c (getdelta): Value for "state" keyword is optional (bug
  6135. discovered incidentally in writing rcs2 test).
  6136. 1998-04-09 Jim Kingdon <kingdon@harvey.cyclic.com>
  6137. * filesubr.c, cvs.h (link_file): Remove; no longer used.
  6138. 1998-04-08 Jim Kingdon <kingdon@harvey.cyclic.com>
  6139. * recurse.c (do_dir_proc): Restore update_dir rather than a
  6140. computation which appears to, but does not necessarily, restore it
  6141. (reported by various people; this fix is from Greg Hudson).
  6142. * sanity.sh (importc): New test, tests for this fix.
  6143. 1998-03-27 Jim Kingdon <kingdon@harvey.cyclic.com>
  6144. * rcs.c (RCS_lock): If the revision is already locked, give an
  6145. error rather than dumping core.
  6146. * sanity.sh (reserved): New test reserved-13c tests for this.
  6147. 1998-03-25 Loren J. Rittle
  6148. * import.c (add_rev): Rewrite to use RCS_FLAGS_KEEPFILE option
  6149. of RCS_checkin() to avoid damage to imported files instead of
  6150. externally undoing damage after the fact. The side effect is
  6151. that callers of add_rev() may now incrementally walk the
  6152. entries of the current directory without seeing gratuitous
  6153. changes to the directory structure (under at least one file
  6154. system under at least one OS).
  6155. 1998-03-18 Jim Kingdon <kingdon@harvey.cyclic.com>
  6156. * error.c (error): Save and restore errno. Should fix test case
  6157. conflicts3-23 on SCO 5.0.2. Reported by Steve Cameron.
  6158. * sanity.sh (admin): Rename admin-26-o* to admin-26-*; the "o"
  6159. stands for "cvs admin -o". Add comment about length of tests.
  6160. Use ${PLUS}.
  6161. 1998-03-05 Dan Wilder <dan@gasboy.com>
  6162. * Fix problem with cvs admin in which -ntag:branch
  6163. option associated tag with the branch's head revision.
  6164. Should have used branch number. Entailed in this fix,
  6165. the following.
  6166. * Add new functions "RCS_exist_rev", "RCS_exist_tag",
  6167. "RCS_tag2rev", and "RCS_valid_rev" to rcs.c. RCS_tag2rev
  6168. is similar to RCS_gettag, but does less interpretation.
  6169. * Plug a small memory leak.
  6170. * Add tests admin-26 through admin-29 to sanity.sh,
  6171. to test "cvs admin -n".
  6172. 1998-03-17 Samuel Tardieu <sam@inf.enst.fr>
  6173. * server.c (server_register): protect dereferencing timestamp in
  6174. the trace message when it is null, to avoid a segmentation fault.
  6175. 1998-03-16 Jim Kingdon <kingdon@harvey.cyclic.com>
  6176. * options.h.in (MY_NDBM): Rewrite the comment explaining this
  6177. option. It was not clear to everyone who "my" referred to, for
  6178. example.
  6179. * hardlink.c (list_linked_files_on_disk): Remove unused variables
  6180. err and p.
  6181. (list_linked_files_on_disk): Add comment about memory allocation
  6182. of return value.
  6183. * rcs.c (rcsbuf_getword): Shut up gcc -Wall with a "return 0".
  6184. (RCS_checkin): Remove unused variable fullpath.
  6185. * sanity.sh (hardlinks): Remove comment about spurious warnings;
  6186. the warnings are gone.
  6187. 1998-03-12 Tim Pierce <twp@skepsis.com>
  6188. New functions for parsing and writing hardlink fields.
  6189. * rcs.c [PRESERVE_PERMISSIONS_SUPPORT] (puthardlink_proc): New
  6190. function.
  6191. (putdelta) [PRESERVE_PERMISSIONS_SUPPORT]: Use it.
  6192. (rcsbuf_getid, rcsbuf_getstring, rcsbuf_getword): New functions.
  6193. (getdelta): Call them, storing `hardlinks' field in vnode->hardlinks.
  6194. (RCS_reparsercsfile): When setting rdata->desc, xstrdup value
  6195. rather than rcsbuf_valcopying it (due to changes in how getdelta
  6196. handles keys and values in newphrases).
  6197. * sanity.sh (hardlinks): Use uglier filenames. Checking out
  6198. hardlinked files no longer produces the same spurious diagnostics,
  6199. so fix that test.
  6200. (hardlinks-2.3): Renamed from hardlinks-2.2 (duplicate test name).
  6201. New infrastructure for managing hardlink lists internally...
  6202. * hardlink.c, hardlink.h (list_linked_files_on_disk,
  6203. compare_linkage_lists, find_checkedout_proc): New functions.
  6204. * rcs.h (struct rcsversnode) [PRESERVE_PERMISSIONS_SUPPORT]: New
  6205. member `hardlinks'.
  6206. * update.c (special_file_mismatch): Get hardlinks from
  6207. vp->hardlinks instead of from vp->other_delta.
  6208. * rcs.c (free_rcsvers_contents): Comment about freeing hardlinks
  6209. member.
  6210. (RCS_checkout) [PRESERVE_PERMISSIONS_SUPPORT]: Get hardlinks from
  6211. vers->hardlinks list instead of vers->other_delta.
  6212. ... and removed obsolete code from earlier revs.
  6213. * hardlink.c, hardlink.h (list_files_linked_to,
  6214. cache_hardlinks_proc, list_files_proc, set_hardlink_field_proc):
  6215. Removed.
  6216. * hardlink.h: Removed `links' member from hardlink_info struct.
  6217. * commit.c (commit): Remove the call to cache_hardlinks_proc.
  6218. (check_fileproc) [PRESERVE_PERMISSIONS_SUPPORT]: Removed reference
  6219. to hlinfo->links.
  6220. * hardlink.c (update_hardlink_info): Same.
  6221. * update.c (get_linkinfo_proc): Same.
  6222. * rcs.c (RCS_checkout) [PRESERVE_PERMISSIONS_SUPPORT]: Use
  6223. vp->hardlinks and find_checkedout_proc to find recently-updated
  6224. files that may be hardlinked.
  6225. * update.c (special_file_mismatch): Use List * structures and
  6226. compare_linkage_lists for rev1_hardlinks and rev2_hardlinks.
  6227. 1998-03-16 Larry Jones <larry.jones@sdrc.com>
  6228. * server.c (check_password): If shadow passwords are supported but no
  6229. entry is found in the shadow file, check the regular password file.
  6230. 1998-03-07 Jim Kingdon <kingdon@harvey.cyclic.com>
  6231. * sanity.sh: Rename permissions test to perms since that is what
  6232. each of its individual tests are named.
  6233. * sanity.sh (perms symlinks hardlinks): Change CVSROOT to
  6234. CVSROOT_DIRNAME where appropriate.
  6235. (perms symlinks hardlinks): Disable/adjust the meat of the tests for
  6236. remote.
  6237. (symlinks): Link to ${TESTDIR}/fumble rather than
  6238. /fumble/mumble/grumble. We shouldn't be making assumptions about
  6239. what might exist in random directories outside ${TESTDIR}.
  6240. * hardlink.c (cache_hardlinks_proc): Add comment about trimming
  6241. whitespace.
  6242. 1998-03-07 Tim Pierce <twp@skepsis.com>
  6243. * rcs.c (RCS_checkout): Negation bug when checking out symlinks:
  6244. existence_error should be !existence_error.
  6245. * sanity.sh (permissions symlinks hardlinks): New tests, for
  6246. PreservePermissions.
  6247. 1998-03-04 Jim Kingdon <kingdon@harvey.cyclic.com>
  6248. * version.c: Change version number to 1.9.26.1.
  6249. * Version 1.9.26.
  6250. * entries.c, cvs.h (Entries_Open): New argument update_dir; use it
  6251. in error message.
  6252. * add.c, checkout.c, client.c, find_names.c, import.c, recurse.c,
  6253. update.c: Pass it (as NULL except in call_in_directory).
  6254. * entries.c (Subdirs_Known): Just return if there is no CVSADM
  6255. directory (as in subdir_record).
  6256. * sanity.sh (conflicts3): New tests conflicts3-20a and
  6257. conflicts3-23 test for these fixes.
  6258. * commit.c (commit): Only set up hardlist if preserve_perms.
  6259. * commit.c, import.c, no_diff.c, parseinfo.c, rcs.c, rcscmds.c,
  6260. update.c: Omit the preserve_perms code if
  6261. PRESERVE_PERMISSIONS_SUPPORT is not defined. Much of that code
  6262. won't even compile on non-unix systems.
  6263. * hardlink.c, hardlink.h: Use the 'standard' copyright (as found
  6264. in server.c).
  6265. * commit.c, rcs.c: Minor whitespace changes to Tim's submission.
  6266. * commit.c (check_fileproc), update.c (get_linkinfo_proc): Remove
  6267. unused variable delta.
  6268. * hardlink.c (set_hardlink_field_proc), update.c
  6269. (get_linkinfo_proc): Return a value rather than falling off the
  6270. end of the function.
  6271. 1998-03-02 Tim Pierce <twp@skepsis.com>
  6272. * update.c (special_file_mismatch): Compare the hard links of the
  6273. two revisions.
  6274. * rcs.c (RCS_checkout):
  6275. * hardlink.c, hardlink.h: New files.
  6276. (hardlink_info): New struct.
  6277. (hardlist, working_dir): New variables.
  6278. (list_files_proc, cache_hardlinks_proc, set_hardlink_field_proc,
  6279. lookup_file_by_inode, update_hardlink_info, list_files_linked_to):
  6280. New functions.
  6281. * Makefile.in (SOURCES): Add hardlink.c.
  6282. (OBJECTS): Add hardlink.o.
  6283. (HEADERS): Add hardlink.h.
  6284. * commit.c: Include hardlink.h.
  6285. (commit): Save the working directory before recursing. Walk the
  6286. hardlink list, calling set_hardlink_field_proc on each node.
  6287. (check_fileproc): Add each file's link information to hardlist.
  6288. * rcs.c: Include hardlink.h.
  6289. (RCS_checkin): Save list of hardlinks in delta node.
  6290. (RCS_checkout): Look up the file's `hardlinks' delta field, and
  6291. see if any of the files linked to it have been checked out
  6292. already. Link to one of those files if so.
  6293. * update.c: Include hardlink.h.
  6294. (get_linkinfo_proc): New function.
  6295. (do_update): Extra recursion to collect hardlink info.
  6296. (special_file_mismatch): Reparse the RCS file if necessary.
  6297. fsortcmp is now used by several files, so let's make it extern.
  6298. * hash.c, hash.h (fsortcmp): New function.
  6299. * find_names.c (fsortcmp): Removed.
  6300. * lock.c (fsortcmp): Removed.
  6301. 1998-03-03 Jim Kingdon <kingdon@harvey.cyclic.com>
  6302. * sanity.sh (conflicts3): New tests conflicts3-14a,
  6303. conflicts3-14b, and conflicts3-21, conflicts3-22 test that we can
  6304. skip over a working directory with a CVSADM directory missing.
  6305. 1998-02-26 Jim Kingdon <kingdon@harvey.cyclic.com>
  6306. * sanity.sh (conflicts3): Tests conflicts3-16 and conflicts3-20
  6307. test that we include update_dir in messages. Rename test
  6308. conflicts3-14 to fix typo.
  6309. Sun Feb 22 23:14:25 1998 Steve Cameron <steve.cameron@compaq.com>
  6310. and Ian Lance Taylor <ian@cygnus.com>
  6311. * update.c (tag_update_dir): New static variable.
  6312. (update_dirent_proc): If no tag or date were specified when
  6313. creating a subdirectory, use the tag and/or date of the parent
  6314. directory.
  6315. (update_dirleave_proc): If we set the tag and/or date in
  6316. update_dirent_proc, reset them when we leave the directory.
  6317. * sanity.sh (branches2): New set of tests for above patch, and
  6318. related behaviour.
  6319. Sun Feb 22 13:31:51 1998 Ian Lance Taylor <ian@cygnus.com>
  6320. * commit.c (lock_RCS): Don't call RCS_rewrite.
  6321. * update.c (patch_file): If the revision is dead, let
  6322. checkout_file handle it.
  6323. * sanity.sh (death2): Add test for above patch: add
  6324. death2-10a, death2-10b, death2-13a, and adjust
  6325. death2-{2,4,5,11,14,diff-11,diff-12,19}.
  6326. * cvs.h (RCS_FLAGS_KEEPFILE): Define.
  6327. * rcs.c (RCS_checkin): If RCS_FLAGS_KEEPFILE is set in the flags
  6328. parameter, don't unlink the working file.
  6329. * checkin.c (Checkin): Don't copy the file. Instead pass
  6330. RCS_FLAGS_KEEPFILE to RCS_checkin, and only check the file out
  6331. again if it has changed.
  6332. 1998-02-21 Jim Kingdon <kingdon@harvey.cyclic.com>
  6333. * rcs.c (rcs_internal_unlockfile, RCS_rewrite): Don't assume errno
  6334. means anything just because ferror is set.
  6335. Sat Feb 21 20:02:24 1998 Ian Lance Taylor <ian@cygnus.com>
  6336. * Makefile.in (clean): Change "/bin/rm" to "rm".
  6337. * buffer.c (buf_append_buffer): Correct typo in comment.
  6338. * rcs.c (RCS_putadmin): Likewise.
  6339. Fri Feb 20 17:53:06 1998 Ian Lance Taylor <ian@cygnus.com>
  6340. * rcs.c (rcs_internal_unlockfile): Pass errno when calling error
  6341. because ferror is true.
  6342. 1998-02-20 Jim Kingdon <kingdon@harvey.cyclic.com>
  6343. * sanity.sh (abspath): Don't assume that we can't write to /; this
  6344. is the kind of thing that is sure to break sooner or later
  6345. (especially on Windows).
  6346. * sanity.sh: Add summary of which modules tests are which (at
  6347. "modules"). Move cvsadm, abspath, and toplevel next to modules.
  6348. Add comments to clarify the structure (such as it is).
  6349. Fri Feb 20 12:47:14 1998 Larry Jones <larry.jones@sdrc.com>
  6350. * admin.c (admin_fileproc): Better fix for -b.
  6351. * rcs.c (RCS_whatbranch): Back out previous change.
  6352. (RCS_getversion): Ditto.
  6353. (RCS_setbranch): Treat an empty revision string like a null pointer.
  6354. 1998-02-18 Jim Kingdon <kingdon@harvey.cyclic.com>
  6355. * rcs.c (RCS_whatbranch): Fix indentation.
  6356. * patch.c (patch_fileproc): Check for errors from fclose; check
  6357. for errors from fopen properly.
  6358. Wed Feb 18 16:03:37 1998 Larry Jones <larry.jones@sdrc.com>
  6359. * admin.c (admin_fileproc): Convert -b argument from symbolic name
  6360. to revision number before storing in the RCS file.
  6361. * rcs.c (RCS_whatbranch): Allow numeric as well as symbolic revision.
  6362. (RCS_getversion): Take advantage of above.
  6363. * sanity.sh (admin): Add/revise/renumber admin-10c, admin-11a,
  6364. admin-12, and admin-12a to check above.
  6365. * commmit.c (lock_RCS): Minor clean-up.
  6366. * sanity.sh (abspath-6a): Don't depend on the sepcific contents of
  6367. CVSROOT, it depends on which other tests have been run.
  6368. Wed Feb 18 01:56:04 1998 Ian Lance Taylor <ian@cygnus.com>
  6369. * rcs.c (putsymbol_proc): Use putc and fputs rather than fprintf.
  6370. (RCS_putadmin): Don't call RCS_symbols if the symbols have not yet
  6371. been converted to a list.
  6372. * rcs.c (rcsbuf_cache, rcsbuf_cache_open, rcsbuf_cache_close): New
  6373. static functions to avoid closing and reopening the RCS file.
  6374. (cached_rcs, cached_rcsbuf): New static variables.
  6375. (RCS_parse): Call rcsbuf_cache_close. Don't call fclose.
  6376. (RCS_parsercsfile): Likewise.
  6377. (RCS_parsercsfile_i): Call rcsbuf_cache rather than
  6378. rcsbuf_close. Call fclose on error. Remove comment about
  6379. inefficiency of opening file twice.
  6380. (RCS_reparsercsfile): Call rcsbuf_cache_open rather than fopen and
  6381. rcsbuf_open. Call rcsbuf_cache rather than rcsbuf_close and
  6382. fclose.
  6383. (RCS_fully_parse, RCS_checkout, RCS_deltas): Likewise.
  6384. (RCS_rewrite): Likewise.
  6385. (RCS_checkin): Call rcsbuf_cache_close.
  6386. * rcs.c (RCS_copydeltas): Fix code which checks for an extra
  6387. newline in buffered data.
  6388. * rcs.c (rcsbuf_getkey): Save an indirection by using start rather
  6389. than *valp when trimming trailing whitespace from value.
  6390. * rcs.c (rcsbuf_get_buffered): New static function.
  6391. (RCS_copydeltas): After we have done all the required special
  6392. actions, and inserted any new revision, just copy the file bytes
  6393. directly, rather than interpreting all the data.
  6394. (count_delta_actions): New static function.
  6395. * sanity.sh (rcs): Add rcs-6a and rcs-6b to commit a new branch
  6396. revision, to force CVS to interpret all the data, rather than just
  6397. copying it. Adjust rcs-5 to add a branch tag. Adjust rcs-8a and
  6398. rcs-14 for the changes created by rcs-6b.
  6399. Tue Feb 17 18:34:01 1998 Ian Lance Taylor <ian@cygnus.com>
  6400. * sanity.sh (cvsadm, diffmerge2): Remove directories at the end of
  6401. the test.
  6402. * import.c (expand_at_signs): Rewrite to use memchr and fwrite
  6403. rather than putc.
  6404. Rewrite RCS file reading routines for speed:
  6405. * rcs.c (struct rcsbuffer): Define.
  6406. (rcsbuf_open, rcsbuf_close, rcsbuf_getkey, rcsbuf_getrevnum,
  6407. rcsbuf_fill, rcsbuf_valcopy, rcsbuf_valpolish,
  6408. rcsbuf_valpolish_internal, rcsbuf_ftell): New static functions.
  6409. (getrcskey, getrcsrev, getrevnum): Remove.
  6410. (many functions): Change to use new rcsbuf functions instead of
  6411. old getrcskey/getrcsrev/getrevnum functions.
  6412. (RCS_reparsercsfile): Add rcsbufp parameter. Change all callers.
  6413. (RCS_deltas): Add rcsbuf parameter. Change all callers.
  6414. (getdelta): Change fp parameter to rcsbuf parameter. Change all
  6415. callers.
  6416. (RCS_getdeltatext): Add rcsbuf parameter. Change all callers.
  6417. (RCS_copydeltas): Add rcsbufin parameter. Change all callers.
  6418. * rcs.h (RCS_reparsercsfile): Update declaration.
  6419. * admin.c (admin_fileproc): Update calls to RCS_reparsercsfile for
  6420. new parameters.
  6421. 1998-02-17 Jim Kingdon <kingdon@harvey.cyclic.com>
  6422. * sanity.sh (toplevel): Also clean up second-dir (not a new
  6423. bug, but triggered by running tests as "toplevel abspath").
  6424. * create_adm.c (Create_Admin): Just print update_dir to tell the
  6425. user where we are; not the whole xgetwd. Cleaner than
  6426. Noel's change (which also had problems in errno handling).
  6427. * sanity.sh (toplevel-12): Update accordingly.
  6428. Tue Feb 17 02:32:21 1998 Noel Cragg <noel@swish.red-bean.com>
  6429. [These mods make "checkout" work with "-d /absolute/pathname"
  6430. once again.]
  6431. * checkout.c (checkout_proc): the -d flag on the command line
  6432. should override the -d flag in the modules file if the latter is
  6433. an absolute path. The loop that assembles the list of directories
  6434. to build has been reorganized slightly to prepare for rewriting
  6435. with last_component rather than assuming '/' as a path separator.
  6436. Also added to that loop was some code to handle absolute
  6437. pathnames.
  6438. (build_dirs_and_chdir): add a new argument that tells this routine
  6439. whether or not to check before it creates and populates
  6440. directories or not.
  6441. * filesubr.c (last_component): return the top-level directory when
  6442. asked about the top-level directory.
  6443. * sanity.sh (toplevel-12): change test to reflect the new style of
  6444. this error message.
  6445. * create_adm.c (Create_Admin): include the directory in the error
  6446. message.
  6447. 1998-02-16 Jim Kingdon <kingdon@harvey.cyclic.com>
  6448. * diff.c (diff_fileproc), import.c (import, add_rcs_file), rcs.c
  6449. (RCS_cmp_file): Don't ignore errors from CVS_UNLINK and fclose.
  6450. * patch.c (patch_fileproc): Check for errors from fclose; if we
  6451. get -1 from getline check for end of file vs. error.
  6452. * rcs.c (RCS_checkout): Comment return value (0/1, not -1).
  6453. * commit.c, diff.c, mkmodules.c, patch.c, rcs.c, update.c: Update
  6454. to match this convention. Don't suppress errors based on
  6455. quiet or really_quiet variables.
  6456. Fix a longstanding bug which also makes stamps-8kw in make
  6457. remotecheck work again (it stopped working with Ian's 8 Feb 98
  6458. checkin):
  6459. * client.c, client.h (change_mode): If new argument respect_umask
  6460. is set, then honor the umask.
  6461. * client.c, server.c: Update callers.
  6462. Cleanups to Tim's checkin:
  6463. * rcs.c (RCS_checkout): Use existence_error not ENOENT.
  6464. * commit.c (checkaddfile): Remove comment about whether we want to
  6465. check for errors from fclose; there is no reason not to.
  6466. * rcs.c (RCS_checkout), update.c (special_file_mismatch): sscanf
  6467. on %ld requires an unsigned long, not a dev_t.
  6468. * update.c (special_file_mismatch): Remove unused variable
  6469. check_devnums.
  6470. * mkmodules.c (config_contents): Between two settings, use a blank
  6471. line not a "#" line.
  6472. 1998-02-15 Tim Pierce <twp@skepsis.com>
  6473. [This is the code as submitted. I'll be checking in my cleanups
  6474. shortly. This work sponsored by Abbott Labs. -kingdon]
  6475. Support for device special files, symbolic links, user and group
  6476. ownerships, and file permissions.
  6477. * parseinfo.c: (parse_config): Handle new config variable
  6478. `PreservePermissions'.
  6479. * mkmodules.c (config_contents): Add new PreservePermissions var.
  6480. * rcs.c, rcs.h (preserve_perms): New variable.
  6481. (RCS_checkout, RCS_checkin): Support for newphrases `owner',
  6482. `group', `permissions', `special', `symlink'.
  6483. (RCS_checkout): If `workfile' and `sout' are symlinks, remove them
  6484. before attempting to open them for writing.
  6485. * import.c (add_rcs_file): Support for newphrases. Do not attempt
  6486. to read data from special files or symlinks. Error message
  6487. `cannot fstat' is now `cannot lstat'.
  6488. New metrics for deciding when two files are different:
  6489. * update.c, cvs.h (special_file_mismatch): New function.
  6490. (merge_file, join_file): Call it.
  6491. * no_diff.c (No_Difference): Call it.
  6492. * filesubr.c (xcmp): Consider files to be different if they are of
  6493. different types; if they are symlinks which link to different
  6494. pathnames; or if they are devices with different device numbers.
  6495. Error message is now `cannot lstat'.
  6496. * rcs.c (RCS_cmp_file): Use `xcmp' to compare files, simplifying
  6497. the special handling for nonregular files.
  6498. * rcscmds.c (diff_exec, diff_execv): If asked to obtain diffs for
  6499. special files, report no differences.
  6500. Miscellaneous changes to make special file support possible:
  6501. * commit.c (fix_rcs_modes): Don't attempt to `fix' permissions on
  6502. a symlink.
  6503. * import.c (add_rcs_file): Don't try to close fpuser if it was
  6504. never opened (e.g. when operating on a symlink).
  6505. * filesubr.c, cvs.h (isdevice, xreadlink): New functions.
  6506. * filesubr.c (copy_file): Handle special files and symlinks.
  6507. (xchmod): Do nothing if `preserve_perms' is set.
  6508. * commit.c (checkaddfile): Replace `copy_file (DEVNULL, ...)' with
  6509. fopen/fclose calls. Copy_file no longer attempts to read data
  6510. from device files.
  6511. * filesubr.c (islink): Use CVS_LSTAT, not lstat.
  6512. * vers_ts.c (time_stamp, time_stamp_server): Use CVS_LSTAT, not stat,
  6513. to get symlinks right.
  6514. * subr.c (get_file): Same. Don't attempt to read from special
  6515. files or symlinks.
  6516. * classify.c (Classify_File): Doc fix.
  6517. Fri Feb 13 17:07:32 1998 Eric Mumpower <nocturne@cygnus.com>
  6518. and Ian Lance Taylor <ian@cygnus.com>
  6519. Fix some file system ordering problems found on Irix 6.4:
  6520. * sanity.sh (basic2): Use dotest_sort for test 56.
  6521. (importb): Use dotest_sort for tests importb-1 and importb-2.
  6522. (head): Use dotest_sort for test head-1.
  6523. Thu Feb 12 15:15:33 1998 Jim Kingdon <kingdon@harvey.cyclic.com>
  6524. * import.c (add_rcs_file): If add_logfp is NULL, don't call fperror.
  6525. 11 Feb 1998 Andy Piper
  6526. * server.c (cvs_output_binary): Use OPEN_BINARY not _O_BINARY.
  6527. Mon Feb 9 18:34:39 1998 Jim Kingdon <kingdon@harvey.cyclic.com>
  6528. Tweaks to Ian's checkin:
  6529. * update.c (merge_file): Remove comment about sending file to
  6530. client before the message. It doesn't apply to this code any more
  6531. (it does apply to checkout_file, but I'm not sure it is important
  6532. to have such a comment anyway).
  6533. * buffer.c (buf_default_memory_error, buf_length): Reindent.
  6534. * server.h: Declare struct buffer before use.
  6535. Mon Feb 9 21:05:28 1998 Ian Lance Taylor <ian@cygnus.com>
  6536. * rcs.c (RCS_fully_parse): Call getrevnum rather than getrcsrev.
  6537. Don't bother with ungetc.
  6538. * rcs.c (getrcsrev): Rewrite to simply call getrevnum.
  6539. Sun Feb 8 15:49:39 1998 Ian Lance Taylor <ian@cygnus.com>
  6540. Don't have the server check out a revision into a file and then
  6541. immediately read the file; just read into a buffer instead.
  6542. * update.c: Include buffer.h.
  6543. (update_fileproc): Let checkout_file call server_updated.
  6544. (checkout_file): Add merging and update_server parameters. Change
  6545. all callers. If server_active, don't mess with backup files. If
  6546. server_active, copy the revision into a buffer rather than a file
  6547. when possible. If update_server, call server_updated. Fix
  6548. handling of error status.
  6549. (checkout_to_buffer): New static function used by checkout_file.
  6550. (merge_file): Let checkout_file call server_updated.
  6551. (join_file): Likewise.
  6552. * server.c (server_updated): Change file_info parameter to mode
  6553. parameter. Add filebuf parameter. Change all callers. If
  6554. filebuf is not NULL, don't read the file.
  6555. * server.h (server_updated): Update declaration.
  6556. * buffer.c (buf_free): New function.
  6557. (buf_append_buffer): New function.
  6558. (buf_length): New function.
  6559. * buffer.h (buf_free, buf_append_buffer, buf_length): Declare.
  6560. * buffer.c: (buf_initialize): If the memory parameter is NULL, use
  6561. buf_default_memory_error.
  6562. (buf_default_memory_error): New static function.
  6563. * buffer.h (BUFMEMERRPROC): Define typedef.
  6564. * client.c (buf_memory_error): Remove.
  6565. (start_server): Pass NULL rather than buf_memory_error as buffer
  6566. memory error function.
  6567. Sat Feb 7 16:27:30 1998 Ian Lance Taylor <ian@cygnus.com>
  6568. * rcs.c (RCS_parsercsfile_i): Read the expand keyword from the RCS
  6569. file. We do this because Version_TS calls RCS_getexpand in many
  6570. common cases, and we don't want to reopen the file just for that.
  6571. (RCS_reparsercsfile): Skip the expand keyword.
  6572. (RCS_getexpand): Don't call RCS_reparsercsfile.
  6573. * rcs.c (STREQ): New macro. In all string equality tests in the
  6574. file, replace strcmp with STREQ.
  6575. Fri Feb 6 16:14:49 1998 Ian Lance Taylor <ian@cygnus.com>
  6576. * update.c (checkout_file): If we've already removed the backup
  6577. file once, don't try to remove it again.
  6578. * filesubr.c (unlink_file_dir): Call stat rather than isdir, and
  6579. don't call unlink if the file does not exist.
  6580. * myndbm.c (mydbm_load_file): Rename line_len to line_size. Call
  6581. getstr rather than getline, to avoid any confusion between \n and
  6582. \012. Use the line length returned by getstr rather than calling
  6583. strlen. Remove local variable len.
  6584. Fri Feb 6 13:23:46 1998 Jim Kingdon <kingdon@harvey.cyclic.com>
  6585. * rcs.c (RCS_parsercsfile_i): Don't suppress errors on
  6586. really_quiet.
  6587. (RCS_parsercsfile_i, RCS_reparsercsfile, RCS_fully_parse,
  6588. RCS_deltas, getdelta, getrcskey, RCS_getdeltatext):
  6589. Check for errors. Include errno in error messages. Include
  6590. filename in error messages. Pass new argument to getrcskey.
  6591. (getrcskey): New argument NAME, so we can report errors ourself.
  6592. Fri Feb 6 12:10:18 1998 Ian Lance Taylor <ian@cygnus.com>
  6593. * rcs.c (RCS_reparsercsfile): Don't use ftell/fseek; just keep
  6594. track of whether we've already read a key/value pair. Use sizeof
  6595. rather than strlen for a constant string. Pass the current key
  6596. and value to getdelta, and get them back as well.
  6597. (getdelta): Add keyp and valp parameters. Don't use ftell/fseek;
  6598. just return the key/value pair to the caller. Don't allocate
  6599. vnode before we know we need it. Check one getrcskey return
  6600. value. Use sizeof rather than strlen for a constant string.
  6601. * rcs.c (getrcskey): Correct comment describing return value.
  6602. Thu Feb 5 22:51:13 1998 Ian Lance Taylor <ian@cygnus.com>
  6603. * subr.c (getcaller): Cache the result, so that we don't keep
  6604. searching the password file.
  6605. Wed Feb 4 23:31:08 1998 Jim Kingdon <kingdon@harvey.cyclic.com>
  6606. * rcs.c (max_rev): Don't prototype. Interesting that noone
  6607. complained about this until now.
  6608. 4 Feb 1998 Jim Kingdon
  6609. * rcs.c (RCS_checkin): When adding a new file, read it
  6610. with "rb" if binary.
  6611. Fri Jan 30 11:32:41 1998 Jim Kingdon <kingdon@harvey.cyclic.com>
  6612. * sanity.sh: Also test "first-dir" as the regexp in loginfo in
  6613. addition to ALL.
  6614. * main.c (main): Update year in copyright notice to 1998.
  6615. Thu Jan 29 00:01:05 1998 Jim Kingdon <kingdon@harvey.cyclic.com>
  6616. * version.c: Change version number to 1.9.25.
  6617. * Version 1.9.24.
  6618. * sanity.sh (multibranch2): File file2 and tests multibranch2-13
  6619. through multibranch2-15 test a slightly different case than the
  6620. rest of multibranch2.
  6621. * mkmodules.c (cvswrappers_contents): Rewrite. The text didn't
  6622. describe -k and had various other problems.
  6623. 28 Jan 1998 Karl Fogel and Jim Kingdon
  6624. New feature to let server tell client about wrappers.
  6625. * client.h (struct response): Add comment about args being
  6626. '\0' terminated when passed to handle_* functions.
  6627. * client.c (start_server): send "wrapper-sendme-rcsOptions" to
  6628. server iff supported.
  6629. (responses): new response "Wrapper-rcsOption"; allows the server
  6630. to send certain lines from its cvswrappers file.
  6631. (handle_wrapper_rcs_option): new func, handles "Wrapper-rcsOption"
  6632. response from server.
  6633. * server.c (serve_wrapper_sendme_rcs_options): new func, sends
  6634. server side CVSROOT/cvswrappers rcs option lines to client.
  6635. (requests): new request "wrapper-sendme-rcsOptions"; if received,
  6636. we know we can send "Wrapper-rcsOption..." to the client.
  6637. * wrapper.c (wrap_unparse_rcs_options): new func; repeated calls
  6638. step down the wrapper list returning rcs option entries, but
  6639. repackaged as cvswrappers lines.
  6640. (wrap_setup): new guard variable `wrap_setup_already_done'; if
  6641. this function has run already, just return having done nothing.
  6642. Add comment concerning environment variable.
  6643. * cvs.h: declare wrap_unparse_rcs_options().
  6644. Tue Jan 27 18:27:19 1998 Ian Lance Taylor <ian@cygnus.com>
  6645. * rtag.c (rtag_dirproc): Call ignore_directory, and skip the
  6646. directory if it returns true.
  6647. * sanity.sh (modules4): New set of tests to test some aspects of
  6648. excluding directories in the modules file, including the above
  6649. patch.
  6650. Thu Jan 22 10:05:55 1998 Jim Kingdon <kingdon@harvey.cyclic.com>
  6651. * server.c (serve_kopt): Check for length of arg. Based on
  6652. inspection of the code, plugs a buffer overrun security hole which
  6653. was introduced Monday.
  6654. * server.c (serve_is_modified): Don't call xmalloc; we aren't
  6655. allowed to call error() here. Remove duplicate (and potentially
  6656. confusing) variable 'p'.
  6657. * log.c (log_fileproc): Look for first character of version
  6658. '0' AND second character '\0', rather than OR. I didn't try to
  6659. come up with a test case but this looks like a simple thinko
  6660. (albeit one which would show up in obscure cases if at all).
  6661. Tue Jan 20 19:37:53 1998 Jim Kingdon <kingdon@harvey.cyclic.com>
  6662. * client.c (send_dirent_proc): Don't send nonexistent directories
  6663. unless noexec.
  6664. * sanity.sh (modules2): New tests modules2-13 through modules2-18
  6665. test for this fix.
  6666. Mon Jan 19 11:17:51 1998 Jim Kingdon <kingdon@harvey.cyclic.com>
  6667. * server.c (serve_kopt): New function.
  6668. (requests): Add "Kopt" request.
  6669. (kopt): New variable.
  6670. (serve_is_modified): Write kopts from there into entries.
  6671. (serve_modified): Call serve_is_modified so we do the same.
  6672. Declare serve_modified and serve_is_modified.
  6673. * vers_ts.c (Version_TS): Set ->options even for a dummy ("D"
  6674. timestamp) entry.
  6675. * import.c (process_import_file): Check for -k options.
  6676. * client.c (client_process_import_file): Send Kopt request.
  6677. (send_fileproc): Likewise, for "cvs add".
  6678. * sanity.sh: Enable test binwrap3-sub2-add1 for remote.
  6679. Add -I .cvswrappers to binwrap3-2a; adjust binwrap3-2d
  6680. accordingly. Tests for this fix.
  6681. Mon Jan 19 08:48:59 1998 Larry Jones <larry.jones@sdrc.com>
  6682. * sanity.sh (errmsg1): Append test 168 output to log file.
  6683. Sat Jan 17 08:01:51 1998 Jim Kingdon <kingdon@harvey.cyclic.com>
  6684. * sanity.sh (ann-10, ann-11): Don't make assumptions about the
  6685. number of characters in the username.
  6686. Fri Jan 16 15:34:02 1998 Larry Jones <larry.jones@sdrc.com>
  6687. * diff.c (diff_fileproc): Free label1 and label2 when finished.
  6688. * edit.c (editor_set): Don't free edlist until after we're
  6689. done using it.
  6690. * rcscmds.c (RCS_merge): Free xrev1 and xrev2 when finished.
  6691. * subr.c (make_message_rcslegal): Don't access uninitialized or
  6692. unallocated memory; only strip trailing blank lines.
  6693. * sanity.sh (log-3): Enhance to test this fix.
  6694. Fri Jan 16 12:41:03 1998 Jim Kingdon <kingdon@harvey.cyclic.com>
  6695. * sanity.sh: Add keywordlog to list of tests run by default.
  6696. * rcs.c (RCS_deltas): Don't call cvs_output if length is zero;
  6697. passing zero length to cvs_output does not mean output zero
  6698. bytes. The 27 Dec 1997 change to no longer '\0'-terminate the
  6699. ->text field turned this from a time bomb to a user-visible bug.
  6700. * sanity.sh (ann): New tests, test for this fix and other annotate
  6701. behaviors.
  6702. Thu Jan 15 23:52:00 1998 Jim Kingdon <kingdon@harvey.cyclic.com>
  6703. * root.c (root_allow_ok): If inetd.conf didn't specify an
  6704. --allow-root options at all, we know we are in trouble. Give a
  6705. specific error message.
  6706. Thu Jan 15 21:24:59 1998 Ian Lance Taylor <ian@cygnus.com>
  6707. * sanity.sh (dotest_sort): New variant of dotest which sorts the
  6708. output, for use when the output depends upon details of the file
  6709. system, typically when doing an import.
  6710. (rdiff): Use dotest_sort for rdiff-1.
  6711. (ignore): Use dotest_sort for 188a, 188b, 189d, 190, and 191.
  6712. * sanity.sh: (TESTSHELL): New variable.
  6713. (editor, info, reserved): Use TESTSHELL in temporary script.
  6714. * sanity.sh (ignore): Do all tests in subdirectory, to avoid
  6715. conflict between cvsroot and CVSROOT on Windows.
  6716. (binwrap3, mwrap, info, config): Likewise.
  6717. * sanity.sh (binfiles2): Correct test name binfile2-7-brmod to
  6718. binfiles2-7-brmod.
  6719. * release.c (release_delete): If __CYGWIN32__ is defined, don't
  6720. worry about mismatched inodes. This is a hack, but then I think
  6721. the test is rather peculiar anyhow.
  6722. Thu Jan 15 16:07:36 1998 Larry Jones <larry.jones@sdrc.com>
  6723. * sanity.sh (reserved-9): Use ${PROG} instead of "cvs".
  6724. Wed Jan 14 15:43:13 1998 Jim Kingdon <kingdon@harvey.cyclic.com>
  6725. * Split ChangeLog into ChangeLog-97 and ChangeLog.
  6726. * Makefile.in (DISTFILES): Add ChangeLog-97.
  6727. 13 Jan 1998 Jim Kingdon
  6728. * client.c: Declare handle_mt.
  6729. Tue Jan 13 22:21:30 1998 Jim Kingdon <kingdon@harvey.cyclic.com>
  6730. * sanity.sh: Add comment about how pwd and /bin/pwd often differ
  6731. in behavior (but are not guaranteed to).
  6732. Tue Jan 13 13:49:53 1998 Ian Lance Taylor <ian@cygnus.com>
  6733. * sanity.sh: When setting TMPPWD use just pwd, not /bin/pwd.
  6734. * update.c (checkout_file): Don't pass set_time as true to
  6735. Version_TS if the file is dead.
  6736. * sanity.sh (modules): Add tests modules-155c6 through
  6737. modules-155c8 to test for above patch (without the above patch,
  6738. modules-155c8 will fail when remote).
  6739. Tue Jan 13 10:37:02 1998 Larry Jones <larry.jones@sdrc.com>
  6740. * client.c (send_modified): Change bufsize and newsize from int
  6741. to size_t to avoid type clashes in call to read_and_gzip.
  6742. Tue Jan 13 10:33:02 1998 Larry Jones <larry.jones@sdrc.com>
  6743. * zlib.c (read_and_gzip): Set finish to 0; it was uninitialized.
  6744. Tue Jan 13 10:26:43 1998 Larry Jones <larry.jones@sdrc.com>
  6745. * add.c, rcs.c: Plug memory leaks.
  6746. Mon Jan 12 10:45:27 1998 Larry Jones <larry.jones@sdrc.com>
  6747. * server.c (mkdir_p): Don't try to create nameless directories
  6748. (i.e., given "/foo//bar", don't try to create "/foo/",
  6749. just "/foo" and "/foo//bar") since it isn't necessary and
  6750. it fails on some systems in unexpected ways.
  6751. 1998-01-11 enami tsugutomo <enami@but-b.or.jp>
  6752. * rcs.c (linevector_copy): Delete lines before overwriting them.
  6753. Sat Jan 10 11:05:40 1998 Jim Kingdon <kingdon@harvey.cyclic.com>
  6754. * cvsrc.c, entries.c, login.c, logmsg.c, myndbm.c, patch.c,
  6755. release.c, server.c: Check for errors from getline, CVS_FOPEN,
  6756. fprintf, CVS_UNLINK and fclose. Note that the new errors are
  6757. nonfatal. This is because of conservatism more than because
  6758. it is always the best thing.
  6759. * login.c (get_cvs_password): Close the file when done with it.
  6760. * client.c (notified_a_file): If -1 return from getline, check
  6761. feof rather than assuming errno is set.
  6762. Fri Jan 9 14:38:54 1998 Jim Kingdon <kingdon@harvey.cyclic.com>
  6763. * server.c (expand_proc): Also output server_dir in
  6764. "Module-expansion", not just in output_dir ("Created", &c).
  6765. * sanity.sh (modules2): New tests modules2-9 through modules2-12
  6766. test for this.
  6767. Thu Jan 8 12:56:55 1998 Yasutoshi Hiroe <hiroe@rgk.ricoh.co.jp>
  6768. * import.c (import): Don't strcat on uninitialized memory. Fixes
  6769. possible SIGSEGV with zero-length message.
  6770. Tue Jan 6 22:56:29 1998 Jim Kingdon <kingdon@harvey.cyclic.com>
  6771. * sanity.sh (crerepos): Fix mistaken variable name which caused us
  6772. not to clean up at the end of the test.
  6773. Mon Dec 22 01:40:57 1997 Jim Kingdon <kingdon@harvey.cyclic.com>
  6774. * add.c (add): Also look for .cvswrappers files.
  6775. * sanity.sh (binwrap3): New tests binwrap3-2*, binwrap3-sub2-add*
  6776. test for this.
  6777. Tue Jan 6 11:50:38 1998 Jim Kingdon <kingdon@harvey.cyclic.com>
  6778. * sanity.sh (crerepos): New tests crerepos-8 through crerepos-18
  6779. test behaviors when mixing repositories.
  6780. Sun Jan 4 17:40:22 1998 Jim Kingdon <kingdon@harvey.cyclic.com>
  6781. * version.c: Change version number to 1.9.23.
  6782. * Version 1.9.22.
  6783. For older changes see ChangeLog-97.