Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les tutoriels > Non-Officiels > Programmation > Environnements de développement > Gérez vos projets à l'aide du gestionnaire de versions Subversion > Les bases - Utilisations des clients > Communiquez avec le SVN > Lecture du tutoriel

Communiquez avec le SVN

Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
Avatar
Auteur : Dalshim
Visualisations : 1 966

Plus d'informations Plus d'informations
Ce mini-tuto est un peu particulier : il ne va pas vous apprendre à faire plus de choses sur le SVN mais au contraire, il va vous apprendre à l'écouter (c'est mignon :honte: ).
Comprendre ce qu'il se passe est primordial, or il faut communiquer au maximum pour suivre ce qu'il se passe. Comment voulez-vous continuer à travailler sur un fichier qui a déjà été modifié par d'autres personnes sans que vous ne vous en rendiez compte ?

Ce tuto est donc là pour vous apprendre à comprendre les informations que vous envoie le SVN, mais plus encore, à aller y chercher ces informations.
Sommaire du chapitre :
Icône du chapitre
Chapitre précédent Sommaire Chapitre suivant

Comprendre ce que svn nous dit

Eh oui, il faut d'abord comprendre tous les messages que nous envoie SVN avant d'agir !

Des informations qui viennent à nous



Dans quels cas obtient-on un retour sur information ?

Presque tout le temps en fait. Vous l'avez déjà remarqué, quand vous faites un Checkout, un Update, un Commit ou un Export, à chaque fois, que ce soit sous UNIX ou sous Windows, SVN vous donne des informations sur l'action en cours. Nous allons maintenant étudier ces informations.

Code : Bash
1
2
3
4
5
6
A    Tuto-SdZ/Fichier 1.txt
A    Tuto-SdZ/Dossier 1
A    Tuto-SdZ/Dossier 1/Fichier1.1.txt
A    Tuto-SdZ/Dossier 2
A    Tuto-SdZ/Dossier 2/Fichier2.1.txt
Checked out revision 5.


Checkout information
Voici les informations que l'on trouve lors d'un Checkout sur le repository.


Le message est beaucoup plus compréhensible sur la fenêtre tortoiseSVN, on comprend bien que l'on est à la cinquième révision (version) et que cinq fichiers et dossiers ont été ajoutés.
On comprend donc également qu'en ligne de commande, un 'A' dans la première colonne signifie Added (Ajouté).

Comme dit précédemment, on retrouve ces fenêtres lors d'une action de modification sur le serveur (commit, update, add ou autre). Bien sûr, il y a un code complet (eh oui, on ne fait pas qu'ajouter des éléments ;) ).

Aller chercher ces informations



Pour comprendre tout ce que l'on va pouvoir trouver, on va utiliser la commande "status".
Cette commande permet, étrangement, d'obtenir le statut des fichiers et dossiers.

Pour utiliser la commande, vous allez donc taper :
Code : Bash
1
svn status [fichier_ou_dossier_a_statuer]  # vous pouvez utiliser st ou stat à la place de status.

Et là, si vous n'avez rien touché depuis votre dernier update, vous devriez ne trouver... RIEN. :( Déception...

Il faut en fait ajouter quelques options :
-u pour comparer son Working Copy (sa copie locale) avec le repository,
-v pour afficher tous les éléments (même ceux qui n'ont pas été modifiés).
Il faut comprendre que status vous fait un bilan des modifications qu'ont subies vos éléments, il va seulement vous afficher les éléments qu'il est utile de montrer. Par défaut, il ne va donc pas montrer les éléments qui n'ont pas été modifiés.

Reprenons la commande avec les options -uv :
Code : Bash
1
2
3
4
5
6
7
svn st -uv
                5        2 mvandamme    Fichier 1.txt
                5        1 mvandamme    Dossier 1/Fichier1.1.txt
                5        1 mvandamme    Dossier 1
                5        1 mvandamme    Dossier 2/Fichier2.1.txt
                5        1 mvandamme    Dossier 2
                5        5 mvandamme    .

On obtient ici, grâce au -v (pour verbose), le détail de tous les dossiers et fichiers dans l'arborescence à partir du dossier choisi.
Le premier chiffre que l'on voit est celui de la version globale de l'élément (du dernier update fait sur l'élément), le deuxième est la version de l'élément (combien de fois il a été modifié). "Fichier 1.txt" a donc été modifié deux fois depuis le début, mais il a déjà "traversé" cinq versions (où d'autres fichiers ont été commités).

On voit un grand espace libre avant le premier chiffre, mais qu'est-ce donc ?


Bien comprendre les informations



Cet espace libre est là pour les informations en cas de modification. Allons donc voir la documentation (ça doit devenir un réflexe).
Code : Bash
1
svn --help status

Secret (cliquez pour afficher)
Code : Bash
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
prompt$ svn --help status
status (stat, st): Print the status of working copy files and directories.
usage: status [PATH...]

  With no args, print only locally modified items (no network access).
  With -u, add working revision and server out-of-date information.
  With -v, print full revision information on every item.

  The first six columns in the output are each one character wide:
    First column: Says if item was added, deleted, or otherwise changed
      ' ' no modifications
      'A' Added
      'C' Conflicted
      'D' Deleted
      'I' Ignored
      'M' Modified
      'R' Replaced
      'X' item is unversioned, but is used by an externals definition
      '?' item is not under version control
      '!' item is missing (removed by non-svn command) or incomplete
      '~' versioned item obstructed by some item of a different kind
    Second column: Modifications of a file's or directory's properties
      ' ' no modifications
      'C' Conflicted
      'M' Modified
    Third column: Whether the working copy directory is locked
      ' ' not locked
      'L' locked
    Fourth column: Scheduled commit will contain addition-with-history
      ' ' no history scheduled with commit
      '+' history scheduled with commit
    Fifth column: Whether the item is switched relative to its parent
      ' ' normal
      'S' switched
    Sixth column: Repository lock token
      (without -u)
      ' ' no lock token
      'K' lock token present
      (with -u)
      ' ' not locked in repository, no lock token
      'K' locked in repository, lock toKen present
      'O' locked in repository, lock token in some Other working copy
      'T' locked in repository, lock token present but sTolen
      'B' not locked in repository, lock token present but Broken

  The out-of-date information appears in the eighth column (with -u):
      '*' a newer revision exists on the server
      ' ' the working copy is up to date

  Remaining fields are variable width and delimited by spaces:
    The working revision (with -u or -v)
    The last committed revision and last committed author (with -v)
    The working copy path is always the final field, so it can
      include spaces.

  Example output:
    svn status wc
     M     wc/bar.c
    A  +   wc/qax.c

    svn status -u wc
     M           965    wc/bar.c
           *     965    wc/foo.c
    A  +         965    wc/qax.c
    Status against revision:   981

    svn status --show-updates --verbose wc
     M           965       938 kfogel       wc/bar.c
           *     965       922 sussman      wc/foo.c
    A  +         965       687 joe          wc/qax.c
                 965       687 joe          wc/zig.c
    Status against revision:   981

Valid options:
  -u [--show-updates]      : display update information
  -v [--verbose]           : print extra information
  -N [--non-recursive]     : operate on single directory only
  -q [--quiet]             : print as little as possible
  --no-ignore              : disregard default and svn:ignore property ignores
  --incremental            : give output suitable for concatenation
  --xml                    : output in XML
  --username arg           : specify a username ARG
  --password arg           : specify a password ARG
  --no-auth-cache          : do not cache authentication tokens
  --non-interactive        : do no interactive prompting
  --config-dir arg         : read user configuration files from directory ARG
  --ignore-externals       : ignore externals definitions


Que faut-il comprendre de ce manuel ? Il y a énormément d'informations, je ne vais donc en traiter qu'une partie (rassurez-vous ce sera déjà amplement suffisant).

Premièrement, on voit la différence entre l'appel sans argument, avec -u et/ou avec -v :


Ensuite sont présentées les valeurs que peuvent prendre chacune des huit premières colonnes. Nous n'allons nous intéresser qu'à trois d'entre elles : la première, la septième et la huitième.
Commençons par la plus simple : la septième est toujours vide, c'est juste un espace. :p

Continuons un peu plus sérieusement. La première colonne présente les modifications apportées localement aux éléments :

Je ne présente ni '~' ni 'X' pour le moment, on les verra sûrement plus tard. Normalement vous ne devriez pas tomber dessus. Si ça vous arrive... lisez la doc ! :D


La huitième colonne, quant à elle, présente l'état de l'élément sur le serveur par rapport à notre version (cette colonne n'apparaît que si on active -u) :


On comprend donc vite d'après ces définitions qu'obtenir la ligne suivante n'est pas très bon signe :
Code : Bash
1
2
prompt$ svn st -u
M      *        5   Fichier 1.txt

On est ici dans le cas d'un éventuel futur conflit. Etant donné que l'on a modifié le fichier depuis sa récupération, mais qu'une autre version a été envoyée au serveur, si on envoie notre version, le serveur devra supprimer celle anciennement commitée et les modifications apportées par l'autre personne ne seront plus. Ceci ne peut bien sûr pas être un comportement par défaut. Le serveur va refuser votre commit. Il va donc falloir résoudre le problème localement avant de commiter la solution.

Nous n'allons pas apprendre à résoudre ces problèmes dans ce chapitre mais dans le prochain.

On retrouve la première colonne lors des informations suite à un commit, update, checkout et export.Tout ce que nous venons de voir sur la première colonne est, bien sûr, également valable dans ces autres cas, la convention reste la même.


Et pour Windows...



Eh bien pour Windows, c'est pareil, mais en plus lisible. En effet toutes ces informations sont récupérables via l'interface graphique.
Clic droit >> TortoiseSVN >> Check for Modifications.
On obtient un tableau, sauf que tout est écrit entièrement (et non pas par abréviation), donc beaucoup plus simple.

<image legende="Fenêtre "Check for modifications">uploads/fr/files/121001_122000/121897.gif</image>Fenêtre de status avec TortoiseSVN.

On retrouve ici les champs que l'on pouvait trouver dans les huit colonnes sous UNIX. Comme on peut le voir tout est écrit. Petit luxe, on a même un résumé du nombre de fichiers dans chaque catégorie ainsi que le numéro des versions maximum et minimum.

Eh, mais comment ça se fait qu'un fichier est à la 6ème révision alors que le dossier racine n'est qu'à la 5ème ?

Tout simplement parce que, lors du commit, je n'ai pas commité le dossier racine (Tuto SdZ) mais seulement le fichier. SVN a donc modifié les propriétés du fichier (sa version), mais pas celle du reste (du dossier racine par exemple). Cela fonctionne de la même façon sous UNIX. N'hésitez donc pas à faire régulièrement des update sur la racine.

Enfin, on ne le voit pas bien sur mon exemple, mais il y a un code de couleurs pour les éléments.

Toujours plus d'informations

Nous allons voir ici quels sont les moyens d'obtenir encore plus d'informations.

Nous venons de voir, dans la première partie, que si nous voulions des informations sur l'état des éléments présents sur notre répertoire local par rapport au serveur, il fallait utiliser la commande "status". Mais il existe d'autres commandes pour obtenir d'autres informations. Pour vous en convaincre et obtenir une liste de toutes les commandes accessibles :
Code : Bash
1
svn help

Code : Bash
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
usage: svn <subcommand> [options] [args]
Subversion command-line client, version 1.4.4.
Type 'svn help <subcommand>' for help on a specific subcommand.
Type 'svn --version' to see the program version and RA modules
  or 'svn --version --quiet' to see just the version number.

Most subcommands take file and/or directory arguments, recursing
on the directories.  If no arguments are supplied to such a
command, it recurses on the current directory (inclusive) by default.

Available subcommands:
   add
   blame (praise, annotate, ann)
   cat
   checkout (co)
   cleanup
   commit (ci)
   copy (cp)
   delete (del, remove, rm)
   diff (di)
   export
   help (?, h)
   import
   info
   list (ls)
   lock
   log
   merge
   mkdir
   move (mv, rename, ren)
   propdel (pdel, pd)
   propedit (pedit, pe)
   propget (pget, pg)
   proplist (plist, pl)
   propset (pset, ps)
   resolved
   revert
   status (stat, st)
   switch (sw)
   unlock
   update (up)

Subversion is a tool for version control.
For additional information, see http://subversion.tigris.org/


Dans cette liste, vous reconnaissez les commandes que l'on a déjà utilisées :
add, checkout, commit, copy, delete, export, help, mkdir, move, status, update.
Et celles que l'on n'a pas encore vues :
blame, cat, cleanup, diff, import, info, list, lock, log, merge, prop*, resolved, revert, switch, unlock.

Ici, nous allons voir list, log, info et cat.

Cat et List



Ces deux commandes sont très simples, elles font la même chose qu'en shell...

Cat



Cat permet d'afficher le contenu d'un fichier :
Code : Bash
1
svn cat Fichier_ou_URL [-r revision] [--username login] [--password mdp]

Pour l'afficher, il faut préciser un fichier ou bien une URL si le fichier ne se trouve pas sur notre répertoire local. Comme il faut accéder au serveur, il est possible (si on ne les a pas gardés dans le cache) de renseigner son login et mot de passe. Il reste une nouvelle option que nous allons voir, la possibilité de préciser dans quelle version (révision) on souhaite voir le fichier. Cette version peut être demandée de diverses façons :


Il n'est pas possible d'utiliser les mots clefs "BASE", "COMMITTED" ou "PREV" avec une URL étant donné que ces mots clefs font référence à la version disponible sur la copie de travail (copie locale). On ne peut que les utiliser lorsque l'on donne un chemin vers le fichier dans une copie de travail.

svn cat affiche le fichier demandé dans la version voulue. Si vous avez fait des modifications locales et que vous faites "svn cat", il vous affichera le fichier tel qu'il était lorsque vous l'avez récupéré, sans vos modifications.

Je viens de vous présenter l'option -r (pour révision). Cette option s'applique en fait à beaucoup de commandes. Parmi celles que nous avons vues, -r s'applique aussi aux commandes : checkout, export, update, copy et move.


List (ls)



List permet, comme en shell, de lister le contenu d'un répertoire. Et bien sûr, comme pour cat, on a des options en plus :
Code : Bash
1
svn list (ou ls) [dossier_à_lister] [-r Revision] [-v] [-R] [--username login] [--password mdp]

Dans ces options, on retrouve :

Il reste le -R que je n'ai pas encore présenté. Il permet, tout simplement, de descendre récursivement l'arborescence à partir du dossier choisi (c'est la même option en shell, pour vous en convaincre essayez : 'man ls | grep -e -R'). Cette option est donc très utile si vous voulez obtenir la liste de tous les éléments disponibles dans une arborescence sans avoir à faire "svn ls" sur tous les sous-dossiers.

Attention, "svn ls" ne liste que les fichiers versionnés. Si vous voulez aussi afficher les autres, faites "ls" !


Et pour Windows



Eh bien, cat et list n'ont pas vraiment lieu d'être étant donné que l'on utilise une interface graphique. Cependant, il est utile de pouvoir consulter l'état du repository aux différentes versions. Pour ça, on trouve le "Repository Browser".
Clic droit >> TortoiseSVN >> Repo-browser :

TortoiseSVN Repository Browser
Cet outil permet de parcourir l'arborescence à la version demandée.
Si vous cliquez droit sur un élément, vous trouverez plein d'actions disponibles...


Info



La commande info vous donne... des informations. :waw:
Nous allons donc voir les informations que l'on peut obtenir.
Comme vous devriez en prendre l'habitude, on tape :
Code : Bash
1
svn help info

Et on obtient le manuel d'utilisation de la commande. De ce manuel, on déduit que la commande se lance de la façon suivante :
Code : Bash
1
svn info [Target ...] [-r Revision] [-R] [--targets Fichier_darguments] [--username login] [--password mdp]

Eh oui, plus on avance, et plus je présente d'options ! ;)
Alors, dans toutes ces options vous connaissez déjà : Target (fichier, dossier ou URL cible), -r (révision), -R (Récursif), --username (login) et --password (mot de passe).
Nous avons un petit nouveau qui s'invite : --target. Cette option est un peu... bizarre, spéciale. Elle permet de spécifier un fichier qui contient des liens vers d'autres fichiers, fichiers que vous voulez ajouter en argument de la commande.
Pas très bien compris... :'(
Un petit exemple et tout va rentrer dans l'ordre.

Je lance le code suivant :
Code : Bash
1
svn info Dossier\ 1/ --targets argInfo

Avec comme fichier argInfo :
Code : Autre
1
2
/Users/mvandamme/Documents/Boulot/Tuto-SdZ/Tuto-SdZ/Fichier 1.txt
/Users/mvandamme/Documents/Boulot/Tuto-SdZ/Tuto-SdZ/Dossier 2/Fichier2.1.txt

Et j'obtiens comme résultat :
Code : Bash
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Path: Dossier 1
URL: http://svn.assembla.com/svn/Tuto-SdZ/Dossier%201
Repository Root: http://svn.assembla.com/svn/Tuto-SdZ
Repository UUID: d7ba3245-3e7b-42d0-9cd4-356c8b94b330
Revision: 18
Node Kind: directory
Schedule: normal
Last Changed Author: SdZ-Guest
Last Changed Rev: 12
Last Changed Date: 2008-06-21 13:35:11 +0200 (Sam, 21 jui 2008)

Path: /Users/mvandamme/Documents/Boulot/Tuto-SdZ/Tuto-SdZ/Fichier 1.txt
Name: Fichier 1.txt
URL: http://svn.assembla.com/svn/Tuto-SdZ/Fichier%201.txt
Repository Root: http://svn.assembla.com/svn/Tuto-SdZ
Repository UUID: d7ba3245-3e7b-42d0-9cd4-356c8b94b330
Revision: 18
Node Kind: file
Schedule: normal
Last Changed Author: mvandamme
Last Changed Rev: 16
Last Changed Date: 2008-06-22 16:10:28 +0200 (Dim, 22 jui 2008)
Text Last Updated: 2008-06-22 21:44:57 +0200 (Dim, 22 jui 2008)
Checksum: dc9a920d91087fcc9032192a8fda9e9c

Path: /Users/mvandamme/Documents/Boulot/Tuto-SdZ/Tuto-SdZ/Dossier 2/Fichier2.1.txt
Name: Fichier2.1.txt
URL: http://svn.assembla.com/svn/Tuto-SdZ/Dossier%202/Fichier2.1.txt
Repository Root: http://svn.assembla.com/svn/Tuto-SdZ
Repository UUID: d7ba3245-3e7b-42d0-9cd4-356c8b94b330
Revision: 18
Node Kind: file
Schedule: normal
Last Changed Author: mvandamme
Last Changed Rev: 1
Last Changed Date: 2008-05-25 15:11:27 +0200 (Dim, 25 mai 2008)
Text Last Updated: 2008-05-31 12:31:44 +0200 (Sam, 31 mai 2008)
Checksum: d41d8cd98f00b204e9800998ecf8427e

On remarque que les fichiers indiqués dans le fichier target on été pris en compte (voici donc l'utilité de cette option).
Si vous donnez un fichier contenant des lignes qui ne sont pas des chemins vers d'autres fichiers ou dossiers versionnés, SVN les ignorera tout simplement et vous mettra en sortie (en plus du résultat de svn info) chaque "mauvaise" ligne suivie de "(Not a versioned resource)".


Intéressons-nous maintenant au contenu du résultat obtenu.


Il est possible que certaines de ces informations ne soient pas affichées, ou qu'au contraire il y en ait en plus. Tout dépend de l'élément sur lequel vous faites le svn info. Si besoin, consultez la doc ! (Je sais je me répète, mais c'est pour votre bien. :p )


Je n'ai pas trouvé d'équivalent sous TortoiseSVN. Il est vrai que les informations obtenues sont très générales (Revision, URL, Path, etc.), elles se trouvent donc dans un peu toutes les autres fenêtres.


Log



Voici la commande la plus importante de toutes (ou tout du moins celle que vous devriez utiliser le plus souvent). Log permet d'afficher les messages de log laissés.
Pour apprendre à utiliser la commande, comme ce devrait devenir une habitude, on regarde le manuel :
Code : Bash
1
svn help log

Le manuel nous informe que l'utilisation de la commande se fait comme suit :
Code : Bash
1
svn log [Chemin] [-r Revision] [-v] [--targets Fichier] [--username login] [--password mdp] [--limit nb_dentré_max]

Dans ces options, nous n'avons pas vu --limit et -r Revision qui cette fois-ci ne s'utilisent pas de la même façon.

Commençons par -r Revision. Cette fois, on ne demande pas une révision, mais un ensemble de révisions. À la place de faire -r rev, il faut faire -r Rev1:Rev2 avec Rev1 la révision de laquelle on part, et Rev2 la révision à laquelle on veut arriver.
Par défaut, si rien n'est précisé, les révisions affichées seront BASE:1, ce qui signifie de la version actuellement sur la Working Copy à la première version.

Que se passe-t-il quand on fait "svn log -r 1:BASE" ?


--limit nb_dentré_max, quant à lui, informe du nombre maximum de messages de log à afficher. --limit 10 dit au SVN qu'on ne veut au maximum que 10 messages de log affichés (s'il y en a moins, il en affichera moins).
Euh, mais elle ne sert à rien cette option, si on ne veut pas plus de 10 messages de log, ne suffit-il pas de demander les logs que pour les 10 dernières versions tout simplement ?

Eh bien... NON !
Bon, j'en fais peut-être un peu trop là... ^^

Mais pourquoi non ? Eh bien pour vous convaincre, prenons un exemple. Si je demande les messages de log d'un sous-dossier seulement et non plus du dossier racine. Rien ne dit qu'à chaque fois que quelqu'un aura fait un commit il aura modifié des choses dans ce dossier. Et justement, pour ces versions où rien n'aura été modifié dans le dossier, la commande log ne va pas afficher le log. Il en découle que, même si vous demandez les logs pour les versions allant de 1 à 100 d'un élément, il se peut très bien que SVN ne vous affiche que quelques logs.

Maintenant que nous savons comment s'en servir, utilisons-la (je suis dans le dossier racine) :
Code : Bash
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
svn log --limit 5
------------------------------------------------------------------------
r18 | SdZ-Guest | 2008-06-22 16:12:56 +0200 (Dim, 22 jui 2008) | 1 line

------------------------------------------------------------------------
r17 | SdZ-Guest | 2008-06-22 16:11:11 +0200 (Dim, 22 jui 2008) | 1 line

test de fichier de itichi.
------------------------------------------------------------------------
r16 | mvandamme | 2008-06-22 16:10:28 +0200 (Dim, 22 jui 2008) | 1 line

ajout d'un ligne pour l'utilisation de cat
------------------------------------------------------------------------
r15 | mvandamme | 2008-06-22 13:04:27 +0200 (Dim, 22 jui 2008) | 1 line

Ajout de text pour tester le cat
------------------------------------------------------------------------
r14 | Sdz-Guest | 2008-06-21 15:32:02 +0200 (Sam, 21 jui 2008) | 1 line

------------------------------------------------------------------------


On trouve comme informations :


On peut voir sur cet exemple de log que de nombreux zéros ne mettent pas de commentaires lorsqu'ils font des commits. Honte sur eux ! :diable:
Et félicitations à ceux qui en ont mis.


Voici un autre exemple de log :
Code : Bash
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
svn log Dossier\ 1/ -v
------------------------------------------------------------------------
r12 | SdZ-Guest | 2008-06-21 13:35:11 +0200 (Sam, 21 jui 2008) | 1 line
Changed paths:
   A /Dossier 1/helloWorld.cpp (from /helloWorld.cpp:10)
   A /test

------------------------------------------------------------------------
r1 | mvandamme | 2008-05-25 15:11:27 +0200 (Dim, 25 mai 2008) | 1 line
Changed paths:
   A /Dossier 1
   A /Dossier 1/Fichier1.1.txt
   A /Dossier 2
   A /Dossier 2/Fichier2.1.txt
   A /Fichier 1.txt

Ajout de fichiers et dossiers pour les tests
------------------------------------------------------------------------

On voit bien ici ce que je disais plus haut : bien que je demande d'afficher toutes les versions (BASE:1), le Dossier 2 n'a été modifié qu'aux 1ère et 12ème révisions. Seules ces deux versions sont affichées. On notera aussi que le verbose (-v) nous affiche en plus les informations sur les actions effectuées.

Et pour Windows



La fenêtre de log avec TortoiseSVN est accessible de diverses manières. La plus standard est :
clic droit >> TortoiseSVN >> Show log

La façon la plus utilisée est : suite à un update, cliquez sur le bouton "Show log...".

Quelle que soit la manière, on obtient la fenêtre suivante :

TortoiseSVN Show log


Cette fenêtre, amis zéro, est une véritable mine d'informations.
Regardons d'abord les boutons. On voit que l'on peut sélectionner les dates de départ et de fin pour l'affichage des logs (comme pour -r {DATE} en fait), mais aussi que l'on peut tout afficher ("Show All"), ou seulement les 100 logs suivants, ou encore uniquement un ensemble de révisions ("Show Range...", appuyez sur la petite flèche à droite de "Show All"), et que l'on peut enfin rafraîchir la fenêtre. Notons la barre de recherche en haut à droite, très bien faite, elle permet d'effectuer une recherche sur le champ de votre choix (cliquez sur la loupe pour voir) et accepte les expressions régulières.
Enfin, le bouton "help" donne accès à l'aide de TortoiseSVN pour le log (cette aide est EXTRÊMEMENT bien faite, n'hésitez pas à la consulter) et le bouton "statistic" vous affichera des graphiques sur le nombre de commits par login et par date.

On voit aussi trois "check boxes", tout ce que vous avez besoin de savoir est que "stop on copy/rename" ne va afficher les logs de l'élément demandé que jusqu'à ce qu'il ait été copié ou renommé (mais ne va pas chercher les logs du fichier copié ou avant qu'il ait été renommé).

Maintenant passons au plus important. Les trois champs centraux :


Pas grand chose à dire sur le deuxième et le troisième champ. En revanche, le premier champ offre un résumé assez complet et disponible en un rapide coup d'oeil. Analysons colonne par colonne.


Vous voyez bien qu'avec ce premier tableau, vous obtenez déjà un très bon résumé des changements ayant eu lieu lors du commit.

Et voilà, avec ces commandes rien ne peut plus vous échapper (ou presque) sur le SVN. N'oubliez pas que consulter régulièrement les logs ainsi que les autres informations permet de bien se tenir à jour, mais surtout d'éviter au maximum les conflits.

Prochain chapitre : "Gérer les conflits".
Chapitre précédent Sommaire Chapitre suivant
Retour en haut Retour en haut


Créé : le 13/05/2008 à 14:06:06
Modifié : le 11/11/2008 à 13:04:19
Avancement : 100%
Licence : Creative Commons BY-SA

L'orthographe, la grammaire et la présentation de ce tutoriel ont été vérifiées par les zCorrecteurs.
4 commentaires

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 88 Zéros connectés | Requêtes SQL 8 requêtes | Temps de génération de la page : Total (SQL) 0.0715s (0.0609s)