1<div id="Keyword-list"></div>
2<div class="header">
3<p>
4Next: [[cvs: Using keywords#Using keywords|Using keywords]], Up: [[cvs: Keyword substitution#Keyword substitution|Keyword substitution]] &nbsp; |[[cvs: Index#SEC_Contents|Contents]]||[[cvs: Index#Index|Index]]|</p>
5</div>
6
7----
8
9<div id="Keyword-List"></div>
10=== Keyword List ===
11<div id="index-Keyword-List"></div>
12
13
14This is a list of the keywords:
15
16<div id="index-Author-keyword"></div>
17;<code>$<i></i>Author$</code>
18: The login name of the user who checked in the revision.
19
20<div id="index-CVSHeader-keyword"></div>
21;<code>$<i></i>CVSHeader</code>
22: A standard header (similar to $<i></i>Header$, but with the CVS root stripped off). It contains the relative pathname of the <small>RCS</small> file to the CVS root, the revision number, the date (UTC), the author, the state, and the locker (if locked). Files will normally never be locked when you use <small>CVS</small>.
23
24: Note that this keyword has only been recently introduced to <small>CVS</small> and may cause problems with existing installations if $<i></i>CVSHeader$ is already in the files for a different purpose. This keyword may be excluded using the <code>KeywordExpansion=eCVSHeader</code> in the &lsquo;<tt>CVSROOT/config</tt>&rsquo; file.  See [[cvs: Configuring Keyord Expansion#Configuring Keyord Expansion|Configuring keyword expansion]] for more details.
25
26<div id="index-Date-keyword"></div>
27;<code>$<i></i>Date$</code>
28: The date and time (UTC) the revision was checked in.
29
30<div id="index-Header-keyword"></div>
31;<code>$<i></i>Header$</code>
32: A standard header containing the full pathname of the <small>RCS</small> file, the revision number, the date (UTC), the author, the state, and the locker (if locked).  Files will normally never be locked when you use <small>CVS</small>.
33
34<div id="index-Id-keyword"></div>
35;<code>$<i></i>Id$</code>
36: Same as <code>$<i></i>Header$</code>, except that the <small>RCS</small> filename is without a path.
37
38<div id="index-Name-keyword"></div>
39;<code>$<i></i>Name$</code>
40: Tag name used to check out this file.  The keyword is expanded only if one checks out with an explicit tag name.  For example, when running the command <code>cvs co -r first</code>, the keyword expands to &lsquo;<code>Name: first</code>&rsquo;.
41
42<div id="index-Locker-keyword"></div>
43;<code>$<i></i>Locker$</code>
44: The login name of the user who locked the revision (empty if not locked, which is the normal case unless <code>cvs admin -l</code> is in use).
45
46<div id="index-Log-keyword"></div>
47;<code>$<i></i>Log$</code>
48: The log message supplied during commit, preceded by a header containing the <small>RCS</small> filename, the revision number, the author, and the date (UTC).  Existing log messages are ''not'' replaced.  Instead, the new log message is inserted after <code>$<i></i>Log:&hellip;$</code>. Each new line is prefixed with the same string which precedes the <code>$Log</code> keyword.  For example, if the file contains:
49
50<div class="example" style="margin-left: 3.2em">
51   /* Here is what people have been up to:
52    *
53    * $<i></i>Log: frob.c,v $
54    * Revision 1.1  1997/01/03 14:23:51  joe
55    * Add the superfrobnicate option
56    *
57    */
58</div>
59
60: then additional lines which are added when expanding the <code>$Log</code> keyword will be preceded by &lsquo;<code>   * </code>&rsquo;. Unlike previous versions of <small>CVS</small> and <small>RCS</small>, the <em>comment leader</em> from the <small>RCS</small> file is not used. The <code>$Log</code> keyword is useful for accumulating a complete change log in a source file, but for several reasons it can be problematic. See [[cvs: Problems with the $ Log$ keyword.#Problems with the $ Log$ keyword.|Log keyword]].
61
62<div id="index-RCSfile-keyword"></div>
63;<code>$<i></i>RCSfile$</code>
64: The name of the RCS file without a path.
65
66<div id="index-Revision-keyword"></div>
67;<code>$<i></i>Revision$</code>
68: The revision number assigned to the revision.
69
70<div id="index-Source-keyword"></div>
71;<code>$<i></i>Source$</code>
72: The full pathname of the RCS file.
73
74<div id="index-State-keyword"></div>
75;<code>$<i></i>State$</code>
76: The state assigned to the revision.  States can be assigned with <code>cvs admin -s</code>&mdash;see [[cvs: admin options#admin options|admin options]].
77
78<div id="index-Local-keyword"></div>
79;<code>Local keyword</code>
80: The <code>LocalKeyword</code> option in the &lsquo;<tt>CVSROOT/config</tt>&rsquo; file may be used to specify a local keyword which is to be used as an alias for one of the other keywords. For example, if the &lsquo;<tt>CVSROOT/config</tt>&rsquo; file contains a line with <code>LocalKeyword=MYBSD=CVSHeader</code>, then a file with the local keyword $<i></i>MYBSD$ will be expanded as if it were a $<i></i>CVSHeader$ keyword. If the src/frob.c file contained this keyword, it might look something like this:
81
82<div class="example" style="margin-left: 3.2em">
83   /*
84    * $<i></i>MYBSD: src/frob.c,v 1.1 2003/05/04 09:27:45 john Exp $
85    */
86</div>
87
88: Many repositories make use of a such a &ldquo;local keyword&rdquo; feature. An old patch to <small>CVS</small> provided the <code>LocalKeyword</code> feature using a <code>tag=</code> option and called this the &ldquo;custom tag&rdquo; or &ldquo;local tag&rdquo; feature. It was used in conjunction with the what they called the <code>tagexpand=</code> option. In <small>CVS</small> this other option is known as the <code>KeywordExpand</code> option.  See [[cvs: Configuring Keyord Expansion#Configuring Keyord Expansion|Configuring keyword expansion]] for more details.
89
90: Examples from popular projects include: $<i></i>FreeBSD$, $<i></i>NetBSD$, $<i></i>OpenBSD$, $<i></i>XFree86$, $<i></i>Xorg$.
91
92: The advantage of this is that you can include your local version information in a file using this local keyword without disrupting the upstream version information (which may be a different local keyword or a standard keyword). Allowing bug reports and the like to more properly identify the source of the original bug to the third-party and reducing the number of conflicts that arise during an import of a new version.
93
94: All keyword expansion except the local keyword may be disabled using the <code>KeywordExpansion</code> option in the &lsquo;<tt>CVSROOT/config</tt>&rsquo; file&mdash;see  [[cvs: Configuring Keyord Expansion#Configuring Keyord Expansion|Configuring keyword expansion]] for more details.
95
96
97
98----
99
100<div class="header">
101<p>
102Next: [[cvs: Using keywords#Using keywords|Using keywords]], Up: [[cvs: Keyword substitution#Keyword substitution|Keyword substitution]] &nbsp; |[[cvs: Index#SEC_Contents|Contents]]||[[cvs: Index#Index|Index]]|</p>
103</div>
104This document was generated on <i>a sunny day</i> using [http://www.nongnu.org/texi2html/ <i>texi2html</i>].
105