Subversion je odprtokodni sistem za sledenje različicam. Datoteke hrani v osrednjem skladišču in zagotavlja nadzor različic nad imeniki ali datotekami. Kot razvijalec lahko potegnete projektne datoteke iz repozitorija, jih spremenite in jih znova potisnete nazaj.

Subversion ima tudi strežniško komponento, ki jo lahko uporabite za gostovanje svojih projektov. Deluje podobno kot navaden datotečni strežnik.

Kako namestiti Subversion

Subversion je enostavno namestiti. Za začetek distribucije lahko uporabite ustrezen ukaz:

# Debian, Ubuntu
sudo apt namestite subverzija apache2 libapache2-mod-svn

# CentOS, Fedora, RHEL
sudo dnf namestite subverzija apache2 mod_dav_svn

Upoštevajte, da tudi ta ukaz namesti spletni strežnik Apache2. Potrebovali boste spletni strežnik, če želite dostopati do repozitorija Subversion prek HTTP ali WebDAV. Uporabite lahko tudi HTTPS, le za to boste morali namestiti in konfigurirati digitalno potrdilo.

Ko zaženete ta ukaz, lahko preverite, ali je subverzija pravilno nameščena. Zdaj bi morali biti sposobni zagnati

instagram viewer
svn in trenutno različico si lahko ogledate z uporabo --različica možnost:

Konfiguracija strežnika s Subversion

Če je namestitev potekala gladko, lahko zdaj začnete delati na konfiguraciji repozitorija, s katero boste uporabljali svn. Seveda boste morali za to ustvariti novo skladišče. Najprej ustvarite mapo v korenskem imeniku, da postavite svoje skladišče:

sudo mkdir /subversion

Če morate dostopati do svojega repozitorija s pomočjo WebDAV prek HTTP, boste morali Apacheju dati lastništvo njegovega imenika. Ker Apache uporablja www-podatki privzetega uporabnika pooblastite tega uporabnika na naslednji način:

sudo chown www-podatki: www-podatki /subverzija

Zdaj lahko preklopite na www-podatki uporabnika in začnite delati na svojem skladišču. Ukaz, ki bi ga uporabili za prijavo kot www-podatki uporabnik je:

sudo su -s /bin/bash www-data

Zdaj ste uporabnik Apache in po tem koraku lahko ustvarite svoje repozitorij Subversion, kot sledi:

svnadmin ustvariti /subversion/myrepo

Zdaj imate repozitorij Subversion. Da bo ta repozitorij nekoliko bolj varen in da bo identificiral njegove uporabnike, je naslednji korak ustvariti uporabnika in zanj nastaviti geslo. Če želite to narediti, uporabite naslednji ukaz:

htpasswd -cmb /subversion/passwd myadmin mypass

V skladu s tem ukazom bo vaše uporabniško ime moj skrbnik in vaše geslo bo mypass. Te vrednosti lahko spremenite v tiste, ki ustrezajo vašim okoliščinam.

Vaše skladišče Subversion je zdaj pripravljeno za uporabo. Na tej stopnji lahko zapustite www-podatki uporabnik z uporabo izhod ukaz.

Zdaj lahko s spodnjim ukazom pošljete želeni projekt ali datoteko v svoj repo:

uvoz sudo svn <vaš-naslov-projekta> datoteka:///subverzija/myrepo -m "Prva zaveza"

Ta ukaz uporablja uvoz parameter za potiskanje vsega v mapi vašega projekta v vaše skladišče Subversion. Medtem ko to počnete, morate dodati sporočilo o potrditvi z -m parameter.

Uporaba metod dostopa v Subversion

Morda ste opazili, da uporabljate mapa:// protokol za dodajanje projekta v vaš repozitorij. To je le eden od več omrežnih protokolov, ki jih lahko uporabite za dostop do repozitorija svn. Uporabite lahko tudi protokol WebDAV prek HTTP ali HTTPS ali po meri subversion svn protokol.

Neposreden dostop do repozitorija

Kot ste videli, lahko uporabite mapa:// protokol za dostop do lokalnega repozitorija. Tukaj je opisano, kako lahko preverite lokalni repo v svojem trenutnem imeniku:

datoteka svn co:///subversion/myrepo

Ko preverite repo, svn prikaže seznam datotek, ki jih vsebuje:

Dostopanje z uporabo WebDAV

Za integracijo vašega repozitorija Subversion z Apacheom boste morali konfigurirati nekaj nastavitev.

Za prvi korak aktivirajte dav, dav_svn, in dav_fs module z naslednjimi ukazi:

sudo a2enmod dav dav_fs dav_svn

Ko aktivirate zahtevane module, lahko zdaj urejate /etc/apache2/mods-enabled/dav_svn.conf mapa. Ustvarite datoteko, če še ne obstaja, in spremenite njeno vsebino na naslednji način:

<Lokacija / subverzija>
DAV svn
SVNPath /subversion/myrepo
AuthType Basic
AuthName "Repozitorij Subversion"
AuthUserFile /subversion/passwd
Zahtevaj veljaven-uporabnik
</Location>

The AuthUserFile nastavitev se sklicuje na datoteko, ki ste jo prej ustvarili z uporabo htpasswd. Če ga dodate sem, boste omogočili dostop do repozitorija vsem uporabnikom, imenovanim v datoteki, pod pogojem, da se overijo z veljavnim geslom.

Ko ustvarite in shranite to datoteko, znova zaženite storitev Apache2 z naslednjim ukazom:

sudosystemctlponovni zagonapache2.storitev

Zdaj, ko odprete spletni brskalnik in obiščete http://localhost/subversion/, boste videli vsebino svojega skladišča. Ko obiščete ta naslov, vas bo vprašal za uporabniško ime in geslo:

Prijavite se z uporabniškim imenom (npr. moj skrbnik) in geslo (mypass), ki ste ga nastavili prej. Do repozitorija Subversion lahko dostopate z uporabo WebDAV, potem ko vnesete uporabniško ime in geslo:

Dostop s SSL in WebDAV

The https:// protokol ima skoraj enako konfiguracijo kot protokol http:// protokol, z le nekaj pomembnimi razlikami. Če navedem primer, .conf datoteka, ki jo morate uporabiti med konfiguracijo, je drugačna. Prav tako morate namestiti digitalno potrdilo. Ker kot veste, je to delovna logika Metoda šifriranja SSL.

Ti lahko ustvarite digitalno potrdilo sami ali pa si namestite takega, ki ga je izdal pristojni organ. Ob predpostavki, da ste namestili digitalno potrdilo, je to, kar morate storiti, preprosto.

Razlika v tem koraku so spremembe, ki jih boste naredili v konfiguracijski datoteki. Spodaj je vzorčna konfiguracijska datoteka za uporabo SSL in WebDAV:

<Lokacija / subverzija>
DAV vklopljen
SSLRequireSSL
Opcije Noben
AuthType Basic
AuthName "Repozitorij Subversion"
AuthUserFile /subversion/passwd
Zahtevaj veljaven-uporabnik
</Location>

Kot lahko vidite, razlika med https:// in http:// protokolov ni toliko v smislu sprememb v konfiguracijski datoteki. Po teh spremembah boste morali znova zagnati apache2 storitev. Teči systemctl znova zaženite apache2.service narediti tako.

Zakaj uporabljati Subversion?

Kot sledilnik različic si Subversion zapomni vsako spremembo datotek in imenikov. Omogoča vam dostop do starih različic programske opreme ali dokumentov, s katerimi delate, in iskanje njihovih razlik. To olajša upravljanje projektov, še posebej, če je vaša razvojna ekipa velika ali porazdeljena.

Obstaja veliko sistemov za nadzor različic za Linux poleg Subversion, ki jih boste morda želeli upoštevati.