补丁

描述

将差异文件应用于原始文件。需要 patch 命令在执行路径上。

参数

属性 描述 必需
patchfile 包含差异输出的文件
originalfile 要打补丁的文件 否;尝试从差异文件中猜测文件名
destfile 将输出发送到的文件,而不是就地修补文件。自 Apache Ant 1.6 起
backups 保留未打补丁文件的备份
quiet 除非发生错误,否则静默运行
reverse 假设补丁是使用交换后的旧文件和新文件创建的。
ignorewhitespace 忽略空白差异。
strip 从文件名中剥离包含 num 个前导斜杠的最短前缀。
dir 运行 patch 命令的目录。 否;默认值为项目的 basedir
failonerror 如果命令以返回代码退出,表示失败,则停止构建过程。自 Ant 1.8.0 起 否;默认为 false

示例

将包含在 module.1.0-1.1.patch 中的差异应用于基目录中的文件,从差异输出中猜测文件名。

<patch patchfile="module.1.0-1.1.patch"/>

这里,将删除一个前导目录部分

<patch patchfile="module.1.0-1.1.patch" strip="1"/>

例如,如果差异输出看起来像

--- a/mod1.0/A  Mon Jun  5 17:28:41 2000
+++ a/mod1.1/A  Mon Jun  5 17:28:49 2000

则将剥离前导 a/