Poglavlje 3. Spremište

Sadržaj

Kreiranje spremišta
Kreiranje spremišta klijentom komandne linije
Kreiranje spremišta sa TortoiseSVN
Lokalni pristup spremištu
Pristupanje spremištu na mrežnom deljenom prostoru
Izgled spremišta
Osiguranje spremišta
Zakačive skripte sa serverske strane
Veze preuzimanja
Pristupanje Spremištu
Svnserv zasnovan server
Uvod
Istaliranje svnserva
Pokretanje svnserva
Osnovna autentifikacija sa svnserv
Bolja sigurnost sa SASL
Autentifikacija sa svn+ssh
Putanjom-zasnovana autorizacija sa svnservom.
Apaš zasnovan server
Uvod
Instaliranje Apaša
Instaliranje Subverzije
Konfiguracija
Višestruka spremišta
Autorizacija zavisna od putanje
Autentifikacija sa Vindouz domenom
Višestruki autentifikacioni izvori
Osiguranje servera sa SSL
Korišćenje klijent sertifikata sa virtualnim SSL domaćinima.

Nije bitno koji protokol koristite da pristupite spremištu, uvek vam je potrebno da kreirate bar jedno spremište. Ovo može biti urađeno Subverzionom komandnom linijom ili klijentom sa TortoiseSVN.

Ako još niste kreirali Subverziono spremište, vreme je da to uradite sada.

Kreiranje spremišta

Možete kreirati spremište sa FSFS kraj ili stari Berkli baza podataka (BDB) format. FSFS format je generalno brži i lakši za administraciju, radi na mrežnom deljenom prostoru i Vindouz 98 bez problema. BDB format je zamišljen mnogo stabilnijim jednostavno zato što se duže koristi, ali od kako je FSFS u upotrebi nekoliko godina taj argument je sve slabiji. Pročitajte Izbor smeštanja podataka u Subverzionoj knjizi za više informacija.

Kreiranje spremišta klijentom komandne linije

  1. Kreirajte prazan imenik sa imenom SVN (npr. D:\SVN\), koji se koristi kao koren za sva spremišta.

  2. Kreirajte drugi imenik MyNewRepository unutar D:\SVN\.

  3. Otvorite komandni prompt (ili DOS -boks), pređite u D:\SVN\ and type

    svnadmin create --fs-type bdb MyNewRepository
    

    or

    svnadmin create --fs-type fsfs MyNewRepository
    

Sada imate spremište u D:\SVN\MyNewRepository.

Kreiranje spremišta sa TortoiseSVN

Slika 3.1. TortoiseSVN meni za neverzionisani imenik

TortoiseSVN meni za neverzionisani imenik

  1. Otvorite vindouz pretraživač

  2. Kreirajte novi imenik i nazovite ga npr. SVNRepository

  3. Desni-klik na novo kreirani imenik i izaberite TortoiseSVNKreirajte spremište ovde....

    Spremište će biti kreirano unutar novog imenika. Nemojte uređivati te fajlove sami!!!. Ako dobijete bilo kakvu grešku osigurajte da imenik bude prazan i nije zaštićen od upisivanja.

Savet

TortoiseSVN više ne nudi opciju da se kreira BDB spremište, ali još možete koristiti klijenta komandne linije da ga kreirate. FSFS spremišta su generalno jednostavnija za rukovanje i nama lakša da održavamo TortoiseSVN preko kompatibilnih problema između raznih BDB verzja.

Buduće verzije TortoiseSVN neće podržati file:// pristup BDB spremištima zbog kompatibilnih problema, ali će svakako uvek podržavati taj format spremišta kada se pristupa preko servera kroz svn://, http:// ili https:// protokole. Iz tog razloga čvrsto preporučujemo da svako novo spremište kojem se mora pristupati koristeći file:// protokol bude kreirano kao FSFS.

Svakako takođe preporuujemo da ne koristite file:// pristuo uopšte, čak ni iz lokalnih potreba testiranja. Korišćenje servera je mnogo sigurnije i mnogo pouzdanije za sve osim u korišćenju pojedinačnog-programera.

Lokalni pristup spremištu

Da se pristupi lokalnom spremištu potrbna je putanja do tog imenika. Setimo se da Subverzija očekuje sve putanje spremišta u obliku file:///C:/SVNRepository/. Zapazimo korišćenje pravih kosih crta u celoj putanji.

Da bi se pristupilo spremištu na mrežnom deljenju i možete koristiti ili mapiranje drajva, ili koristiti UNC putanju. Za UNC putanje oblik je file://ServerName/path/to/repoš. Primetimo da ovde imamo 2 vodeće kose crte.

Pre SVN 1.2, UNC putanje su bile date u čudnijem obliku file:///\ServerName/path/to/repos. Ovaj oblik se još podržava, ali se ne preporučuje.

Upozorenje

Ne treba kreirati ili pristupati Berkli DB spremištu na mrežni deljeni prostor. To ne može postojati na udaljenom fajl sistemu. Niti čak ako imate mrežni drajv mapiran slovom drajva. Ako pokušate da koristite Berkli DB na mrežnoj izmeni, rezultat je nepredvidljiv - možete videti misteriozne greške trenutno, ili mogu proći meseci pre nego otkrijete da je vaša baza podataka spremišta neznatno pokvarena.

Pristupanje spremištu na mrežnom deljenom prostoru

Takođe je poznato u teoriji da je moguće staviti FSFS spremište na mrežnom deljenom prostoru i imati višestruki korisnički pristup koristeći file:// protokol, ovo se definitivno ne preporučuje. U stvari možemo čvrsto obeshrabriti to, i ne podržati takvo korišćenje.

Najpre dajete svakom korisniku direktno pravo upisa u spremište, tako da bilo koji korisnik može slučajno obrisati celo spremište ili ga učiniti nekorisnim na neki drugi način.

Drugo, neće svi protokoli za mrežni deljeni prostor podržavatizaključavanje koje zahteva Subverzija, tako da možete naći vaše spremište pokvareno. To se ne mora desiti odmah, ali jednog dana dva korisnika mogu pokušati da pristupe spremištu u isto vreme.

Treće, fajl dozvole mogu biti tako podešene. Možete otići na prirodni Vindouz deljeni prostor, ali SAMBA je posebno teška.

file:// pristup je planiran za lokalni, samo jedan-korisnik pristup, partikularno testiranje i debagovanje. Kada želite deljenje spremišta vi stvarno treba da podesite odgovarajući server, i to nije skoro tako teško kako se može pomisliti. Pročitajte odeljak pod imenom „Pristupanje Spremištu“ za vodič kako izabrati i podesiti server.

Izgled spremišta

Pre nego uvezete vaše podatke u spremište morate najpre razmisliti kako želite da organizujete podatke. Ako koristite neki od preporučenih iugleda kasnije će vam biti lakše.

Postoje neki standardni, preporučljivi načini organizovanja spremišta. Većina ljudi kreira deblo imenik da čuva „glavnu liniju“ razvoja, grane imenik da čuva kopije grana, i znake imenik da drži kopije oznaka. Ako spremište sadrži samo jedan projekat, tada ljudi često kreiraju vršni imenik:

/trunk
/branches
/tags

Ako spremište sadrži više projekata, ljudi čest indeksiraju njhov izgled granama:

/trunk/paint
/trunk/calc
/branchešpaint
/branchešcalc
/tagšpaint
/tagšcalc

...ili projektom:

/paint/trunk
/paint/branches
/paint/tags
/calčtrunk
/calčbranches
/calčtags

Indeksiranje pomoću projekata je osetljiv na to da li su projekti blisko uporedivi i da li se svaki može individualno preuzeti. Za uporedive projekte gde možete preuzetii sve projekte ođednom, ili gde su svi projekti vezani zajedno u jedan distribucioni paket, često je bolje indeksiranje grana. U ovom slučaju vam je potrebno jedno deblo za preuzimanje i povezanost između sub-projekata je mnogo lakše vidljiva.

Ako usvojimo vršni nivo /trunk /tags /branches pristup, nije ništa reći da imate kopirati celo deblo za svaku granu i znak, i u neki put ova struktura nudi najveću flksibilnost.

Za projekte koji nisu povezani možete više voleti da koristite odvojena spremišta. Kada urezujete izmene, revizioni broj celog spremišta se menja, ne revizioni broj projekta. Ako imate 2 nezavisna projekta deljenje spremišta može značiti velike praznine u revizionim brojevima. Subverzija i TortoiseSVN projekti se pojavljuju na istim adresama domaćina, ali su sasvim nezavisna spremišta omogućavajući nezavisan razvoj i nema kofuzije oko razvojnih brojeva.

Svakako, slobodni ste da zanemarite ovaj zajednički izgled. Možete kreirati bilo koju vrstu varijacija, što god radi bolje za vaš tim. Setite se da što god izaberete to nije stalno urezivanje. Vi možete reorganizovati vaše spremište bilo kada. Pošto su grane i oznake pravi imenici TortoiseSVN ih može pomerati i preimenovati kad god želite.

Prebacivanje sa jednog izgleda na drugi je tek stvar emitovanja serije pomeranja sa serverske strane; Ako ne volite način na koji su stvari organizovane u spremištu, malo žonglirajte okolnim imenicima.

Tako, ako niste već kreirali strukturu osnovnog imenika unutar vašeg spremišta treba to da uradite sada. Postoje dva načina da se to postigne. Ako jednostavno želite da kreirate /trunk /tags /branches strukturu možete koristiti pretraživač spremišta da kreirate ta tri imenika (u tri posebna urezivanja). Ako želite da kreirate dublju hijerarhiju tada je to slično najpre kreiranju strukture imenika na disku i njen uvoz pri jedinstvenom urezivanju kao ovo:

  1. kreirajte prazan imenik na vašem čvrstom disku

  2. kreirajte željeni vršni-nivo imenik strukturu unutar tog imenika - nemojte stavljati nijedan fajl još!

  3. uveite ovu strukturu u spremište preko desni klik na imenik i izborom TortoiseSVNUvezi... Ovo će uvesti vaš privremeni imenik u koren spremišta da kreira osnovni izgled spremišta.

Primetimo da ime imenika koji uvozite ne pojavljuje se u spremištu, samo sadržaj. Na primer, kreirajte sledeće strukture imenika:

C:\Temp\New\trunk
C:\Temp\New\branches
C:\Temp\New\tags

Uvezite C:\Temp\New u koren spremišts, koje će sada izgledati kao:

/trunk
/branches
/tags