Documente Academic
Documente Profesional
Documente Cultură
PR 3
PR 3
Platformă de e‐learning și curriculă e‐content
pentru învățământul superior tehnic
Instrumente pentru Dezvoltarea Programelor
13. Intrumente pentru Versionare. Studiu de caz: SVN.
Obiective
Scopul acestui laborator este familiarizarea cu sistemele de versioning, utile in contextul
dezvoltarii concurente a proiectelor, in echipe de programatori.
Sistemul discutat este SVN, atingandu-se urmatoarele aspecte:
utilizarea in linia de comanda
integrarea cu Eclipse, folosind plugin-ul Subclipse
Subversion (SVN)
SVN (http://subversion.tigris.org/) este un sistem centralizat, cu urmatoarea arhitectura:
Pentru instalare, puteti rula, de exemplu, pe un sistem Debian:
In comanda de mai sus, myproject reprezinta directorul ce contine sursele. Optiunea -m asociaza
mesajul cu actiunea. Ierarhia construita in repo are o structura speciala, fisierele nefiind vizibile
ca atare.
3. Pentru afisarea continutului unui director din repository:
Comanda de mai sus aduce proiectul myproject din repository in subdirectorul myproject, pe
masina locala.
5. Fisierele din working copy pot fi editate direct. In schimb, modificarea ierarhiei de
fisiere (crearea sau stergere de fisiere/directoare) presupune utilizarea comenzilor:
Aceasta comanda va actualiza doar fisierele care au fost modificate pe server, fara a aduce
intreaga ierarhie, ca la checkout-ul initial.
7. Pentru publicarea copiei locale pe server:
$ svn status
$ svn diff
Subclipse
Subclipse (http://subclipse.tigris.org/) este un plugin pentru Eclipse, ce permite interactiunea in
mod grafic cu repository-ul. Aveti la dispozitie un tutorial la
http://www.scribd.com/doc/245105/Subclipse-tutorial.
Instalare
Pentru instalare puteti folosi componenta Update Manager din Eclipse. Astfel, din meniul Help
alegeti Software Updates → Find and Install, pentru a porni managerul de actualizari.
Folosim, in continuare, Update Manager-ul din Eclipse pentru a automatiza procesul de instalare
a unor componente, precum Subclipse. Alegeti Search for new features to install si treceti la
ecranul urmator. Deselectati site-urile existente in panelul acesta si apasati pe New Remote Site.
Aceasta actiune va conduce la afisarea ferestrei New Update Site:
Introduceti orice nume doriti in campul Name (Subclipse ar fi o alegere buna) si introduceti in
campul URL adresa: http://subclipse.tigris.org/update_1.6.x/.
Apasati Finish. Eclipse va cauta automat noi componente de instalat. Cand cautarea ia sfarsit, se
afiseaza rezultatele cautarii (Subclipse fiind noua componenta gasita):
Selectati Subclipse, apoi Next. Acceptati termenii de licentiere si apasati din nou Next. Apasati,
in final, Finish, pentru a incepe descarcarea si instalarea componentei Subclipse.
Specificati adresa masinii de pe care obtineti, local, copia de lucru a proiectului SVN.
Ulterior, puteti selecta folder-ele din proiect ce vor fi aduse intr-o copie locala. Alegeti un folder
si selectati Checkout. Puteti specifica parametrii pentru aceasta operatie. Numele implicit de
proiect va fi acelasi cu numele locatiei repository-ului ales. Puteti, insa, specifica orice nume
doriti, dupa care continuati, apasand Next:
Puteti preciza locatia unde va fi salvata copia de lucru. Puteti alege orice locatie de pe disc, dupa
care apasati Finish:
Dupa finalizarea acestor operatii veti vizualiza copia de lucru, in forma proiect Eclipse. In
continuare, toate operatiile SVN pot fi declansate prin apasarea butonului drept al mouse-ului si
alegerea intrarii Team.
Exercitii
Pentru toate exercitiile va veti grupa in echipe de cate 2 persoane, ce vor lucra la un calculator.
Fiecarei echipe i se va aloca un repository. Exista doua posbilitati:
utilizarea masinii virtuale, ce permite crearea de noi repository-uri
o Acces: din contul de pe fep (de exemplu, din fereastra FreeNX):
$ ssh idp@10.42.5.137
o Username: idp
o Password: idp
(rezerva) utilizarea unor repository-uri existente
o Acces: https://cipsm.hpc.pub.ro/svn/idpX, unde X este intre 1 si 12
o Username: idp_user
o Password: student
Instalare Subclipse.
o Pentru inceput, veti verifica daca Subclipse a fost instalat in instanta personala de
Eclipse. In caz contrar, veti urma pasii descrisi anterior pentru instalarea
componentei in Eclipse.
o Dupa instalare, realizati urmatoarea configurare: in Window → Preferences →
Team → SVN, schimbati clientul SVN interface din JavaHL in SVNKit.
Creare repository si importare proiect.
o Creati un repository in masina virtuala, in /home/idp/repos, ce va purta numele
echipei
o Creati un proiect Eclipse, ce va contine clasele de mai jos:
One.java
public class One {
int i;
float j;
}
Two.java
public class Two {
// Hello
}
Resurse utile
Pagina oficiala Subversion (http://subversion.tigris.org/)
Version Control with Subversion, free book (http://svnbook.red-bean.com/)
Subclipse (http://subclipse.tigris.org/)
Tutorial Subclipse (http://www.scribd.com/doc/245105/Subclipse-tutorial)