Patcher
A Unified Diff Format Patcher class
| link |
This has been derived from the PhpPatcher version 0.1.1 written by Giuseppe Mazzotta |
|---|---|
| since |
1.0 |
| package |
Joomla Framework |
Methods
__construct
Constructor
__construct() :
The constructor is protected to force the use of Patcher::getInstance()
| since |
1.0 |
|---|
Response
mixed
add
Add a unified diff string to the patcher
add( udiff, root, strip) : \Joomla\Filesystem\Patcher
| since |
1.0 |
|---|
Arguments
- udiff
stringUnified diff input string- root
stringThe files root path- strip
intThe number of '/' to strip
Response
Patcher$this for chaining
addFile
Add a unified diff file to the patcher
addFile( filename, root, strip) : \Joomla\Filesystem\Patcher
| since |
1.0 |
|---|
Arguments
- filename
stringPath to the unified diff file- root
stringThe files root path- strip
intThe number of '/' to strip
Response
Patcher$this for chaining
apply
Apply the patches
apply() :
| since |
1.0 |
|---|---|
| throws |
|
Response
intThe number of files patched
applyHunk
Apply the patch
applyHunk(mixed||string|int &lines, src, dst, srcLine, srcSize, dstLine, dstSize) :
| since |
1.0 |
|---|---|
| throws |
|
Arguments
- lines
array<string|int, mixed>The udiff array of lines- src
stringThe source file- dst
stringThe destination file- srcLine
intThe beginning of the patch for the source file- srcSize
intThe size of the patch for the source file- dstLine
intThe beginning of the patch for the destination file- dstSize
intThe size of the patch for the destination file
Response
void
findHeader
Find the diff header
findHeader(mixed||string|int &lines, &src, &dst) :
The internal array pointer of $lines is on the next line after the finding
| since |
1.0 |
|---|---|
| throws |
|
Arguments
- lines
array<string|int, mixed>The udiff array of lines- src
stringThe source file- dst
stringThe destination file
Response
boolTRUE in case of success, FALSE in case of failure
findHunk
Find the next hunk of difference
findHunk(mixed||string|int &lines, &srcLine, &srcSize, &dstLine, &dstSize) :
The internal array pointer of $lines is on the next line after the finding
| since |
1.0 |
|---|---|
| throws |
|
Arguments
- lines
array<string|int, mixed>The udiff array of lines- srcLine
intThe beginning of the patch for the source file- srcSize
intThe size of the patch for the source file- dstLine
intThe beginning of the patch for the destination file- dstSize
intThe size of the patch for the destination file
Response
boolTRUE in case of success, false in case of failure
getDestination
Get the lines of a destination file
getDestination( dst, src) : mixed||string|int
| since |
1.0 |
|---|
Arguments
- dst
stringThe path of a destination file- src
stringThe path of a source file
Response
array<string|int, mixed>The lines of the destination file
getInstance
Method to get a patcher
getInstance() : \Joomla\Filesystem\Patcher
getSource
Get the lines of a source file
getSource( src) : mixed||string|int
| since |
1.0 |
|---|
Arguments
- src
stringThe path of a file
Response
array<string|int, mixed>The lines of the source file
reset
Reset the pacher
reset() : \Joomla\Filesystem\Patcher
splitLines
Separate CR or CRLF lines
splitLines( data) : mixed||string|int
| since |
1.0 |
|---|
Arguments
- data
stringInput string
Response
array<string|int, mixed>The lines of the input destination file
Constants
SRC_FILE
Regular expression for searching source files
| Value | '/^---\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' |
|---|---|
| since |
1.0 |
Type(s)
string
DST_FILE
Regular expression for searching destination files
| Value | '/^\+\+\+\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' |
|---|---|
| since |
1.0 |
Type(s)
string
HUNK
Regular expression for searching hunks of differences
| Value | '/@@ -(\d+)(,(\d+))?\s+\+(\d+)(,(\d+))?\s+@@($)/A' |
|---|---|
| since |
1.0 |
Type(s)
string
SPLIT
Regular expression for splitting lines
| Value | '/(\r\n)|(\r)|(\n)/' |
|---|---|
| since |
1.0 |
Type(s)
string
Properties
sources
Source files
| since |
1.0 |
|---|
Type(s)
array<string|int, mixed>
destinations
Destination files
| since |
1.0 |
|---|
Type(s)
array<string|int, mixed>
removals
Removal files
| since |
1.0 |
|---|
Type(s)
array<string|int, mixed>
patches
Patches
| since |
1.0 |
|---|
Type(s)
array<string|int, mixed>