注意:在使用此任務之前,執行 Ant 的使用者必須有權存取 PVCS 指令 (get 和 pcli),且必須有權存取儲存庫。請注意,指定儲存庫的方式取決於平台,因此請使用屬性來指定儲存庫的位置。
作者
版本 1.1—2001/06/27
已修正 UNC 路徑名稱和路徑中使用 ()
的問題,並新增 updateonly 引數。
版本 1.0—2001/01/31
初始版本。
pvcs
任務允許 Ant 使用者從 PVCS(Polytron 版本控制系統)儲存庫中擷取最新版本的原始碼。它目前由 MicroFocus 所有。
此版本已針對 Windows 和 Solaris 下的 PVCS 版本 6.5 和 6.6 進行測試。
pvcs
任務設定為指向 PVCS 儲存庫,並選擇性地指向該儲存庫中的專案,並可從該規格中取得儲存庫所包含檔案的最新版本。
屬性 | 說明 | 必要 |
---|---|---|
儲存庫 | 儲存庫的位置(請參閱 PVCS 手冊)。 | 是 |
pvcsproject | 要從中擷取檔案的 PVCS 儲存庫中的專案。 | 否;預設為根專案,/ |
標籤 | 僅擷取標示有此標籤的檔案。 | 否 |
promotiongroup | 僅擷取此推廣群組中的檔案。同時使用 label 和 promotiongroup 標籤將會擷取推廣群組中且具有該標籤的檔案。 | 否 |
config | 非預設 .cfg 檔案的路徑。可以是絕對路徑或相對於專案的基底目錄。 | 否 |
force | 如果設定為 yes,將覆寫所有存在的可寫入檔案。預設 no會忽略可寫入的檔案。這會停止 PVCS 指令 get 詢問問題! |
否;預設為 no |
工作區 | 透過指定 workspace,檔案會擷取到該位置。PVCS 工作區是工作檔案位置的名稱,本身並非位置。您使用 PVCS GUI 程式定義工作區的位置。 | 否;預設為目前使用者的預設工作區 |
pvcsbin | 在某些系統上,PVCS 可執行檔 pcli 和 get 未在 PATH 中找到。在這種情況下,此屬性應設定為包含前面提到的可執行檔的 PVCS 安裝的 bin 目錄。如果未指定此屬性,標籤會預期使用 PATH 環境變數找到可執行檔。 |
否 |
ignorereturncode | 如果設定為 true,則會忽略執行 PVCS 命令的傳回值。 |
否 |
updateonly | 如果設定為 true,則只有在檔案比現有的本機檔案更新時才會取得檔案。 |
否 |
filenameformat | 資料夾名稱的格式,適合 java.text.MessageFormat 。儲存庫的檔案擴充功能不是 -arc 的應設定此項目。 |
否;預設為 {0}-arc({1}) |
linestart | 用於剖析 pcli 命令的輸出。剖析器已知道 /和 \\,此屬性適用於透過磁碟機代號對應存取 Windows 平台上的儲存庫的情況。 |
否;預設為 "P: |
revision | 擷取指定的修訂版本。 | 否 |
userid | 使用指定的使用者 ID。 | 否 |
此工作支援巢狀 <pvcsproject>
元素,代表 PVCS 儲存庫中要從中擷取檔案的專案。透過在 <pvcs>
工作下巢狀多個 <pvcsproject>
元素,可以指定多個專案。
屬性 | 說明 | 必要 |
---|---|---|
name | PVCS 專案的名稱 | 是 |
下列設定會從 pvcs 儲存庫中擷取檔案的最新版本。
<!-- =================================================================== --> <!-- Get the latest version --> <!-- =================================================================== --> <target name="getlatest"> <pvcs repository="/mnt/pvcs" pvcsproject="/myprj"/> </target>
現在執行:ant getlatest
這將導致出現下列輸出
getlatest: [pvcs] PVCS Version Manager (VMGUI) v6.6.10 (Build 870) for Windows NT/80x86 [pvcs] Copyright 1985-2000 MERANT. All rights reserved. [pvcs] PVCS Version Manager (get) v6.6.10 (Build 870) for Windows NT/80x86 [pvcs] Copyright 1985-2000 MERANT. All rights reserved. [pvcs] c:\myws\myprj\main.java <- C:\mypvcs\archives\myprj\main.java-arc [pvcs] rev 1.1 [pvcs] c:\myws\myprj\apache\tool.java <- C:\mypvcs\archives\myprj\apache\tools.java-arc [pvcs] rev 1.5 BUILD SUCCESSFUL Total time: 19 seconds
下一個範例會使用巢狀 <pvcsproject>
元素從 pvcs 儲存庫中兩個專案的檔案擷取最新版本。
<!-- ===================================================================--> <!-- Get latest from myprj and myprj2 --> <!-- ===================================================================--> <target name="getlatest2"> <pvcs repository="/mnt/pvcs"> <pvcsproject name="/myprj"/> <pvcsproject name="/myprj2"/> </pvcs> </target>
現在執行:ant getlatest2
這將導致出現下列輸出
getlatest2: [pvcs] PVCS Version Manager (VMGUI) v6.6.10 (Build 870) for Windows NT/80x86 [pvcs] Copyright 1985-2000 MERANT. All rights reserved. [pvcs] PVCS Version Manager (get) v6.6.10 (Build 870) for Windows NT/80x86 [pvcs] Copyright 1985-2000 MERANT. All rights reserved. [pvcs] c:\myws\myprj\main.java <- C:\mypvcs\archives\myprj\main.java-arc [pvcs] rev 1.1 [pvcs] c:\myws\myprj\apache\tool.java <- C:\mypvcs\archives\myprj\apache\tool.java-arc [pvcs] rev 1.5 [pvcs] c:\myws\myprj2\apache\tool2.java <- C:\mypvcs\archives\myprj2\apache\tool2.java-arc [pvcs] rev 1.2 BUILD SUCCESSFUL Total time: 22 seconds