Microsoft Visual SourceSafe 任务用户手册

作者


目录


简介

这些任务为 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 中创建项目。

任务描述

VssGet

描述

执行 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-YN 的值将附加到此。
writablefiles 本地文件可写时的行为。 有效选项为:replaceskipfailskip 意味着 failonerror=false 否;默认为 fail
failonerror 如果 ss.exe 以返回代码 100 退出,则停止构建过程 否;默认为 true
filetimestamp 设置本地文件时间戳的行为。 有效选项为 currentmodifiedupdated 否;默认为 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"/>

VssLabel

描述

执行 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-YN 的值将附加到此。
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"/>

VssHistory

描述

执行 HISTORY 命令到 Microsoft Visual SourceSafe 的任务。

参数

属性 必需
vsspath SourceSafe 路径,指定要对其执行操作的项目/文件。
login username[,password] - 获取 VSS 访问权限所需的用户名和密码。 请注意,您可能需要同时指定两者(如果您有密码) - 如果您省略密码,Ant/VSS 会挂起,并且 VSS 不会接受没有密码的登录。
ssdir ss.exe 所在的目录。 否;默认情况下,预计在 PATH
serverPath srcsafe.ini 所在的目录。
fromDate 比较的开始日期 见下文
toDate 比较的结束日期 见下文
dateFormat fromDatetoDate 中日期的格式。 在使用 numdays 属性计算日期时使用。 此字符串使用 SimpleDateFormat 的格式化规则。 否;默认为 DateFormat.SHORT
fromLabel 比较的开始标签
toLabel 比较的开始标签
numdays 比较的天数。 见下文
output 写入差异的文件。
recursive true|false
style briefcodediffdefaultnofile 否;默认为 default
user 我们要查看其更改的用户的名称
failonerror 如果 ss.exe 以返回代码 100 退出,则停止构建过程 否;默认为 true

指定时间范围

有不同的方法可以指定要评估的时间范围

示例

显示 Release1Release2 之间的全部更改。

<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}"/>

VssCheckin

描述

执行 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 YN 或空。 指定如何回复 VSS 的问题。
failonerror 如果 ss.exe 以返回代码 100 退出,则停止构建过程。 否;默认为 true

示例

使用本地目录 D:\build 签入项目 $/test 中名为 test* 的文件。

<vsscheckin vsspath="$/test/test*"
            localpath="D:\build\"
            comment="Modified by automatic build"/>

VssCheckout

描述

执行 CHECKOUT 命令到 Microsoft Visual SourceSafe 的任务。

如果从 versiondatelabel 中指定了两个或多个属性,则将按 versiondatelabel 的顺序使用其中一个。

参数

属性 必需
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 本地文件可写时的行为。 有效选项为:replaceskipfailskip 意味着 failonerror=false 否;默认为 fail
failonerror 如果 ss.exe 以返回代码 100 退出,则停止构建过程。 否;默认为 true
filetimestamp 设置本地文件时间戳的行为。 有效选项为 currentmodifiedupdated 否;默认为 current
getlocalcopy 设置检索文件本地副本的行为。 否;默认为 true

示例

将项目 $/test 递归签出到目录 D:\build

<vsscheckout vsspath="$/test"
             localpath="D:\build"
             recursive="true"
             login="me,mypass"/>

VssAdd

描述

执行 ADD 命令到 Microsoft Visual SourceSafe 的任务。

参数

属性 必需
localpath 指定要添加到 VSS 的本地文件。
login username[,password] - 获取 VSS 访问权限所需的用户名和密码。 请注意,您可能需要同时指定两者(如果您有密码) - 如果您省略密码,Ant/VSS 会挂起,并且 VSS 不会接受没有密码的登录。
ssdir ss.exe 所在的目录。 否;默认情况下,预计在 PATH
serverPath srcsafe.ini 所在的目录。
writable true|false
recursive true|false
comment 要用于签入文件的注释。
autoresponse YN 或空。 指定如何回复 VSS 的问题。
failonerror 如果 ss.exe 以返回代码 100 退出,则停止构建过程。 否;默认为 true

示例

将名为 build.00012.zip 的文件添加到项目当前工作目录(参见 vsscp)。

<vssadd localpath="D:\build\build.00012.zip"
        comment="Added by automatic build"/>

VssCp

描述

执行 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"/>

VssCreate

描述

执行 CREATE 命令到 Microsoft Visual SourceSafe 的任务。

在 VSS 中创建新项目。

参数

属性 必需
login username,password
vsspath 要创建的项目的 SourceSafe 路径
ssdir ss.exe 所在的目录。 否;默认情况下,预计在 PATH
quiet 抑制输出 否;默认为 off
failOnError 如果创建项目时出错,则失败。 否;默认为 true
autoresponse 要回复的内容(设置 -I 选项)。 默认情况下,使用 -I-YN 的值将附加到此。
comment 此标签要使用的注释。 空或 - 表示没有注释。

示例

创建 VSS 项目 $/existingProject/newProject

<vsscreate vsspath="$/existingProject/newProject"/>