Subversion

Subversion, lyhennettynä usein svn, on versionhallintajärjestelmä. Subversion on julkaistu Apache-lisenssillä, joka on avoimen lähdekoodin lisenssi.

Subversion on kehitetty korvaamaan CVS. CVS:n tavoin Subversion on niin sanottu toisen sukupolven versionhallintajärjestelmä, jonka toiminta pohjautuu keskuspalvelimeen; jollain palvelimella sijaitsee tietovarasto (repository) jota kaikki asiakasohjelmat päivittävät.

Subversion käsittelee versioita atomisesti: joko kaikki muutokset (useampaan hakemistoon ja tiedostoon) hyväksytään versiohallintaan tai ei mitään niistä.

Tietojen versiointi 
Subversion tallettaa revisionumeron, joka koskee hakemistopuun tilaa tietyllä hetkellä. Tämä eroaa CVS:stä, joka tallettaa tiedot RCS-tiedostoihin ja siten jokaisella tiedostolla on oma revisionumero.

Subversionissa jokainen muutos muuttaa hakemistopuun revisionumeroa.

Tietojen tallennus 
Subversion tukee kahta tapaa tallentaa versiohallinnassa olevat tiedot: Berkeley DB ja FSFS (Flat File System). FSFS on uudempi tapa, joka käyttää tavallisia tiedostoja ja on käytössä oletuksena versiosta 1.2 lähtien.

Palvelin 
Subversion-palvelin toimii WebDAV/DeltaV-protokollilla Apache-palvelinohjelman moduulin avulla. Vaihtoehtoisesti svnserven kanssa voi käyttää SSH-tunnelointia.

Kritiikkiä 
Subversionia kritisoidaan seuraavasti:
 Haarojen tekeminen on helppoa, mutta muutosten yhdistäminen on tuskallista. Subversion ei myöskään itse seuraa mitkä muutokset on yhdistetty.
 Ei voi siirtää muutoksia toiselle käyttäjälle viemättä keskuspalvelimen kautta.
 Ongelmia käsitellä tiedostojen tai hakemistojen uudelleennimeämisiä.
 Verkottoman toiminnan rajoitukset.
 Suorituskyky.

Katso myös 
 Ohjelmiston versiohallinta

Lähteet

Aiheesta muualla 

 Subversionin kotisivu
 Version Control with Subversion kirja verkossa 

Linux-ohjelmat
Mac OS -ohjelmat
Windows-ohjelmat
Vapaat ohjelmistot
Versionhallintajärjestelmät
Apache Software Foundation