Subversion on avoimen lähdekoodin versionseurantajärjestelmä. Se pitää tiedostot keskitetyssä arkistossa ja mahdollistaa hakemistojen tai tiedostojen versionhallinnan. Kehittäjänä voit noutaa projektitiedostoja arkistosta, tehdä niihin muutoksia ja työntää ne takaisin.
Subversionissa on myös palvelinkomponentti, jonka avulla voit isännöidä projektejasi. Se toimii aivan kuten tavallinen tiedostopalvelin.
Kuinka asentaa Subversion
Subversion on helppo asentaa. Voit käyttää sopivaa komentoa distrosi aloittamiseen:
# Debian, Ubuntu
sudo apt Asentaa subversion apache2 libapache2-mod-svn
# CentOS, Fedora, RHEL
sudo dnf Asentaa subversion apache2 mod_dav_svn
Huomaa, että myös tämä komento asentaa Apache2-verkkopalvelimen. Tarvitset verkkopalvelimen, jos haluat käyttää Subversion-tietovarastoa HTTP: n tai WebDAV: n kautta. Voit myös käyttää HTTPS: ää, sinun tarvitsee vain asentaa ja määrittää digitaalinen varmenne tehdäksesi niin.
Kun olet suorittanut tämän komennon, voit tarkistaa, että subversion on asennettu oikein. Sinun pitäisi nyt pystyä ajamaan
svn -komento ja näet nykyisen version käyttämällä --versio vaihtoehto:Palvelimen määritykset Subversionilla
Jos asennus sujui ongelmitta, voit nyt alkaa työstää arkiston kokoonpanoa, jota käytät svn. Tietenkin sinun on luotava uusi arkisto tätä varten. Luo ensin kansio juurihakemistoon sijoittaaksesi arkistosi:
sudo mkdir /subversion
Jos sinun on käytettävä arkistoasi WebDAV: n kautta HTTP: n kautta, sinun on annettava Apachelle sen hakemiston omistusoikeus. Koska Apache käyttää www-data oletusarvoisesti käyttäjä, valtuuta tämä käyttäjä seuraavasti:
sudo chown www-data: www-data /subversion
Voit nyt vaihtaa www-data käyttäjältä ja ala työstää arkistoasi. Komento, jolla kirjaudut sisään nimellä www-data käyttäjä on:
sudo su -s /bin/bash www-data
Olet nyt Apache-käyttäjä ja tämän vaiheen jälkeen voit luoda Subversion-tietovaraston seuraavasti:
svnadmin luoda /subversion/myrepo
Sinulla on nyt Subversion-arkisto. Jotta tästä arkistosta tulisi hieman turvallisempi ja tunnistaa sen käyttäjät, seuraava vaihe on luoda käyttäjä ja asettaa sille salasana. Voit tehdä tämän käyttämällä seuraavaa komentoa:
htpasswd -cmb /subversion/passwd myadmin mypass
Tämän komennon mukaan käyttäjätunnuksesi on järjestelmänvalvojani ja salasanasi on mypass. Voit muuttaa näitä arvoja olosuhteisiisi sopiviksi.
Subversion-tietovarasto on nyt valmis käytettäväksi. Tässä vaiheessa voit poistua www-data käyttäjä käyttämällä poistu komento.
Nyt voit lähettää haluamasi projektin tai tiedoston arkistoosi käyttämällä alla olevaa komentoa:
sudo svn tuonti <projektiosoitteesi> file:///subversion/myrepo -m "Ensimmäinen sitoumus"
Tämä komento käyttää tuonti parametri siirtääksesi kaiken projektikansiosi Subversion-arkistoon. Kun teet tämän, sinun on lisättävä vahvistusviesti -m parametri.
Subversionin käyttötapojen käyttäminen
Olet ehkä huomannut, että käytät file:// protokolla projektin lisäämiseksi arkistoon. Tämä on vain yksi useista verkkoprotokollista, jolla voit käyttää svn-tietovarastoa. Voit myös käyttää WebDAV-protokollaa HTTP: n tai HTTPS: n tai subversionin mukautetun kautta svn protokollaa.
Suora pääsy arkistoon
Kuten olet nähnyt, voit käyttää file:// protokollaa paikalliseen tietovarastoon pääsemiseksi. Näin voit tarkistaa paikallisen repon nykyiseen hakemistoosi:
svn co-tiedosto:///subversion/myrepo
Kun tarkistat repon, svn näyttää luettelon sen sisältämistä tiedostoista:
Pääsy WebDAV: n avulla
Jos haluat integroida Subversion-arkistosi Apachen kanssa, sinun on määritettävä joitain asetuksia.
Aktivoi ensimmäistä vaihetta varten dav, dav_svn, ja dav_fs moduulit käyttämällä seuraavia komentoja:
sudo a2enmod dav dav_fs dav_svn
Kun olet aktivoinut tarvittavat moduulit, voit nyt muokata niitä /etc/apache2/mods-enabled/dav_svn.conf tiedosto. Luo tiedosto, jos sitä ei vielä ole, ja muuta sen sisältöä seuraavasti:
<Sijainti/subversio>
DAV svn
SVNPath /subversion/myrepo
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /subversion/passwd
Vaatia kelvollinen käyttäjä
</Location>
The AuthUserFile asetus viittaa tiedostoon, jonka loit aiemmin käyttämällä htpasswd. Sen lisääminen tähän myöntää arkistoon pääsyn kaikille tiedostossa nimetyille käyttäjille, mikäli he todentavat kelvollisen salasanan.
Kun olet luonut ja tallentanut tämän tiedoston, käynnistä Apache2-palvelu uudelleen seuraavalla komennolla:
sudosystemctluudelleenkäynnistääapache2.palvelu
Nyt, kun avaat verkkoselaimen ja siirryt osoitteeseen http://localhost/subversion/, näet arkistosi sisällön. Kun menet tähän osoitteeseen, se kysyy käyttäjätunnustasi ja salasanaasi:
Kirjaudu sisään käyttäjätunnuksella (esim. järjestelmänvalvojani) ja salasana (mypass), jonka määritit aiemmin. Pääset Subversion-tietovarastoon WebDAV: n avulla syöttämällä käyttäjätunnuksen ja salasanan:
Pääsy SSL: n ja WebDAV: n kautta
The https:// protokollalla on lähes sama kokoonpano kuin http:// protokollaa vain muutamalla tärkeällä erolla. Antaakseni esimerkin, .conf määrityksen aikana käytettävä tiedosto on erilainen. Sinun on myös asennettava digitaalinen varmenne. Koska kuten tiedät, tämä on toiminnan logiikka SSL-salausmenetelmä.
Sinä pystyt luo digitaalinen varmenne itse tai voit asentaa toimivaltaisen viranomaisen myöntämän. Olettaen, että olet asentanut digitaalisen varmenteen, sinun on tehtävä yksinkertaista.
Erona tässä vaiheessa on asetustiedostoon tekemäsi muutokset. Alla on esimerkki SSL- ja WebDAV-käytön määritystiedostosta:
<Sijainti/subversio>
DAV päällä
SSLRvaatii SSL: n
Vaihtoehdot Ei mitään
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /subversion/passwd
Vaatia kelvollinen käyttäjä
</Location>
Kuten näet, ero https:// ja http:// protokollat eivät ole niin paljon konfiguraatiotiedoston muutosten kannalta. Näiden muutosten jälkeen sinun on käynnistettävä uudelleen apache2 palvelua. Juosta systemctl käynnistä apache2.service uudelleen tehdä niin.
Miksi käyttää Subversionia?
Versionseurantana Subversion muistaa kaikki tiedostoihin ja hakemistoihin tehdyt muutokset. Sen avulla voit käyttää vanhoja ohjelmistoversioita tai dokumentteja, joiden parissa työskentelet, ja löytää niiden erot. Tämä helpottaa projektien hallintaa, varsinkin jos kehitystiimi on suuri tai hajautunut.
Linuxille on monia versionhallintajärjestelmiä Subversionin lisäksi, joita kannattaa harkita.