home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / TOP / USR / SRC / rcs.t.Z / rcs.t / RCS / DOC / MS / release3.ms < prev    next >
Text File  |  1988-08-24  |  5KB  |  101 lines

  1. .PP
  2. The major differences between release 2 and release 3 of RCS are:
  3. .IP ci: \w'rcsmerge'u+.2i
  4. Release 3 ci determines whether the file to be checked in is
  5. different from the previous revision. If it is not different, ci
  6. asks whether to do a checkin anyway, or, if -q is present, ci
  7. suppresses the checkin. This feature avoids redundant checkins. A
  8. checkin can be forced with the new option -f.
  9. .IP
  10. The option -l on release 3 ci now works properly: After the
  11. checkin, an implicit checkout with locking occurs. The keywords
  12. are updated. A new option, -u, also performs an implicit
  13. checkout, but does not lock.
  14. .IP
  15. The option -k looks through the working file to pick up keyword
  16. values for the revision number, date, author and state, and
  17. assigns them to the checked-in revision, rather then computing
  18. them from existing locks, the clock, etc. This is useful for
  19. software distribution: Suppose a file is maintained in RCS format
  20. at several sites. If an update is sent to these sites and checked
  21. in with the -k option, then the original revision number, date,
  22. author, and state are preserved.
  23. .IP co:
  24. Generates full path names for RCS files during the keyword
  25. expansion. (Determining the full path causes a noticeable
  26. slowdown of co; this can be mitigated by checking out several
  27. files in a single command.)
  28. .IP
  29. A new keyword, $Locker$, expands to the id of the user
  30. currently holding a lock on the revision.
  31. .IP rlog:
  32. The option -L omits all files that have no locks set. The option
  33. -R prints only the RCS file name. Try rlog -L -R or rlog -L -h.
  34. .IP rcsdiff:
  35. (New operation) Runs diff on a checked-out file and a revision in
  36. an RCS file. This is useful for figuring out what modifications
  37. were made since the last ci. Rcsdiff can also run diff on 2
  38. revisions in an RCS file.
  39. .IP rcsmerge: (New operation) Merges the changes between 2 revisions in
  40. an RCS file into the checked out revision.
  41. .IP merge:    3-way file merge. Merge now has an option to print the result to
  42. stdout (and a manual page).
  43. .IP File naming conventions:
  44. Release 3 RCS no longer removes suffixes of working files.
  45. In addition, the suffix for RCS files is now ",v" instead of
  46. ".v". Thus, a working file of the form "f.c" is stored into
  47. "f.c,v".
  48. .IP
  49. All you have to do is to rename your existing ".v"-files. Don't
  50. forget to add the suffix of the working file, if it was stripped
  51. off.
  52. .IP
  53. Note that this change restricts the length of working file names
  54. to 12 characters (RCS detects violations reliably). In 4.2bsd, this
  55. restriction will be removed. The ",v" was necessary to keep MAKE
  56. happy. A new version of MAKE that knows about RCS files in
  57. subdirectories /RCS will be released soon.
  58. .IP File modes:
  59. During the initial checkin, the RCS file inherits the read and
  60. execute permission from the working file. During subsequent
  61. checkouts, the working file inherits the read and execute
  62. permission from the RCS file. Thus, an executable file containing
  63. a shell program will still be executable after a ci-co cycle.
  64. .IP
  65. The working file is normally generated with write permission for
  66. the owner. An exception is if locking is set to strict, and
  67. checkout is without locking. Then the working file is generated
  68. without write permission, resulting in an error if one tries to
  69. edit it.
  70. .IP Portability:
  71. Release 3 is portable. I have tested it on a VAX-11/780 (Unix 4.1
  72. bsd), a PDP-11/70, and a PDP-11/45 (Unix 2.8 bsd), and it runs on
  73. these machines without change. Porting RCS to Berkeley Unix 4.2
  74. is trivial by changing one macro. I've also included the
  75. modifications that were necessary to run release 2 on the BBN-C70
  76. (BBN's C-machine), IBM 4341 with VM/UTS, M68000, Intel 86/330
  77. with Xenix-86, Onyx with V7 Unix, VAX/VMS/Eunice 2.2. However, it
  78. has not been tested on these systems. Currently. RCS is being
  79. ported to the DEC-20.
  80. .PP
  81. Numerous minor problems have been fixed. RCS now dies gracefully in case
  82. the file system fills up, or if there are other read/write errors.
  83. (Gracefully in this case means that RCS files are not mutilated.)
  84. RCS operations can no longer be interrupted during the renaming of RCS files
  85. (and thus will no longer through away RCS files if interrupted).
  86. There were some problems with nil-revision numbers and with printing of
  87. nil-strings; these have all been fixed. If stdin is not a terminal, ci and
  88. rcs now suppress the prompts for the log message and the descriptive text.
  89. Calls to getlogin() have been replaced with getpwuid(getuid()). The default
  90. for overwriting working files by co has been changed to not overwriting. Co
  91. does overwrite without asking if the file is read-only (generated by
  92. unlocking checkout, but with locking set to strict.) A serious, but
  93. extremely rare problem with the regeneration of older revision has been
  94. fixed. The comment-leader for .h-files is now initially set to " * ".
  95. .PP
  96. Lots of fixes were necessary to make RCS portable. These include
  97. sign-extension bugs, long identifiers, conflicting structure members, and
  98. expression overflows in older C-compilers. One person reported that %02d in
  99. printf doesn't work on his USG system; I now have a macro DATEFORM which
  100. either uses %02d or %.2d.
  101.