Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Sommaire
1. Introduction
1.1.
Contexte
1.2.
Documents de rfrences
1.3.
Table of modifications
2
2
2
2
3
2.1.
2.2.
Principe
2.3.
Le repository
6
7
2.4.
4. Config File
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.
22
6.2.
Fusionner (Merge)
22
6.3.
Revision Graph
23
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/
1.3.
Lien
Table of modifications
Author
Modification
Version
Date
Marc Chevaldonn
First draft
1.0
08 dcembre 2008
Marc Chevaldonn
2.0
12 octobre 2009
Marc Chevaldonn
2.1
17 novembre 2009
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
2.3.
2.3.1.
2.3.2.
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:///
http://
https://
svn://
svn+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.
2.4.2.
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.
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...
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
11
5.3.
Add
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.
12
Vous pouvez dailleurs noter que licne est un gros + bleu et pas
encore la belle icne verte.
13
5.4.
Delete
Faites un commit quelque part dans un dossier parent (noubliez pas le message...) et le tour est jou.
5.5.
Move
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
15
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.
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.
17
18
Faites simplement un clic droit sur "a file.txt" et slectionnez Tortoise SVN --> Edit Conflicts...
19
20
21
6. Utilisation avance
6.1.
6.2.
Fusionner (Merge)
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.
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.
23
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.
Si vous gardez trop longtemps des fichiers extraits modifis, vous augmentez le risque de conflits qui seront de plus
en plus compliqus rsoudre.
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
:
24