Versiohallinta

Kohteesta Wikipedia
Loikkaa: valikkoon, hakuun

Versiohallinta on tekniikka, jolla pidetään kirjaa tiedostoihin (ja joskus myös paperiasiakirjoihin) tehdyistä muutoksista ja säilötään niiden vanhemmat versiot. Versiohallinnan kohteina voivat olla esimerkiksi CAD-piirustukset, erilaiset dokumentit tai ohjelmoinnissa lähdekoodi.

Koneenpiirustuksessa versiohallinta on ollut normaali menettelytapa jo vuosikymmeniä.

Versiohallinta tietotekniikassa[muokkaa | muokkaa wikitekstiä]

Laajempi esitys artikkelissa Ohjelmiston versiohallinta

Tietotekniikassa versiohallintaa käytetään yleisesti ohjelmistoja kehitettäessä. Hyvän toimintatavan mukaan lähdekoodi pyritään pitämään versiohallinnassa, jossa muilla kehittäjillä on siihen pääsy ja päällekkäisten muutosten mahdollisuus vähenee. Ohjelmiston versiohallinta tallentaa myös tiedostojen aikaleiman ja tiedoston tallentajan nimen, joka on tärkeää jo tietoturvankin kannalta. Versiohallinnassa voidaan määrittää tietty versio ohjelmasta koostuvaksi tiettyjen tiedostojen tietyistä versiosta, ja kehittää eri versioita rinnan.

Suuremmissa järjestelmissä on yleistä pitää myös konfiguraatiotiedostoja versiohallinnassa, jolloin muutoksia ja niiden tekijöitä voidaan seurata.

Useissa avoimen lähdekoodin ohjelmistoprojekteissa versiohallinta on yleisesti myös projektin ulkopuolelta luettavissa, jolloin käyttäjillä on mahdollisuus noutaa välittömästi uusimmat muutokset ja osallistua ohjelman kehittämiseen.

Versionhallintajärjestelmät[muokkaa | muokkaa wikitekstiä]

SCCS vuodelta 1972 on yksi ensimmäisistä järjestelmistä.

Versionhallintajärjestelmät voidaan jakaa kolmeen sukupolveen seuraavasti:[1]

  1. yksittäiset tiedostot, ei verkottamista: RCS, SCCS
  2. useampia tiedostoja, keskitetyt palvelimet: CVS, Subversion
  3. muutosjoukkoja, hajautetut palvelimet: Git, GNU Bazaar, Mercurial

Ensimmäisen sukupolven versiohallintajärjestelmät käsittelivät tiedostoja yksi kerrallaan.

Toinen sukupolvi osaa käsitellä useampia tiedostoja ja tukee verkottumista.

Kolmas sukupolvi tukee muutosjoukkoja (engl. changeset), jossa muutokset ovat jakamattomia useamman tiedoston kattavia muutoksia: tietty muutos voi vaatia muutoksen useampaan tiedostoon yhtä aikaa eikä ole sallittua jakaa eri päivityksiin.

Katso myös[muokkaa | muokkaa wikitekstiä]

Lähteet[muokkaa | muokkaa wikitekstiä]

  1. A History of Version Control Viitattu 23.2.2017.