Subversion ir atvērtā pirmkoda versiju izsekošanas sistēma. Tas saglabā failus centrālajā repozitorijā un nodrošina direktoriju vai failu versiju kontroli. Kā izstrādātājs jūs varat izvilkt projektu failus no krātuves, veikt tajos izmaiņas un nosūtīt tos atpakaļ.

Subversion ir arī servera komponents, ko varat izmantot savu projektu mitināšanai. Tas darbojas līdzīgi kā parasts failu serveris.

Kā instalēt Subversion

Subversion ir vienkārši instalējams. Lai sāktu distro, varat izmantot atbilstošo komandu:

# Debian, Ubuntu
sudo apt uzstādīt subversion apache2 libapache2-mod-svn

# CentOS, Fedora, RHEL
sudo dnf uzstādīt subversion apache2 mod_dav_svn

Ņemiet vērā, ka arī šī komanda instalē Apache2 tīmekļa serveri. Jums būs nepieciešams tīmekļa serveris, ja vēlaties piekļūt Subversion repozitorijam, izmantojot HTTP vai WebDAV. Varat arī izmantot HTTPS, lai to izdarītu, tikai jāinstalē un jākonfigurē digitālais sertifikāts.

Kad esat palaidis šo komandu, varat pārbaudīt, vai subversija ir instalēta pareizi. Tagad jums vajadzētu būt iespējai palaist

instagram viewer
svn komandu un jūs varat redzēt pašreizējo versiju, izmantojot -- versija variants:

Servera konfigurācija ar Subversion

Ja instalēšana noritēja nevainojami, tagad varat sākt strādāt pie repozitorija konfigurācijas, ko izmantosit svn. Protams, šim nolūkam būs jāizveido jauna repozitorija. Vispirms saknes direktorijā izveidojiet mapi, lai ievietotu repozitoriju:

sudo mkdir /subversion

Ja jums ir jāpiekļūst repozitorijam, izmantojot WebDAV, izmantojot HTTP, jums ir jāpiešķir Apache īpašumtiesības uz tā direktoriju. Tā kā Apache izmanto www-dati lietotājs pēc noklusējuma, autorizēt šo lietotāju šādi:

sudo chown www-data: www-data /subversion

Tagad varat pārslēgties uz www-dati lietotāju un sāciet strādāt ar savu repozitoriju. Komanda, kuru izmantotu, lai pieteiktos kā www-dati lietotājs ir:

sudo su -s /bin/bash www-data

Jūs tagad esat Apache lietotājs un pēc šīs darbības varat izveidot savu Subversion repozitoriju šādi:

svnadmin izveidot /subversion/myrepo

Tagad jums ir Subversion repozitorijs. Lai padarītu šo repozitoriju nedaudz drošāku un identificētu tā lietotājus, nākamais solis ir izveidot lietotāju un iestatīt tam paroli. Lai to izdarītu, izmantojiet šādu komandu:

htpasswd -cmb /subversion/passwd myadmin mypass

Saskaņā ar šo komandu jūsu lietotājvārds būs mans administrators un jūsu parole būs mypass. Varat mainīt šīs vērtības, lai tās atbilstu jūsu apstākļiem.

Jūsu Subversion repozitorijs tagad ir gatavs lietošanai. Šajā posmā varat iziet no www-dati lietotājs, izmantojot Izeja komandu.

Tagad jūs varat nosūtīt vēlamo projektu vai failu savam repo, izmantojot tālāk norādīto komandu:

sudo svn imports <jūsu projekta adrese> file:///subversion/myrepo -m "Pirmā apņemšanās"

Šī komanda izmanto imports parametru, lai visu jūsu projekta mapē esošo saturu pārsūtītu uz Subversion repozitoriju. To darot, jums jāpievieno apstiprināšanas ziņojums ar -m parametrs.

Piekļuves metožu izmantošana programmā Subversion

Iespējams, esat pamanījuši, ka izmantojat file:// protokolu, lai pievienotu projektu savam repozitorijam. Šis ir tikai viens no vairākiem tīkla protokoliem, ko varat izmantot, lai piekļūtu svn krātuvei. Varat arī izmantot WebDAV protokolu, izmantojot HTTP vai HTTPS, vai subversions pielāgotu svn protokols.

Tieša piekļuve krātuvei

Kā redzējāt, varat izmantot file:// protokolu, lai piekļūtu vietējai repozitorijai. Lūk, kā jūs varat pārbaudīt vietējo repo savā pašreizējā direktorijā:

svn co fails:///subversion/myrepo

Pārbaudot repo, svn parāda tajā esošo failu sarakstu:

Piekļuve, izmantojot WebDAV

Lai integrētu Subversion repozitoriju ar Apache, jums būs jākonfigurē daži iestatījumi.

Lai veiktu pirmo darbību, aktivizējiet dav, dav_svn, un dav_fs moduļi, izmantojot šādas komandas:

sudo a2enmod dav dav_fs dav_svn

Pēc nepieciešamo moduļu aktivizēšanas tagad varat rediģēt /etc/apache2/mods-enabled/dav_svn.conf failu. Izveidojiet failu, ja tas vēl neeksistē, un mainiet tā saturu, kā norādīts tālāk.

<Atrašanās vieta / subversija>
DAV svn
SVNPath /subversion/myrepo
AuthType Basic
AuthName "Subversion repozitorijs"
AuthUserFile /subversion/passwd
Pieprasīt derīgs lietotājs
</Location>

The AuthUserFile iestatījums atsaucas uz failu, kuru izveidojāt iepriekš, izmantojot htpasswd. Pievienojot to šeit, visiem failā nosauktajiem lietotājiem tiks piešķirta piekļuve krātuvei, ja viņi autentificēsies ar derīgu paroli.

Kad esat izveidojis un saglabājis šo failu, restartējiet Apache2 pakalpojumu ar šādu komandu:

sudosystemctlrestartētapache2.apkalpošana

Tagad, atverot tīmekļa pārlūkprogrammu un dodoties uz http://localhost/subversion/, jūs redzēsit savas krātuves saturu. Kad dodaties uz šo adresi, tā prasīs jūsu lietotājvārdu un paroli:

Piesakieties ar lietotājvārdu (piem. mans administrators) un paroli (mypass), ko iestatījāt iepriekš. Pēc lietotājvārda un paroles ievadīšanas varat piekļūt savam Subversion repozitorijam, izmantojot WebDAV:

Piekļuve, izmantojot SSL un WebDAV

The https:// protokolam ir gandrīz tāda pati konfigurācija kā http:// protokolu, tikai ar dažām būtiskām atšķirībām. Lai sniegtu piemēru, .conf fails, kas jāizmanto konfigurācijas laikā, ir atšķirīgs. Jums arī jāinstalē digitālais sertifikāts. Jo, kā jūs zināt, šī ir darba loģika SSL šifrēšanas metode.

Jūs varat izveidot digitālo sertifikātu pats vai arī varat instalēt kompetentas iestādes izdotu. Pieņemot, ka esat instalējis digitālo sertifikātu, jums jādara vienkārši.

Atšķirība šajā darbībā ir izmaiņas, ko veiksit konfigurācijas failā. Tālāk ir sniegts SSL un WebDAV lietojuma konfigurācijas faila paraugs:

<Atrašanās vieta / subversija>
DAV ieslēgts
SSLRnepieciešamsSSL
Iespējas Nav
AuthType Basic
AuthName "Subversion repozitorijs"
AuthUserFile /subversion/passwd
Pieprasīt derīgs lietotājs
</Location>

Kā redzat, atšķirība starp https:// un http:// protokoli nav tik daudz konfigurācijas faila izmaiņu ziņā. Pēc šīm izmaiņām jums būs jārestartē apache2 apkalpošana. Skrien systemctl restartējiet apache2.service tā darīt.

Kāpēc izmantot Subversion?

Kā versiju izsekotājs Subversion atceras visas izmaiņas, kas veiktas failos un direktorijos. Tas ļauj piekļūt vecām programmatūras vai dokumentu versijām, ar kurām strādājat, un atrast to atšķirības. Tas atvieglo projektu pārvaldību, it īpaši, ja jūsu izstrādes komanda ir liela vai izplatīta.

Papildus Subversion operētājsistēmai Linux ir daudz versiju kontroles sistēmu, kuras jūs varētu vēlēties apsvērt.