(PECL svn >= 0.1.0)
svn_log — Récupère le message d'historisation d'une URL du référentiel
$repos_url
[, int $start_revision
[, int $end_revision
[, int $limit
= 0
[, int $flags
= SVN_DISCOVER_CHANGED_PATHS | SVN_STOP_ON_COPY
]]]] )
svn_log() récupère l'historique complète de l'élément
correspondant à l'URL repos_url
, ou l'historique d'une révision spécifique
si start_revision
est spécifié. Cette fonction est équivalent
à la commande svn log --verbose -r $start_revision $repos_url
.
repos_url
URL dans le référentiel de l'élément dont on doit récupérer l'historique.
start_revision
Numéro de révision de la première historisation à récupérer. Utilisez
la constante SVN_REVISON_HEAD
pour récupérer
l'historisation de la révision la plus récente.
end_revision
Numéro de révision de la dernière historisation à récupérer. Par défaut vaut
start_revision
s'elle est spécifié sinon vaut la
constante SVN_REVISION_INITIAL
.
limit
Nombre d'historisations à récupérer.
flags
Toutes combinaisons de SVN_OMIT_MESSAGES
,
SVN_DISCOVER_CHANGED_PATHS
et
SVN_STOP_ON_COPY
.
En cas de succès, cette fonction retourne un tableau de fichiers au format :
[0] => Tableau, ordonné du numéro de révision le plus grand, au plus petit ( [rev] => numéro de révision [author] => nom de l'auteur [msg] => message d'historisation [date] => date, au format ISO 8601, i.e. date('c') [paths] => Tableau, décrivant les fichiers modifiés ( [0] => Array ( [action] => lettre, spécifiant la modification [path] => chemin absolu du référentiel vers le fichier modifié ) [1] => ... ) ) [1] => ...
Note:
La sortie sera toujours un tableau indexé numériquement de tableaux, même s'il n'y en a aucun, ou seulement un seul message d'historisation.
La valeur de action est une sous-partie de » la sortie de statut dans la première colonne, où les valeurs possibles sont :
Lettre | Description |
---|---|
M | L'élément a été modifié |
A | L'élément a été ajouté |
D | L'élément a été effacé |
R | L'élément a été remplacé |
Si aucune modification n'a été effectué à l'élément, un tableau vide sera retourné.
Cette fonction est EXPERIMENTALE. Cela signifie que le comportement de cette fonction, son nom et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez cette fonction à vos risques et périls.
Exemple #1 Exemple avec svn_log()
<?php
print_r( svn_log('http://www.example.com/', 23) );
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
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' ) ) ) )