(PECL svn >= 0.1.0)
svn_status — Devuelve el estado de la copia de trabajo de los ficheros y directorios
$path
[, int $flags
= 0
] ) : arrayDevuelve el estado de la copia de trabajo de los ficheros y directorios, dando las modificaciones, adiciones, borrados y otros cambios a los elementos de la copia de trabajo.
path
Path local al fichero o directorio del que se obtendrá el estado.
Nota: Las rutas relativas se resolverán como si el directorio de trabajo actual es el que contiene el binario de PHP. Para utilizar el directorio de trabajo que contiene el script a llamar, use realpath() o dirname(__FILE__).
flags
Cualquier combinación de SVN_NON_RECURSIVE
,
SVN_ALL
(independientemente del estado de modificación),
SVN_SHOW_UPDATES
(se añadirán entradas para los elementos
que estan desactualizados), SVN_NO_IGNORE
(ignorar
svn:ignore las propiedades cuando se busquen nuevos ficheros)
y SVN_IGNORE_EXTERNALS
.
Devuelve un array de arrays asociativos indexado numéricamente, detallando el estado de los elementos del repositorio:
Array ( [0] => Array ( // información del elemento ) [1] => ... )
La información del elemento es un array asociativo que puede contener las siguientes claves:
update
se definió a TRUE
.
Referirse a constantes de estado para posibles valores.
update
se definió a TRUE
. Referirse a constantes de estado para posibles valores.
TRUE
.)
TRUE
.)
TRUE
)
Estas claves sólo estan definidas si el elemento está versionado:
<?php
if (!defined('svn_wc_schedule_normal')) {
define('svn_wc_schedule_normal', 0); // nada especial
define('svn_wc_schedule_add', 1); // elemento será añadido
define('svn_wc_schedule_delete', 2); // elemento será eliminado
define('svn_wc_schedule_replace', 3); // elemento será reemplazado
}
?>
TRUE
.)
TRUE
.)
TRUE
.)
update
.)
update
.)
update
.)
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 Ejemplo básico
Este ejemplo muestra un uso básico, teórico de esta función.
<?php
print_r(svn_status(realpath('wc')));
?>
El resultado del ejemplo sería algo similar a:
Array ( [0] => Array ( [path] => /home/bob/wc/sandwich.txt [text_status] => 8 // elemento que fue modificado [repos_text_status] => 1 // sin información disponible, usar update [prop_status] => 3 // sin cambios [repos_prop_status] => 1 // sin información disponible, usar update [name] => sandwich.txt [url] => http://www.example.com/svnroot/deli/trunk/sandwich.txt [repos] => http://www.example.com/svnroot/ [revision] => 123 [kind] => 1 // fichero [schedule] => 0 // sin acciones especiales planificadas [cmt_date] => 1165543135 [cmt_rev] => 120 [cmt_author] => Alice [prop_time] => 1180201728 [text_time] => 1180201729 ) )