Bu da benim son zamanlarda sık kullandığım shell betiğim. Betik verip kaçmayacağım, neden kullandığımı da açıklamaya çalışacağım.

Betik istediğiniz bir svn sunucundan istediğiniz bir dizine checkout (dosya alma) işlemi yapıyor. Ben dosyayı root olarak çalıştırdığım için aktarım sonrası gelen dosyaların kullanıcılarını değiştirmek zorunda kaldım. (svn kurulu olmalı)

#!/bin/sh
# vim: set sw=4 ts=4 et:
svn checkout --username USERNAME --password PASSWORD http://svn.svnserver.com/project/trunk/ public_html
chown -R USER:GROUP public_html/*
chown -R USER:GROUP public_html/.*
chown -R USER:GROUP public_html/.svn/

Peki ne, nasıl oluyor?

Şimdi, localhostta bir proje geliştiriyoruz, elbette svn destekli. Proje çalışır duruma gelince svn sunucumuza gönderiyoruz, ve yukarıdaki betik ile sunucumuza çekiyoruz. Yazılımımız çalışır durumda. Ancak proje henüz bitmedi, localde geliştirmeye devam ediyoruz. Biraz daha ilerleme kaydettik, svn ye gönderiyoruz tekrar, sonra tekrar sunucumuzdaki betik ile dosyaları alıyoruz, yalnız dikkat, betik bu defa tüm dosyaları değil, sadece değişen ve yeni dosyaları aldı.

Biraz kaba anlattım, ama bu çalışma tarzının pek çok artısı var, her defasında tüm dosyaları FTP den atmıyoruz, hangi dosyalar değişmiş diye takip etmiyoruz, ve de istediğimiz zaman svn nin nimetlerinden yararlanabiliyor, eski sürümlere dönebiliyor, projemizin bir svn sürüm numarası oluyor, bir sürü svn nimeti.