(PECL svn >= 0.1.0)
svn_log — Retorna as mensagens de registro de envios de uma URL de repositório
$repos_url
,$start_revision
= ?,$end_revision
= ?,$limit
= 0,$flags
= SVN_DISCOVER_CHANGED_PATHS | SVN_STOP_ON_COPY
svn_log() retorna o histórico completo do item na URL do repositório
repos_url
, ou o histórico de uma revisão específica
se start_revision
estiver definido. Esta função é equivalente
a svn log --verbose -r $start_revision $repos_url
.
repos_url
URL do repositório do item do qual será recuperado o histórico de registros.
start_revision
Número de revisão do primeiro registro a ser recuperado. Use
SVN_REVISION_HEAD
para recuperar o registro
da revisão mais recente.
end_revision
Número de revisão do último registro a ser recuperado. O padrão é
start_revision
se especificado ou
SVN_REVISION_INITIAL
caso contrário.
limit
Número de registros a serem recuperados.
flags
Qualquer combinação de SVN_OMIT_MESSAGES
,
SVN_DISCOVER_CHANGED_PATHS
e
SVN_STOP_ON_COPY
.
Em caso de sucesso, esta função retorna uma lista de arquivos em array no formato de:
[0] => Array, ordenado pela revisão mais recente (mais alta) primeiro ( [rev] => número de revisão inteiro [author] => string com nome do autor [msg] => string com mensagem de registro [date] => string com data formatada conforme ISO 8601, ou seja, date('c') [paths] => Array, descrevendo os arquivos modificados ( [0] => Array ( [action] => string com a letra explicando a alteração [path] => caminho absoluto do repositório do arquivo alterado ) [1] => ... ) ) [1] => ...
Nota:
A saída será sempre um array de arrays indexados numericamente, mesmo quando não houver nenhuma ou apenas uma mensagem de registro.
O valor de action é um subconjunto da » saída de status na primeira coluna, onde os valores possíveis são:
Letra | Descrição |
---|---|
M | Itens/propriedades foram modificados |
A | Item foi adicionado |
D | Item foi excluído |
R | Item foi substituído |
Se nenhuma alteração foi feita no item, um array vazio será retornado.
Exemplo #1 Exemplo de svn_log()
<?php
print_r( svn_log('http://www.example.com/', 23) );
?>
O exemplo acima produzirá algo semelhante 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' ) ) ) )
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.