(PECL svn >= 0.1.0)
svn_log — Devuelve el log histórico de mensajes de un repositorio URL
$repos_url
[, int $start_revision
[, int $end_revision
[, int $limit = 0
[, int $flags = SVN_DISCOVER_CHANGED_PATHS | SVN_STOP_ON_COPY
]]]] ) : array
svn_log() devuelve el histórico completo de un elemento del repositorio URL
repos_url, o el histórico de una revisión específica
si start_revision se ha especificado. Esta función es equivalente
a svn log --verbose -r $start_revision $repos_url.
repos_urlRepositorio URL del elemento del que se obtendrá el log histórico.
start_revision
Número de revisión del primer log a obtener. Usar
SVN_REVISION_HEAD para obtener el log de
la revisión más reciente.
end_revision
Número de revisión del último log a obtener. Por defecto es
start_revision si se especifica, o
SVN_REVISION_INITIAL en caso contrario.
limitNúmero de logs a obtener.
flags
Cualquier combinación de SVN_OMIT_MESSAGES,
SVN_DISCOVER_CHANGED_PATHS y
SVN_STOP_ON_COPY.
En caso de éxito, esta función devuelve un array con el siguiente formato :
[0] => Array, ordenado mostrando la revisión más reciente (la mayor) primero
(
[rev] => integer número de revisión
[author] => string nombre del autor
[msg] => string log del mensaje
[date] => string fecha formateada por ISO 8601, p.e. date('c')
[paths] => Array, descripción de los ficheros cambiados
(
[0] => Array
(
[action] => string letra que indica el cambio
[path] => path absoluto del repositorio de un fichero cambiado
)
[1] => ...
)
)
[1] => ...
Nota:
La salida siempre será un array de arrays indexado numéricamente, incluso cuando no haya ninguno o sólo un log de mensaje(s).
El valor de action es un subconjunto de » con el estado de salida en la primer columna, donde los valores posibles son:
| Letter | Description |
|---|---|
| M | Elemento/propiedad fue modificada |
| A | Elemento fue añadido |
| D | Elemento fue borrado |
| R | Elemento fue reemplazado |
Si no se hizo ningún cambio al elemento, se devolverá un array vacío.
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.
Ejemplo #1 svn_log() example
<?php
print_r( svn_log('http://www.example.com/', 23) );
?>
El resultado del ejemplo sería algo similar a:
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'
)
)
)
)