CakeFest 2024: The Official CakePHP Conference

svn_log

(PECL svn >= 0.1.0)

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

Description

svn_log(
    string $repos_url,
    int $start_revision = ?,
    int $end_revision = ?,
    int $limit = 0,
    int $flags = SVN_DISCOVER_CHANGED_PATHS | SVN_STOP_ON_COPY
): array

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

Exemples

Exemple #1 Exemple avec svn_log()

<?php
print_r
( svn_log('http://www.example.com/', 23) );
?>

Résultat de l'exemple ci-dessus est 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'
                    )
            )
    )
)

Notes

Avertissement

Cette fonction est EXPERIMENTALE. Le comportement de cette fonction, son nom, et toute la documentation autour de cette fonction peut changer sans préavis dans une prochaine version de PHP. Cette fonction doit être utilisée à vos risques et périls.

add a note

User Contributed Notes 1 note

up
0
php dot net at gnur dot nl
12 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