请注意,使用 svn_log 而不提供修订版比提供修订版要慢得多。示例
$ time php -r "svn_log('http://localhost/svn/shopadsl');"
real 0m2.140s
user 0m0.140s
sys 0m0.000s
VS
$ time php -r "svn_log('http://localhost/svn/shopadsl', 0, 45);"
real 0m0.063s
user 0m0.024s
sys 0m0.016s
(PECL svn >= 0.1.0)
svn_log — 返回存储库 URL 的提交日志消息
$repos_url
,$start_revision
= ?,$end_revision
= ?,$limit
= 0,$flags
= SVN_DISCOVER_CHANGED_PATHS | SVN_STOP_ON_COPY
svn_log() 返回存储库 URL $repos_url
上项目的完整历史记录,或者如果设置了 $start_revision
则返回特定修订版的历史记录。此函数等效于 svn log --verbose -r $start_revision $repos_url
。
repos_url
要从中检索日志历史记录的项目的存储库 URL。
start_revision
要检索的第一个日志的修订版号。使用 SVN_REVISION_HEAD
从最新修订版检索日志。
end_revision
要检索的最后一个日志的修订版号。如果指定,则默认为 $start_revision
,否则默认为 SVN_REVISION_INITIAL
。
limit
要检索的日志数量。
flags
SVN_OMIT_MESSAGES
、SVN_DISCOVER_CHANGED_PATHS
和 SVN_STOP_ON_COPY
的任何组合。
成功时,此函数返回以下格式的数组文件列表:
[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] => ...
注意:
即使没有日志消息或只有一个日志消息,输出也将始终是按数字索引的数组,即使没有日志消息或只有一个日志消息也是如此。
action 的值是 » 第一列中的状态输出 的子集,其中可能的值为
字母 | 描述 |
---|---|
M | 项目/属性已修改 |
A | 项目已添加 |
D | 项目已删除 |
R | 项目已替换 |
如果未对项目进行任何更改,则返回空数组。
示例 #1 svn_log() 示例
<?php
print_r( svn_log('http://www.example.com/', 23) );
?>
上面的示例将输出类似于以下内容:
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' ) ) ) )
此函数是 *实验性* 的。此函数的行为、名称和周围文档可能会在 PHP 的未来版本中发生更改,恕不另行通知。使用此函数需自担风险。
请注意,使用 svn_log 而不提供修订版比提供修订版要慢得多。示例
$ time php -r "svn_log('http://localhost/svn/shopadsl');"
real 0m2.140s
user 0m0.140s
sys 0m0.000s
VS
$ time php -r "svn_log('http://localhost/svn/shopadsl', 0, 45);"
real 0m0.063s
user 0m0.024s
sys 0m0.016s