Subversion

Wikipediasta
Siirry navigaatioon Siirry hakuun
Hakusana ”SVN” ohjaa tänne. SVN on myös Slovenian maatunnus.
Subversion
Subversion-logo-cropped.png
Kehityshistoria
Vakaa versio 1.13.0 ()[1]
Kehitystilanne Aktiivinen
Tiedot
Ohjelmistotyyppi Versionhallinta
Lisenssi Apache-lisenssi
Aiheesta muualla
Kotisivu

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ä]

  1. http://subversion.apache.org/#news-20191030. Arvo on haettu Wikidatasta.
  2. Apache Subversion FAQ subversion.apache.org. Viitattu 6.11.2019. (englanniksi)
  3. http://svnbook.red-bean.com/en/1.7/svn.intro.whatis.html#svn.intro.history
  4. Eric Sink: A History of Version Control ericsink.com. Viitattu 23.2.2017. (englanniksi)
  5. 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)
  6. 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)
  7. a b Strategies for Repository Deployment svnbook.red-bean.com. Viitattu 7.11.2019. (englanniksi)
  8. 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)
  9. Distributed Version Control Systems: A Not-So-Quick Guide Through infoq.com. Viitattu 7.11.2019. (englanniksi)
  10. HgMigrationReasons wiki.netbeans.org. Viitattu 7.11.2019. (englanniksi)

Aiheesta muualla[muokkaa | muokkaa wikitekstiä]

Tämä ohjelmistoon liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.