| <!DOCTYPE html> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| https://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <html lang="en"> |
| |
| <head> |
| <link rel="stylesheet" type="text/css" href="../stylesheets/style.css"> |
| <title>ChangeLog Task</title> |
| </head> |
| |
| <body> |
| |
| <h2 id="changelog">CvsChangeLog</h2> |
| <h3>Description</h3> |
| <p>Generates an XML-formatted report file of the change logs recorded in |
| a <a href="https://www.nongnu.org/cvs/" target="_top">CVS</a> repository.</p> |
| <p><strong>Important</strong>: This task needs <kbd>cvs</kbd> on the path. If it isn't, you will get |
| an error (such as <code>error=2</code> on Windows). If <code><cvs></code> doesn't work, try to |
| execute <kbd>cvs.exe</kbd> from the command line in the target directory in which you are working. |
| Also note that this task assumes that the <kbd>cvs</kbd> executable is compatible with the Unix |
| version, this is not completely true for certain other CVS clients—like CVSNT for |
| example—and some operation may fail when using such an incompatible client.</p> |
| <h3>Parameters</h3> |
| <table class="attr"> |
| <tr> |
| <th scope="col">Attribute</th> |
| <th scope="col">Description</th> |
| <th scope="col">Required</th> |
| </tr> |
| <tr> |
| <td colspan="3" class="left">Attributes from parent <code><cvs></code> task which are |
| meaningful here<br/><em>Since Apache Ant 1.6.1</em></td> |
| </tr> |
| <tr> |
| <td>cvsRoot</td> |
| <td>the <code>CVSROOT</code> variable.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>cvsRsh</td> |
| <td>the <code>CVS_RSH</code> variable.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>package</td> |
| <td>the package/module to check out. <strong>Note</strong>: multiple attributes can be split |
| using spaces. Use a nested <code><module></code> element if you want to specify a |
| module with spaces in its name.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>port</td> |
| <td>Port used by CVS to communicate with the server.</td> |
| <td>No; defaults to <q>2401</q></td> |
| </tr> |
| <tr> |
| <td>passfile</td> |
| <td>Password file to read passwords from.</td> |
| <td>No; defaults to <q>~/.cvspass</q></td> |
| </tr> |
| <tr> |
| <td>failonerror</td> |
| <td>Stop the build process if the command exits with a return code other than <q>0</q></td> |
| <td>No; defaults to <q>false</q></td> |
| </tr> |
| <tr> |
| <td>tag</td> |
| <td>query the changelog for a specific branch.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td colspan="3" class="left">Specific attributes</td> |
| </tr> |
| <tr> |
| <td>dir</td> |
| <td>The directory from which to run the <kbd>cvs log</kbd> command.</td> |
| <td>No; defaults to <q>${basedir}</q></td> |
| </tr> |
| <tr> |
| <td>destfile</td> |
| <td>The file in which to write the change log report.</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>usersfile</td> |
| <td>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>No</td> |
| </tr> |
| <tr> |
| <td>daysinpast</td> |
| <td>Sets the number of days into the past for which the change log information should be |
| retrieved.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>start</td> |
| <td>The earliest date from which change logs are to be included in the report.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>end</td> |
| <td>The latest date to which change logs are to be included in the report.</td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>remote</td> |
| <td>If set to true, works against the repository (using <kbd>cvs rlog</kbd>) without a working |
| copy. <em>Since Ant 1.8.0</em></td> |
| <td>No; default is <q>false</q></td> |
| </tr> |
| <tr> |
| <td>startTag</td> |
| <td>The start of a tag range. If <var>endTag</var> is also specified, they must both be on the |
| same branch. If <var>endTag</var> is not specified, the end of the range will be the latest on |
| the same branch on which <var>startTag</var> lives. <em>Since Ant 1.8.0</em></td> |
| <td>No</td> |
| </tr> |
| <tr> |
| <td>endTag</td> |
| <td>The end of a tag range. If <var>startTag</var> is also specified, they must both be on the |
| same branch. If <var>startTag</var> is not specified, the start of the range will be the top |
| of the branch on which <var>endTag</var> lives. <em>Since Ant 1.8.0</em></td> |
| <td>No</td> |
| </tr> |
| </table> |
| |
| <h3>Parameters specified as nested elements</h3> |
| <h4 id="user">user</h4> |
| <p>The nested <code><user></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><author></code> tag in the report file |
| will include the name specified in <var>displayname</var> rather than the user ID.</p> |
| |
| <table class="attr"> |
| <tr> |
| <th scope="col">Attribute</th> |
| <th scope="col">Description</th> |
| <th scope="col">Required</th> |
| </tr> |
| <tr> |
| <td>displayname</td> |
| <td>The name to be used in the CVS change log report.</td> |
| <td>Yes</td> |
| </tr> |
| <tr> |
| <td>userid</td> |
| <td>The user ID of the person as it exists on the CVS server. |
| </td> |
| <td>Yes</td> |
| </tr> |
| </table> |
| |
| <h4>module</h4> |
| |
| <p>Specifies a package/module to work on, unlike the package attribute modules specified using this |
| attribute can contain spaces in their name.</p> |
| |
| <table class="attr"> |
| <tr> |
| <th scope="col">Attribute</th> |
| <th scope="col">Description</th> |
| <th scope="col">Required</th> |
| </tr> |
| <tr> |
| <td>name</td> |
| <td>The module's/package's name.</td> |
| <td>Yes</td> |
| </tr> |
| </table> |
| |
| <h3>Examples</h3> |
| <p>Generate a change log report for all the changes that have been made under |
| the <samp>dve/network</samp> directory. Write these changes into the |
| file <samp>changelog.xml</samp>.</p> |
| <pre> |
| <cvschangelog dir="dve/network" |
| destfile="changelog.xml"/></pre> |
| |
| <p>Generate a change log report for any changes that were made under the <samp>dve/network</samp> |
| directory in the past 10 days. Write these changes into the file <samp>changelog.xml</samp>.</p> |
| <pre> |
| <cvschangelog dir="dve/network" |
| destfile="changelog.xml" |
| daysinpast="10"/></pre> |
| |
| <p>Generate a change log report for any changes that were made between February 20, 2002 and March |
| 20, 2002 under the <samp>dve/network</samp> directory. Write these changes into the |
| file <samp>changelog.xml</samp>.</p> |
| <pre> |
| <cvschangelog dir="dve/network" |
| destfile="changelog.xml" |
| start="20 Feb 2002" |
| end="20 Mar 2002"/></pre> |
| |
| <p>Generate a change log report for any changes that were made after February 20, 2002 under |
| the <samp>dve/network</samp> directory. Write these changes into the |
| file <samp>changelog.xml</samp>.</p> |
| <pre> |
| <cvschangelog dir="dve/network" |
| destfile="changelog.xml" |
| start="20 Feb 2002"/></pre> |
| |
| <p>Generate a change log report for all the changes that were made under |
| the <code>dve/network</code> directory, substituting the name <samp>Peter Donald</samp> in |
| the <code><author></code> tags anytime a change made by the user ID <samp>donaldp</samp> is |
| encountered. Write these changes into the file <samp>changelog.xml</samp>.</p> |
| <pre> |
| <cvschangelog dir="dve/network" |
| destfile="changelog.xml"> |
| <user displayname="Peter Donald" userid="donaldp"/> |
| </cvschangelog></pre> |
| |
| <p>Generate a change log report on the <code>ANT_16_BRANCH</code>.</p> |
| <pre> |
| <cvschangelog dir="c:/dev/asf/ant.head" passfile="c:/home/myself/.cvspass" |
| destfile="changelogant.xml" tag="ANT_16_BRANCH"/></pre> |
| <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> |
| <style in="changelog.xml" |
| out="changelog.html" |
| style="${ant.home}/etc/changelog.xsl"> |
| <param name="title" expression="Ant ChangeLog"/> |
| <param name="module" expression="ant"/> |
| <param name="cvsweb" expression="https://cvs.apache.org/viewcvs/"/> |
| </style></pre> |
| |
| <h4>Sample Output</h4> |
| <pre> |
| <changelog> |
| <entry> |
| <date>2002-03-06</date> |
| <time>12:00</time> |
| <author>Peter Donald</author> |
| <file> |
| <name>org/apache/myrmidon/build/AntlibDescriptorTask.java</name> |
| <revision>1.3</revision> |
| <prevrevision>1.2</prevrevision> |
| </file> |
| <msg><![CDATA[Use URLs directly rather than go via a File. |
| |
| This allows templates to be stored inside jar]]></msg> |
| </entry> |
| </changelog></pre> |
| |
| </body> |
| </html> |