Professional Documents
Culture Documents
Subversion
Subversion
1/3
2/3
3/3
Reenje
...
Podela sistema za
kontrolu verzija
Centralizovane
Decentralizovane
Lock-Modify-Unlock
Copy-Modify-Merge
Centralizovani SKV
Predstavnici
CVS,
Subversion
V. SourceSafe ...
Prednosti
Repoz.
Jednostavnija imlementacija
Jednostavniji backup
Uvid u stanje celokupnog projekta
Mane
loa skalabilnost
jedna taka otkaza
tea saradnja izmeu tzv. commiter-a i
noncommiter-a
Decentralizovani SKV
Repoz.
Repoz.
Predstavnici
Prednosti
Mane
Repoz.
sloenija implementacija
uvid u stanje celog projekta nije mogu
Lock-Modify-Unlock semantika
Copy-Modify-Merge semantika
Subversion glavne
osobine
1/3
Subversion glavne
osobine
2/3
Subversion glavne
osobine
3/3
Subversion scenario
korienja
Subversion alati iz
komandne linije
svn
svnadmin
svnlook
svnversion
svnserve
svndumpfilter
Subversion podeavanje
radnog okruenja
Instalacija plugina.
npr. https://puppet.tmd.ns.ac.yu/svn/test
Subversion preporueni
layout repozitorijuma
Root
|----- Naziv projekta 1--- trunk---dir1
|
|
|----- dir2
|
|
|----- dir3
|
|
|
|---------- branches
|
|
|----ime grane1--- dir1 grane1
|
|
|
|------- dir2 grane2
|
|
|---- ime grane2 --- dir1 grane2
|
|
...
|
|----------- tags
|
|----ime taga1--- dir1 grane1
|
|
|------- dir2 grane2
|
|---- ime taga2 --- dir1 grane2
|
...
|------ Naziv projekta2----
1/2
Subversion preporueni
layout repozitorijuma
2/2
Subversion kreiranje
radne kopije
Operacija je update
Sve promene koje su nastale u
repozitorijumu od poslednje operacije
update (ili checkout) postae vidljive u
radnoj kopiji.
Moe izazvati konflikt.
Navoenjem revizije, ovom komandom je
mogue radnu kopiju vratiti u bilo koji
trenutak iz prolosti.
Operacija je commit.
Sve promene u lokalnoj kopiji koje su
nastale od poslednje operacije commit e
postati vidljive u repozitorijumu.
Ukoliko postoje promene u repozitorijumu
koje su izvor potencijalnog konflikta SVN
e zahtevati da se prethodno uradi
operacija update.
Po zavrenoj operaciji commit revizija
repozitorijuma e biti vea za 1 a
promene e biti vidljive u tekuoj reviziji
Subversion dodavanje i
brisanje
Subversion ponitavanje
lokalnih promena
Subversion - konflikti
1/4
Subversion - konflikti
2/4
Subversion - konflikti
Markeri u kodu
<<<<<<< .mine
<kod lokalne kopije>
=======
<kod iz repozitorijuma>
>>>>>>> .r<tekua(HEAD) verzija>
3/4
Subversion - konflikti
4/4
Razreavanje
Izmenom X fajla
brisanje markera
izmena koda tako da bude u skladu sa onim to
elimo. Moemo ostaviti na kod, ostaviti ono to
je stiglo iz repozitorijuma ili napisati neto novo.
Ukoliko zadravamo samo nae promene
kopiramo X.mine fajl
Ukoliko zadravamo samo promene iz rep.
kopiramo X.r<HEAD revizija> fajl
Ukoliko odustajemo od svih izmena kopiramo
X.r<BASE revizija> fajl
Subversion - revizije
numerike
simbolike
kreu od 0
HEAD
BASE
COMMITED
PREV
datumske
po vremenu i datumu
predstavlja reviziju koja je kreirana
neposredno pre zadatog trenutka
ukoliko se vreme ne navede smatra se
poetak dana
Subversion istorija
projekta
Subversion - kopiranje
1/2
Subversion - kopiranje
2/2
Subversion - premetanje
1/2
Subversion - premetanje
2/2
Subversion
refaktorisanje koda
Subversion obeleavanje
1/2
Subversion - obeleavanje
2/2
Subversion grananje
1/2
Subversion - grananje
2/2
Subversion prelazak na
granu
Subversion spajanje
promena sa grana
1/2
Operacija je merge.
Omoguava integraciju promena koje su
se desile izmeu dve revizije istog URL-a
ili izmeu dva URL-a u lokalnu radnu
kopiju.
Moe izazvati konflikte.
Subversion spajanje
promena sa grana
2/2
[global]
http-proxy-host = 192.168.1.100
http-proxy-port = 8080
Literatura