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

Subversion on kehitetty korvaamaan CVS.http://svnbook.red-bean.com/en/1.7/svn.intro.whatis.html#svn.intro.history 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.

Lähteet

Aiheesta muualla

Subversionin kotisivu Version Control with Subversion kirja verkossa

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