Note, that this recipe is not updated long time and could be outdated!
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


  
Tags Linux Serveris Tīmeklis Programmēšana
Created by Valdis Vītoliņš on 2008-08-09 16:01
Last modified by Valdis Vītoliņš on 2021-04-13 14:30
 
Xwiki Powered
Creative Commons Attribution 3.0 Unported License