PHP 5.6.0RC3 is available

svn_log

(PECL svn >= 0.1.0)

svn_logRécupère le message d'historisation d'une URL du référentiel

Description

array svn_log ( string $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.

Liste de paramètres

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_REVISION_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.

Valeurs de retour

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 :

Actions
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é.

Notes

Avertissement

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.

Exemples

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'
                    )
            )
    )
)

add a note add a note

User Contributed Notes 1 note

up
0
php dot net at gnur dot nl
3 years ago
Please not that using svn_log without giving revisions is much, much slower then with revisions. Examples:

$ time php -r "svn_log('http://localhost/svn/shopadsl');"

real    0m2.140s
user    0m0.140s
sys     0m0.000s

VS

$ time php -r "svn_log('http://localhost/svn/shopadsl', 0, 45);"

real    0m0.063s
user    0m0.024s
sys     0m0.016s
To Top