1<div id="loginfo"></div>
2<div class="header">
3<p>
4Previous: [[cvs: Editinfo#Editinfo|editinfo]], Up: [[cvs: The commit support files#The commit support files|commit files]] &nbsp; |[[cvs: Index#SEC_Contents|Contents]]||[[cvs: Index#Index|Index]]|</p>
5</div>
6
7----
8
9<div id="Loginfo"></div>
10==== Loginfo ====
11<div id="index-loginfo-_0028admin-file_0029"></div>
12<div id="index-Storing-log-messages"></div>
13<div id="index-Mailing-log-messages"></div>
14<div id="index-Distributing-log-messages"></div>
15<div id="index-Log-messages"></div>
16
17The &lsquo;<tt>loginfo</tt>&rsquo; file is used to control where
18&lsquo;<code>cvs commit</code>&rsquo; log information is sent.  The first
19entry on a line is a regular expression which is tested
20against the directory that the change is being made to,
21relative to the <code>$CVSROOT</code>.  If a match is found, then
22the remainder of the line is a filter program that
23should expect log information on its standard input.
24
25If the repository name does not match any of the
26regular expressions in this file, the &lsquo;<code>DEFAULT</code>&rsquo;
27line is used, if it is specified.
28
29All occurrences of the name &lsquo;<code>ALL</code>&rsquo; appearing as a
30regular expression are used in addition to the first
31matching regular expression or &lsquo;<code>DEFAULT</code>&rsquo;.
32
33The first matching regular expression is used.
34
35See [[cvs: The commit support files#The commit support files|commit files]], for a description of the syntax of
36the &lsquo;<tt>loginfo</tt>&rsquo; file.
37
38The user may specify a format string as
39part of the filter.  The string is composed of a
40&lsquo;<code>%</code>&rsquo; followed by a space, or followed by a single
41format character, or followed by a set of format
42characters surrounded by &lsquo;<code><nowiki>{</nowiki></code>&rsquo; and &lsquo;<code><nowiki>}</nowiki></code>&rsquo; as
43separators.  The format characters are:
44
45;<tt>s</tt>
46: file name
47;<tt>V</tt>
48: old version number (pre-checkin)
49;<tt>v</tt>
50: new version number (post-checkin)
51
52All other characters that appear in a format string
53expand to an empty field (commas separating fields are
54still provided).
55
56For example, some valid format strings are &lsquo;<code>%</code>&rsquo;,
57&lsquo;<code>%s</code>&rsquo;, &lsquo;<code>%<nowiki>{</nowiki>s<nowiki>}</nowiki></code>&rsquo;, and &lsquo;<code>%<nowiki>{</nowiki>sVv<nowiki>}</nowiki></code>&rsquo;.
58
59The output will be a space separated string of tokens enclosed in
60quotation marks (<tt>&quot;</tt>).
61Any embedded dollar signs (<tt>$</tt>), backticks (<tt>&lsquo;</tt>),
62backslashes (<tt>\</tt>), or quotation marks will be preceded
63by a backslash (this allows the shell to correctly parse it
64as a single string, regardless of the characters it contains).
65For backwards compatibility, the first
66token will be the repository subdirectory.  The rest of the
67tokens will be comma-delimited lists of the information
68requested in the format string.  For example, if
69&lsquo;<code>/u/src/master/yoyodyne/tc</code>&rsquo; is the repository, &lsquo;<code>%<nowiki>{</nowiki>sVv<nowiki>}</nowiki></code>&rsquo;
70is the format string, and three files (<tt>ChangeLog</tt>,
71<tt>Makefile</tt>, <tt>foo.c</tt>) were modified, the output
72might be:
73
74<div class="example" style="margin-left: 3.2em">
75 &quot;yoyodyne/tc ChangeLog,1.1,1.2 Makefile,1.3,1.4 foo.c,1.12,1.13&quot;
76</div>
77
78As another example, &lsquo;<code>%<nowiki>{</nowiki><nowiki>}</nowiki></code>&rsquo; means that only the
79name of the repository will be generated.
80
81Note: when <small>CVS</small> is accessing a remote repository,
82&lsquo;<tt>loginfo</tt>&rsquo; will be run on the ''remote''
83(i.e., server) side, not the client side (see [[cvs: Remote repositories#Remote repositories|Remote repositories]]).
84
85 [[cvs: Loginfo example#Loginfo example|&bull; loginfo example]]::             Loginfo example
86 [[cvs: Keeping a checked out copy#Keeping a checked out copy|&bull; Keeping a checked out copy]]::  Updating a tree on every checkin
87
88
89----
90
91<div class="header">
92<p>
93Previous: [[cvs: Editinfo#Editinfo|editinfo]], Up: [[cvs: The commit support files#The commit support files|commit files]] &nbsp; |[[cvs: Index#SEC_Contents|Contents]]||[[cvs: Index#Index|Index]]|</p>
94</div>
95This document was generated on <i>a sunny day</i> using [http://www.nongnu.org/texi2html/ <i>texi2html</i>].
96