Annotation of 43BSD/contrib/rcs/doc/release3.ms, revision 1.1.1.1

1.1       root        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.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.