(PECL svn >= 0.1.0)
svn_ls — Returns list of directory contents in repository URL, optionally at revision number
$repos_url
[, int $revision_no
= SVN_REVISION_HEAD
[, bool $recurse
= false
[, bool $peg
= false
]]] )
This function queries the repository URL and returns a list of
files and directories, optionally from a specific revision. This
is equivalent to svn list $repos_url[@$revision_no]
Note:
This function does not work with working copies.
repos_url
must be a repository URL.
url
URL of the repository, eg. http://www.example.com/svnroot
.
To access a local Subversion repository via filesystem, use the
file URI scheme, eg. file:///home/user/svn-repos
revision
Integer revision number to retrieve listing of. When omitted, the HEAD revision is used.
recurse
Enables recursion.
On success, this function returns an array file listing in the format of:
[0] => Array ( [created_rev] => integer revision number of last edit [last_author] => string author name of last edit [size] => integer byte file size of file [time] => string date of last edit in form 'M d H:i' or 'M d Y', depending on how old the file is [time_t] => integer unix timestamp of last edit [name] => name of file/directory [type] => type, can be 'file' or 'dir' ) [1] => ...
此函数是实验性的。此函数的表象,包括名称及其相关文档都可能在未来的 PHP 发布版本中未通知就被修改。使用本函数风险自担 。
Example #1 svn_ls() example
<?php
print_r( svn_ls('http://www.example.com/svnroot/') );
?>
以上例程的输出类似于:
Array ( [0] => Array ( [created_rev] => 20 [last_author] => Joe [size] => 0 [time] => Apr 02 09:28 [time_t] => 1175520529 [name] => tags [type] => dir ) [1] => Array ( [created_rev] => 23 [last_author] => Bob [size] => 0 [time] => Apr 02 15:15 [time_t] => 1175541322 [name] => trunk [type] => dir ) )
php thereatthe bluedream dotty tv (2012-05-11 23:31:23)
Be aware that the function will condition the path for you; do not do it yourself or you will have resulting errors.
Ex: that paths with spaces in them do NOT need the escaping slash
<?php
svn_ls('file:///var/svn/myrepo/dirA/another dir'); //will work->happiness
svn_ls('file:///var/svn/myrepo/dirA/another\ dir'); //will fail
?>
Warning: svn_ls(): svn error(s) occured 160013 (Filesystem has no item) URL 'file:///var/svn/myrepo/dirA/another\ dir' non-existent in that revision in file.php on line 42