PHP 8.4.2 Released!

svn_ls

(PECL svn >= 0.1.0)

svn_lsDevuelve una lista del contenido del directorio en el repositorio URL, opcionalmente el número de revisión

Descripción

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

Esta función consulta el repositorio URL y devuelve una lista de ficheros y directorios, opcionalmente de una revisión específica. Es equivalente a svn list $repos_url[@$revision_no]

Nota:

Esta función no funciona con copias de trabajo. repos_url debe ser un repositorio URL.

Parámetros

url

URL del repositorio, p.e. http://www.example.com/svnroot. Para acceder a la subversión local del repositorio vía sistema de ficheros, utilizar el esquema de ficheros URI, p.e. file:///home/user/svn-repos

revision

Entero con el número de la revisión de la que se obtendrá el listado. Si se omite, se utilizará la revisión HEAD.

recurse

Activa la recursividad.

Valores devueltos

En caso de éxito, esta función devuelve un fichero con arrays con el siguiente formato :

[0] => Array
    (
        [created_rev] => integer número de revisión de la última edición
        [last_author] => string nombre del autor de la última edición
        [size] => integer tamaño del fichero en bytes
        [time] => string fecha de la última edición en el formato 'M d H:i'
                  o 'M d Y', dependiendo de la antiguedad del fichero
        [time_t] => integer timestamp de unix de la última edición
        [name] => nombre del fichero/directorio
        [type] => tipo, puede ser 'file' o 'dir'
    )
[1] => ...

Notas

Advertencia

Esta función ha sido declarada EXPERIMENTAL. Su funcionamiento, nombre y la documentación que le acompaña puede cambiar sin previo aviso en futuras versiones de PHP. Utilícela bajo su propia responsabilidad.

Ejemplos

Ejemplo #1 svn_ls() example

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

El resultado del ejemplo sería algo similar 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
        )
)

add a note

User Contributed Notes 1 note

up
0
php thereatthe bluedream dotty tv
12 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