Subversion: berrikuspenen arteko aldeak

Wikipedia, Entziklopedia askea
Ezabatutako edukia Gehitutako edukia
t robota Erantsia: ar:إس.في.إن
t robota Erantsia: uk:Subversion
88. lerroa: 88. lerroa:
[[sr:Subversion]]
[[sr:Subversion]]
[[sv:Subversion (versionshanteringssystem)]]
[[sv:Subversion (versionshanteringssystem)]]
[[uk:Subversion]]
[[vi:Subversion]]
[[vi:Subversion]]
[[zh:Subversion]]
[[zh:Subversion]]

15:30, 19 otsaila 2008ko berrikusketa

Subversion, CVS bezala, softwarearen bertsioak kontrolatzen dituen aplikazioa da, eta espresoki hau ordezkatzeko sortu zen. CVSk hutsuneak zituenez, hauek konpontzeko garatu zen. SVN edo svn izenarekin ere ezagutzen da, izen hau erabiltzen baita komando lerrotik. CollabNetek sortu zuen, zeinak oraindik mantentzen jarraitzen duen. CVS bezala software librea da, Apache/BSD lizentziapean banatzen da.

Subversionen ezaugarri garrantzitsuenetako bat, CVSn gertatzen ez zen bezala, artxibo bakoitzak ez duela berrikuspen zenbaki desberdin bat, hau da, proiektuko fitxategi guztiek bertsio zenbaki bakarra konpartitzen dute eta momentu bakoitzeko fitxategi multzoari buruzko informazioa eman dezake.

Ezaugarriak

  • Bezero-zerbitzari arkitektura erabiltzen du, CVSk bezala: zerbitzari batek proiektuaren momentuko fitxategi guztien bertsioak gordetzen ditu.
  • Egiten diren aldaketa guztiak atomikoak dira. Zerbitzaria ez da inoiz egoera ezegonkorrean gelditzen.
  • Hostoak eta etiketak sortzea modu eraginkorragoan burutzen da. O(1)-eko eragiketa da eta CVS-n O(n)-koa zen.
  • Bezero-zerbitzari bi norantzetan fitxategien desberdintasunak bakarrik bidaltzen dira, ez CVS-n gertatzen zen bezala (bezerotik zerbitzarira fitxategi osoak bidaltzen ziren).
  • Apache bitartez zerbitzatu daiteke, WebDAV/DeltaV bitartez. Honek ahalbidetzen du Subversion modu gardenean egikaritzea WebDAV bitartez.
  • Fitxategi bitarrak modu eraginkorragoan tratatzen ditu. (CVSk barnetik fitxategi hauek testua balira bezala tratatzen baitzituen).
  • Fitxategi batzuk blokeatu ditzake. Batzuetan, ez da komeni fitxategi bera bi garatzailek batera aldatu ahal izatea.

Geruzak

Subversion barnetik liburutegi desberdinez osatuta dago, zeintzuk geruzatan banatzen diren.

Fs. Beheko maila. Bertan inplementatzen da bertsionatutako fitxategiak, bezeroaren informazioa gordeko duena.

Repos. Fitxategien inguruan osatutako repositorioa.

mod_dav_svn. apache 2 bitartez WebDAV/DeltaV atzipena.

Ra. repositorioetarako atzipena ematen du. Puntu honetatik aurrera repositorioak URL bezala atzitu daitezke. Adib.: file:///path/

Client, Wc. Goreneko maila. Repositorio geruzaren abstrakzio bat egiten du eta erabiltzaileari zuzeneko atzipena ematen dio. Hala nola, kautotzea, edota bertsioen alderaketa. Wc liburutegia bezeroak erabiltzen du proiektu lokal batean lan egiten badu.

Fitxategi sistema

Subversionek erabiltzen duen fitxategi sistema “hiru dimentsiotako” fitxategi sistema bezala definitu daiteke. Fitxategi sistema arruntak zuhaitz bezala adierazi izan ohi dira. Subversionek hau ere erabiltzen du baina berrikuspen bakoitzak bere erro propioa du. Erro hau berrikuspen horretako edukiak atzitzeko oinarritzat erabiltzen da.

Fitxategiak lotura bezala gordetzen dira, egin den azkeneko aldaketara, horregatik dira Subversioneko repositorioak hain txikiak. Fitxategiak gordetzeko erabilitako lekua egindako aldaketekiko proportzionala da, ez egindako aldaketa kopuruarekiko.

Subversion fitxategi sistemak transakzioak erabiltzen ditu, aldaketak atomikoak izan daitezen. Aldaketak berrikuspen batetik abiatzen dira, ez nahitaez azkenekotik. Transakzioak bere erro propioa du, zeinatan aldaketak egingo dituen. Transakzioa bukatu eta onartzen da, azkeneko berrikuspenean bihurtuz, edo egindako aldaketa guztiak bertan behera geratzen dira.

Bezeroak

Subversion erabiltzeko hainbat interfaze daude, batzuk espreski sortuak eta beste batzuk garapen inguruneetan integratuta. Jarraian garrantzitsuenak aipatuko ditugu:

  • TortoiseSVN. Windows Explorer-arekin elkarrekintza ahalbidetzen du. Windows munduan interfaze hau da ezagunena.
  • Subclipse. Eclipse ingurunean integratzen duen plugina.
  • ViewVC. Web interfazea, CVS-rekin ere lan egin dezakeena.

Eragozpenak

Fitxategi bat mugitu (edo berrizendatu) behar denean ez da eragiketa atomikoa, kopiatze eta ezabatze eragiketez osatzen da.

Adabakiak behin eta berriz jartzean adarren artean jartzean arazoak sor daitezke, ezin da atzera joan eta zein aldaketa egin diren kontsultatu. Arazo hau ekidin daiteke commit aginduekin kontu izaten eta hurrengo bertsioan konponduko da (1.5).