If it is not explicitly told in following recipe, setting up services are described for Ubuntu 16.04 server, but applications are described for Ubuntu 16.04 and/or Lubuntu 16.04 workstation. If you use different Ubuntu version or Linux distribution, settings as well as content, names and places of configuration files may be different!
Got it.

Subversion versiju kontrole

Subversion ir izplatīta atvērtā koda centralizēta versiju kontroles sistēma.

Šajā lapā ir aprakstīts, kā izveidot publisku Subversion serveri, izmantojot Apache serveri ar lietotāju autentifikāciju.

Saturs

Komandrindas klienta uzstādīšana

  1. Izpilda komandu:

    sudo apt-get install subversion

Servera uzstādīšana

  1. root lietotājs uzstāda subversion serveri

    apt-get install apache2 subversion libapache2-svn
  2. Iespējo Apache moduli:

    a2enmod authz_svn
  3. Izveido SVN mapi un saliek pieejas tiesības:

    mkdir /home/svn
    groupadd -g 1600 subversion
    usermod -a -G subversion root
  4. Izveido SVN krātuvi un testa projektu:

    svnadmin create /home/svn/test_project
    chown -R www-data:subversion /home/svn
    chmod -R 770 /home/svn

    (Pēc katra jauna projekta izveidošanas "chown" un "chmod" komandas ir jāatkārto uz jaunās krātuves saknes mapes.)

  5. Izveido papildu Apache virtuālo direktoriju. Failā /etc/apache2/mods-available/dav_svn.conf pievieno tekstu:

    <Location /svn>
      DAV svn
      SVNParentPath /home/svn
      AuthType Basic
      AuthName "Subversion repository"
      AuthUserFile /etc/apache2/svn-passwd
      # uncomment this to allow anonymous "checkout".
      #<LimitExcept GET PROPFIND OPTIONS REPORT>
        Require valid-user
      #</LimitExcept>
      AuthzSVNAccessFile /etc/apache2/svn-acl
    </Location>

Pieejas tiesību pārvaldība

  1. Izveido apache lietotāju failu (slēdzis -cm pirmajai komandai) ar guest lietotāju, pievieno esošajam failam visus citus lietotājus (slēdzis -m):

    htpasswd -c /etc/apache2/svn-passwd guest
    htpasswd /etc/apache2/svn-passwd student
    ...
    htpasswd /etc/apache2/svn-passwd userN
  2. Izveido svn moduļa konfigurācijā norādīto pieejas kontroles failu /etc/apache2/svn-acl ar sekojošu saturu:

    [groups]
    readers = guest
    writers = student

    # pieejas tiesību definēšana uz visu repozitoriju
    # Writewrs grupa var rakstīt un lasīt
    # pārējie var tikai lasīt
    [bootcamp:/]
    @writers = rw
    * = r

    # Sekojoši var norādīt tiesības uz konkrētu mapi:
    #[repository:/folder]
    #user1 = rw
    #@writers = rw
    #@readers = r
    #* = r
  3. Pārstartē Apache:

    /etc/init.d/apache2 restart
  4. Pieslēdzas SVN ar Subclipse, kā URL norādot http://localhost/svn/test_project. Izveido trunk, mapi, kurā lieka iekšā visu kodu, un pēc vajadzības arī citas mapes (piemēram, "tags" vai "branches").

Lietošana

svn:ignore iestatīšana

  1. Lai apskatītu esošās SVN krātuves īpašības, ievada komandu:

    svn proplist -Rv
  2. Lai ignorējamam sarakstam pievienotu, piemēram, failu/mapi, kas nosaukumā satur: *sample*, ievada komandu:

    svn propset svn:ignore "*sample*" -R .

svn:ignore rekursīva izdzēšana

  1. Lai rekursīvi izdzēstu visas ignorējamo failu īpašības, ievada komandu:

    svn propdel svn:ignore -R

Rekursīva .svn mapju dzēšana

lai rekursīvi izdzēstu visas .svn mapes, izpilda komandu:

rm -rf $(find . -name .svn)

Izmaiņu izskatīšana un apstiprināšana

  1. Nepieciešamās izmaiņas apskata ar komandu:

    svn diff
  2. Izmaiņas apstiprina ar komandu:

    svn commit -m "Intial commit"
    Ja nenorāda parametra -m vērtību, atveras teksta redaktors ar mainīto failu sarakstu, kuru var mainīt. Izmaiņas tiek apstiprinātas pēc iziešanas no teksta redaktora.

Saites

Alternatīvas

 

Created by Valdis Vītoliņš on 2008-08-09 19:01
Last modified by Valdis Vītoliņš on 2017-05-22 15:31
 
Xwiki Powered
Creative Commons Attribution 3.0 Unported License