svn_ls

(PECL svn >= 0.1.0)

svn_lsRetorna a lista de conteúdo do diretório na URL do repositório, opcionalmente no número de revisão

Descrição

svn_ls(
    string $repos_url,
    int $revision_no = SVN_REVISION_HEAD,
    bool $recurse = false,
    bool $peg = false
): array

Esta função consulta a URL do repositório e retorna uma lista de arquivos e diretórios, opcionalmente de uma revisão específica. Isso é equivalente a svn list $repos_url[@$revision_no].

Nota:

Esta função não funciona com cópias de trabalho. repos_url precisa ser uma URL de repositório.

Parâmetros

url

URL do repositório, por exemplo: http://www.example.com/svnroot. Para acessar um repositório Subversion local via sistema de arquivos, utilize o esquema de URI de arquivo, por exemplo: file:///home/user/svn-repos.

revision

Número de revisão inteiro para recuperar a listagem. Quando omitido, a revisão HEAD é usada.

recurse

Habilita recursividade.

Valor Retornado

Em caso de sucesso, esta função retorna uma lista de arquivos em array no formato de:

[0] => Array
    (
        [created_rev] => número de revisão inteiro da última edição
        [last_author] => string com o nome do autor da última edição
        [size] => inteiro com tamanho do arquivo em bytes
        [time] => string com a data e horário da última edição no formato 'M d H:i'
                  ou 'M d Y', dependendo de quão antigo o arquivo é
        [time_t] => inteiro com o timestamp Unix da última edição
        [name] => nome do arquivo/diretório
        [type] => titpo, pode ser 'file' (arquivo) ou 'dir' (diretório)
    )
[1] => ...

Exemplos

Exemplo #1 Exemplo de svn_ls()

<?php
print_r
( svn_ls('http://www.example.com/svnroot/') );
?>

O exemplo acima produzirá algo semelhante a:

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
        )
)

Notas

Aviso

Esta função é EXPERIMENTAL. O comportamento desta função, seu nome e documentação poderão mudar sem aviso prévio em futuras versões do PHP. Use por sua conta e risco.

adicione uma nota

Notas Enviadas por Usuários (em inglês) 1 note

up
0
php thereatthe bluedream dotty tv
13 years ago
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
To Top