Uzun zamandır aklımda olan, uzun zamandır
kullandığım ve anlatmak istediğim hayat kurtaran bir fikir: SubVersioN(SVN).
Subversion
(SVN)
Subversion nedir ne değildir ne işe yarar biraz açıklamaya çalışacağım. Subversion bir sürüm takip sistemidir. Kısaca SVN olarak da adlandırılmaktadır.
SVN'i anlatmanın en kolay yolu bir örnek üzerinden gitmek. Bir proje geliştirdiğinizi düşünün. Ekibiniz küçük veya büyük farketmez, aynı dosyalardan çalışmak ve hızla ilerlemek zorundasınızdır. Bu tür çalışmalarda en fazla rahatsızlık veren durum her zaman takımdaki kişilerin yaptığı düzenlemelerin, yine takımdan birisinin yaptıklarıyla çakışmasıdır. Sizin yaptığınız bütün değişiklikler, bir başka kişide var olmayacağı için o dosyayı farkında olmadan sizin yaptıklarınızın üzerine atar ve bir anda tüm yaptıklarınız ezilir.
Subversion nedir ne değildir ne işe yarar biraz açıklamaya çalışacağım. Subversion bir sürüm takip sistemidir. Kısaca SVN olarak da adlandırılmaktadır.
SVN'i anlatmanın en kolay yolu bir örnek üzerinden gitmek. Bir proje geliştirdiğinizi düşünün. Ekibiniz küçük veya büyük farketmez, aynı dosyalardan çalışmak ve hızla ilerlemek zorundasınızdır. Bu tür çalışmalarda en fazla rahatsızlık veren durum her zaman takımdaki kişilerin yaptığı düzenlemelerin, yine takımdan birisinin yaptıklarıyla çakışmasıdır. Sizin yaptığınız bütün değişiklikler, bir başka kişide var olmayacağı için o dosyayı farkında olmadan sizin yaptıklarınızın üzerine atar ve bir anda tüm yaptıklarınız ezilir.
Bu gibi durumlarda ya takım
arkadaşlarınızla çok iyi bir iletişime sahip olmalısınız ya da her zaman
elinizde yaptıklarınızın yedeği bulunsun ki bir sürü zaman harcayarak
çakıştığınız noktaları birleştirmeye uğraşın.
![Tortoise SVN](file:///C:\Users\Toshiba\AppData\Local\Temp\msohtmlclip1\01\clip_image001.gif)
Tüm bunlar bir işkence değil mi?
O zaman SVN kullanabilirsiniz.
Üstelik bir takım çalışması da olmak zorunda değil, tek başınıza çalışsanız
bile. SVN basit olarak belirlediğiniz klasörleri, içindeki dosyaları versiyonluyor.
Bir SVN sunucusu sayesinde (bu kişisel bilgisayarınız da olabilir) proje
üzerinde yapılan en ufak değişiklik bile versiyonlanıyor ve veritabanına
kaydediliyor. Ekip çalışanları bu dosyalara ulaşmak istediğinde bir SVN
programı sayesinde dosyaları bilgisayarlarına çekip, çalışmalarını
yapabiliyorlar. Güncelleme işlemi tamamlanınca tüm ekip uğraşmadan yeni
dosyalara erişebiliyor.
Neler gerekli?
SVN Mac de dahil bir çok platformu destekliyor.
Dilerseniz bir SVN sunucu
yazılımını web sitesinden indirebilirsiniz.
Ekip çalışanları SVN sunucusundaki dosyalara
erişmek için bir SVN yazılımı kullanmak durumdadırlar. Benim tercihim TortoiseSVN'den yana
(Türkçe desteği yok ama kesinlikle tek geçerim).
Nasıl çalışıyor?
![Tortoise SVN nedir](file:///C:\Users\Toshiba\AppData\Local\Temp\msohtmlclip1\01\clip_image002.jpg)
SVN üzerinde çalışma mantığı ise oldukça
basit. SVN sunucusuna tanımlanan bir proje, çalışanlarda
bulunan TortoiseSVN yardımıyla kendi bilgisayarına
indiriliyor. Yani sunucudaki dosyaların birer kopyası çalışan insanlarda
oluyor. Çalışan kişi dosyalarda istediğini değişikliği yaptıktan sonra
TortoiseSVN yardımıyla dosyaları SVN sunucusuna atabiliyor. Böylece diğer
çalışanlar SVN projesini güncellediğinde o kişinin yaptığı tüm değişiklikler
onların da bilgisayarlarına yansıyor.
Eğer iki kişi aynı dosyada
çalıştıysa ve bir şekilde çakışma yaşandıysa TortoiseSVN bu çakışmayı gidermek
için elinden geleni yapıyor. Eğer değişiklikler dosyada aynı satırlarda değilse
(mesela birisi en üstte, diğeri en altta çalışıyorsa), TortoiseSVN bunları
rahatlıkla birleştirebiliyor. Eğer çalışma aynı satırlardaysa bu sefer bir
uyarı alıyorsunuz ve size çakışan yerleri gösteriyor. Ancak birleştirme
işlemini yapamadığı için size gösterdiği farklılıklardan birleştirmeyi sizin
yapmanız bekleniyor, çok daha kısa süren bir işlem.
Kimler için?
İster
bir ekip çalışması olsun, isterseniz tek başınıza çalışın her türlü web projesi
için kullanmanız oldukça faydalı olacaktır. Versiyonlama sistemi saysinde
çakışmaları engellediği gibi, geriye dönüp tüm yapılan değişiklikleri de
görebiliyorsunuz. Bundan 2 ay önce yaptığınız, fakat kaybettiğiniz bir dosyayı
SVN üzerinden çıkarmak oldukça basit.
Son olarak popüler
çevirim içi geliştirme platformları SourceForge ve Google Code da SVN
Yorumlar
Yorum Gönder