Tiedon tuonti arkistoon

Tuo

Jos olet tuomassa uutta projektia arkistoon, joka sisältää olemassa olevia projekteja, on kansiorakenne jo kiinnitetty. Jos sen sijaan olet tuomassa projektia uuteen arkistoon, kannattaa miettiä hetki arkiston rakenteen organisointia. Luku ”Arkiston rakenne” käsittelee asiaa tarkemmin.

Tämä luku kuvaa Subversionin tuontikomennon, joka suunniteltiin kansiohierarkian tallettamiseksi arkistoon yhdellä kertaa. Vaikka tämä onnistuukin, komennossa on muutamia puutteita:

  • Tuotavia tiedostoja ja kansioita ei voi valita muuten kuin käyttämällä yleisiä ohitusasetuksia.

  • Tuotu kansio ei automaattisesti muutu työkopioksi, vaan sinun on haettava työkopio palvelimelta eri komennolla.

  • On helppoa vahingossa tuoda tiedostot arkistoon väärälle kansiotasolle.

Näistä syistä suosittelemme, ettet käytä tuontikomentoa, vaan noudatat sen sijaan luvussa ”Tuonti arkistoon työkopion kautta” kuvattua kaksivaiheista menetelmää (kolmas vaihtoehto on luoda yksinkertainen /trunk /tags /branches -rakenne arkistoosi). Seuraavat kappaleet kuvaavat kuitenkin itse tuontikomennon toiminnan.

Ennen kuin tuot projektisi arkistoon sinun tulee:

  1. Poistaa kaikki tiedostot, joita ei tarvita projektin rakentamiseen (väliaikaiset tiedostot, kääntäjän tuottamat tiedostot, esim. *.obj, käännetyt binääritiedostot, ...)

  2. Järjestää tiedostot kansioihin ja alikansioihin. Vaikka on mahdollista nimetä tiedostot ja siirtää niitä myöhemmin, on suositeltavaa laittaa projektirakenne kuntoon ennen tuontia!

Valitse nyt projektisi kansiorakenteen juurihakemisto Windows Resurssienhallinnassa ja napsauta hiire oikeaa näppäintä avataksesi kontekstivalikon. Valitse komento TortoiseSVNTuo arkistoon... joka avaa seuraavan ikkunan:

Kuva 4.6. Tuonti-ikkuna

Tuonti-ikkuna


Tähän ikkunaan sinun on annettava arkistopaikannin, johon haluat tuoda projektisi. On tärkeää muistaa, että paikallinen kansio, jota olet tuomassa, ei itse siirry arkistoon, vain sen sisältö. Jos kansiorakenteesi näyttää esimerkiksi seuraavalta:

C:\Projects\Widget\source
C:\Projects\Widget\doc
C:\Projects\Widget\images

ja tuot kansion C:\Projects\Widget arkistopaikantimeen http://mydomain.com/svn/trunk, saatat yllättyä havaitessasi, että alikansiosi ovat suoraan hakemistossa trunk alihakemiston Widget sijaan. Alikansio on annettava osana paikanninta: http://mydomain.com/svn/trunk/Widget-X. Huomaa, että tuontikomento luo automaattisesti alikansiot arkistoon, jos niitä ei vielä ole olemassa.

Tuontiviestiä käytetään lokiviestinä.

Oletusarvoisesti tiedostoja ja kansioita, jotka täsmäävät yleisen ohituslistan (global ignore pattern) kanssa, ei tuoda. Muuttaaksesi tätä käytäntöä voit ruksata Ota mukaan ohitetut tiedostot -valintalaatikon. Katso luvusta ”Yleiset asetukset” lisätietoa globaalin ohituslausekkeen asettamisesta.

Heti napsautettuasi OK-näppäintä TortoiseSVN tuo koko hakemistopuun kaikki tiedostot arkistoon. Projekti on nyt talletettu arkiston versionhallintaan. Huomaa, että kansio itse EI kuitenkaan versioidu! Saadaksesi työkopion juuri arkistoon tuoduista tiedostoista sinun on erikseen haettava niistä työkopio. Seuraavassa luvussa kuvataan vaihtoehtoinen tekniikka, jonka avulla voit tuoda tiedostot arkistoon ja luoda työkopion samalla kertaa.

Tuonti arkistoon työkopion kautta

Olettaen että sinulla on jo arkisto ja haluat lisätä siihen uuden kansiorakenteen, seuraa seuraavia ohjeita:

  1. Käytä arkistoselainta luodaksesi uuden projektikansion suoraan arkistoon. Jos käytät arkistossasi jotain vakioitua rakennetta, kansio kannattaa luoda päähaaran alikansioksi arkiston juuren sijaan. Arkistoselain näyttää arkiston rakenteen Windows-resurssienhallinnan tapaan, joten näet helposti, miten se on organisoitu.

  2. Hae työkopio uudesta kansiosta siihen kansioon, jonka haluat tuoda. Näet varoituksen, että paikallinen kansio ei ole tyhjä. Älä välitä siitä. Nyt sinulla on versioitu ylätason kansio, jossa on versioimatonta sisältöä.

  3. Käytä komentoa TortoiseSVNLisää... versioidussa kansiossa lisätäksesi muun sisällön. Voit lisätä ja poistaa tiedostojaon asettaa svn:ignore ominaisuuksia kansioille ja tehdä muita tarvittavia muutoksia.

  4. Toimita ylätason kansio arkistoon ja näin olet versioinut olemassa olevan kansiosi sekä saanut siitä paikallisen työkopion.

Erikoistiedostot

Joskus joudut versioimaan tiedoston, joka sisältää käyttäjäkohtaisia tietoja. Toisin sanoen jokainen käyttäjä/kehittäjä joutuu muokkaamaan sitä omiin tarpeisiinsa soveltuvaksi. Tällaisen tiedoston versiointi on kuitenkin vaikeaa, koska jokainen käyttäjä toimittaa joka kerta omat muutoksensa arkistoon.

Tällaisissa tapauksissa kannattaa käyttää tiedostopohjia. Luot tiedoston, joka sisältää kaikki kehittäjien tarvitsemat tiedot, lisäät sen versionhallintaan ja annat kehittäjien noutaa sen. Jokainen kehittäjä voi sitten tehdä kopion tiedostosta ja nimetä sen uudelleen. Tämän jälkeen kopion muokkaus ei ole enää ongelma.

Voit esimerkiksi vilkaista TortoiseSVN:n käännöskomentojonoa. Se kutsuu tiedostoa nimeltä default.build.user, jota ei ole arkistossa. Arkistossa on vain tiedosto default.build.user.tmpl, joka on pohja, josta kehittäjän on tehtävä kopio nimellä default.build.user. Tiedosto sisältää kommentteja, joista selviää, mitä rivejä pitää muuttaa paikallisia asetuksia vastaaviksi, jotta käännös toimisi.

Lopuksi lisäsimme vielä tiedoston default.build.user isähakemistonsa ohituslistaan, ts. sisällytimme sen Subversion-ominaisuuteen svn:ignore. Siten se ei turhaan näy toimitusikkunassa.