## CvsChangeLog

### Description

Generates an XML-formatted report file of the change logs recorded in a CVS repository.

Important: This task needs "cvs" on the path. If it isn't, you will get an error (such as error 2 on windows). If <cvs> doesn't work, try to execute cvs.exe from the command line in the target directory in which you are working.

### Parameters

Attribute | Description | Required
dir | The directory from which to run the CVS log command. | No; defaults to ${basedir}.
destfile | The file in which to write the change log report. | Yes
usersfile | 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. | No
daysinpast | Sets the number of days into the past for which the change log information should be retrieved. | No
start | The earliest date from which change logs are to be included in the report. | No
end | The latest date to which change logs are to be included in the report. | No

### Parameters specified as nested elements

#### user

The nested `<user>` 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 `<author>` tag in the report file will include the name specified in `displayname` rather than the user ID.

Attribute | Description | Required
displayname | The name to be used in the CVS change log report. | Yes
userid | The userid of the person as it exists on the CVS server. | Yes

### Examples

      <cvschangelog dir="dve/network"
                    destfile="changelog.xml"
      />

Generates a change log report for all the changes that have been made under the `dve/network` directory. It writes these changes into the file `changelog.xml`.

      <cvschangelog dir="dve/network"
                    destfile="changelog.xml"
                    daysinpast="10"
      />

Generates a change log report for any changes that were made under the `dve/network` directory in the past 10 days. It writes these changes into the file `changelog.xml`.

      <cvschangelog dir="dve/network"
                    destfile="changelog.xml"
                    start="20 Feb 2002"
                    end="20 Mar 2002"
      />

Generates a change log report for any changes that were made between February 20, 2002 and March 20, 2002 under the `dve/network` directory. It writes these changes into the file `changelog.xml`.

      <cvschangelog dir="dve/network"
                    destfile="changelog.xml"
                    start="20 Feb 2002"
      />

Generates a change log report for any changes that were made after February 20, 2002 under the `dve/network` directory. It writes these changes into the file `changelog.xml`.

      <cvschangelog dir="dve/network"
                    destfile="changelog.xml">
           <user displayname="Peter Donald" userid="donaldp"/>
      </cvschangelog>

Generates a change log report for all the changes that were made under the `dve/network` directory, substituting the name "Peter Donald" in the `<author>` tags anytime it encounters a change made by the user ID "donaldp". It writes these changes into the file `changelog.xml`.

#### Generate Report

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.

            <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="http://cvs.apache.org/viewcvs/"/>
            </style>

#### Sample Output

    <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 temp[lates to be stored inside jar]]></msg>
      </entry>
    </changelog>

Copyright © 2002-2003 Apache Software Foundation. All rights Reserved.