Ekim 2010 | Sayı : 19
      Subversion Ekim 2010 | Sayı : 19

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:

 

      Sümeyra HAŞLAMAN
İ.Ü. Bilgisayar Mühendisliği 4. Sınıf
- Ekim 2010 -
Editörden... | Ercan ZENGİN Turkcell Gezenzi | Simge UÇKAN LogMeIn | Serkan AKDEMİR Subversion | Sümeyra HAŞLAMAN Bireysel Sistem Güvenliği | Ünal KAN Java ve Kariyer | Melih SAKARYA World of Warcraft: Catacylsm | Erman TEPE Hello Silverlight | Musa ÇİÇEK Java ile Mobil Uygulama Geliştirme | Bülent ÇOBANOĞLU Yeşil BT | Muhammed CÜCE Neden Twit'leyelim? | Alper KAYA Araçsal Ağlar | Ilgın UĞUR
« önceki sayfa - 3 - sonraki sayfa »

Ana Sayfa | Künye | Dergimiz | | İletişim
© 2009-2010 Bilisimdergi.Com Tasarım - Kodlama : İU BİLGİSAYAR

Creative Commons License
Bilişim Dergi içeriği  Creative Commons  lisansı ile korunmaktadır.
Kaynak göstermek ve link vermek şartıyla yazılarımızı kullanabilirsiniz.