Patcher
一个统一的 Diff 格式 Patcher 类
链接 |
此类派生自 Giuseppe Mazzotta 编写的 PhpPatcher 版本 0.1.1 |
---|---|
自 |
1.0 |
包 |
Joomla 框架 |
方法
__construct
构造函数
__construct() :
构造函数被保护以强制使用 Patcher::getInstance()
自 |
1.0 |
---|
响应
混合
add
将统一的 diff 字符串添加到 patcher 中
add( udiff, root, strip) : \Joomla\Filesystem\Patcher
addFile
将统一的 diff 文件添加到 patcher 中
addFile( filename, root, strip) : \Joomla\Filesystem\Patcher
自 |
1.0 |
---|
参数
- filename
string
统一 diff 文件的路径- root
string
文件的根路径- strip
int
要剥离的 '/' 的数量
响应
Patcher
$this 用于链式调用
apply
应用补丁
apply() :
自 |
1.0 |
---|---|
抛出 |
|
响应
int
已修补的文件数量
applyHunk
应用补丁
applyHunk(mixed||string|int &lines, src, dst, srcLine, srcSize, dstLine, dstSize) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- lines
array<string|int, mixed>
udiff 行数组- src
string
源文件- dst
string
目标文件- srcLine
string
源文件的补丁开始- srcSize
string
源文件的补丁大小- dstLine
string
目标文件的补丁开始- dstSize
string
目标文件的补丁大小
响应
void
findHeader
查找 diff 标头
findHeader(mixed||string|int &lines, &src, &dst) :
$lines 的内部数组指针位于查找结果的下一行
自 |
1.0 |
---|---|
抛出 |
|
参数
- lines
array<string|int, mixed>
udiff 行数组- src
string
源文件- dst
string
目标文件
响应
bool
如果成功则为 TRUE,如果失败则为 FALSE
findHunk
查找下一个差异块
findHunk(mixed||string|int &lines, &srcLine, &srcSize, &dstLine, &dstSize) :
$lines 的内部数组指针位于查找结果的下一行
自 |
1.0 |
---|---|
抛出 |
|
参数
- lines
array<string|int, mixed>
udiff 行数组- srcLine
string
源文件的补丁开始- srcSize
string
源文件的补丁大小- dstLine
string
目标文件的补丁开始- dstSize
string
目标文件的补丁大小
响应
bool
如果成功则为 TRUE,如果失败则为 FALSE
getDestination
获取目标文件的行
getDestination( dst, src) : mixed||string|int
自 |
1.0 |
---|
参数
- dst
string
目标文件的路径- src
string
源文件的路径
响应
array<string|int, mixed>
目标文件的行
getInstance
获取 patcher 的方法
getInstance() : \Joomla\Filesystem\Patcher
getSource
获取源文件的行
getSource( src) : mixed||string|int
自 |
1.0 |
---|
参数
- src
string
文件的路径
响应
array<string|int, mixed>
源文件的行
splitLines
分离 CR 或 CRLF 行
splitLines( data) : mixed||string|int
自 |
1.0 |
---|
参数
- data
string
输入字符串
响应
array<string|int, mixed>
输入目标文件的行
常量
SRC_FILE
用于搜索源文件的正则表达式
值 | '/^---\s+(\S+)\s+\d{1,4}-\d{1,2}-\d{1,2}\s+\d{1,2}:\d{1,2}:\d{1,2}(\.\d+)?\s+(\+|-)\d{4}/A' |
---|---|
自 |
1.0 |
类型
string
DST_FILE
用于搜索目标文件的正则表达式
值 | '/^\+\+\+\s+(\S+)\s+\d{1,4}-\d{1,2}-\d{1,2}\s+\d{1,2}:\d{1,2}:\d{1,2}(\.\d+)?\s+(\+|-)\d{4}/A' |
---|---|
自 |
1.0 |
类型
string
HUNK
用于搜索差异块的正则表达式
值 | '/@@ -(\d+)(,(\d+))?\s+\+(\d+)(,(\d+))?\s+@@($)/A' |
---|---|
自 |
1.0 |
类型
string
SPLIT
用于拆分行的正则表达式
值 | '/(\r\n)|(\r)|(\n)/' |
---|---|
自 |
1.0 |
类型
string
属性
sources
源文件
自 |
1.0 |
---|
类型
array<string|int, mixed>
destinations
目标文件
自 |
1.0 |
---|
类型
array<string|int, mixed>
removals
移除文件
自 |
1.0 |
---|
类型
array<string|int, mixed>
patches
补丁
自 |
1.0 |
---|
类型
array<string|int, mixed>