Proje proje proje...
Koskoca bir yaz dönemi boyunca en çok duyduğum kelime
kuşkusuz bu oldu. Staj yaptığım 3 ay boyunca çeşitli projelerde yer aldım. İş
ortamının, okulda öğrendiğimiz temelin üzerine epey bir şeyler eklememizi
gerektirdiğini yakından gördüm. Bunun yanında doğru adımları attığım sürece
başarılı olmanın zor olmadığını da anladım. Bu sene artık 4. sınıf olmanın
ağırlığını hissediyorum ve iş hayatına erkenden adım atmış olmanın faydalarını
göreceğime inanıyorum.
Yazımda, staj döneminde öğrendiğim ve çok faydasını
gördüğüm bir teknolojiden biraz bahsetmek istiyorum. Bir senedir bildiğim ancak
bu yaz kullanma imkanı bulduğum bu mucizenin adı SVN.
Büyük veya küçük tüm şirketlerde şirket içindeki
projelerin arşivlenmesini ve önemli değişikliklerin kaydedilmesini sağlayan
çeşitli yöntemler kullanılıyor. Özellikle yazılım firmalarında gün içinde kod
üzerinde değişiklikler yapılabiliyor. Projenin son halinden, nerede
tutulduğundan, kimlerin geliştirme yaptığından proje yöneticisinin haberi
olmuyor veya eski bir versiyona geri dönülmek isteniyor. Aynı anda iki proje
elamanı çalışmak istediğinde ise veri kayıpları yaşanabiliyor. SVN Subversion
programı sayesinde bu problemler ortadan kalkıyor. Nasıl mı?
Öncelikle bir SVN sunucusu
kurmanız gerekiyor. Tanımladığınız bir projeyi SVN sunucusuna yüklüyorsunuz.
Üzerinde değişiklik yapabilecek kullanıcılar tanımlıyorsunuz. Ekip arkadaşlarınız bu dosyalara erişmek için SVN
client kurarak sunucuya bağlanıyor ve önceden tanımlanan kullanıcısı ile
projeye erişerek bilgisayarına çekebiliyor. Üzerinde değişiklik yapılmış tüm
versiyonları, bir versiyonun diğer bir versiyonla arasındaki farkları, kimin
değişiklik yaptığını ve daha birçok bilgiyi SVN sayesinde öğrenebiliyor.
Kendisi bir değişiklik yaptığında projeyi “commit” ederek SVN sunucuya
aktarılmasını sağlıyor. Commit işlemi yapılırken açıklama olarak ne
yapıldığının eklenebileceği bir kısım da var. Diğer ekip elemanları güncelleme
yaptıklarında bu değişiklikleri rahatlıkla görebiliyorlar, yani sadece kendi
bilgisayarlarında bulunan projeyi güncellemeleri yeterli oluyor. Tüm
versiyonlar veri tabanında saklanıyor ve güvenli veri alışverişi sağlanıyor.
Özetle SVN sayesinde,
- Proje üzerinde
yapılan en ufak değişiklikten
tüm ekip haberdar olur.
- Kodlar üzerinde yaptığınız değişiklikleri geri almak isterseniz, değişiklik
yapılmadan önceki eski versiyonu sizin için saklar.
- Farklı
gereksinimler için farklı dallar oluşturup aynı anda birden fazla geliştirme yapabilir
ve bu geliştirmeleri sonradan tek bir projede toplayabilirsiniz.
-
Herhangi bir dosyanın eski sürümünü indirebilir, yeni sürümü ile arasındaki
farkları görebilirsiniz.
- Dosya kilitleme işlemi sayesinde dosyalar üzerinde
değişiklik yapılması engellenebilir.
Bir subversion içerisinde 3
adet klasör bulunur.
Trunk
Projenin en güncel
versiyonunun bulunduğu klasördür. Geliştiriciler, bu klasör üzerinde çalışırlar
ve son değişikliklere bu klasörden erişirler. Yani bu klasörde bulunan dosyalar
en kararsız dosyalardır. Son kullanıcıya bu dosyalardan oluşan versiyon teslim
edilemez.
Branch
Trunk üzerinde yapılan
değişiklikler sonrasında çalışır hale geldiği test edilen dosyaların
aktarıldığı klasördür. Bu klasördeki dosyalar son kullanıcıya teslim
edilebilecek olan dosyalardır. Bu versiyon teslim edildikten sonra trunk
üzerinde geliştirme yapılmaya devam edilebilir.
Tags
Etiketleme
işlemi olarak düşünülebilir. Projenin her kararlı (çalışan) hali veritabanında
1.0.x sürümü adıyla saklanıyor. Biraz daha geliştirilerek
yeni oluşturulan versiyonla birlikte sürümü yükseltilebiliyor. Böylece
geliştirme aşamaları takip edilmiş ve etiketlenmiş oluyor.
SVN sisteminin tarihine bakılırsa; 14 aylık
kodlama döneminden sonra geliştirilen Subversion sistemi 31 Ağustos 2001
tarihinde hizmet vermeye başladı. Subversion CVS örnek alınarak yapılmıştır.
Amacı CVS'den daha iyi bir versiyonlama sistemi oluşturmaktır. Açık kaynak
kodlu (open source) olan Subversion sistemi ücretsiz olarak indirilebilir,
kodlarında istenilen değişiklik yapılabilir.
Son olarak aşağıdaki
adresten Visual SVN programının en güncel versiyonu indirilebilir. Visual SVN
Server bir Apache Server ve
SVN için Yönetim Paneli sunuyor.
http://www.visualsvn.com/server/download/
Herkese SVN ile
keyifli projeler ve başarılı bir yıl dilerim. Gelecek ay görüşmek dileğiyle.
Kaynaklar: