blob: ba245eb63926e55b2243eed11ac302c11bfc4e0d [file] [log] [blame]
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<title>ChangeLog Task</title>
<link rel="stylesheet" type="text/css" href="../stylesheets/antmanual.css">
</head>
<body>
<h2><a name="changelog">CvsChangeLog</a></h2>
<h3>Description</h3>
<p>Generates an XML-formatted report file of the change logs recorded in a
<a href="http://www.cvshome.org/" target="_top">CVS</a> repository. </p>
<p><b>Important:</b> This task needs "cvs" on the path. If it isn't, you will get
an error (such as error 2 on windows). If &lt;cvs&gt; doesn't work, try to execute cvs.exe
from the command line in the target directory in which you are working.
<h3>Parameters</h3>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">dir</td>
<td valign="top">The directory from which to run the CVS <em>log</em>
command.</td>
<td align="center" valign="top">No; defaults to ${basedir}.</td>
</tr>
<tr>
<td valign="top">destfile</td>
<td valign="top">The file in which to write the change log report.</td>
<td align="center" valign="top">Yes</td>
</tr>
<tr>
<td valign="top">usersfile</td>
<td valign="top">Property file that contains name-value pairs mapping
user IDs and names that should be used in the report in place of
the user ID.</td>
<td align="center" valign="top">No</td>
</tr>
<tr>
<td valign="top">daysinpast</td>
<td valign="top">Sets the number of days into the past for which the
change log information should be retrieved.</td>
<td align="center" valign="top">No</td>
</tr>
<tr>
<td valign="top">start</td>
<td valign="top">The earliest date from which change logs are to be
included in the report.</td>
<td align="center" valign="top">No</td>
</tr>
<tr>
<td valign="top">end</td>
<td valign="top">The latest date to which change logs are to be
included in the report.</td>
<td align="center" valign="top">No</td>
</tr>
</table>
<h3>Parameters specified as nested elements</h3>
<h4><a name="user">user</a></h4>
<p>The nested <code>&lt;user&gt;</code> element allows you to specify a
mapping between a user ID as it appears on the CVS server and a name to
include in the formatted report.
Anytime the specified user ID has made a change in the repository, the
<code>&lt;author&gt;</code> tag in the report file will include
the name specified in <code>displayname</code> rather than the user ID.
</p>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<td valign="top"><b>Attribute</b></td>
<td valign="top"><b>Description</b></td>
<td align="center" valign="top"><b>Required</b></td>
</tr>
<tr>
<td valign="top">displayname</td>
<td valign="top">The name to be used in the CVS change log report.</td>
<td valign="top" align="center">Yes</td>
</tr>
<tr>
<td valign="top">userid</td>
<td valign="top">The userid of the person as it exists on the CVS server.
</td>
<td valign="top" align="center">Yes</td>
</tr>
</table>
<h3>Examples</h3>
<pre> &lt;cvschangelog dir=&quot;dve/network&quot;
destfile=&quot;changelog.xml&quot;
/&gt;</pre>
<p>Generates a change log report for all the changes that have been made
under the <code>dve/network</code> directory.
It writes these changes into the file <code>changelog.xml</code>.</p>
<pre> &lt;cvschangelog dir=&quot;dve/network&quot;
destfile=&quot;changelog.xml&quot;
daysinpast=&quot;10&quot;
/&gt;</pre>
<p>Generates a change log report for any changes that were made
under the <code>dve/network</code> directory in the past 10 days.
It writes these changes into the file <code>changelog.xml</code>.</p>
<pre> &lt;cvschangelog dir=&quot;dve/network&quot;
destfile=&quot;changelog.xml&quot;
start=&quot;20 Feb 2002&quot;
end=&quot;20 Mar 2002&quot;
/&gt;</pre>
<p>Generates a change log report for any changes that were made
between February 20, 2002 and March 20, 2002
under the <code>dve/network</code> directory.
It writes these changes into the file <code>changelog.xml</code>.</p>
<pre> &lt;cvschangelog dir=&quot;dve/network&quot;
destfile=&quot;changelog.xml&quot;
start=&quot;20 Feb 2002&quot;
/&gt;</pre>
<p>Generates a change log report for any changes that were made
after February 20, 2002 under the <code>dve/network</code> directory.
It writes these changes into the file <code>changelog.xml</code>.</p>
<pre> &lt;cvschangelog dir=&quot;dve/network&quot;
destfile=&quot;changelog.xml&quot;&gt;
&lt;user displayname=&quot;Peter Donald&quot; userid=&quot;donaldp&quot;/&gt;
&lt;/cvschangelog&gt;</pre>
<p>Generates a change log report for all the changes that were made
under the <code>dve/network</code> directory, substituting the name
&quot;Peter Donald&quot; in the <code>&lt;author&gt;</code> tags
anytime it encounters a change made by the user ID &quot;donaldp&quot;.
It writes these changes into the file <code>changelog.xml</code>.</p>
<h4>Generate Report</h4>
<p>Ant includes a basic XSLT stylesheet that you can use to generate
a HTML report based on the xml output. The following example illustrates
how to generate a HTML report from the XML report.</p>
<pre>
&lt;style in="changelog.xml"
out="changelog.html"
style="${ant.home}/etc/changelog.xsl"&gt;
&lt;param name="title" expression="Ant ChangeLog"/&gt;
&lt;param name="module" expression="ant"/&gt;
&lt;param name="cvsweb" expression="http://cvs.apache.org/viewcvs/"/&gt;
&lt;/style&gt;
</pre>
<h4>Sample Output</h4>
<pre>
&lt;changelog&gt;
&lt;entry&gt;
&lt;date&gt;2002-03-06&lt;/date&gt;
&lt;time&gt;12:00&lt;/time&gt;
&lt;author&gt;Peter Donald&lt;/author&gt;
&lt;file&gt;
&lt;name&gt;org/apache/myrmidon/build/AntlibDescriptorTask.java&lt;/name&gt;
&lt;revision&gt;1.3&lt;/revision&gt;
&lt;prevrevision&gt;1.2&lt;/prevrevision&gt;
&lt;/file&gt;
&lt;msg&gt;&lt;![CDATA[Use URLs directly rather than go via a FIle.
This allows temp[lates to be stored inside jar]]&gt;&lt;/msg&gt;
&lt;/entry&gt;
&lt;/changelog&gt;
</pre>
<hr><p align="center">Copyright &copy; 2002-2003 Apache Software Foundation. All rights
Reserved.</p>
</body>
</html>