The Perforce RCS implementation ------------------------------- An overview of the implementation is in rcstest.cc. This README discusses the ifdefs and system dependencies herein. ifdefs ------ USE_CRLF - used to control whether LF or CRLF separate lines in RCS files. Normally set by Jamrules for NT. USE_MMAP - if set, uses the mmap() system call for read access to RCS files. Otherwise, uses stdio. By an large, you want this set if mmap is available. Normally set by Jamrules. HAVE_FSYNC - if set, calls fsync() before closing the RCS file (after writing it), so that it is sure to hit the disk. Set by stdhdrs.h based on what OS you're on. OS_NT - used to control some NT specific filesystem operations, like the different call to access() and setting O_NOINHERIT to keep file handles private across subprocess creation. (RCS formerly used an external diff but now does everything inprocess, and so O_NOINHERIT is unneeded. ) OS_BEOS - BeOS specific interface changes. OS_MAC - Macintosh MPW specific interface changes. External Code Dependencies. support/error.h - for the Error class, a layered error reporting mechanism. It's used throughout, but is the only component of 'support' that is needed for RCS. sys/stdhdrs.h - included standard system headers needed by everything, plus special headers as controlled by #define NEED_XXX flags. The headers used are: NEED_ACCESS NEED_FCNTL NEED_FILE NEED_FSYNC NEED_MKDIR NEED_MMAP NEED_OPENDIR NEED_TIME NEED_TYPES See stdhdrs.h for what these control.
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#1 | 14945 | Newtopian |
Merging //guest/perforce_software/p4/... to //guest/Newtopian/p4/... |
||
//guest/perforce_software/p4/2014.1/rcs/README | |||||
#1 | 12188 | Matt Attaway | Move 'main' p4 into a release specific directory in prep for new releases | ||
//guest/perforce_software/p4/rcs/README | |||||
#1 | 9129 | Matt Attaway | Initial commit of the 2014.1 p4/p4api source code |