Subversion je open-source systém sledovania verzií. Uchováva súbory v centrálnom úložisku a poskytuje kontrolu verzií nad adresármi alebo súbormi. Ako vývojár môžete stiahnuť súbory projektu z úložiska, vykonať v nich zmeny a znova ich vrátiť späť.

Subversion má tiež serverový komponent, ktorý môžete použiť na hosťovanie svojich projektov. Funguje podobne ako bežný súborový server.

Ako nainštalovať Subversion

Inštalácia Subversion je jednoduchá. Na spustenie distribúcie môžete použiť príslušný príkaz:

# Debian, Ubuntu
sudo apt Inštalácia subversion apache2 libapache2-mod-svn

# CentOS, Fedora, RHEL
sudo dnf Inštalácia subversion apache2 mod_dav_svn

Všimnite si, že aj tento príkaz nainštaluje webový server Apache2. Ak chcete pristupovať k úložisku Subversion cez HTTP alebo WebDAV, budete potrebovať webový server. Môžete tiež použiť HTTPS, stačí si nainštalovať a nakonfigurovať digitálny certifikát.

Po spustení tohto príkazu môžete skontrolovať, či je subversion nainštalovaný správne. Teraz by ste mali byť schopní spustiť svn a aktuálnu verziu môžete vidieť pomocou príkazu --verzia možnosť:

instagram viewer

Konfigurácia servera s Subversion

Ak inštalácia prebehla hladko, môžete teraz začať pracovať na konfigurácii úložiska, s ktorou budete používať svn. Na to si samozrejme budete musieť vytvoriť nové úložisko. Najprv vytvorte priečinok v koreňovom adresári, do ktorého umiestnite svoje úložisko:

sudo mkdir /subversion

Ak potrebujete pristupovať k svojmu úložisku pomocou WebDAV cez HTTP, budete musieť Apache udeliť vlastníctvo jeho adresára. Keďže Apache používa www-údaje Používateľ štandardne autorizujte tohto používateľa takto:

sudo chown www-data: www-data /subversion

Teraz môžete prejsť na www-údaje a začnite pracovať na svojom úložisku. Príkaz, ktorý by ste použili na prihlásenie ako www-údaje užívateľ je:

sudo su -s /bin/bash www-data

Teraz ste používateľom Apache a po tomto kroku si môžete vytvoriť úložisko Subversion takto:

svnadmin vytvoriť /subversion/myrepo

Teraz máte úložisko Subversion. Aby bolo toto úložisko o niečo bezpečnejšie a aby bolo možné identifikovať jeho používateľov, ďalším krokom je vytvorenie používateľa a nastavenie hesla. Ak to chcete urobiť, použite nasledujúci príkaz:

htpasswd -cmb /subversion/passwd myadmin mypass

Podľa tohto príkazu bude vaše používateľské meno myadmin a vaše heslo bude mypass. Tieto hodnoty môžete zmeniť na čokoľvek, čo je vhodné pre vaše okolnosti.

Vaše úložisko Subversion je teraz pripravené na použitie. V tejto fáze môžete ukončiť www-údaje užívateľa pomocou VÝCHOD príkaz.

Teraz môžete odoslať požadovaný projekt alebo súbor do svojho úložiska pomocou príkazu nižšie:

import sudo svn <adresu vášho-projektu> file:///subversion/myrepo -m "Prvý záväzok"

Tento príkaz používa importovať parameter na presunutie všetkého z priečinka projektu do vášho úložiska Subversion. Počas toho musíte pridať správu odovzdania s príponou -m parameter.

Používanie prístupových metód v Subversion

Možno ste si všimli, že používate súbor:// protokol na pridanie projektu do vášho úložiska. Toto je len jeden z niekoľkých sieťových protokolov, ktoré môžete použiť na prístup k úložisku svn. Môžete tiež použiť protokol WebDAV cez HTTP alebo HTTPS alebo vlastný subversion svn protokol.

Priamy prístup do úložiska

Ako ste videli, môžete použiť súbor:// protokol na prístup k lokálnemu úložisku. Tu je návod, ako si môžete objednať miestne úložisko do svojho aktuálneho adresára:

súbor svn co:///subversion/myrepo

Keď skontrolujete repo, svn zobrazí zoznam súborov, ktoré obsahuje:

Prístup pomocou WebDAV

Ak chcete integrovať svoje úložisko Subversion s Apache, budete musieť nakonfigurovať niektoré nastavenia.

V prvom kroku aktivujte dav, dav_svn, a dav_fs moduly pomocou nasledujúcich príkazov:

sudo a2enmod dav dav_fs dav_svn

Po aktivácii požadovaných modulov môžete teraz upravovať /etc/apache2/mods-enabled/dav_svn.conf súbor. Vytvorte súbor, ak ešte neexistuje, a zmeňte jeho obsah takto:

<Miesto / podvrat>
DAV svn
SVNPath /subversion/myrepo
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /subversion/passwd
Vyžadovať valid-user
</Location>

The AuthUserFile nastavenie odkazuje na súbor, ktorý ste predtým vytvorili htpasswd. Jeho pridaním sem udelíte prístup k úložisku všetkým používateľom uvedeným v súbore za predpokladu, že sa overia platným heslom.

Po vytvorení a uložení tohto súboru reštartujte službu Apache2 pomocou nasledujúceho príkazu:

sudosystemctlreštartapache2.servis

Teraz, keď otvoríte webový prehliadač a prejdete na http://localhost/subversion/, uvidíte obsah svojho úložiska. Keď prejdete na túto adresu, zobrazí sa výzva na zadanie používateľského mena a hesla:

Prihláste sa pomocou používateľského mena (napr. myadmin) a heslo (mypass), ktoré ste nastavili skôr. K svojmu úložisku Subversion môžete pristupovať pomocou WebDAV po zadaní používateľského mena a hesla:

Prístup pomocou SSL a WebDAV

The https:// protokol má takmer rovnakú konfiguráciu ako protokol http:// protokol s niekoľkými dôležitými rozdielmi. Aby som uviedol príklad, .conf súbor, ktorý musíte použiť počas konfigurácie, je iný. Musíte tiež nainštalovať digitálny certifikát. Pretože ako viete, toto je pracovná logika Metóda šifrovania SSL.

Môžeš vytvoriť digitálny certifikát sami, alebo si môžete nainštalovať zariadenie vydané príslušným orgánom. Za predpokladu, že ste si nainštalovali digitálny certifikát, to, čo musíte urobiť, je jednoduché.

Rozdiel v tomto kroku sú zmeny, ktoré vykonáte v konfiguračnom súbore. Nižšie je uvedený vzorový konfiguračný súbor pre použitie SSL a WebDAV:

<Miesto / podvrat>
DAV zapnuté
SSLVyžadujeSSL
možnosti žiadne
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /subversion/passwd
Vyžadovať valid-user
</Location>

Ako vidíte, rozdiel medzi https:// a http:// protokolov nie je až tak veľa, pokiaľ ide o zmeny v konfiguračnom súbore. Po týchto zmenách budete musieť reštartovať apache2 služby. Bežať systemctl reštartujte apache2.service urobiť tak.

Prečo používať Subversion?

Ako nástroj na sledovanie verzií si Subversion pamätá každú zmenu vykonanú v súboroch a adresároch. Umožňuje vám získať prístup k starým verziám softvéru alebo dokumentov, s ktorými pracujete, a nájsť ich rozdiely. To uľahčuje správu projektov, najmä ak je váš vývojový tím veľký alebo distribuovaný.

Okrem Subversion existuje veľa systémov na správu verzií pre Linux, ktoré by ste mohli zvážiť.