svn_log
(PECL svn:0.1-0.2)
svn_log — Returns the commit log messages of a repository URL
Description
array svn_log
( string $repos_url
[, int $start_revision
[, int $end_revision
[, int $limit
[, int $flags
]]]] )
Warning
For repositories with large histories, the output may
be quite large (one array item for every revision of the item).
This function does not support the
--limit NUM
flag, nor does it support revision
ranges (start_revision
must be an integer).
Parameters
-
repos_url
-
Repository URL of the item to retrieve log history from.
-
start_revision
-
Revision number of the first log to retrieve. Use
SVN_REVISON_HEAD to retrieve the log from
the most recent revision.
-
end_revision
-
Revision number of the last log to retrieve. Defaults to
start_revision
if specified or to
SVN_REVISION_INITIAL otherwise.
-
limit
-
Number of logs to retrieve.
-
flags
-
Any combination of SVN_OMIT_MESSAGES,
SVN_DISCOVER_CHANGED_PATHS and
SVN_STOP_ON_COPY, defaults to
SVN_DISCOVER_CHANGED_PATHS | SVN_STOP_ON_COPY
.
Return Values
On success, this function returns an array file listing in the format
of:
[0] => Array, ordered most recent (highest) revision first
(
[rev] => integer revision number
[author] => string author name
[msg] => string log message
[date] => string date formatted per ISO 8601, i.e. date('c')
[paths] => Array, describing changed files
(
[0] => Array
(
[action] => string letter signifying change
[path] => absolute repository path of changed file
)
[1] => ...
)
)
[1] => ...
Note:
The output will always be a numerically indexed array of arrays,
even when there are none or only one log message(s).
The value of action is a subset of the
» status output
in the first column, where possible values are:
Actions
Letter |
Description |
M |
Item/props was modified |
A |
Item was added |
D |
Item was deleted |
R |
Item was replaced |
If no changes were made to the item, an empty array is returned.
Notes
WarningThis function is
EXPERIMENTAL. The behaviour of this function, its name, and
surrounding documentation may change without notice in a future release of PHP.
This function should be used at your own risk.
Examples
Example #1 svn_log() example
<?php
print_r( svn_log('http://www.example.com/', 23) );
?>
The above example will output
something similar to:
Array
(
[0] => Array
(
[rev] => 23
[author] => 'joe'
[msg] => 'Add cheese and salami to our sandwich.'
[date] => '2007-04-06T16:00:27-04:00'
[paths] => Array
(
[0] => Array
(
[action] => 'M'
[path] => '/sandwich.txt'
)
)
)
)