Professional Documents
Culture Documents
Termin 1 - Revision Control
Termin 1 - Revision Control
Uvod
Izvodjai nastave
Lista izvoaa nastave, kontakt informacije i termini za konsultacije:
http://www.esi.ftn.uns.ac.rs/index.php/predmeti/77-kvalitet
Cilj vebi
Sticanje osnovnih znanja o:
Kontroli revizija
Virtualizaciji
Pisanju testova
Principu automatizacije
Issue management
Statikoj analizi koda
Revision control
Kontrola revizije
Kontrola revizije (eng. Revision control (RC), Version control (VC)) je proces
upravljanja, praenja i kontrole izmena i verzija podataka (dokumenata,
fajlova, ...)
Svaka izmena se naziva revizijom (eng. revision) i identifikovana je nekim
ID-em
U softverskom inenjeringu, kontrola revizije se najee vri nad izvornim
kodom
Alati ili aplikacije pomou kojih se upravlja verzijama koda, i pomou kojih
se izmene u kodu prate i kontroliu su Sistemi za kontrolu revizija (eng.
Revision Control Systems, RCS)
Terminologija RC sistema
Repository (repozitorijum/repo) lokacija ili folder gde se nalaze interni
metapodaci potrebni za rad sistema, sauvana istorija izmena fajlova, kao i
fajlovi izvornog koda (opciono)
Working copy lokalna radna kopija fajlova preuzeta sa nekog
repozitorijuma
Trunk glavno stablo/sekvenca sa revizijama fajlova
Branch odvojena i nezavisna sekvenca dobijena kreiranjem nove sekvence
ili dobijena nakon grananja postojee sekvence
Head poslednja revizija na repozitorijumu tj. vrh sekvence
Conflict situacija kada postoje dve razliite izmene koje su izvrene od
strane dva razliita korisnika u istom fajlu
Operacije RC sistema
Checkout kreiranje radne kopije na osnovu podataka preuzetih sa nekog
repozitorijuma
Commit smetanje izmena sa radne kopije na repozitorijum
Update uitavanje izmena sa repozitorijuma i primenjivanje istih na radnu
kopiju tj. poravnavanje radne kopije sa izmenama na repozitorijumu
Merge spajanje i primenjivanje dve razliite revizije koje se nalaze na dva
razliita branch-a
Podela RC sistema
RC sistemi mogu se podeliti u sledee dve grupe:
Centralizovane
Distribuirane
Centralizovani RC sistemi
Postoji jedan referentni centralni repozitorijum na nekom serveru gde se
uvaju svi potrebni fajlovi, zajedniki za sve korisnike sistema
Na centralnom repozitorijumu se uva istorija izmena svih fajlova
Koriste sledea dva mehanizma za sinhronizaciju izmena od strane vie
korisnika:
Zakljuavanje fajl koji se menja od strane jednog korisnika se zakljua,
spreavajui ostale korisnike da vre izmene, sve dok korisnik ne otkljua fajl
koji je zakljuao
Spajanje razliite izmene izvrene od strane vie korisnika se spajaju i
primenjuju automatski ako je mogue, ili runo ako su izmene u istom fajlu
Distribuirani RC sistemi
Svaki korisnik sistema, pored radne kopije, poseduje svoj lokalni
repozitorijum
Na lokalnom repozitorijumu su sauvane informacije i podaci kao to je
istorija izmena fajlova
Izmene sa repozitorijuma jednog korisnika mogu se slati na/preuzeti sa
repozitorijuma drugog korisnika
Po dogovoru, jedan repozitorijum se moe proglasiti referentnim za sve
korisnike sistema
Arhitektura
Centralizovani RC sistem
(CVS, SVN, ...)
Distribuirani RC sistem
(Hg, Git, ...)
Repozitorijum
Centralizovani RC sistem
Distribuirani RC sistem
Hvala na panji