Apache Subversion

Apache Subversion

FejlesztőApache Software Foundation
Első kiadás2000.10.20.
Programozási nyelvC
Operációs rendszerLinux, Windows
KategóriaVerziókezelés
LicencApache Licenc
Kódtárhttps://svn.apache.org/repos/asf/subversion/
Az Apache Subversion weboldala

A Subversion (SVN) egy verziókezelő rendszer, melyet a CollabNet Inc. indított 2000-ben. Fájlok aktuális verzióinak és történeteinek kezelésére használják, mint például forráskódok, weboldalak és dokumentációk. A célja, hogy a legkompatibilisebb utódja legyen a széles körben használt Concurrent Versions System (CVS)-nek.

A Subversion jól ismert a nyílt forráskód közösségben és számos nyílt forrású projektben használják is, mint például: Apache Software Foundation, KDE, GNOME, FreeBSD, Free Pascal, GCC, Python, Ruby, Samba és Mono. A SourceForge.net és a Tigris.org szintén nyújtanak Subversion szolgáltatást a nyílt forrású projektjeiknek. A Google Code és a BountySource rendszerek exkluzívan használják.

A Subversiont a vállalatok világában is használják. 2007-ben a Forrester Research egyik jelentése szerint, a Subversion volt az egyedüli vezető az Önálló Szoftver Konfiguráció Menedzsment (SCM) kategóriában és erős versenyző volt a Szoftver Konfiguráció és Változtatás Menedzsment (SCCM) kategóriában.

A Subversiont Apache Licenc alatt terjesztik, szabad szoftverré téve azt.

Története

2000-ben indult a Subversion projekt azzal a céllal, hogy létrejöjjön egy szabad verziókezelő szoftver, amely nagyon hasonlóan működik a Cvs-hez, de kiküszöböli annak hibáit és új funkciókkal is gazdagabb elődjénél.

2001-re a Subversion odáig fejlődött, hogy alkalmassá vált a saját forráskódjának a verziókezelésére.

2004-ben látott napvilágot az 1.0.0 verzió.

2009 novemberében a Subversion bekerült az Apache inkubátor programba, elindítva azt a folyamatot melynek végén - 2010 február 17-én - felső szintű Apache projektté vált.

Jellemzők

Leágaztatás és címkézés

A Subversion a Perforce "inter-file branching" modelljét használja, az elágazások (branch) és címkék (tag) kezeléséhez. Egy leágazás egy elkülönített útja a fejlesztésnek. A címkézés magába foglalja a tároló (repository) pillanatképének mentését, ami - egy leágazástól eltérően - valószínűleg nem fog módosulni...

A rendszer egy új leágazást vagy címkét az operációs rendszer natív mechanizmusa helyett az 'svn copy' parancs használatával hoz létre. A Subversion nem készít egy teljesen új fájl-verziót a tárolóban. A régi- és új verziókat összekapcsolja, a fájltörténetét pedig megőrzi mindkét fájlnak. A másolt verziók csak kevés helyet foglalnak a tárolóban, mivel a Subversion csak az eredeti fájloktól való eltéréseket menti el.

Minden ágban mindegyik verzió megőrzi egy fájl történetét a másolás pillanatáig, és minden egyes módosítást is utána. A változtatásokat átvezethetjük (merge) a gyökérbe (trunk), vagy leágazások között. A Subversion számára az egyetlen különbség címkék és leágazások között, hogy a változásokat nem kell ellenőriznie a címkézésnél... A különbség képző algoritmusnak köszönhötően, címkék és leágazások létrehozása nagyon kevés helyet igényelnek a tárolóban.

Egy egyszerű Subversion projekt képe

Jegyzetek

  1. ↑ "The Forrester Wave: Software Change and Configuration Management, Q2 2007". Forrester Research.
  2. ↑ "Version Control with Subversion version 1.4 (részlet)". Hozzáférés: 2009. június 15.
  3. ↑ "Subversion Release History". 2009. április 17. dátummal az eredeti címről archiválva. Hozzáférés: 2009. június 15.
  4. ↑ "Archivált másolat". 2011. május 12. dátummal az eredeti címről archiválva. Hozzáférés: 2012. március 15.