根據 CVS 儲存庫中記錄的兩個標籤或日期之間的變更,產生 XML 格式的報告檔案。
重要:此任務需要路徑上的 cvs。如果沒有,您將會收到錯誤(例如 Windows 上的 error=2
)。如果 <cvs>
無法運作,請嘗試在您工作的目標目錄中,從命令列執行 cvs.exe。另請注意,此任務假設 cvs 可執行檔與 Unix 版本相容,這對於某些其他 CVS 客戶端(例如 CVSNT)並非完全正確,而且在使用此類不相容客戶端時,某些操作可能會失敗。
此任務會將 CVS 命令的輸出擷取到 暫存目錄 內的檔案中。
屬性 | 說明 | 必要 |
---|---|---|
startTag | 報告中要包含的變更最早的標籤。 | 兩個標籤中必須有一個 |
startDate | 報告中要包含的變更最早的日期。 接受 cvs 命令對 -D date_spec 參數所接受的所有格式。 |
|
endTag | 報告中要包含的變更最晚的標籤。 | 兩個標籤中必須有一個 |
endDate | 報告中要包含的變更最晚的日期。 接受 cvs 命令對 -D date_spec 參數所接受的所有格式。 |
|
destfile | 要寫入變更報告的檔案。 | 是 |
ignoreRemoved | 設為 true時,報告不會包含任何已移除的檔案。自 Apache Ant 1.8.0 起 |
否;預設為 false |
cvs
任務繼承的參數屬性 | 說明 | 必要 |
---|---|---|
compression | true(等於 3)、 false或介於 1至 9之間的數字(對應於 CVS -z# 參數的可能值)。任何其他值都視為 false |
否;預設為不壓縮 |
cvsRoot | CVSROOT 變數。 |
否 |
cvsRsh | CVS_RSH 變數。 |
否 |
package | 要分析的套件/模組。 自 Ant 1.6 起,允許多個以空格分隔的套件。對應不同模組的別名也適用。如果您要指定名稱中含有空格的模組,請使用巢狀 <module> 元素。 |
否 |
quiet | 抑制資訊訊息。 | 否;預設 false |
port | CVS 用來與伺服器通訊的埠。 | 否;預設 2401 |
passfile | 用來讀取密碼的密碼檔。 | 否;預設 ~/.cvspass |
failonerror | 如果命令結束時傳回的代碼不是 0,就停止建置程序。 |
否;預設為 false |
指定要使用的套件/模組,與 package 屬性不同,使用此屬性指定的模組名稱中可以包含空白。
屬性 | 說明 | 必要 |
---|---|---|
name | 模組/套件的名稱。 | 是 |
針對 ANT_14 和 ANT_141 標記之間在 ant
模組中所做的所有變更產生 tagdiff
報告。將這些變更寫入 tagdiff.xml 檔案。
<cvstagdiff cvsRoot=":pserver:anoncvs@cvs.apache.org:/home/cvspublic" destfile="tagdiff.xml" package="ant" startTag="ANT_14" endTag="ANT_141"/>
針對 2002 年 1 月在 ant 模組中所做的所有變更產生 tagdiff
報告。將這些變更寫入 tagdiff.xml 檔案。在此範例中,尚未設定 cvsRoot。將使用目前的 cvsRoot(假設建置是從儲存在 CVS 中的資料夾開始的)。
<cvstagdiff destfile="tagdiff.xml" package="ant" startDate="2002-01-01" endDate="2002-31-01"/>
針對 2003 年 1 月在 ant 和 jakarta-gump 模組中所做的所有變更產生 tagdiff
報告。將這些變更寫入 tagdiff.xml 檔案。在此範例中,尚未設定 cvsRoot。將使用目前的 cvsRoot(假設建置是從儲存在 CVS 中的資料夾開始的)。
<cvstagdiff destfile="tagdiff.xml" package="ant jakarta-gump" startDate="2003-01-01" endDate="2003-31-01"/>
Ant 包含一個基本的 XSLT 樣式表,您可以使用它根據 XML 輸出產生 HTML 報告。下列範例說明如何從 XML 報告產生 HTML 報告。
<style in="tagdiff.xml" out="tagdiff.html" style="${ant.home}/etc/tagdiff.xsl"> <param name="title" expression="Ant Diff"/> <param name="module" expression="ant"/> <param name="cvsweb" expression="https://cvs.apache.org/viewcvs/"/> </style>
<tagdiff>
元素的 cvsroot 和 package 屬性是自 Ant 1.6 以後才新增的。
<entry>
屬性的說明
屬性 | Comment |
---|---|
name | 在報告一個套件時,套件名稱會從輸出中移除 |
revision | 提供給在報告期間結束時存在的檔案 |
prevrevision | 提供給在報告期間開始時存在的檔案。 舊的 CVS 伺服器不會提供給已刪除的檔案。CVS 1.12.2 會提供。 |
範例
<?xml version="1.0" encoding="UTF-8"?> <tagdiff startTag="ANT_14" endTag="ANT_141" cvsroot=":pserver:anoncvs@cvs.apache.org:/home/cvspublic" package="ant"> <entry> <file> <name>src/main/org/apache/tools/ant/DirectoryScanner.java</name> <revision>1.15.2.1</revision> <prevrevision>1.15</prevrevision> </file> </entry> </tagdiff>