產生 CVS 儲存庫中記錄的變更記錄的 XML 格式報告檔案。
重要:此工作需要路徑上的 cvs。如果不是,您將會收到錯誤(例如 Windows 上的 error=2
)。如果 <cvs>
無法運作,請嘗試在您正在工作的目標目錄中從命令列執行 cvs.exe。另請注意,此工作假設 cvs 可執行檔與 Unix 版本相容,這對於某些其他 CVS 客戶端(例如 CVSNT)並非完全正確,而且使用此類不相容客戶端時,某些操作可能會失敗。
屬性 | 說明 | 必要 |
---|---|---|
此處有意義的父項 <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。 | 否 |
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>
元素讓您可以指定使用者 ID(如其在 CVS 伺服器上顯示)與格式化報告中要包含的名稱之間的對應。任何時候指定使用者 ID 已在儲存庫中進行變更,報告檔案中的 <author>
標籤會包含 displayname 中指定的姓名,而非使用者 ID。
屬性 | 說明 | 必要 |
---|---|---|
displayname | 要使用在 CVS 變更日誌報告中的名稱。 | 是 |
userid | 使用者的 ID,如其在 CVS 伺服器上存在的狀態。 | 是 |
指定要使用的套件/模組,與套件屬性不同,使用此屬性指定的模組名稱中可以包含空白。
屬性 | 說明 | 必要 |
---|---|---|
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"/>
針對在 dve/network
目錄下進行的所有變更產生變更日誌報告,在任何時候遇到使用者 ID donaldp 所做的變更時,都將 <author>
標籤中的名稱替換為 Peter Donald。將這些變更寫入 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 包含一個基本的 XSLT 樣式表,你可以使用它來根據 XML 輸出產生 HTML 報告。以下範例說明如何從 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>