Subversion
Subversion | |
---|---|
Kehityshistoria | |
Vakaa versio | 1.14.4 ()[1] |
Kehitystilanne | Aktiivinen |
Tiedot | |
Ohjelmistotyyppi | Versionhallinta |
Lisenssi | Apache-lisenssi |
Aiheesta muualla | |
Verkkosivusto | |
Versiohallinta |
Subversion, lyhennettynä usein svn, on versionhallintajärjestelmä. Subversion on julkaistu Apache-lisenssillä, joka on avoimen lähdekoodin lisenssi.[2]
Subversion on kehitetty korvaamaan CVS.[3] 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.[4]
Subversion käsittelee versioita atomisesti: joko kaikki muutokset (useampaan hakemistoon ja tiedostoon) hyväksytään versiohallintaan tai ei mitään niistä.[5]
Tietojen versiointi
[muokkaa | muokkaa wikitekstiä]Subversion tallettaa revisionumeron, joka koskee hakemistopuun tilaa tietyllä hetkellä.[6] Tämä eroaa CVS:stä, joka tallettaa tiedot RCS-tiedostoihin ja siten jokaisella tiedostolla on oma revisionumero.[6]
Subversionissa jokainen muutos muuttaa hakemistopuun revisionumeroa.[5]
Tietojen tallennus
[muokkaa | muokkaa wikitekstiä]Subversion tukee kahta tapaa tallentaa versiohallinnassa olevat tiedot: Berkeley DB ja FSFS (Flat File System).[7] FSFS on uudempi tapa, joka käyttää tavallisia tiedostoja ja on käytössä oletuksena versiosta 1.2 lähtien.[7]
Palvelin
[muokkaa | muokkaa wikitekstiä]Subversion-palvelin toimii WebDAV/DeltaV-protokollilla Apache-palvelinohjelman moduulin avulla.[8] Vaihtoehtoisesti svnserven kanssa voi käyttää SSH-tunnelointia.[8]
Kritiikkiä
[muokkaa | muokkaa wikitekstiä]Subversionia kritisoidaan seuraavasti:[9]
- 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.[10]
Katso myös
[muokkaa | muokkaa wikitekstiä]Lähteet
[muokkaa | muokkaa wikitekstiä]- ↑ (en) Apache Subversion 1.14.4 released, (viitattu ). Tieto on haettu Wikidatasta.
- ↑ Apache Subversion FAQ subversion.apache.org. Viitattu 6.11.2019. (englanniksi)
- ↑ http://svnbook.red-bean.com/en/1.7/svn.intro.whatis.html#svn.intro.history
- ↑ Eric Sink: A History of Version Control ericsink.com. Viitattu 23.2.2017. (englanniksi)
- ↑ a b Ben Collins-Sussman & Brian W. Fitzpatrick & C. Michael Pilato: Revisions (Version Control with Subversion) svnbook.red-bean.com. Viitattu 8.11.2019. (englanniksi)
- ↑ a b Ben Collins-Sussman & Brian W. Fitzpatrick & C. Michael Pilato: Revision Numbers Are Different Now (Version Control with Subversion) svnbook.red-bean.com. Viitattu 8.11.2019. (englanniksi)
- ↑ a b Strategies for Repository Deployment svnbook.red-bean.com. Viitattu 7.11.2019. (englanniksi)
- ↑ a b Ben Collins-Sussman & Brian W. Fitzpatrick & C. Michael Pilato: Chapter 6. Server Configuration (Version Control with Subversion) svnbook.red-bean.com. Viitattu 8.11.2019. (englanniksi)
- ↑ Distributed Version Control Systems: A Not-So-Quick Guide Through infoq.com. Viitattu 7.11.2019. (englanniksi)
- ↑ HgMigrationReasons wiki.netbeans.org. Arkistoitu 7.11.2019. Viitattu 7.11.2019. (englanniksi)
Aiheesta muualla
[muokkaa | muokkaa wikitekstiä]- Subversionin kotisivu
- Version Control with Subversion kirja verkossa (englanniksi)