Luku 3. Arkisto

Sisällys

Arkiston luonti
Arkiston luonti komentoriviltä
Arkiston luonti TortoiseSVN:n avulla
Arkiston paikallinen käyttö
Arkiston käyttö verkkojaolta
Arkiston rakenne
Arkiston varmistus
Palvelinpään komentojonot
Noutolinkit
Arkiston käyttö
Svnserve-palvelin
Johdanto
Svnserven asennus
Svnserven käynnistys
Perustunnistaminen svnserveä käytettäessä
Parempaa tietoturvaa SASLin avulla
Tunnistaminen svn+ssh -yhteyskäytännöllä
Polkuihin perustuva valtuutus svnservellä
Apache-pohjainen palvelin
Johdanto
Apachen asentaminen
Subversionin asentaminen
Määrittely
Useita arkistoja
Polkuperustainen valtuutus
Tunnistus Windows-toimialueella
Useita tunnistustapoja
Palvelimen turvaaminen SSL-tekniikalla
Asiakasvarmenteiden käyttö SSL-näennäispalvelimilla

Riippumatta yhteyskäytännöstä, jota käytät kytkeytyessäsi arkistoihisi, sinun täytyy aina luoda vähintään yksi arkisto. Tämän voi tehdä joko Subversion-komentoriviltä tai TortoiseSVN:n avulla.

Jos et ole vielä luonut Subversion-arkistoa, niin nyt on hyvä aika tehdä se.

Arkiston luonti

Voit luoda arkiston uudemmassa FSFS-muodossa tai vanhemmassa Berkeley Database (BDB) -muodossa. FSFS on yleisesti ottaen nopeampi ja toimii verkkojakojen sekä Windows 98:n kanssa ongelmitta. BDB on vakaampi, koska se on ollut käytössä pidempään; toisaalta FSFS on nyt ollut käytössä vuosia, joten perustelu ontuu hieman. Lue lisää Subversion-kirjan kappaleesta Choosing a Data Store.

Arkiston luonti komentoriviltä

  1. Luo tyhjä kansio nimellä SVN (esim. D:\SVN\), josta tulee juuri kaikille arkistoillesi.

  2. Luo toinen kansio MyNewRepository kansion D:\SVN\ sisälle.

  3. Avaa komentokehote (ts. DOS-ikkuna), vaihda kansioon D:\SVN\ ja kirjoita

    svnadmin create --fs-type bdb MyNewRepository
    

    tai

    svnadmin create --fs-type fsfs MyNewRepository
    

Nyt olet luonut uuden arkiston, jonka sijainti on D:\SVN\MyNewRepository.

Arkiston luonti TortoiseSVN:n avulla

Kuva 3.1. TortoiseSVN-valikko versioimattomille kansioille

TortoiseSVN-valikko versioimattomille kansioille

  1. Avaa Windows-resurssienhallinta

  2. Luo uusi kansio ja nimeä se esim. SVNRepository

  3. Oikea-napsauta juuri luodun kansion päällä ja valitse TortoiseSVNLuo arkisto tähän....

    Tämä luo arkiston uuden kansion sisälle. Älä muokkaa arkistokansion tiedostoja itse!. Jos saat virheilmoituksen, varmista että kansio on tyhjä eikä sitä ole kirjoitussuojattu.

Vihje

TortoiseSVN ei enää sisällä valintaa BDB-arkistojen luomiseen, vaikka voit yhä käyttää komentoriviä niiden luomiseen. FSFS-arkistot ovat yleisesti ottaen helpompia ylläpitää; TortoiseSVN on myöskin helpompi ylläpitää, koska eri BDB-versioiden välinen yhteensopivuus ei ole aina ollut suoraviivaista.

Näistä yhteensopivuussyistä johtuen TortoiseSVN:n tulevat versiot eivät enää tue file:// -yhteyskäytäntöä BDB-arkistoihin. Sen sijaan yhteyskäytäntöjä svn://, http:// ja https:// tullaan aina tukemaan myös BDB-arkistoille. Kaikki uudet arkistot, joihin kytkeydytään file:// -yhteyskäytännöllä, kannattaa siis luoda FSFS-muodossa.

Suositamme tietysti myös, ettet käytä file:// -yhteyskäytäntöä ollenkaan, pois lukien paikalliset testaustarpeet. Palvelimen käyttö on turvallisempaa ja luotettavampaa, jos kyseessä ei ole TortoiseSVN:n käyttö yhden kehittäjän tarpeisiin.

Arkiston paikallinen käyttö

Käyttääksesi paikallista arkistoasi tarvitset polun sen sisältävään kansioon. Muista, että Subversion odottaa kaikkien arkistopolkujen olevan muotoa file:///C:/SVNRepository/. Huomaa kauttaviivojen '/' käyttö.

Päästäksesi verkkojaolla olevaan arkistoon voit käyttää joko UNC-polkua tai sitoa sen asemakirjaimeen. UNC-poluille oikea muoto on file://palvelin/polku/arkistoihin/. Huomaa, että edeltäviä kauttaviivoja on tässä vain kaksi.

Ennen SVN-versiota 1.2 UNC-polut piti antaa hankalammassa muodossa file:///\palvelin/polku/arkistoihin. Tämä muoto on yhä tuettu, mutta ei suositeltu.

Varoitus

Älä luo tai kytkeydy Berkeley DB -tekniikalla toteutettuun arkistoon verkkojaon kautta. Se ei voi sijaita etätiedostojärjestelmässä. Ei edes silloin, kun olet kytkenyt verkkojaon asemakirjaimeen. Jos yrität käyttää Berkeley DB-tekniikalla toteutettua arkistoa verkkojaon kautta, tulokset eivät ole ennustettavissa - saatat hei nähdä kummallisia virheitä, tai voi mennä kuukausia ennen kuin havaitset, että arkisto on hienovaraisesti mennyt rikki.

Arkiston käyttö verkkojaolta

Vaikka on teoriassa mahdollista sijoittaa FSFS-arkisto verkkojaolle ja sallia sen yhtäaikainen käyttö file:// -yhteyskäytännöllä, tätä tapaa ei suositella eikä tueta.

Ensinnäkin: kaikilla käyttäjillä on suora kirjoitusoikeus arkistoon, joten joku voi vahingossa tuhota koko arkiston tai tehdä sen muulla tavoin käyttökelvottomaksi.

Toisekseen, kaikki verkkojakojen yhteyskäytännöt eivät tue Subversionin tarvitsemaa lukitustyyliä, joten arkistosi saattaa mennä sekaisin. Voi olla, että näin ei käy heti, mutta jonain päivänä kaksi käyttäjää yrittää varmasti käyttää arkistoa samanaikaisesti.

Kolmanneksi, tiedostojen saantioikeudet täytyy asettaa oikein. Saatat selvitä tästä tavallisella Windows-jaolla, mutta SAMBA on tässä suhteessa erityisen vaikea.

file:// -yhteyskäytäntö on tarkoitettu paikallisille yhden käyttäjän arkistoille, erityisesti testaamiseen ja virheiden etsintään. Kun haluat jakaa arkiston, sinun on todella asennettava oikea palvelin, eikä se ole läheskään niin vaikeaa kuin saatat kuvitella. Luku ”Arkiston käyttö” sisältää vinkkejä palvelimen valintaan ja asentamiseen.

Arkiston rakenne

Ennen kuin tuot tietosi arkistoon, sinun pitäisi ensin miettiä, miten haluat järjestää tietosi. Jos käytät yhtä suositelluista tavoista, arkiston käyttö on jatkossa paljon helpompaa.

On olemassa muutamia suositeltuja tapoja järjestää arkisto. Useimmat ihmiset luovat trunk -hakemiston, joka sisältää kehityksen ”päälinjan”, branches-hakemiston, joka sisältää kehityshaarat, ja tags-hakemiston, joka sisältää merkityt versiot. Jos arkisto sisältää vain yhden projektin, on tavallista luoda seuraavat ylätason hakemistot:

/trunk
/branches
/tags

Jos arkistossa on useita projekteja, on usein tapana indeksoida rakenne haaroittain:

/trunk/paint
/trunk/calc
/branches/paint
/branches/calc
/tags/paint
/tags/calc

...tai projekteittain:

/paint/trunk
/paint/branches
/paint/tags
/calc/trunk
/calc/branches
/calc/tags

Projekteittain indeksointi on järkevää, jos projektit eivät ole läheisessä suhteessa keskenään ja kustakin haetaan versioita itsenäisesti. Keskenään suhteessa oleville projekteille, joille saatat haluta kaikki projektit kerralla, tai missä kaikki projektit muodostavat yhden levityspaketin, on usein parempi indeksoida haaroittain. Tällöin työkopio voidaan noutaa yhdestä trunk-hakemistosta, ja aliprojektien suhteet ovat paremmin näkyvissä.

Jos otat käyttöön päätason /trunk /tags /branches -lähestymistavan, mikään ei kuitenkaan pakota sinua kopioimaan koko trunk-hakemistoa jokaista haaraa ja merkittyä versiota varten, ja monilla tavoin tämä rakenne joustaa eniten.

Toisistaan riippumattomille projekteille erillisten arkistojen käyttö saattaa olla parempi ajatus. Kun toimitat muutoksia, koko arkiston versionumero muuttuu, ei pelkästään projektin versionumero. Kun kaksi riippumatonta projektia jakaa arkiston, voi yhden projektin versionumeroissa olla suuria aukkoja. Subversion- ja TortoiseSVN-projektit löytyvät samasta palvelimesta, mutta ovat eri arkistoissa, mikä sallii itsenäisen kehityksen ja välttää versionumerosekaannukset.

Voit tietenkin jättää tavanomaiset tavat järjestää arkisto huomiotta ja luoda niistä minkä tahansa muunnelman, joka sopii parhaiten ryhmällesi. Muista, että mitä valitsetkin, päätös ei ole lopullinen. Voit järjestää arkiston uudelleen milloin vain. Koska haarat ja merkityt versiot ovat tavallisia hakemistoja, TortoiseSVN voi siirtää tai nimetä ne uudelleen miten vain tahdot.

Siirtyminen yhdestä rakenteesta toiseen voidaan toteuttaa helposti joukolla siirtokomentoja palvelimella; Jos et pidä arkiston rakenteesta, voit siirrellä hakemistoja ympäriinsä arkistoselaimella.

Jos et siis vielä ole luonut peruskansiorakennetta arkistoosi, se kannattaa tehdä nyt. Tähän on kaksi tapaa. Jos haluat pelkästään luoda /trunk /tags /branches -rakenteen, voit käyttää arkistoselainta luodaksesi kolme kansiota (kolmella erillisellä toimituksella). Jos taas haluat luoda syvemmän hierarkian, on yksinkertaisempaa luoda kansiorakenne paikalliselle levylle ja tuoda se arkistoon yhdellä toimituksella:

  1. luo uusi, tyhjä hakemisto kiintolevyllesi

  2. luo haluamasi ylätason rakenne juuri luomaasi kansioon - älä vielä lisää tiedostoja!

  3. tuo tämä rakenne arkistoon napsauttamalla hiiren oikeaa näppäintä kansion päällä ja valitsemalla TortoiseSVNTuo arkistoon... Tämä tuo väliaikaisen kansiosi arkiston juureen arkiston perusrakenteen luomiseksi.

Huomaa että tuomasi kansion nimi ei näy arkistossa, pelkästään sen sisältö. Esimerkki: Luo seuraava kansiorakenne

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

Tuo C:\Temp\New arkiston juureen, joka näyttää lopputuloksena seuraavalta:

/trunk
/branches
/tags