Skip to content

TFS vs. SVN

Visual Studio ile yazılım geliştiren birisinin source control denen iş için kullanabileceği iki tane microsoft ürünü vardır ki; birisi Visual Source Safe (VSS) diğeri ise Team Foundation Server (TFS). TFS VS2005 ile birlikte ortaya çıkan team temelli yazılım geliştirme süreçlerinin bir uzantısı olarak ortaya çıkmış bir yazılımdır ve bu yazılım geliştirme süreç analizi olayı ana görevidir. Ancak bağlı olarak kullanılan source control özelliğinden ayrı düşünülemez. Aslında en başta sorulması gereken bir soru var, “neden source control programlarına ihtiyaç duyarız ?” cevap şu: birden fazla programcı ile geliştirilen yazılımlarda ortak bir çalışma alanı ihtiyacı doğar. Bu belki ortak bir paylaşım klasörü bile olabilir ancak ortak çalışma alanından kasıtla ortak paylaşımın birbirlerini karşılama durumu biraz az çünkü, kodlardan bir kısmının değiştirilmesi esnasında başka bir programcı da aynı kodlara erişmek, değiştirmek ya da silmek isterse ne olacak gibi temel bir sorun var mesela ortada.

İki alternatif var dedik, VSS ve TFS. VSS daha ufak çaplı geliştirme grupları için, daha taşınabilir, daha ufak bir yazılımdır. Temelde bir windows paylaşımına eklentiler yarattığını söylemek yanlış olmaz. Kodu kullanmaya başlama (checkout) ve kodla çalışmayı bitirme (checkin) işlemlerini windows paylaşımında duran kodlar için kendine özgü bir protokolle istemcilere ulaştırır ve çakışmaları yanlış kod kullanımlarını bu sayede engeller.

TFS ise SQL Server, SharePoint Server ve IIS Server’ın birleşmesiyle oluşan daha büyük bir yapıdır. Dosyalar ve revizyonlar sql server da tutulurken, geliştirme takımının haberleşmesi ve dökümantasyon için SharePoint, ve bunların sağlanması için yayını yapacak xml web servisler için IIS’i bünyesinde kullanır. Aslında temelde bir xml web servisten başka bir şey değildir. HTTP ve HTTPS iletişimi kullandığı için denizaşırı ekiplerde bile rahatlıkla kullanılabilir.

Ancak tabi pratikdeki durum hiç bu kadar pembe değil, öncelikle TFS kurulumu ve yapılandırması bir hayli zor bir sistemdir. Full SQL Server kurulumu ve bir dizi  (bayaa bir dizi) yapılandırma ayarından sonra ancak kurulabilir. Veritabanı sistemi oldukça karmaşıktır. Ve kullanımıda hiç düşünüldüğü kadar anlaşılabilir değildir. Tabi herşeyin ötesinde paralıdır. ($2799)

Source control olayı tabi ki microsoft’un ürettiği bir sistem değil, çok eskilere dayanan bir mantığa sahip. 1980 yıllarda ortaya çıkan CVS (Concurrent Versions System) ile daha yeni ve daha yaygın kullanıma sahip olan SVN (Subversion) madalyonun asıl tarafını oluşturuyorlar. SVN burda aslında TFS ile çarpışcak olan rakibimiz. Temelde bir web uygulaması gibi çalışıyor, istenirse apache üzerine kurulabildiği gibi kendine ait bir apache wrapper’ı ile geliyor. Kendine ait bir veritabanı sistemi mevcut ve bu vt için bir yayıncıya (mysql, postgresql vs.) ihtiyaç duymuyor, basitçe bir klasör temel olarak gösterilip oradan yayına başlayabiliyor.

Temelde bakınca hem VSS nin hemde TFS nin temel bazı güzelliklerine sahip olduğu söylenebilir. Ek olarak tabi ki ücretsiz. Sunucu kurulumu için VisualSVN isimli güzel bir dağıtım mevcut, apache ve svn i birleştirip windows için hazır hale getirmişler. mmc’si bile mevcut içinde. İstemci tarafında ise en popüler arayüz TortoiseSVN ya da VS.net eklentisi olarak çalışan AnkhSVN. AnkhSVN vs.net’e gömülü çalıştığından daha doğru bir alternatif gibi gözükmesine rağmen stabiliteden biraz uzak gibi, TortoiseSVN şu an için istemci tarafındaki en başarılı program.

Sonuç olarak ya 2799 dolar verip katı hantal bir sistemi tercih etmek ya da 0$ a daha esnek hızlı bir sistemi tercih etmek…

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*