作者
版本 1.1 2002/01/23
这些任务通过 SourceGear's SourceOffSite 产品提供与 Microsoft Visual SourceSafe SCM 的接口。SourceOffSite 是 Microsoft VSS 的一个附加组件,它允许远程开发团队和远程办公人员通过任何 TCP/IP 连接快速安全地读写访问集中式 SourceSafe 数据库。SOS 提供 Linux、Solaris 和 Windows 客户端。 org.apache.tools.ant.taskdefs.optional.sos 包包含一个简单的框架来支持 SOS 功能,以及一些封装常用 SOS 命令的 Apache Ant 任务。虽然可以在桌面上使用这些命令,但它们主要用于自动化构建系统。这些任务已在 SourceOffSite 版本 3.5.1 连接到 VisualSourceSafe 6.0 时经过测试。这些任务已在 Linux、Solaris 和 Windows 2000 上经过测试。
| sosget | 检索指定项目或文件的只读副本。 |
| soslabel | 将标签分配给指定的项目。 |
| soscheckin | 使用对已签出文件或项目所做的更改更新 VSS,并解锁 VSS 主副本。 |
| soscheckout | 检索指定项目或文件的读写副本,锁定 VSS 主副本 |
使用 SOS 执行 Get 命令的任务
| 属性 | 值 | 必需 |
|---|---|---|
| soscmd | 包含 soscmd(.exe) 的目录 | 否;默认情况下,可执行文件必须位于路径中 |
| vssserverpath | 指向 srcsafe.ini 的路径 - 例如 \\server\vss\srcsafe.ini | 是 |
| sosserverpath | SOS 服务器的地址和端口 - 例如 192.168.0.1:8888 | 是 |
| projectpath | SourceSafe 项目路径 - 例如 $/SourceRoot/Project1 | 是 |
| file | 要操作的文件名 | 否;默认情况下,操作项目 |
| username | SourceSafe 用户名 | 是 |
| password | SourceSafe 密码 | 否 |
| localpath | 覆盖工作目录并获取到指定路径 | 否 |
| soshome | SourceOffSite 主目录的路径 | 否 |
| nocompress | true|false- 禁用压缩 |
否 |
| recursive | true|false- 仅适用于 GetProject 命令 |
否 |
| version | 要获取的版本号 - 仅适用于 GetFile 命令 | 否 |
| label | 要获取的标签版本 - 仅适用于 GetProject 命令 | 否 |
| nocache | true|false- 仅在 SOSHOME 设置为环境变量时才需要 |
否 |
| verbose | true|false- 显示状态消息 |
否 |
连接到 192.168.10.6:8888 上的 SourceOffsite 服务器,用户名和密码为 build
。SourceSafe 数据库位于与 SOS 服务器相同的机器上,VSS 数据库位于 d:\vss\srcsafe.ini。使用 tmp 作为工作目录,对 $/SourceRoot/project1 执行递归 GetProject。
<sosget verbose="true"
recursive="true"
username="build"
password="build"
localpath="tmp"
projectpath="$/SourceRoot/project1"
sosserverpath="192.168.10.6:8888"
vssserverpath="d:\vss\srcsafe.ini"/>
使用 SOS 执行 Label 命令的任务
| 属性 | 值 | 必需 |
|---|---|---|
| soscmd | 包含 soscmd(.exe) 的目录 | 否;默认情况下,可执行文件必须位于路径中 |
| vssserverpath | 指向 srcsafe.ini 的路径 - 例如 \\server\vss\srcsafe.ini | 是 |
| sosserverpath | SOS 服务器的地址和端口 - 例如 192.168.0.1:8888 | 是 |
| projectpath | SourceSafe 项目路径 - 例如 $/SourceRoot/Project1 | 是 |
| username | SourceSafe 用户名 | 是 |
| password | SourceSafe 密码 | 否 |
| label | 要应用于项目的标签 | 是 |
| comment | 要应用于所有正在标记的文件的注释 | 否 |
| verbose | true|false- 显示状态消息 |
否 |
连接到 192.168.10.6:8888 上的 SourceOffsite 服务器,用户名和密码为 build
。SourceSafe 数据库位于与 SOS 服务器相同的机器上,VSS 数据库位于 d:\vss\srcsafe.ini。使用 test label
标签标记 $/SourceRoot/project1 项目。
<soslabel username="build"
password="build"
label="test label"
projectpath="$/SourceRoot/project1"
sosserverpath="192.168.10.6:8888"
vssserverpath="d:\vss\srcsafe.ini"/>
使用 SOS 执行 CheckIn 命令的任务
| 属性 | 值 | 必需 |
|---|---|---|
| soscmd | 包含 soscmd(.exe) 的目录 | 否;默认情况下,可执行文件必须位于路径中 |
| vssserverpath | 指向 srcsafe.ini 的路径 - 例如 \\server\vss\srcsafe.ini | 是 |
| sosserverpath | SOS 服务器的地址和端口 - 例如 192.168.0.1:8888 | 是 |
| projectpath | SourceSafe 项目路径 - 例如 $/SourceRoot/Project1 | 是 |
| file | 要操作的文件名 | 否;默认情况下,操作项目 |
| username | SourceSafe 用户名 | 是 |
| password | SourceSafe 密码 | 否 |
| localpath | 覆盖工作目录并获取到指定路径 | 否 |
| soshome | SourceOffSite 主目录的路径 | 否 |
| nocompress | true|false- 禁用压缩 |
否 |
| recursive | true|false- 仅适用于 CheckOutProject 命令 |
否 |
| nocache | true|false- 仅在 SOSHOME 设置为环境变量时才需要 |
否 |
| verbose | true|false- 显示状态消息 |
否 |
| comment | 要应用于所有正在签入的文件的注释 | 否 |
连接到 server1:8888 上的 SourceOffsite 服务器,用户名和密码为 build
。SourceSafe 数据库位于不同的机器 (server2) 上,VSS 数据库位于名为 vss 的共享上。仅签入 foobar.txt 文件,并添加注释 comment abc
。屏幕上将显示额外的状态消息。
<soscheckin username="build"
password="build"
file="foobar.txt"
verbose="true"
comment="comment abc"
projectpath="$/SourceRoot/project1"
sosserverpath="server1:8888"
vssserverpath="\\server2\vss\srcsafe.ini"/>
使用 SOS 执行 CheckOut 命令的任务
| 属性 | 值 | 必需 |
|---|---|---|
| soscmd | 包含 soscmd(.exe) 的目录 | 否;默认情况下,可执行文件必须位于路径中 |
| vssserverpath | 指向 srcsafe.ini 的路径 - 例如 \\server\vss\srcsafe.ini | 是 |
| sosserverpath | SOS 服务器的地址和端口 - 例如 192.168.0.1:8888 | 是 |
| projectpath | SourceSafe 项目路径 - 例如 $/SourceRoot/Project1 | 是 |
| file | 要操作的文件名 | 否;默认情况下,操作项目 |
| username | SourceSafe 用户名 | 是 |
| password | SourceSafe 密码 | 否 |
| localpath | 覆盖工作目录并获取到指定路径 | 否 |
| soshome | SourceOffSite 主目录的路径 | 否 |
| nocompress | true|false- 禁用压缩 |
否 |
| recursive | true|false- 仅适用于 CheckOutProject 命令 |
否 |
| nocache | true|false- 仅在 SOSHOME 设置为环境变量时才需要 |
否 |
| verbose | true|false- 显示状态消息 |
否 |
连接到 server1:8888 上的 SourceOffsite 服务器,用户名和密码为 build
。SourceSafe 数据库位于不同的机器 (server2) 上,VSS 数据库位于名为 vss 的共享上。签出 project1
,由于未设置递归选项,因此仅锁定 project1 目录。屏幕上将显示额外的状态消息。要使用的 soscmd(.exe) 文件位于 /usr/local/bin 中。
<soscheckout soscmd="/usr/local/bin"
verbose="true"
username="build"
password="build"
projectpath="$/SourceRoot/project1"
sosserverpath="192.168.10.6:8888"
vssserverpath="\\server2\vss\srcsafe.ini"/>