(PECL svn >= 0.1.0)
svn_status — Retorna o status dos arquivos e diretórios da cópia de trabalho
Retorna o status dos arquivos e diretórios da cópia de trabalho, fornecendo modificações, adições, exclusões e outras alterações nos itens da cópia de trabalho.
path
Caminho local para o arquivo ou diretório para recuperar o status.
Nota: Os caminhos relativos serão resolvidos como se o diretório de trabalho atual fosse aquele que contém o binário do PHP. Para usar o diretório de trabalho do script de chamada, use realpath() ou dirname(__FILE__).
flags
Qualquer combinação de Svn::NON_RECURSIVE
,
Svn::ALL
(independentemente do status da modificação),
Svn::SHOW_UPDATES
(entradas serão adicionadas para itens
desatualizados), Svn::NO_IGNORE
(desconsidera as propriedades
svn:ignore
ao procurar por novos arquivos)
e Svn::IGNORE_EXTERNALS
.
Retorna um array indexado numericamente de arrays associativos detalhando o status dos itens no repositório:
Array ( [0] => Array ( // informação sobre o item ) [1] => ... )
As informações sobre o item são um array associativo que pode conter as seguintes chaves:
update
estiver definido como true
.
Consulte as constantes de status para obter os valores possíveis.
update
estiver definido como true
. Consulte as constantes de status para obter os valores possíveis.
true
.)
true
.)
true
)
Essas chaves só serão definidas se o item for versionado:
<?php
if (!defined('svn_wc_schedule_normal')) {
define('svn_wc_schedule_normal', 0); // nada de especial
define('svn_wc_schedule_add', 1); // item será adicionado
define('svn_wc_schedule_delete', 2); // item será excluído
define('svn_wc_schedule_replace', 3); // item será adicionado e excluído
}
?>
true
.)
true
.)
true
.)
update
.)
update
.)
update
.)
Exemplo #1 Exemplo básico
Este exemplo demonstra um uso teórico básico desta função.
<?php
print_r(svn_status(realpath('wc')));
?>
O exemplo acima produzirá algo semelhante a:
Array ( [0] => Array ( [path] => /home/bob/wc/sandwich.txt [text_status] => 8 // item foi modificado [repos_text_status] => 1 // nenhuma informação disponível, use 'update' [prop_status] => 3 // sem alterações [repos_prop_status] => 1 // nenhuma informação disponível, use 'update' [name] => sandwich.txt [url] => http://www.example.com/svnroot/deli/trunk/sandwich.txt [repos] => http://www.example.com/svnroot/ [revision] => 123 [kind] => 1 // arquivo [schedule] => 0 // nenhuma ação especial programada [cmt_date] => 1165543135 [cmt_rev] => 120 [cmt_author] => Alice [prop_time] => 1180201728 [text_time] => 1180201729 ) )
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.