Zırvalama Tahtası symfony, debian, PHP5, SQL ve pek çok ayrıntı

27Feb/091

Bölüm 2) Kaynak kod yönetim sistemleri

Tek tabanca çalışan yazılımcılarda gözlemlediğim diğer bir dezavantaj ise kaynak kod yönetimi için her hangi bir araç ihtiyacı hissetmemesidir. Bu nedenle özelliklede takım çalışması sırasında en çok ihtiyaç duyacağınız kaynak kod yönetim araçlarının eğitimi ve kullanım alışkanlığının oluşturulması zaman alacaktır. Ticari olarak geliştirilen Kaynak kod yönetim araçları özellikle bir startup için oldukça maliyetli olabilir, bu neden ile özgür yazılım olarak kullanılan araçlar içerisinden en çok kullanılanlarına bir göz atalım, CVS, GIT ve Subversion, her aracın kendine özgü avantajları ve dez avantajları mevcuttur bu araçlardan hangisinin kullanılacağı ise genel olarak proje içerisinde yer alan yazılımcıların genel olarak hangi aracı daha rahat kullanabileceği ile ilgilidir, zamanla mevcut kullanılan kaynak kod yönetim aracının değiştirilmesi söz konusu olabilir.

GIT
Git, linus torwalds tarafından linux kernel kaynak kodunun idaresi için geliştirilmeye başlanmış ve ardından pek çok geliştiricinin desteği ile gelişimine devam etmiştir, linux kernel'i gibi oldukça büyük ve binlerce kişi tarafından geliştirilen bir uygulama için kullanılan bu araç pek çok kişinin ve şirketin dikkatini çekmiş ve son bir yılda oldukça popülerleşmeye başlamıştır. GIT diğer kaynak kod yönetim uygulamarından bazı özellikleri ile ayrılmaktadır, başlıca özellikleri dağıtık bir mimari sunmaktadır, bir depo'yu kullanmak istediğinizde deponun tüm tarihi bilgisinide alırsınız. Bir depo ihtiyacı duymaz ve yerel olarak çalışabilir, bu sebeble bir git sunucusuna ihtiyacınız yoktur.

CVS
1986 dan beri geliştirilen ve oldukça sık kullanılan bir araçtır, eski olması nedeni ile pek çok windows, unix ve mac üzerinde istemcileri mevcutur. modüler yapısı sayesinde pek çok araç ile entegre çalışabilir. pluginleri sayesinde RSS üretebilir, commit logları farklı veri tabanı üzerinde tutulabilinir. Ayrıca web üzerinden de kaynak kodlar üzerindeki değişiklik takip edilebilinir, rss ve mailing ile son değişiklikleri geliştiricilere iletebilirsiniz.

Subversion
2000 yıllında geliştirilmeye başlayan bu araç CVS de bulunan pek çok zenginliği taşımaktadır. moduler yapısı sayesinde CVS için kullanabileceğiniz yardımcı araçları subversion içinde bulabilirsiniz. subversiyonun geliştirilme amaçlarından biri olan CVS'de bulunan bir takım önemli problemleri kapatmak ve geliştiriciler için daha kolay bir kullanım sunmaktır. Subversiyonda'da commit loglarını ayrı veri tabanında tutabilir, web arabirimi ile kaynak kodlar üzerindeki değişiklikleri takip edebilirsiniz, rss ve mailing ile son değişiklikleri geliştiricilere iletebilirsiniz.

Unutmamanız gereken şey yukardaki her araç sadece ve sadece kaynak kod yönetimi için geliştirilmiştir, rss, mailing ve web arabirimleri için bu araçlar ile entegre çalışan farklı uygulamaların mevcut olduğu ve içerisinde hazır çözüm olarak gelmediğidir.

Kişisel tercihim olarak kullanım ve yönetim kolaylığı nedeni ile subversiyon'dur ancak projenin ihtiyaçları doğrultusunda bu seçim değişebilir.

Kaynak kod yönetim sistemlerinin kullanılmaması pek çok girişim ve projenin geliştirme süreçleri büyüme arttıkça doğru orantılı olarak uzamakta veya gelişimini devam ettirememesine neden olmaktadır. Geliştiricilerin bu tür araçları kullanmaya alıştırmak için ise benim kişisel yöntemlerimden biri commit mesajlarına ufak tefek proje ile ilgisiz genelde şakacı yada gönderme yapan mesajlar geçmektir. bir süre sonra commit mesajları geliştiriciler arasında online iletişim aracı haline gelecektir :)

$ svn commit dosya.txt -m "fixed #5454
>
> 
> detan böcekkıran böceklerle olan savaşında bir kez daha kahramanca galip gelir."
$ svn commit dosya.txt -m "
> typo hatası, indentlere dikkat etmek lazım gelir.
> 
>  çeşme başında gezmeli,
>  güzeli uzaktan süzmeli,
>  eğer gönlü var ise,
>  istemeye gitmeli."
Comments (1) Trackbacks (0)
  1. Lutfen asagidaki kullanimi deneyiniz. Adami hasta etmeyiniz:

    export SVN_EDITOR=vim #Bunu .bash_profile’ye yazin

    Artik su sekilde kullanilabilir:
    svn ci dosyaadi


Leave a comment


No trackbacks yet.