CvsChangeLog

説明

CVS リポジトリに記録された変更ログのXML形式のレポートファイルを作成します。

重要: このタスクは、パス上にcvsが必要です。そうでない場合、エラーが発生します(Windowsではerror=2など)。<cvs>が機能しない場合は、作業対象のディレクトリでコマンドラインからcvs.exeを実行してみてください。また、このタスクはcvs実行ファイルがUnixバージョンと互換性があると想定しています。これは、CVSNTなどの一部の他のCVSクライアントには完全に当てはまらず、そのような非互換クライアントを使用すると、一部の操作が失敗する可能性があります。

パラメータ

属性 説明 必須
<cvs>タスクからのここで意味のある属性
Apache Ant 1.6.1以降
cvsRoot CVSROOT変数。 いいえ
cvsRsh CVS_RSH変数。 いいえ
package チェックアウトするパッケージ/モジュール。注記: 複数の属性はスペースで区切ることができます。名前の中にスペースを含むモジュールを指定する場合は、ネストされた<module>要素を使用してください。 いいえ
port CVSがサーバーと通信するために使用するポート。 いいえ。デフォルトは2401
passfile パスワードを読み取るパスワードファイル。 いいえ。デフォルトは~/.cvspass
failonerror コマンドが0以外の戻りコードで終了した場合、ビルドプロセスを停止します。 いいえ。デフォルトはfalse
tag 特定のブランチの変更ログをクエリします。 いいえ
特定の属性
dir cvs logコマンドを実行するディレクトリ。 いいえ。デフォルトは${basedir}
destfile 変更ログレポートを書き込むファイル。 はい
usersfile ユーザーIDと、レポート内でユーザーIDの代わりに使用すべき名前のマッピングをname-valueペアで含むプロパティファイル。 いいえ
daysinpast 変更ログ情報を取得する過去の日数。 いいえ
start レポートに含める変更ログの最も古い日付。 いいえ
end レポートに含める変更ログの最新の日期。 いいえ
remote trueに設定すると、作業コピーなしでリポジトリに対して動作します(cvs rlogを使用)。Ant 1.8.0以降 いいえ。デフォルトはfalse
startTag タグ範囲の開始。 endTagも指定されている場合、両方とも同じブランチ上に存在する必要があります。endTagが指定されていない場合、範囲の終点はstartTagが存在する同じブランチ上の最新のものになります。Ant 1.8.0以降 いいえ
endTag タグ範囲の終了。 startTagも指定されている場合、両方とも同じブランチ上に存在する必要があります。startTagが指定されていない場合、範囲の開始点はendTagが存在するブランチの先頭になります。Ant 1.8.0以降 いいえ

ネストされた要素として指定されたパラメータ

user

ネストされた<user>要素を使用すると、CVSサーバーに表示されるユーザーIDと、フォーマットされたレポートに含める名前のマッピングを指定できます。指定されたユーザーIDがリポジトリに変更を加えた場合、レポートファイル内の<author>タグには、ユーザーIDではなくdisplaynameで指定された名前が含まれます。

属性 説明 必須
displayname CVS変更ログレポートで使用される名前。 はい
userid CVSサーバーに存在するユーザーのユーザーID。 はい

module

処理するパッケージ/モジュールを指定します。この属性を使用して指定されたモジュールは、package属性とは異なり、名前の中にスペースを含めることができます。

属性 説明 必須
name モジュール/パッケージの名前。 はい

dve/networkディレクトリの下で行われたすべての変更に関する変更ログレポートを作成します。これらの変更をchangelog.xmlファイルに書き込みます。

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

過去10日間にdve/networkディレクトリの下で行われた変更に関する変更ログレポートを作成します。これらの変更をchangelog.xmlファイルに書き込みます。

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

2002年2月20日から2002年3月20日の間にdve/networkディレクトリの下で行われた変更に関する変更ログレポートを作成します。これらの変更をchangelog.xmlファイルに書き込みます。

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

2002年2月20日以降にdve/networkディレクトリの下で行われた変更に関する変更ログレポートを作成します。これらの変更をchangelog.xmlファイルに書き込みます。

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

donaldpユーザーIDによって行われた変更が検出されるたびに、<author>タグにPeter Donaldという名前を代用して、dve/networkディレクトリの下で行われたすべての変更に関する変更ログレポートを作成します。これらの変更をchangelog.xmlファイルに書き込みます。

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

ANT_16_BRANCHに関する変更ログレポートを作成します。

<cvschangelog dir="c:/dev/asf/ant.head" passfile="c:/home/myself/.cvspass"
              destfile="changelogant.xml" tag="ANT_16_BRANCH"/>

レポートの生成

Antには、XML出力に基づいてHTMLレポートを生成するために使用できる基本的なXSLTスタイルシートが含まれています。次の例は、XMLレポートからHTMLレポートを生成する方法を示しています。

<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>

サンプル出力

<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>