This text is a work in progress—highly subject to change—and may not accurately describe any released version of the Apache™ Subversion® software. Bookmarking or otherwise referring others to this page is probably not such a smart idea. Please visit http://www.svnbook.com/ for stable versions of this book.

Nom

svn blame (praise, annotate, ann) — Afficher les informations de révisions et d'auteurs en plus du contenu pour les fichiers ou URL spécifiés.

Synopsis

svn blame CIBLE[@REV]...

Description

Afficher les informations de révisions et d'auteur en plus du contenu pour les fichiers ou URL spécifiés. Chaque ligne de texte est annotée en début par l'identifiant de l'auteur et le numéro de révision pour le dernier changement correspondant à la ligne.

Options

Exemples

Si vous voulez voir les auteurs de chaque ligne de votre fichier source lisezmoi.txt de votre dépôt test :

$ svn blame http://svn.red-bean.com/depot/test/lisezmoi.txt
     3      sally Ceci est un fichier LISEZMOI.
     5      harry Pas la peine de le lire, le patron est marteau.
     3      sally
…

Même si svn blame dit que c'est Harry qui a modifié le fichier lisezmoi.txt dans la révision 5, comprenez bien que cette sous-commande est très tatillonne sur la définition de modification. Avant de taper sur Harry pour insubordination, prenez en compte qu'il n'a peut-être effectué que des modifications de forme et qu'il n'a pas touché à la sémantique du fichier. Peut-être n'a-t-il que lancé un script qui supprime les espaces inutiles en fin de lignes. Vous devez examiner finement les changements apportés et le commentaire de propagation pour comprendre exactement ce que Harry a modifié dans ce fichier lors de la révision 5.

$ svn log -c 5 http://svn.red-bean.com/depot/test/lisezmoi.txt
--------------------------------------------------------------------
r5 | harry | 2008-05-29 07:26:12 -0600 (Thu, 29 May 2008) | 1 ligne

Propage les résultats de 'double-espace-après-virgule.sh'.

--------------------------------------------------------------------
$ svn diff -c 5 http://svn.red-bean.com/depot/test/lisezmoi.txt
Index: http://svn.red-bean.com/depot/test/lisezmoi.txt
===================================================================
--- http://svn.red-bean.com/depot/test/lisezmoi.txt	(revision 4)
+++ http://svn.red-bean.com/depot/test/lisezmoi.txt	(revision 5)
@@ -1,5 +1,5 @@
 Ceci est un fichier LISEZMOI.
-Pas la peine de le lire,  le patron est marteau.
+Pas la peine de le lire, le patron est marteau.

 INSTRUCTIONS
 ============
$

Effectivement, Harry n'a fait que modifier les espaces de cette ligne. Heureusement, l'option --extensions (-x) peut vous aider à déterminer la dernière modification utile pour une ligne de texte. Par exemple, voici comment visualiser les informations de journalisation tout en omettant les modifications relatives aux espaces ::

$ svn blame -x -b http://svn.red-bean.com/depot/test/lisezmoi.txt
     3      sally Ceci est un fichier LISEZMOI.
     4       jess Pas la peine de le lire,  le patron est marteau.
     3      sally
…

Si vous utilisez l'option --xml, vous obtenez une sortie XML décrivant les informations de journalisation mais pas le contenu des lignes elles-mêmes :

$ svn blame --xml http://svn.red-bean.com/depot/test/lisezmoi.txt
<?xml version="1.0"?>
<blame>
<target
   path="lisezmoi.txt">
<entry
   line-number="1">
<commit
   revision="3">
<author>sally</author>
<date>2008-05-25T19:12:31.428953Z</date>
</commit>
</entry>
<entry
   line-number="2">
<commit
   revision="5">
<author>harry</author>
<date>2008-05-29T13:26:12.293121Z</date>
</commit>
</entry>
<entry
   line-number="3">
…
</entry>
</target>
</blame>
$