处理从 CVS 仓库中检索到的包/模块。
重要:此任务需要在路径中使用 cvs 二进制文件。如果没有,您将收到错误(例如,Windows 上的 error=2
)。如果 <cvs>
不起作用,请尝试从您正在工作的目标目录中的命令行执行 cvs.exe。还要注意,此任务假设 cvs 可执行文件与 Unix 版本兼容,这对于某些其他 CVS 客户端(例如 CVSNT)并不完全正确,并且在使用此类不兼容的客户端时,某些操作可能会失败。
CVSNT 注意:CVSNT 倾向于让用户将密码存储在注册表中。如果 cvspass 任务 和 passfile 属性对您不起作用,最可能的原因是 CVSNT 完全忽略了您的 .cvspass 文件。有关推荐的解决方法,请参见 bugzilla 报告 21657。
属性 | 描述 | 必需 |
---|---|---|
command | 要执行的 CVS 命令。 | 否;默认值为 checkout |
compression | true(等效于 compressionlevel= 3)或 false |
否;默认值为 false |
compressionlevel | 介于 1和 9之间的数字(对应于 CVS -z# 参数的可能值)。任何其他值都将被视为 compression= false |
否;默认值为不压缩 |
cvsRoot | CVSROOT 变量。 |
否 |
cvsRsh | CVS_RSH 变量。 |
否 |
dest | 签出文件应放置到的目录。请注意,这与 CVS 的 -d 命令行开关不同,因为 Apache Ant 永远不会缩短路径名以避免空目录。 | 否;默认值为项目的 basedir |
package | 要签出的包/模块。注意:可以使用空格将多个属性拆分。如果您想指定名称中包含空格的模块,请使用嵌套的 <module> 元素。 |
否 |
tag | 要签出的包/模块的标签。 | 否 |
date | 使用不迟于给定日期的最新修订版。 | 否 |
quiet | 抑制信息消息。这与命令行上的 -q 相同。 | 否;默认值为 false |
reallyquiet | 抑制所有消息。这与命令行上的 -Q 相同。从 Ant 1.6 开始。 | 否;默认值为 false |
noexec | 仅报告,不更改任何文件。 | 否;默认值为 false |
output | 将命令的标准输出重定向到的文件。 | 否;默认值为将输出到日志作为 MSG_INFO |
error | 将命令的标准错误重定向到的文件。 | 否;默认值为将错误到日志作为 MSG_WARN |
append | 是否在重定向到文件时追加输出/错误。 | 否;默认值为 false |
port | CVS 用于与服务器通信的端口。 | 否;默认值为 2401 |
passfile | 要从中读取密码的密码文件。 | 否;默认值为 ~/.cvspass |
failonerror | 如果命令以非 0的返回代码退出,则停止构建过程。 |
否;默认值为 false |
指定要处理的包/模块,与使用此属性指定的包属性模块不同,使用此属性指定的模块的名称中可以包含空格。
属性 | 描述 | 必需 |
---|---|---|
name | 模块/包的名称。 | 是 |
从 cvsRoot 属性指向的 CVS 仓库中签出包/模块 ant,并将文件存储在 ${ws.dir} 中。
<cvs cvsRoot=":pserver:[email protected]:/home/cvspublic" package="ant" dest="${ws.dir}"/>
更新以前签出到 ${ws.dir} 中的包/模块。
<cvs dest="${ws.dir}" command="update"/>
静默地(-q)创建一个名为 patch.txt 的文件,其中包含一个统一的(-u)差异,其中包括通过 cvs add(-N)添加的新文件,并且可以用作 patch 的输入。
<cvs command="-q diff -u -N" output="patch.txt"/>
使用 <commandline>
元素的等效方法是
<cvs output="patch"> <commandline> <argument value="-q"/> <argument value="diff"/> <argument value="-u"/> <argument value="-N"/> </commandline> </cvs>
或
<cvs output="patch"> <commandline> <argument line="-q diff -u -N"/> </commandline> </cvs>
您可以包含任意数量的 <commandline>
元素。每个元素都将从 <cvs>
元素继承 failonerror、compression 和其他“全局”参数。
从仓库的头部更新,忽略粘性位(-A)并在需要时创建任何新目录(-d)。
<cvs command="update -A -d"/>
注意:命令的文本将“按原样”传递给 cvs,因此任何 cvs 选项都应出现在命令之前,任何命令选项都应出现在命令之后,如上面的 diff
示例所示。有关详细信息,请参见 CVS 手册,特别是 CVS 命令指南。