SVN : SÜRÜM TAKİP SİSTEMİ |
( soner.sag@linuxprompt.com ) |
Server 'da SVN çalışacağı için subversion ve subversion-tools paketlerinin yüklü olması gerekir. Server 'da bu paketler yüklü gelmektedir. Subversiyon açık kaynak kodlu bir sürüm takip sistemidir. Dosya ve dizinler üzerinde yapılan her değisikliği hatırlaması en büyük avantajıdır. Böylece gelistirilen yazılım ya da belgenin eski sürümlerine rahatlıkla ulasabilmeyi mümkün kılar. Çalışılan projelerin takip edilebilmesi, geliştirilen projenin hangi aşamaya geldiğinin gözlemlenebilmesi ve zaman yönetimi açısından büyük avantajlar sağlar.
Apache "mods-available" dizininden dav_snv_load ve dav_svn.conf modülleri "mods-enabled" dizinine linklenmeli veya "a2enmod <modul_adı>" şeklinde aktif edilmelidir. |
Subversion'a yeni bir depo eklemek için kullanılacak olan komut
| linuxprompt~# svnadmin create </srv/svn/obis_deposu> |
şeklinde olmalıdır. Fakat svn kurulu bir sistemde yeniden yapılandırılma yapılırken bu komutun kullanılması gerekmez. Dikkat edilmesi gereken nokta olusturulacak depo dizini üzerinde okuma / yazma yetkisine sahip olmanız gerektiğidir.
oluşturduğunuz depoya yeni bir proje eklemek için
| linuxprompt~# svn import /proje_adresiniz file:///depo_adresiniz --m "bilgilendirme iletisi" |
komutunu kullanmalısınız.
depoda bulunan bir projeyi yerel 'e almak için
| linuxprompt~# svn checkout file://srv/svn/obis_deposu <obis_deposu_yerel> |
SVN 'den aldığınız çalışma kopyanızın güncellemesi için
komutu kulllanılır.
Depo 'dan bir dosyayı silmek için
| linuxprompt~# svn delete <dosya> |
Depo 'dan bir dosyayı kopyalamak için
| linuxprompt~# svn copy <dosya> |
Depo 'dan bir dosyanın adını değiştirmek veya taşimak için
| linuxprompt~# svn move <dosya1> <dosya2> |
Üzerinde değişiklik yapılan dosyalar svn commit komutu ile tekrar subvision deposuna gönderilir. --message parametresi ile bilgilendirilme mesajı eklenebilir.
| linuxprompt~# svn commit --message "OBIS STABLE haline getirildi" |
| Location>..</Location> |
Apace 'nin sunduğu içeriğe erişenleri sınırlayarak belli ölçüde güvenlik sağlayabiliriz. En temel erişim denetimi alan adı ya da IP bloklarına göre denetlenmesidir. Bunu <Directory>..</Directory> bloklarına benzeyen <Location>..</Location> blokları ile yapariz. |
SVNPath /srv/svn/obis_deposu |
SVN yolu. Yani SVN 'in bulunduğu dizin. |
| Require valid-user |
Burada valid-user yerine doğrudan kullanıcıları da ekleyebilirsiniz |
| AuthType Basic |
SVN 'e denetleme yapıldığında şifrenin salt metin olarak bulunduğunu belirtmektedir. |
| AuthName "Ceren Subversion repository" |
AuthName Direktifi ile korunan bolgenin ismi belirleniyor. Herhangi bir text olabilir.Bu bilgiyi apache ilgili guvenlik modulune gecirecek ve korunulan bolgenin ismi olarak adlandirilacaktir. Bu isim icerisinde bosluk kullanilmamalidir.Eger bosluk kullanilacaksa korunan bolgenin adi cift tirnaklarin arasina yazilmalidir. |
| AuthUserFile /srv/svn/obis_deposu/obis_passwd |
Parola dosyası /srv/svn/obis_deposu/obis_passwd dosyasının içindedir. |
###########
# SVN
###########
<VirtualHost *:80>
DocumentRoot /srv/www/dev.linuxprompt.com
ServerName svn.linuxprompt.com
ServerAdmin info@linuxprompt.com
<Directory "/srv/www/dev.linuxprompt.com">
Options None
AllowOverride None
Order deny,allow
Deny from all
Allow from 10.
</Directory>
<Location /svn>
DAV svn
SVNPath /srv/svn/obis_deposu
Require valid-user
AuthType Basic
AuthName "Ceren Subversion repository"
AuthUserFile /srv/svn/obis_deposu/obis_passwd
Order deny,allow
Deny from all
Allow from 10.
</Location>
<Location /websvn>
DAV svn
SVNPath /srv/svn/web_deposu
Require valid-user
AuthType Basic
AuthName "Ceren Subversion repository"
AuthUserFile /srv/svn/web_deposu/web_passwd
Order deny,allow
Deny from all
Allow from 10.
</Location>
</VirtualHost> |
|