RCS Keywords

Introduction

The following is a list of various RCS Keywords (macros) that can be placed in text files, and a description of how they are expanded when the file is checked out.

For our course, the $Id$ macro is to appear in a single-line comment as the first line of each Makefile, man page, or source file that you write. The $Log$ macro is to appear in the file summary comment block of each Makefile and source file.

These keywords can also appear in object modules and executable files by embedding them in string literals. For example:

  static const char *Version = "$Revision$";
The ident command will display RCS macros that have been embedded in binary files in this manner. (The strings command will show all strings found in a binary file, including both RCS macros and other string literals.)

The Keywords

     $Author$
          The login name of the user who checked in the revision.

     $Date$
          The date and time (UTC) the revision was checked in.
Note: UTC is not the same as your local time of day. See "What is UTC?" for more information. By using UTC, people around the world can work on a project and not have to deal with time zones.

     $Header$
          A standard header containing the full pathname  of  the
          RCS  file,  the  revision  number,  the date (UTC), the
          author, the state, and the locker (if locked).

     $Id$ Same as $Header$,  except  that  the  RCS 
          filename  is without a path.

     $Locker$
          The login name of the  user  who  locked  the  revision
          (empty if not locked).

     $Log$
          The log message supplied during checkin, preceded by  a
          header   containing  the  RCS  filename,  the  revision
          number, the author, and the date (UTC).   Existing  log
          messages  are  not replaced.  Instead, the new log mes-
          sage is inserted after $Log:...$.  This is  useful  for
          accumulating a complete change log in a source file.

     $RCSfile$
          The name of the RCS file without a path.

     $Revision$
          The revision number assigned to the revision.

     $Source$
          The full pathname of the RCS file.

     $State$
          The state assigned to the revision with the -s option
          of rcs(1) or ci(1).