Vous êtes sur la page 1sur 25

TortoiseSVN - Quick Guide

Written by : Marc Chevaldonn, IUT Informatique, Universit dAuvergne Clermont1


12 octobre 2009
Version 2.0

Sommaire
1. Introduction
1.1.

Contexte

1.2.

Documents de rfrences

1.3.

Table of modifications

2. Prsentation rapide de Subversion

2
2
2
2
3

2.1.

Quest-ce que Subversion ? Quest-ce quun Systme de Gestion de Versions ? 3

2.2.

Principe

2.3.

Problme du partage de fichiers

Solution 1 : Lock - Modify - Unlock

Le repository

Larbre des rvisions


Organisation du repository : trunk - branches - tags

6
7

2.4.

3. Installation de Tortoise SVN

4. Config File

5. Utilisation quotidienne de TortoiseSVN

10

5.1.

Checkout

10

5.2.

Commit

11

5.3.

Add

12

5.4.

Delete

14

5.5.

Move

14

5.6.

Rename

15

5.7.

Update

15

5.8.

Conflicts

16

6. Utilisation avance

22

6.1.

Brancher / tiqueter (branching/tagging)

22

6.2.

Fusionner (Merge)

22

6.3.

Revision Graph

23

7. Quelques rgles de bonne conduite

Tortoise SVN - Quick Guide 2.1

24

1. Introduction
1.1.

Contexte

Ce document a t crit pour les lves de GI et SI (2me anne de lIUT dInformatique de Clermont-Ferrand,
Universit dAuvergne). Son but est de dcrire succinctement les fonctionnalits de Subversion et les outils de base
pour une utilisation via TortoiseSVN sous Windows.

1.2.

Documents de rfrences

Pour plus dinformations, le lecteur peut se documenter en lisant les documentations suivantes :

Title

Version

TortoiseSVN - A Subversion
client for Windows

1.6.5

http://tortoisesvn.net/support

1.5

http://svnbook.red-bean.com/

Version Control with Subversion

1.3.

Lien

Table of modifications
Author

Modification

Version

Date

Marc Chevaldonn

First draft

1.0

08 dcembre 2008

Marc Chevaldonn

Premire version complte

2.0

12 octobre 2009

Marc Chevaldonn

modification trs mineure

2.1

17 novembre 2009

Tortoise SVN - Quick Guide 2.1

2. Prsentation rapide de Subversion


2.1.

Quest-ce que Subversion ? Quest-ce quun Systme de Gestion de Versions ?

Subversion est un systme de gestion de versions, cest--dire quil permet la gestion de dossiers et de fichiers
ainsi que leurs modifications au cours du temps. Cela permet de rcuprer des versions anciennes de documents
ou dexaminer lhistorique des modifications apportes. On parle aussi de time machine.
Subversion peut-tre utilis en rseau, ce qui permet son utilisation par des personnes distantes. Il est donc
possible un groupe de personnes de modifier et de grer un mme ensemble de donnes distance et de
manire collaborative. En effet, un outil tel que Subversion permet une production en parallle et non linaire, sans
risque de confusion ou de pertes de donnes grce au versionnage.
Les documents versionns sont gnralement du texte, et en particulier du code source, mais il peut sagir de
nimporte quel type de documents.
Subversion sutilise en lignes de commande, mais il existe de nombreux shells permettant de les utiliser de manire
plus convivial. Les plus connus et utiliss sont TortoiseSVN sous Windows et SCPlugin sous MacOSX.

2.2.

Principe

Un serveur centralise tous les fichiers constituant un projet dans ce quon


appelle la base centrale : le repository.
Un utilisateur a des droits dcriture et/ou de lecture sur les fichiers stocks.
Un utilisateur rapatrie sur son poste de travail une version (gnralement la
dernire) des fichiers et travaille ainsi toujours sur une version local du projet.
Avant de pouvoir modifier un fichier du projet, lutilisateur doit lextraire, cest-dire quil avertit le serveur quil en prend possession.
Une fois quil a termin la modification, lutilisateur archive le/les fichiers. Le
fichier est renvoy vers le serveur. Ce dernier fusionne les modifications
effectues par lutilisateur sa version courante du fichier.

Tortoise SVN - Quick Guide 2.1

2.3.

Problme du partage de fichiers

Un des problmes majeurs des systmes de gestion


de versions est le partage de fichiers. Comment
permettre plusieurs utilisateurs de modifier le mme
fichier ?
Harry et Sally prennent tous les deux une
copie en local dun fichier versionn sur le
serveur.
Harry et Sally le modifient de manire
diffrente chacun de leur ct.
Harry soumet ses modifications sur le serveur.
Sally soumet ses modifications sur le serveur
aprs Harry et efface toutes les modifications
dHarry accidentellement.

2.3.1.

Solution 1 : Lock - Modify - Unlock


Avant Subversion, la solution unique
consistait verrouiller / modifier /
dverrouiller.
Harry rcupre une copie du fichier sur le
serveur et le verrouille.
Sally essaye de rcuprer une version du
fichier pour le modifier, mais le fichier est
verrouill.
Harry soumet ses modifications et
dverrouille le fichier.
Sally rcupre une version du fichier
maintenant dverrouill et peut le
modifier. Le fichier sur le serveur est
verrouill par Sally.

Tortoise SVN - Quick Guide 2.1

2.3.2.

Solution 2 : Copy - Modify - Merge


Subversion a propos une nouvelle solution
qui consiste copier en local une version
du fichier, de la modifier, et de fusionner
uniquement les diffrences avec la version
du repository.
Harry et Sally rcuprent une copie du
fichier sur le serveur.
Harry et Sally modifient chacun de leur
ct et de manire diffrente le fichier.
Sally soumet ses modifications et le
fichier sur le repository est donc modifi.
Harry veut soumettre ses modifications
son tour. Deux solutions : soit il ny a
aucun conflit entre les modifications
dHarry et les modifications de Sally,
cest--dire quils ont modifi des parties
trs distinctes dun mme fichier (par
exemple deux classes ou deux mthodes
diffrentes), et dans ce cas, Subversion
fusionne les modifications dHarry au
fichier modifi de Sally ; soit les
modifications de Sally et de Harry
recoupent les mmes parties et
Subversion ne sait donc pas faire la
fusion. Dans ce dernier cas, Subversion
empche alors Harry de faire son commit
car sa copie nest pas jour.
Harry rcupre alors la dernire version
sur le repository et la compare avec sa
version modifie.
Une nouvelle version qui fusionne les
modifications dHarry et la dernire
version jour du repository est cre, avec laide dHarry.
La version fusionne (merged) devient la nouvelle dernire version du repository.
Sally met jour sa copie et les deux utilisateurs ont les modifications effectues par lun et lautre des
dveloppeurs.

Tortoise SVN - Quick Guide 2.1

Subversion permet dutiliser les deux solutions, mme si la solution 2 est prfrables (surtout quand le nombre de
dveloppeurs devient important). De plus, les dveloppeurs ont gnralement des tches bien distinctes et les
conflits sont trs rares.

2.4.

Le repository

Le repository est la base centrale o sont stocks les fichiers et les rvisions. Un repository peut-tre local ou
distant, non scuris ou scuris. On accde un repository via un URL.

Schema

Access method

file:///

accs direct sur un disque (local)

http://

accs via le protocole WebDAV et un serveur Apache

https://

comme le prcdent mais avec des donnes cryptes (SSL)

svn://

accs via un protocole perso un serveur svnserve

svn+ssh://

comme le prcdent mais travers un tunnel SSH

Dans le cas daccs distant, ladministrateur du repository peut donner des droits daccs en lecture / criture
tout le repository ou seulement une partie du repository des utilisateurs. Il peut par exemple donner des droits en
lecture anonyme (pas besoin de se logger) et en criture des utilisateurs enregistrs avec mot de passe.
2.4.1.

Larbre des rvisions


chaque fois quun commit est
ralis par un utilisateur,
Subversion cre un nouvel tat de
larborescence des dossiers et
fichiers du projet versionn. Ce
nouvel tat est appel une rvision.
chaque rvision, Subversion
attribute un nombre entier unique,
suprieur celui de la rvision
prcdente. La premire rvision
est la numro 0, et ne contient rien.
chaque rvision, Subversion
nenregistre que les diffrences
avec la rvision prcdente. Pour
rcuprer une rvision donne, Subversion parcourt larbre des rvisions et modifie les fichiers au fur et
mesure avec les diffrences enregistres pour recr ltat correspondant cette rvision.
Les rvisions sont donc stockes sous forme darbre.

Tortoise SVN - Quick Guide 2.1

2.4.2.

Organisation du repository : trunk - branches - tags


Subversion vous autorise organiser votre repository comme vous lentendez. Il existe de nombreuses
bonnes organisations (mais encore plus de mauvaises...). Toutefois, il est fortement conseill de suivre
lexemple du trunk - branches - tags (surtout pour les dbutants).
Considrons un seul projet versionn via Subversion.

Le dossier tronc (trunk) contient la ligne directrice de votre dveloppement.


Le dossier branches contient des copies du dveloppement (une par branches). Les branches contiennent
le mme historique que le tronc au moment de la cration de la branche. Ceci permet dviter davoir
refaire plusieurs fois la mme chose pour des projets lgrement diffrents par exemple. Imaginons que
nous souhaitons faire plusieurs versions dun jeu : une en local et une autre pour le web. Nous dveloppons
dabord le coeur du jeu qui sera commun toutes les versions. Puis pour chaque version, nous crons une
branche qui profitera de la partie commune dj dveloppe et de son historique et ajoutera ses propres
particularits sans polluer le dveloppement commun. Une branche peut galement servir faire un test de
dveloppement. Si ce test est approuv, alors la branche peut tre rintgre dans le tronc, sinon, elle peut
tre coupe.
Le dossier tags contient des pointeurs sur des copies un instant donn. Un tag reprsente une espce
dtiquette sur une version particulire de votre dveloppement. Par exemple, la rvision X fonctionne
parfaitement, et si ce nest pas la version finale, cest en tout cas une trs bonne version bta. On peut alors
la tagger, ce qui permettra de faire une premire release ou des dmos, sans empcher lavancement du
projet. De mme, on peut tagger ainsi la version 1.0, 1.1, 1.2 ... de notre logiciel. En pratique, le tag
fonctionne exactement comme une branche. Subversion ne fait pas de diffrences pour des raisons de
flexibilit. En effet, imaginez que vous taggez une version qui fonctionne parfaitement... enfin presque...
aprs avoir tagg, vous dcouvrez un horrible bug ! Vous pouvez faire un commit sur un tag (cest rare, mais
a se fait).

Tortoise SVN - Quick Guide 2.1

3. Installation de Tortoise SVN


Vous trouverez la dernire release de TortoiseSVN (1.6.5) ici : http://tortoisesvn.net/downloads
Il y a diffrents packages de langue (franais et autres...).

4. Config File
Une fois que vous avez install Tortoise SVN 1.6.5, vous devrez modifier
le fichier de configuration. Cest lui qui nous donnera la possibilit de
signer automatiquement chaque fichier avec le nom de lauteur, la date
de modification, le numro de rvision ou dautres informations.
Pour changer le fichier de configuration :
Dans lexplorer Windows, cliquez sur Fichier, puis TortoiseSVN puis Settings
Dans la nouvelle fentre qui souvre, sur la gauche, cliquez sur General
(par dfaut) et sur la droite sur le bouton Edit.

Votre fichier de configuration est maintenant ouvert.


Dans ce fichier, copiez et collez le contenu de mon fichier de configuration ou ajoutez les lignes ci-dessous dans les sections
adquates :
trouvez la section [miscellany] et ajoutez (ou simplement dcommentez) la ligne suivante :
enable-auto-props = yes
Ensuite, ajoutez les lignes suivantes dans la section [auto-props] place gnralement la fin du fichier de configuration
*.c = svn:eol-style=native;svn:keywords= Id Rev Date Author

Tortoise SVN - Quick Guide 2.1

*.cpp = svn:eol-style=native;svn:keywords= Id Rev Date Author


*.h = svn:eol-style=native;svn:keywords= Id Rev Date Author
*.cs = svn:eol-style=native;svn:keywords= Id Rev Date Author
*.sln = svn:eol-style=CRLF
*.vcproj = svn:eol-style=CRLF
*.csproj = svn:eol-style=CRLF
*.dsp = svn:eol-style=CRLF
*.dsw = svn:eol-style=CRLF
*.sh = svn:eol-style=native;svn:executable
*.txt = svn:eol-style=native;svn:keywords= Id Rev Date Author
*.png = svn:mime-type=image/png
*.jpg = svn:mime-type=image/jpeg
Makefile = svn:eol-style=native
*.am = svn:eol-style=native;svn:keywords= Id Rev Date Author
*.ac = svn:eol-style=native;svn:keywords= Id Rev Date Author
*.xml = svn:eol-style=native;svn:keywords= Id Rev Date Author
*.xsd = svn:eol-style=native;svn:keywords= Id Rev Date Author
*.html = svn:eol-style=native;svn:keywords= Id Rev Date Author
*.wsdl = svn:eol-style=native;svn:keywords= Id Rev Date Author
*.composite = svn:eol-style=native;svn:keywords= Id Rev Date Author
*.componentType = svn:eol-style=native;svn:keywords= Id Rev Date Author
*.rb = svn:eol-style=native;svn:keywords= Id Rev Date Author
*.py = svn:eol-style=native;svn:keywords= Id Rev Date Author
*.php = svn:eol-style=native;svn:keywords= Id Rev Date Author
*.js = svn:eol-style=native;svn:keywords= Id Rev Date Author
*.java = svn:eol-style=native;svn:keywords= Id Rev Date Author
*.properties = svn:eol-style=native;svn:keywords= Id Rev Date Author
*.jelly = svn:eol-style=native;svn:keywords= Id Rev Date Author
*.ipr = svn:eol-style=native
*.iml = svn:eol-style=native
*.project = svn:eol-style=native
*.classpath = svn:eol-style=native
README = svn:eol-style=native;svn:keywords= Id Rev Date Author
LICENSE = svn:eol-style=native
NOTICE = svn:eol-style=native
Ces modifications ne seront effectves que sur les fichiers qui seront ajoutes au repository aprs ces modifications. Ceci doit
donc tre fait en priorit lors de votre premire utilisation de TortoiseSVN.

Tortoise SVN - Quick Guide 2.1

5. Utilisation quotidienne de TortoiseSVN


Dans cette section, les proprits les plus utilises de TortoiseSVN sont prsentes. Elles devraient suffire pour une utilisation quotidienne. Si vous voulez en savoir plus, rendez vous sur le site http://tortoisesvn.net/support et tlchargez la documentation complte (assez facile lire).

5.1.

Checkout
Cest la premire commande que vous utiliserez. Elle vous permet de rcuprer une copie de la
dernire rvision du projet sur votre ordinateur. Vous pouvez avoir autant de copies que vous le
voulez. Cependant, il est conseill den avoir le moins possible pour viter les confusions.
Une utilisation trs pratique consiste avoir une copie sur votre ordinateur de travail ( lIUT par
exemple la journe) et une autre sur votre ordinateur personnel (pour la nuit et le weekend ;).
Pour lutiliser, crez simplement un nouveau dossier dans lequel vous laisserez votre copie (par
exemple ici, my_folder).
Faites un clic droit sur ce dossier et cliquez sur SVN Checkout...

Vous voyez maintenant une nouvelle fentre.


Entrez lURL du repository (gnralement du type
https://some_url ou svn://some_url pour des repositorys sur
un serveur, ou file:///some_url for a local repository pour des
repository en local).
Le checkout directory devrait dj tre le dossier que vous
avez cr auparavant.
Cliquez sur OK
Par dfaut, cest la rvision HEAD Revision qui est slectionn. Cela signifie que vous allez tlcharger une copie de la
dernire rvision du projet.
Si vous cliquez sur Revision, vous pourrez choisir un autre
numro de rvision et tlcharger une copie dun tat particulier du projet.
Gnralement, vous tlchargerez la HEAD Revision, au
moins en mode dveloppement.
Vous aurez peut-tre alors une fentre davertissement de la part de TortoiseSVN car il vous
faudra un certificat pour accder au repository.
Si vous en avez un (donn par le propritaire
du repository) vous pouvez cliquer sur Accept
permanently ou Accept Once. Si vous navez
pas de login et de mot de passe, vous pouvez
toujours essayer de demander au propritaire
du repository ;)

Tortoise SVN - Quick Guide 2.1

10

Maintenant vous avez un rsum du check out et vous pouvez voir une icne au-dessus de votre dossier,
indiquant que vous navez pas modifi votre copie depuis le dernier check out ou la dernire mise jour.

5.2.

Commit

Pendant le dveloppement, vous devriez changer quelques


fichiers (bon... ne devriez vous pas ?). Dans ce cas, licne
au-dessus du fichier que vous modifiez dans lexplorer windows, passe dun joli vert un horrible rouge et vous fait
penser que vous avez fait une horrible chose.
En ralit, cela veut seulement dire que ce fichier a t modifi depuis le dernier check out ou le dernier update. Cela signifie quil est trs probablement diffrent du fichier qui est dans le repository. Cela
signifie galement que vos collgues ne savent rien de vos modifications. Quand vous avez fini vos
modifications (vous devez dabord vrifier que votre code compile correctement), vous pourriez avoir
envie de le partager avec vos collgues. Vous devez pour cela faire un
commit.
Cliquez simplement sur le fichier (ou
le dossier et dans ce cas, tous les
fichiers et dossiers enfants seront
commits galement) qui vous intresse et cliquez sur SVN Commit...
Une nouvelle fentre apparat dans laquelle vous pouvez
slectionner ou dslectionner les fichiers que vous voulez
envoyer sur le repository. Il y a quelques options qui vous
aideront dselectionner les fichiers inutiles et slectionner
rapidement les fichiers utiles.
Vous devriez galement toujours rentrer un message qui
explique vos collgues le sens de vos modifications (cf.
rgles).
Cliquez sur OK. Vous devriez maintenant voir le rsum de
votre commit. Votre fichier doit tre revenu son joli vert
(sauf en cas de conflits, voir plus bas).

Tortoise SVN - Quick Guide 2.1

11

5.3.

Add

Si vous voulez ajouter un nouveau fichier ou un nouveau


dossier, crez simplement comme dhabitude vos documents dans lexplorer de windows. Si vous les crez
dans un dossier versionn, vous verrez un gros point
dinterrogation bleu sur votre document. Tortoise vous
avertit que ce document nest pas versionn dans le repository. Peut-tre
souhaitez-vous ajoutez ces fichiers au repository ? Oui je le veux !.

Pour dire Tortoise que vous voulez les ajouter, faites un clic droit sur le
fichier ou le dossier et slectionnez TortoiseSVN -> Add...

Une nouvelle fentre apparat avec les fichiers que vous vouliez
ajouter.
Slectionnez ceux qui vous intressent, dselectionnez ceux qui
ne vous intressent pas et cliquez sur OK.
Tortoise vous confirme que les fichiers sont ajouts, mais les fichiers ne sont pas encore dans le repository. Vous avez juste indiqu que vous voulez les ajouter au prochain commit.

Tortoise SVN - Quick Guide 2.1

12

Vous pouvez dailleurs noter que licne est un gros + bleu et pas
encore la belle icne verte.

Faites simplement un commit sur ces


fichiers, et ils seront dfinitivement ajouts
au repository. Noubliez pas dajouter le
message !

Tortoise SVN - Quick Guide 2.1

13

5.4.

Delete

Le delete fonctionne un peu comme le Add. Dabord vous indiquer


Tortoise que vous voulez supprimer un fichier ou un dossier ... au prochain commit.
Si cest un fichier, il va directement disparatre de
lexplorer windows. Si cest un dossier, il sera
marqu dune croix rouge vif. Dans tous les cas,
ils sont supprims de votre copie mais pas encore du repository.

Faites un commit quelque part dans un dossier parent (noubliez pas le message...) et le tour est jou.

5.5.

Move

Pour changer lemplacement dun fichier ou dun dossier, slecionnez


le fichier ou le dossier, et glissez le avec le bouton droit de la souris
enfonc dans le nouvel emplacement.
Un popup menu apparat alors, dans lequel vous pouvez
slectionner SVN Move versioned files here.
Le fichier est alors supprim et ajout par Tortoise.

Tortoise SVN - Quick Guide 2.1

14

Cest pour cette raison que le dossier qui contient les fichiers a
une icne rouge and le fichier qui a boug a un + bleu. Faites un
commit sur le dossier parent (sans oublier le message) et le fichier
aura chang de place dans le repository.

5.6.

Rename
Pour renommer un fichier, faites un clic droit sur le fichier concern et
slectionnez TortoiseSVN -> Rename...
Dans la nouvelle fentre, changer le nom et
cliquez sur OK.
Le fichier est supprim
puis ajout avec le
nouveau nom. Cest
pour cela quil a un
gros + bleu sur lui.
Noubliez donc pas de
faire le commit.

5.7.

Update

Une deux fois par jour, vous devriez faire un


Cela signifie que vous devriez tlcharger les
vos collgues sur le projet. Pour cela, vous
sur le dossier que vous voulez mettre jour
mais vous navez pas ncessairement besoin
repository contient par exemple plusieurs
SVN Update.
Notez que mme si les fichiers de votre copie
ne signifie pas quils sont jour : cela garantit
les avez jamais modifis aprs le dernier update
raison pour laquelle il faut continuer faire lupdate rgulirement.

Tortoise SVN - Quick Guide 2.1

update de votre copie.


modifications faites par
devez faire un clic droit
(gnralement la racine,
de tout mettre jour si le
projets) et slectionner
ont une icne verte, cela
uniquement que vous ne
ou le check out. Cest la

15

Une fentre apparat indiquant quel est le


numro de rvision de votre update et
quels sont les fichiers modifis, ajouts ou
supprims par cet update.

Vous pouvez galement lire les


messages des commits qui ont
lieu jusqu cette rvision en
cliquant sur Show Log... Cela
vous permet de voir qui a fait le
commit, ce qui a t chang et
le message laiss par celui qui
la fait.

5.8.

Conflicts

Prenons lexemple du fichier "a file.txt", modifi par 2 personnes en mme temps, deux endroits diffrents. Le premier a
chang le contenu de
"
a file that contains some text
"

"
a file that contains some text
blablabla
plouf plouf plouf
argh argh argh
"
et a fait un commit.

Tortoise SVN - Quick Guide 2.1

16

Vous ne le savez pas encore, parce que vous navez pas mis jour votre copie depuis 3 heures et vous modifiez galement
le mme fichier, mais dans votre copie, de :
"
a file that contains some text
"

"
a file that contains some text
here is some text
"
Maintenant vous voulez galement faire un commit avec vos modifications... que se passe-t-il ?

Tout dabord, vous faites le commit comme dhabitude et une erreur saffiche indiquant que votre copie nest pas jour, et
que vous devriez faire un update avant de faire un commit. Votre commit est annul.

Tortoise SVN - Quick Guide 2.1

17

Ce nest pas grave, vous cliquez


sur OK, et vous faites un update.
Le fichier en question est indiqu
comme conflicted. Donnez un
coup doeil aux fichiers crs et
aux icnes... lun dentre eux est "a
file.txt.mine" (il sagit de votre copie
modife par vous) "a file.txt.r12" (la
copie de la rvision numro 12,
cest--dire le dernier update que
vous aviez fait) "a file.txt.r13" (la
copie de la rvision numro 13, la
dernire rvision de ce fichier sur le
repository que vous naviez pas
encore tlcharge). Ces fichiers
vont tre utiliss pour diter les
conflits. Oubliez-les.

Tortoise SVN - Quick Guide 2.1

18

Faites simplement un clic droit sur "a file.txt" et slectionnez Tortoise SVN --> Edit Conflicts...

Une nouvelle fentre apparat,


et montre sur la gauche le
fichier qui est sur le serveur
(sur le repository) et sur la
droite votre copie modifie par
vos soins. En couleurs sont
indiques les diffrences et
vous pouvez les diter. Plus
cest rouge, plus cest grave.
Si cest rouge, vos modifications manuelles sont obligatoires (le reste peut tre fait automatiquement). En bas, vous
avez le fichier rsultat aprs
fusion.

Tortoise SVN - Quick Guide 2.1

19

Cliquez sur les parties sur


une des deux copies pour
indiquer quels blocs il faut
garder entre la version du
repository et votre copie modifie. Pour cela, cliquez
simplement droit sur une
partie du document et slectionnez Use this text block.

Vous pouvez voir les rsultats dans le


fichier fusionn. En rouge sont indiques les parties modifier.

Tortoise SVN - Quick Guide 2.1

20

Sauvegardez vos modifications quand vous avez fini, et


faites votre commit.

Tortoise SVN - Quick Guide 2.1

21

6. Utilisation avance
6.1.

Brancher / tiqueter (branching/


tagging)
Crer une branche ou une
tiquette se fait
exactement de la mme
manire avec TortoiseSVN.
Faites un clic droit sur le
dossier du tronc (trunk)
puis cliquez sur
TortoiseSVN puis Branch/
tag.
Dans le fentre qui souvre,

la ligne From WC at URL reprsente ladresse qui va tre


branche ou tiquete (gnralement le tronc, ou une autre
branche). La ligne To URL reprsente le nom de votre nouvelle
branche ou tiquette. Si vous voulez crer une branche, donnez
lui un nom et placez-la dans le dossier branches. Pour une
tiquette, donnez lui un nom et placez-la dans le dossier tags.

6.2.

Fusionner (Merge)

Cette fonctionnalit vous permet de rintgrer une branche


dans votre tronc une fois que vous lavez valide. Il existe
dautres modes de fusion, mais pour une utilisation simple,
cest la seule que nous prsenterons dans ce document.

Tortoise SVN - Quick Guide 2.1

22

6.3.

Revision Graph

TortoiseSVN propose un outil graphique de visualisation du graphe de rvisions pour vous aider retrouver votre chemin dans larbre des rvisions.
Faites un clic droit sur votre copie (trunk) et slectionnez TortoiseSVN >
Revision Graph.

Une nouvelle fentre souvre et vous pouvez


y voir un graphe de rvisions. Si vous avez
peu de rvisions, peut-tre que vous ny
verrez rien, parce que votre arbre ne sera
quun tronc. Si votre arbre possde des
branches, cet outil vous aidera retrouver
un tag ou une branch avec le numro de
rvision recherch.

En cliquant avec le bouton droit de la souris sur une rvision, vous pouvez slectionner Show Log et lire le message laiss par lauteur de ce commit.

Tortoise SVN - Quick Guide 2.1

23

7. Quelques rgles de bonne conduite


Ce chapitre contient un ensemble de rgles et de conventions respecter pour une utilisation en groupe de Subversion.
Le projet stock dans la base (et encore plus, celui du tronc), doit toujours tre compilable.

Avant de faire un commit, vrifiez toujours que votre projet compile sur votre copie.

Si vous ntes pas sr de vous, faites un checkout dans un dossier temporaire et vrifiez que votre commit compile.

Si vous devez faire exceptionnellement un commit qui ne compile pas, prvenez tous les autres utilisateurs.

Faites des updates trs rgulirement.


Faites des commits rguliers.

Si vous gardez trop longtemps des fichiers extraits modifis, vous augmentez le risque de conflits qui seront de plus
en plus compliqus rsoudre.

Sans commits rguliers, vous perdez galement le bnfice de lhistorique.

Utilisez le header suivant au dbut de chaque fichier afin de garder une trace de la dernire date de modification, de la
dernire personne ayant modifi le fichier et du numro de rvision
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//

========================================================================
Copyright (C) 2008-2009 IUT CLERMONT1 - UNIVERSITE DAUVERGNE
www.iut.u-clermont1.fr
Module
:
Author
:
Creation date:
Modified by :
Last update :
Revision
:

Board - source file


Marc Chevaldonn
2008-11-25
$Author: chevaldonne $
$Date: 2008-11-25 01:30:30 +0200 (tue, 25 nov 2008) $
$Revision: 18 $

@author Marc Chevaldonn


========================================================================

Tortoise SVN - Quick Guide 2.1

24