Mengkopi SVN Repository Antar Distro

Dalam pekerjaan koding program, ada kalanya kita ingin agar kode yang buat dapat traceable. Perubahan yang kita lakukan terhadap program, baik bug resolver maupun improvement, dapat kita lihat perbedaan dan lognya di tiap versi. SVN (aka subversion) menawarkan kemampuan ini (selain software versioning lainnya seperti CVS, RCS).

Awalnya saya mengembangkan program di distro Puppy Linux, dan menyimpan file-filenya dalam di repository svn lokal (di direktory /var/lib/svndata/myprogram ). Namun, seiring meningkatnya permintaan fitur, saya membutuhkan orang lain untuk membantu pekerjaan koding, yang artinya dia harus bisa mengakses repository tersebut, baik commit, checkout maupun update (Inilah fitur SVN lainnya yang mendukung pekerjaan kolaborasi). Yang dilakukan adalah memindahkan repository ini ke server yang bisa diakses umum. Ini yang akan saya paparkan. Server yang digunakan menggunakan Debian.

  • Repositry lokal di direktory /var/lib/svndata/myprogram (SRC_DIR) mempunyai struktur direktori dan file svn khusus (dibuat oleh program svnadmin saat kita create repository)
  • Pastikan server $SERVER telah terinstall subversion beserta modul dav_svn untuk apachenya (webserver)
  • Copy semua direktori lokal $SRC_DIR tersebut, ke server $SERVER (misalnya di /var/lib/svn/). chown menjadi www-data:www-data
  • Edit file /etc/apache2/mods-enabled/dav_svn.conf, tambahkan baris berikut:

     
    <Location /myprogram>
    
      # Uncomment this to enable the repository,
      DAV svn
    
      # Set this to the path to your repository
      SVNPath /var/lib/svn/myprogram
      # to create a passwd file
      # # rm -f /etc/apache2/dav_svn.passwd 
      # # htpasswd2 -c /etc/apache2/dav_svn.passwd didik
      # New password: 
      # Re-type new password: 
      # Adding password for user didik
    
      AuthType Basic
      AuthName "Subversion Repository"
      AuthUserFile /etc/apache2/dav_svn.passwd
    
    
      <LimitExcept GET PROPFIND OPTIONS REPORT>
            Require valid-user
      </LimitExcept>
    </Location>
    

  • Agar seorang user bisa commit, pastikan dia sudah dicreate password filenya
  • Restart apache2
  • Browse ke http://$SERVER/myprogram atau buka repository menggunakan svn client (misalnya eSVN di puppy). Kita bisa lihat repository kita.

Kolaborasikan pekerjaan Anda.

Iklan
Tag: ,

3 Trackbacks to “Mengkopi SVN Repository Antar Distro”

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: