Sunteți pe pagina 1din 16

Terminologia specifică SCV

Autor : Carp Alexandra


Catedra ” Informatică I ”
Prin terminologie specifică se subînțelege
totalitatea termenilor utilizați în cadrul lucrului cu
sistemele de control alversiunilor.
În cele ce rmează, vom da definiția concretă
pentru cei mai des utilizați termeni.
Repository

• „Depozitul“ în care sunt păstrate fișierele curente și versiunile


anterioare. Deseori acest depozit este o bază de date găzduită pe un
server.
• Repository-ul este locul unde tot lucrul dezvoltatorilor este stocat. El
tine jurnalul arborelui, tuturor fisierelor utilizatorilor, precum si
directoarelor in care aceste fisiere se afla. Pe langa acestea repository-
ul stocheaza jurnalul tuturor modificarilor
Working copy

• Copie a fișierelor din repository pe calculatorul de lucru al unui


dezvoltator (de unde și numele). Acestea sînt fișierele pe care lucrează
un dezvoltator în mod obișnuit.
• Varianta locala, obtinuta de la server, pe care se fac modificarile
Check - out

• Operația de creare a unei copii de lucru luate din repository.


• Aducerea pe masina locala a versiunii de pe server, sub forma unei
working copy
• Operatie de checkout este invocata atunci cand este necesara creearea
unei noi copii de lucru pentru un repository care exista deja. O copie
de lucru este o copie integrala a repository-ului si reprezinta locul unde
dezvoltatorul de software va face modificari. Repository-ul este
impartit de mai multi dezvoltatori insa modificarile nu se fac direct
asupra acestuia, ci fiecare face modificarile asupra copiei de lucru.
Update

• Introducerea în copia de lucru a schimbărilor făcute de alte persoane


(colegi la același proiect) la repository.
• Operatia de update actualizeaza repository-ul aplicand modificarile de
pe acesta si combinandu-le cu alte modificari realizate pe copia de
lucru daca este cazul.
Commit sau check-in

• Cerere de publicare pe server a modificarilor facute asupra working


copy.
• Operația de introducere în repository a schimbărilor din copia de lucru
• Aplica repository-ului modificarile de pe copia de lucru, creand un nou
changeset (set de schimbari)
• Aceasta este o operatie care modifica propriu-zis repository-ul. Alte
operatii modifica copia de lucru si adauga operatii setului de schimbari
in asteptare (pending changeset), un loc unde operatiile asteapta
operatia de commit. Operatia de commit foloseste setul de schimbari in
asteptare pentru a creea o noua versiune a arborelului din repository.
• Un aspect important al acestei operatii este ca ea se realizeaza in mod
atomic, adica indiferent de numarul de schimbari din setul de
schimbari in asteptare , ori se vor realizeaza toate aceste operatii daca
nu apare nicio eroare ori nu se realizeaza nicuna in cazul in care una
sau mai multe modificari nu sunt in regula.
Revision

• Versiunea unui document


• O eticheta numerica care identifica versiunea unui fisier.
Import

• Popularea initiala a unui repository cu un proiect de pe masina locala


Conflict

• apare cand 2 utilizatori vor sa actualizeze acelasi document, dar


mecanismul nu este capabil sa imbine cele 2 variante. In acest caz, se
apeleaza la: Resolve
Resolve

• Gestioneaza conflicte aparute in urma operatiei merge.


• Actiune pe care utilizatorul o executa pentru a inlatura un conflict (de
exemplu, in cazul de mai sus, acceptarea variantei celuilalt utilizator in
defavoarea propriei variante)
• In unele cazuri operatia de merge necesita interventia unei persoane. In
general aceasta realizeaza toate modificarile care sunt vazute ca sigure,
in caz contrar aceste modificari sunt considerate conflicte. Spre
exemplu daca un fisier a fost modificat pe un anumit branch si pe un
altul a fost sters. Intr-o astfel de situatie persoanele implicate in
dezvoltarea pe acele ramuri trebuie sa cada de comun acord si sa
rezolve conflictul.
Trunk

• principala directie de dezvoltare a proiectului (ca insiruire de


revisions), in opozitie cu branches
Branches

• Ramuri secundare de evolutie a proiectului (de exemplu, in care se


testeaza feature-uri noi) .
• Bifurcarea unui set de fișiere în două căi de dezvoltare distincte.
• Operatia de branch este folosita atunci cand dezvoltarea unui anumit
produs are mai multe ramuri. Spre exemplu daca avem un produs care
sa afla la versiunea 1.0, putem crea un branch pe care sa se inceapa
dezvoltarea versiunii 2.0 si altul pe care sa se faca repararea de bug-uri
a primei versiuni.
Tag

• O „etichetă“ aplicată fișierelor din repository la un anumit moment


important din "viața" programului, de exemplu la lansarea unui produs
• Asociaza un nume cu semnificatie fiecarei versiuni specifice din
repository.
• Un tag este o combinatie de de litere, cifre, spatii mai putin virgula si
punct
Merge / integrare

• Unirea a două versiuni diferite ale unui aceluiași fișier într-o singură
versiune
• Aplica schimbari de pe o ramura pe alta.
• In mod uzual dupa ce s-a facut impartirea pe ramuri a muncii se
doreste o convergenta a acestora, cel putin partiala. Tinand cont de
exemplul anterior, este de dorit ca bug-urile reparate din prima
versiune sa fie reparata si in cea de-a doua versiune, acest lucru s-ar
putea face manual, acum acele bug-uri fiind cunoscute, insa merge
ofera posibilitatea automatizarii acestei operatii.
Thank you!

S-ar putea să vă placă și