作者
這些任務提供一個介面,用於Microsoft Visual SourceSafe SCM。 org.apache.tools.ant.taskdefs.optional.vss
套件包含一個簡單的架構,用於支援 VSS 功能,以及一些 Apache Ant 任務,用於封裝常用的 VSS 指令。雖然可以在桌面上使用這些指令,但它們主要用於自動化建置系統。
如果您在執行這些指令時收到 CreateProcess error=2
,表示找不到 ss.exe。請查看您是否可以從命令列執行它,您可能需要變更您的路徑,或設定 ssdir 屬性。
任務 | 說明 |
---|---|
vssget | 擷取指定的 VSS 檔案副本。 |
vsslabel | 將標籤指定給檔案或專案的指定版本或目前版本。 |
vsshistory | 顯示 VSS 中檔案或專案的歷程記錄。 |
vsscheckin | 使用已簽出的檔案所做的變更更新 VSS,並解除鎖定 VSS 主控副本。 |
vsscheckout | 將檔案從目前專案複製到目前資料夾,以進行編輯。 |
vssadd | 將新檔案新增至 VSS 檔案庫 |
vsscp | 變更 VSS 中使用的目前專案 |
vsscreate | 在 VSS 中建立專案。 |
執行 GET 指令至 Microsoft Visual SourceSafe 的任務。
如果您從版本、日期和標籤指定兩個或更多屬性,只會使用一個,順序為版本、日期、標籤。
屬性 | 值 | 必要 |
---|---|---|
vsspath | SourceSafe 路徑,用於指定您要執行動作的專案/檔案。 | 是 |
login | 使用者名稱[,密碼]—存取 VSS 所需的使用者名稱和密碼。請注意,您可能需要同時指定這兩項(如果您有密碼),如果遺漏密碼,Ant/VSS 會暫停,而 VSS 不會接受沒有密碼的登入。 |
否 |
localpath | 覆寫工作目錄並取得指定路徑 | 否 |
ssdir | ss.exe 所在的目錄。 | 否;預設預期在 PATH 中 |
serverPath | srcsafe.ini 所在的目錄。 | 否 |
writable | true|false |
否;預設 false |
recursive | true|false。不過請注意,在 SourceSafe UI 中,有一個設定可透過 工具/選項/一般標籤存取,稱為 遞迴作用於專案。如果勾選此設定,則 recursive 屬性實際上會被忽略,而且取得永遠會遞迴進行 |
否;預設 false |
version | 要取得的版本號碼 | 否;只能使用其中一個 |
date | 要取得的時間戳記 | |
label | 要取得的標籤 | |
quiet | 抑制輸出 | 否;預設為 off |
autoresponse | 要如何回應(設定 -I 選項)。預設使用 -I-;值 Y或 N會附加到此選項。 |
否 |
writablefiles | 當本機檔案可寫入時的行為。有效的選項為:replace、 skip和 fail; skip表示 failonerror= false |
否;預設為 fail |
failonerror | 如果 ss.exe 以回傳碼 100退出,則停止建置程序 |
否;預設為 true |
filetimestamp | 設定本機檔案的時間戳記行為。有效的選項為 current、 modified或 updated。 |
否;預設為 current |
請注意,只能指定 version、date 或 label 其中一個
使用使用者名稱 me
和密碼 mypassword
,對 VSS 專案 $/source/myproject 執行取得。這會遞迴取得標籤為 Release1
的檔案,並將其寫入本機目錄 C:\mysrc\myproject。本機檔案將可寫入。
<vssget localPath="C:\mysrc\myproject" recursive="true" label="Release1" login="me,mypassword" vsspath="$/source/aProject" writable="true"/>
執行標籤命令至 Microsoft Visual SourceSafe 的工作。
將標籤指定給檔案或專案的指定版本或目前版本。
屬性 | 值 | 必要 |
---|---|---|
vsspath | SourceSafe 路徑,用於指定您要執行動作的專案/檔案。 | 是 |
login | 使用者名稱[,密碼]—存取 VSS 所需的使用者名稱和密碼。請注意,您可能需要同時指定這兩項(如果您有密碼),如果遺漏密碼,Ant/VSS 會暫停,而 VSS 不會接受沒有密碼的登入。 |
否 |
ssdir | ss.exe 所在的目錄。 | 否;預設預期在 PATH 中 |
serverPath | srcsafe.ini 所在的目錄。 | 否 |
label | 要套用至層級結構的標籤 | 是 |
version | 要標籤的現有檔案或專案版本。預設會標籤目前的版本。 | 否 |
comment | 要使用於此標籤的註解。為空或 -表示沒有註解。 |
否 |
autoresponse | 要如何回應(設定 -I 選項)。預設使用 -I-;值 Y或 N會附加到此選項。 |
否 |
failonerror | 如果 ss.exe 以回傳碼 100退出,則停止建置程序。 |
否;預設為 true |
使用使用者名稱 me
和密碼 mypassword
,將 VSS 專案 $/source/aProject 的目前版本標記為標記 Release1
。
<vsslabel vsspath="$/source/aProject" login="me,mypassword" label="Release1"/>
將 VSS 檔案 $/source/aProject/myfile.txt 的版本 4 標記為標記 1.03.004
。如果此版本已具有標記,則作業(和建置)將會失敗。
<vsslabel vsspath="$/source/aProject/myfile.txt" version="4" label="1.03.004"/>
屬性 | 值 | 必要 |
---|---|---|
vsspath | SourceSafe 路徑,用於指定您要執行動作的專案/檔案。 | 是 |
login | 使用者名稱[,密碼]—存取 VSS 所需的使用者名稱和密碼。請注意,您可能需要同時指定這兩項(如果您有密碼),如果遺漏密碼,Ant/VSS 會暫停,而 VSS 不會接受沒有密碼的登入。 |
否 |
ssdir | ss.exe 所在的目錄。 | 否;預設預期在 PATH 中 |
serverPath | srcsafe.ini 所在的目錄。 | 否 |
fromDate | 比較開始日期 | 請參閱下方 |
toDate | 比較結束日期 | 請參閱下方 |
dateFormat | 在 fromDate 和 toDate 中的日期格式。在使用 numdays 屬性計算日期時使用。此字串使用 SimpleDateFormat 的格式化規則。 | 否;預設為 DateFormat.SHORT |
fromLabel | 比較開始標記 | 否 |
toLabel | 比較開始標記 | 否 |
numdays | 比較天數。 | 請參閱下方 |
output | 撰寫 diff 的檔案。 | 否 |
recursive | true|false |
否 |
style | brief、 codediff、 default或 nofile。 |
否;預設為 default |
user | 命名我們想要查看其變更的使用者 | 否 |
failonerror | 如果 ss.exe 以回傳碼 100退出,則停止建置程序 |
否;預設為 true |
有不同的方式可以指定您想要評估的時間範圍
顯示 Release1
和 Release2
之間的所有變更。
<vsshistory vsspath="$/myProject" recursive="true" fromLabel="Release1" toLabel="Release2"/>
顯示 2001 年 1 月 1 日到 2001 年 3 月 31 日之間的所有變更(在德國,必須根據您的地區設定指定日期)。
<vsshistory vsspath="$/myProject" recursive="true" fromDate="01.01.2001" toDate="31.03.2001"/>
顯示過去兩週的所有變更。
<tstamp> <format property="to.tstamp" pattern="M-d-yy;h:mma"/> </tstamp> <vsshistory vsspath="$/myProject" recursive="true" numDays="-14" dateFormat="M-d-yy;h:mma" toDate="${to.tstamp}"/>
執行 CHECKIN 指令至 Microsoft Visual SourceSafe 的工作。
屬性 | 值 | 必要 |
---|---|---|
vsspath | SourceSafe 路徑,用於指定您要執行動作的專案/檔案。 | 是 |
login | 使用者名稱[,密碼]—存取 VSS 所需的使用者名稱和密碼。請注意,您可能需要同時指定這兩項(如果您有密碼),如果遺漏密碼,Ant/VSS 會暫停,而 VSS 不會接受沒有密碼的登入。 |
否 |
localpath | 覆寫工作目錄並取得指定路徑 | 否 |
ssdir | ss.exe 所在的目錄。 | 否;預設預期在 PATH 中 |
serverPath | srcsafe.ini 所在的目錄。 | 否 |
writable | true|false |
否 |
recursive | true|false |
否 |
comment | 用於已簽入檔案的註解。 | 否 |
autoresponse | Y、 N或空白。指定如何回覆 VSS 的問題。 |
否 |
failonerror | 如果 ss.exe 以回傳碼 100退出,則停止建置程序。 |
否;預設為 true |
使用本機目錄 D:\build,簽入專案 $/test 中名為 test* 的檔案。
<vsscheckin vsspath="$/test/test*" localpath="D:\build\" comment="Modified by automatic build"/>
執行 CHECKOUT 指令至 Microsoft Visual SourceSafe 的工作。
如果您從 version、date 和 label 指定兩個或更多屬性,則只會使用一個屬性,順序為 version、date、label。
屬性 | 值 | 必要 |
---|---|---|
vsspath | SourceSafe 路徑,用於指定您要執行動作的專案/檔案。 | 是 |
login | 使用者名稱[,密碼]—存取 VSS 所需的使用者名稱和密碼。請注意,您可能需要同時指定這兩項(如果您有密碼),如果遺漏密碼,Ant/VSS 會暫停,而 VSS 不會接受沒有密碼的登入。 |
否 |
localpath | 覆寫工作目錄並取得指定路徑 | 否 |
ssdir | ss.exe 所在的目錄。 | 否;預設預期在 PATH 中 |
serverPath | srcsafe.ini 所在的目錄。 | 否 |
writable | true|false |
否 |
recursive | true|false |
否 |
version | 要取得的版本號碼 | 否;只能使用其中一個 |
date | 要取得的時間戳記 | |
label | 要取得的標籤 | |
writablefiles | 當本機檔案可寫入時的行為。有效的選項為:replace、 skip和 fail; skip表示 failonerror= false |
否;預設為 fail |
failonerror | 如果 ss.exe 以回傳碼 100退出,則停止建置程序。 |
否;預設為 true |
filetimestamp | 設定本機檔案的時間戳記行為。有效的選項為 current、 modified或 updated。 |
否;預設為 current |
getlocalcopy | 設定行為以擷取檔案的本機副本。 | 否;預設為 true |
遞迴簽出專案 $/test 至目錄 D:\build。
<vsscheckout vsspath="$/test" localpath="D:\build" recursive="true" login="me,mypass"/>
屬性 | 值 | 必要 |
---|---|---|
localpath | 指定要新增至 VSS 的本機檔案 | 是 |
login | 使用者名稱[,密碼]—存取 VSS 所需的使用者名稱和密碼。請注意,您可能需要同時指定這兩項(如果您有密碼),如果遺漏密碼,Ant/VSS 會暫停,而 VSS 不會接受沒有密碼的登入。 |
否 |
ssdir | ss.exe 所在的目錄。 | 否;預設預期在 PATH 中 |
serverPath | srcsafe.ini 所在的目錄。 | 否 |
writable | true|false |
否 |
recursive | true|false |
否 |
comment | 用於已簽入檔案的註解。 | 否 |
autoresponse | Y、 N或空白。指定如何回覆 VSS 的問題。 |
否 |
failonerror | 如果 ss.exe 以回傳碼 100退出,則停止建置程序。 |
否;預設為 true |
將名為 build.00012.zip 的檔案新增到專案目前的工作目錄 (請參閱 vsscp
)。
<vssadd localpath="D:\build\build.00012.zip" comment="Added by automatic build"/>
執行 CP (變更專案) 指令至 Microsoft Visual SourceSafe 的工作。
此工作通常會在 VssAdd
之前使用,以設定目標專案
屬性 | 值 | 必要 |
---|---|---|
vsspath | SourceSafe 路徑,指定您希望建立為目前專案的專案。 | 是 |
login | 使用者名稱[,密碼]—存取 VSS 所需的使用者名稱和密碼。請注意,您可能需要同時指定這兩項(如果您有密碼),如果遺漏密碼,Ant/VSS 會暫停,而 VSS 不會接受沒有密碼的登入。 |
否 |
ssdir | ss.exe 所在的目錄。 | 否;預設預期在 PATH 中 |
serverPath | srcsafe.ini 所在的目錄。 | 否 |
failonerror | 如果 ss.exe 以回傳碼 100退出,則停止建置程序。 |
否;預設為 true |
將目前的 VSS 專案設定為 $/Projects/ant。
<vsscp vsspath="$/Projects/ant"/>
執行 CREATE 指令至 Microsoft Visual Source Safe 的工作。
在 VSS 中建立新的專案。
屬性 | 值 | 必要 |
---|---|---|
login | 使用者名稱、密碼 |
否 |
vsspath | 要建立的專案的 SourceSafe 路徑 | 是 |
ssdir | ss.exe 所在的目錄。 | 否;預設預期在 PATH 中 |
quiet | 抑制輸出 | 否;預設為 off |
failOnError | 如果在建立專案時發生錯誤,則會失敗。 | 否;預設為 true |
autoresponse | 要如何回應(設定 -I 選項)。預設使用 -I-;值 Y或 N會附加到此選項。 |
否 |
comment | 要使用於此標籤的註解。為空或 -表示沒有註解。 |
否 |
建立 VSS 專案 $/existingProject/newProject。
<vsscreate vsspath="$/existingProject/newProject"/>