Subversion

Hakusana ”SVN” ohjaa tänne. SVN on myös Slovenian maatunnus.

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

Subversion
Subversion-logo-cropped.png
Kehityshistoria
Vakaa versio 1.14.1 ()[1]
Kehitystilanne Aktiivinen
Tiedot
Ohjelmistotyyppi Versionhallinta
Lisenssi Apache-lisenssi
Aiheesta muualla
Kotisivu

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 versiointiMuokkaa

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 tallennusMuokkaa

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]

PalvelinMuokkaa

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

KritiikkiäMuokkaa

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ösMuokkaa

LähteetMuokkaa

  1. Apache Subversion 1.10.7 released (viitattu ). 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 muuallaMuokkaa

 
Wikimedia Commonsissa on kuvia tai muita tiedostoja aiheesta Subversion.
Tämä ohjelmistoon liittyvä artikkeli on tynkä. Voit auttaa Wikipediaa laajentamalla artikkelia.