作者
这些任务为 Microsoft Visual SourceSafe SCM 提供接口。 org.apache.tools.ant.taskdefs.optional.vss
包包含一个简单的框架来支持 VSS 功能,以及一些封装常用 VSS 命令的 Apache Ant 任务。 虽然可以在桌面使用这些命令,但它们主要用于自动化构建系统。
如果在运行这些命令时出现 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 | username[,password]- 获取 VSS 访问权限所需的用户名和密码。 请注意,您可能需要同时指定两者(如果您有密码) - 如果您省略密码,Ant/VSS 会挂起,并且 VSS 不会接受没有密码的登录。 |
否 |
localpath | 覆盖工作目录并获取到指定路径 | 否 |
ssdir | ss.exe 所在的目录。 | 否;默认情况下,预计在 PATH 中 |
serverPath | srcsafe.ini 所在的目录。 | 否 |
writable | true|false |
否;默认 false |
recursive | true|false。 但是请注意,在 SourceSafe UI 中,有一个通过 工具/选项/常规选项卡访问的设置,称为 递归操作项目。 如果选中此设置,则 recursive 属性实际上会被忽略,并且 get 将始终递归执行。 |
否;默认 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 |
请注意,只能指定版本、日期或标签中的一个
使用用户名 me
和密码 mypassword
对 VSS 项目 $/source/myproject 执行 get 操作。 这将递归获取标记为 Release1
的文件,并将它们写入本地目录 C:\mysrc\myproject。 本地文件将可写。
<vssget localPath="C:\mysrc\myproject" recursive="true" label="Release1" login="me,mypassword" vsspath="$/source/aProject" writable="true"/>
执行 LABEL 命令到 Microsoft Visual SourceSafe 的任务。
将标签分配给指定版本或文件的当前版本或项目。
属性 | 值 | 必需 |
---|---|---|
vsspath | SourceSafe 路径,指定要对其执行操作的项目/文件。 | 是 |
login | username[,password]- 获取 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
,用标签 Release1
标记 VSS 项目 $/source/aProject 的当前版本。
<vsslabel vsspath="$/source/aProject" login="me,mypassword" label="Release1"/>
用标签 1.03.004
标记 VSS 文件 $/source/aProject/myfile.txt 的版本 4。 如果此版本已存在标签,则操作(以及构建)将失败。
<vsslabel vsspath="$/source/aProject/myfile.txt" version="4" label="1.03.004"/>
属性 | 值 | 必需 |
---|---|---|
vsspath | SourceSafe 路径,指定要对其执行操作的项目/文件。 | 是 |
login | username[,password]- 获取 VSS 访问权限所需的用户名和密码。 请注意,您可能需要同时指定两者(如果您有密码) - 如果您省略密码,Ant/VSS 会挂起,并且 VSS 不会接受没有密码的登录。 |
否 |
ssdir | ss.exe 所在的目录。 | 否;默认情况下,预计在 PATH 中 |
serverPath | srcsafe.ini 所在的目录。 | 否 |
fromDate | 比较的开始日期 | 见下文 |
toDate | 比较的结束日期 | 见下文 |
dateFormat | fromDate 和 toDate 中日期的格式。 在使用 numdays 属性计算日期时使用。 此字符串使用 SimpleDateFormat 的格式化规则。 | 否;默认为 DateFormat.SHORT |
fromLabel | 比较的开始标签 | 否 |
toLabel | 比较的开始标签 | 否 |
numdays | 比较的天数。 | 见下文 |
output | 写入差异的文件。 | 否 |
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 | username[,password]- 获取 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 | username[,password]- 获取 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 | username[,password]- 获取 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 | username[,password]- 获取 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 SourceSafe 的任务。
在 VSS 中创建新项目。
属性 | 值 | 必需 |
---|---|---|
login | username,password |
否 |
vsspath | 要创建的项目的 SourceSafe 路径 | 是 |
ssdir | ss.exe 所在的目录。 | 否;默认情况下,预计在 PATH 中 |
quiet | 抑制输出 | 否;默认为 off |
failOnError | 如果创建项目时出错,则失败。 | 否;默认为 true |
autoresponse | 要回复的内容(设置 -I 选项)。 默认情况下,使用 -I-;Y或 N的值将附加到此。 |
否 |
comment | 此标签要使用的注释。 空或 -表示没有注释。 |
否 |
创建 VSS 项目 $/existingProject/newProject。
<vsscreate vsspath="$/existingProject/newProject"/>