Anda di halaman 1dari 3

Gestionnaire de versionnement de projet Subversion (SVN)

Il a t convenu de la mise en place dun systme de versionnement de projet pour faciliter


lorganisation de tous les lves uvrant sur la programmation au sein du projet, ainsi quen stage
ou PRT.
Le programme retenu se nomme Subversion (SVN), est gratuit et de nombreux sites web en
proposent lapplication, comme SourceForge ou Google Code.
Lespace web est disponible ladresse suivante :
http://code.google.com/p/insa-projet-drone/

Laccs au versionnement sur le serveur se fait laide dun programme client qui va crer pour
chaque projet un dossier versionn sur lordinateur de lutilisateur. On peut citer par exemple
TortoiseSVN qui est lger, gratuit et simple dutilisation, puisquil suffit de faire un clic droit sur un
dossier pour quun menu contextuel propose lutilisation dun systme de Subversion.
Le logiciel est disponible pour diffrentes plateformes ladresse suivante :
http://tortoisesvn.net/downloads/

Une fois celui-ci install, il suffit deffectuer un clic droit sur un dossier quelconque pour voir
apparatre deux nouvelles options : SVN Check out et un sous-menu TortoiseSVN.
SVN Check out permet de crer au dpart un dossier versionn lemplacement slectionn. Si lon
souhaite uniquement se servir du dossier pour regarder les programmes dits par les autres,
aucune authentification nest ncessaire, et il suffit dindiquer comme adresse :
http://insa-projet-drone.googlecode.com/svn
Si on souhaite au contraire avoir la possibilit de publier des programmes et de modifier ceux dj
prsents, il faut passer par une authentification scurise :
https://insa-projet-drone.googlecode.com/svn
Le nom dutilisateur fournir est lidentifiant du compte Google, et le mot de passe est disponible
dans : https://code.google.com/hosting/settings si vous tes identifis sur Google.

Crer un compte Google est rapide et trs simple et ne vous demandera quune adresse email
quelconque ainsi quun mot de passe.
Trois niveaux dautorisation sont proposs : administrateur, avec tous les droits sur le site, commiter,
avec les droits de commit sur le SVN, et contributeur, ce qui ne donne pas de privilges particuliers,
hormis commenter les diffrents ajouts fait sur le site.

Une fois le Check Out effectu, deux oprations majeures sont possibles :
-

Update, qui consiste en la rcupration de la version la plus rcente du programme disponible


sur le serveur, ce qui va venir craser la version prsente sur lordinateur client.

Commit qui consiste spcifier une srie de fichiers modifis qui vont crer une nouvelle
version (nomme rvision ) sur le SVN en ligne. Le numro de version est associ un
ensemble de fichiers et non pas un seul comme pour pro/E par exemple.
Cette opration nest possible que pour quelquun denregistr sur le site et authentifi avec le
mot de passe gnr par Google comme expliqu ci-dessus. Il est toujours possible de revenir
une version prcdente en cas de mauvais commit par erreur, cest lun des atouts majeurs du
systme.

Le principe respecter pour que tout se passe bien, cest de commencer travailler en faisant un
update avant de lancer quoi que ce soit dautre.
Ensuite, de programmer de faon totalement habituelle dans le dossier versionn.
Enfin, en bout de sance, de faire un commit des modifications SI et SEULEMENT SI :
- Elles sont pertinentes pour le projet et peuvent servir dans le futur (pas besoin de mettre en
ligne les bricolages malencontreux uniquement l pour raliser un test)
- Le projet dans cet tat COMPILE et FONCTIONNE.

SINON, si les modifications apportes rendent ltat actuel dun programme instable, il est possible
de le mettre sur le SVN, mais dans ce cas en changeant le nom du dossier au pralable pour ne pas
craser la dernire version fonctionnelle, et en crer une nouvelle pour les dveloppements futurs
dans une autre perspective. A viter cela dit, car la manipulation requiert un certain doigt.
Un commit, et donc un numro de rvision, se doit dtre accompagn dune petite explication de ce
qui a t modifi et de la fonctionnalit apporte, afin que chacun puisse situer lavance du projet.
La fentre de commit propose une zone de formulaire cet effet.

WEBER Xavier MIQ4


Xavier.weber@insa-strasbourg.fr
09/12/2010

Anda mungkin juga menyukai