2. Concurrent Versions System (CVS)
Cuprins:
Ce este CVS?
Caracteristici si functionare
Setul de comenzi
Terminologie
Concluzii
3. Concurrent Versions System (CVS)
Ce este Concurrent Versions System?
Concurrent Versions System (CVS) este
un sistem client-server de control al versiunilor,
folosit pe larg în dezvoltarea de software.
Acesta inț e in eviden a tț oate modificarile într-
un set de fisiere, permitand colaborarea mai
multor developeri (separati in timp si spatiu).
4. Concurrent Versions System (CVS)
Caracteristici si functionare
CVS are o arhitectura client-server
- serverul tine baza de date a proiectului si
evidenta modificarilor, iar clientii se
conecteaza la server pentru a obtine o copie
a proiectului
- conectarea clientilor la server se face pe
reteaua locala (LAN) sau pe internet, dar CVS
permite rularea serverului si a clientului pe
acelasi calculator.
5. Concurrent Versions System (CVS)
Caracteristici si functionare
- serverul ruleaza, de regula, pe un calculator
UNIX, in timp ce programele client sunt
suportate pe o varietate larga de sisteme de
operare.
6. Concurrent Versions System (CVS)
Caracteristici si functionare
Principiul de functionare:
- CVS pastreaza o magazie centrala a celor mai
recente versiuni ale fisierelor (repository
global)
- utilizatorii pot introduce fisiere in CVS, actualiza
fisiere deja existente si extrage fisiere la
versiunea dorita
7. Concurrent Versions System (CVS)
Caracteristici si functionare
- sistemul poate fi folosit
concurent de catre mai
multi utilizatori, oferind
posibilitatea de
combinare a versiunilor
editate de diferiti useri
8. Concurrent Versions System (CVS)
Caracteristici si functionare
- exista si posibilitatea de a dezvolta fisiere si pe
mai multe ”ramuri”, de exemplu dezvoltarea
unei noi caracteristici a aplicatiei fara a
intrerupe lantul de versiuni functionale
- in momentul in care caracteristica e finalizata,
ramurile pot fi unite
9. Concurrent Versions System (CVS)
Setul de comenzi
In cele ce urmeaza sunt prezentate comenzile
cele mai importante, care pot fi date in linia de
comanda sau prin intermediul unei interfetei
grafice.
cvs checkout:
- realizeaza o copie locala a fisierelor proiectului
din repository-ul global
- comanda intoarce ultima versiune a fisierelor,
daca nu este specificat altfel
10. Concurrent Versions System (CVS)
Setul de comenzi
cvs update:
- este folosita pentru actualizarea modificarilor asupra
fisierelor locale fata de repository
- in cazul in care in repository-ul global au avut loc
modificari, se realizeaza o sincronizare intre copia
globala si cea locala astfel:
• fisierele nemodificate local vor fi inlocuite cu
ultima versiune din repository
• pentru fisierele care au fost modificare local
se va realiza o ”unificare” (merge) cu cele din
repository-ul global
11. Concurrent Versions System (CVS)
Setul de comenzi
cvs commit:
- se executa atunci cand fisierele noastre sunt
gata sa fie vazute de restul echipei
- se recomanda sa se specifice un mesaj la fiecare
comitere, pentru a se aminti modificarile
comise
- comanda se realizeaza cu succes daca fisierele
modificate de noi nu au fost modificate intre
timp de alte persoane (adica nu avem conflicte)
12. Concurrent Versions System (CVS)
Setul de comenzi
cvs add/remove:
- sunt folosite pentru a adauga un fisier complet
nou in CVS sau pentru a inlatura un fisier
existent
- pentru ca adaugarea sau inlaturarea sa fie
executata cu succes, trebuie facuta o comitere
ulterior
13. Concurrent Versions System (CVS)
Setul de comenzi
cvs release:
- se ruleazea aceasta comanda cand s-a
terminat de lucru cu copia locala si se vrea a fi
inlaturata copia locala
- aceasta comanda este practic inversa comenzii
checkout.
14. Concurrent Versions System (CVS)
Setul de comenzi
cvs diff:
- pentru a se vedea diferenta intre copia locala si
ultima versiune comisa in CVS, se foloseste
aceasta comanda
- se poate folosi un vizualizator extern pentru a
observa mai usor modificarile
16. Concurrent Versions System (CVS)
Terminologie
Repository:
directorul in care sunt pastrate copiile master
ale fisierlor. Repository-ul principal sau master
este o structura de directoare.
Module:
un director din repository-ul global. Acestea
sunt definite in fisierul de module al CVS-ului.
17. Concurrent Versions System (CVS)
Terminologie
Check out:
operatia prin care se realizeaza o copie locala a
fisierelor din repository-ul global pentru a fi
examinate sau editate.
Revision:
o eticheta numerica care identifica versiunea
unui fisier.