Versiyon kontrol sistemleri çalışma şekillerine göre sınıflandırılabilmektedir. Sadece yerel disk üzerinde lokal olarak çalışabilen sistemler olduğu gibi, bir sunucu üzerinden çalışan sistemler ve bu iki durumu birleştirecek şekilde çalışan sistemler de bulunmaktadır.
Sadece Lokalde Çalışan Sistemler
Bu şekilde çalışan sistemlerde bir sunucu uygulaması yoktur. Versiyon kontrolü yapılacak belge ve dokümanlar yerel diskte lokal olarak saklanmaktadır.
RCS(Revision Contol System)
RCS depolama, geri alma, dosya günlüğü tutma ve revizyon birleştirme gibi işlemleri yapabilen bir revizyon takip programıdır. Sık revizyon yapılan programlar ve dokümanlar için kullanışlıdır. RCS sadece tek bir dosya üzerinde çalışmaya imkan vermektedir. Bir proje toplu olarak kontrol edilememektedir. Söz diziminin hantal olması bu sistemin kullanılışını azaltmaktadır.
CCS(Source Code Control System)
SCCS Revizyon Kontrol Sistemi (RCS) serbest bırakılana kadar Unix için baskın sürüm kontrol sistemi olarak kullanılmıştır. Bugün, SCCS genellikle eski olarak kabul edilir. Ancak, dosya biçimi hala BitKeeper ve TEAMWARE dahil olmak üzere diğer birkaç revizyon kontrolü programı tarafından dahili olarak kullanılmaktadır.
İstemci-Sunucuda İlişkisi İle Çalışan Sistemler
Bu şekilde çalışan sistemlerde dosyalar bir sunucuda tutulmaktadır. Kullanılmak istenen dosya sunucudan alınarak gerekli işlemler yapıldıktan sonra tekrar sunucuya gönderilir. Takım çalışması şeklinde geliştirilen projeler için yaygın şekilde kullanılmaktadır.
CVS(Concurrent Versions System)
CVS programı yazımızın ana konusu olan SVN programının temelini oluşturmaktadır. CVS’nin özelliklerini kısaca sıralarsak;
- Açık kaynak kod olarak geliştirilmiş bir yazılımdır,
- Kaynak kodların takibini kolaylaştırır,
- Kaynak kodların tek merkezde depolanmasına ve yönetilmesine izin verir,
- Kaynak kodların ya da kod parçalarının istenilen sürümlerine ulaşabilmenize ve üzerinde değişiklik yapmanıza olanak verir,
- Kaynak kodların bütün sürümlerinin tutulması fazlaca disk alanına gereksinim duyacağından
- CVS de tüm sürüm dosyaları değil sürümler arası değişiklikler tutulur,
- Bir dosyaya birden fazla kişi tarafından erişilebildiğinden, yapılan değişiklikler herkes tarafından görülebilir ve istenilen dosya da değişiklik yapılabilir.
Dağıtık Şekilde Çalışan Sistemler
Dağıtık sürüm kontrol sistemleri daha yeni geliştirilmeye başlanmış ve daha esnek bir yapıya sahiptir. Merkezi sürüm kontrol sistemleriyle yapabilen hemen her şey dağıtık sürüm kontrol sistemleriyle de yapılabilmektedir. Dağıtık sürüm kontrol sistemlerinde, sunucu-istemci yapısına alternatif olarak, sürümlemeler için sunucuya bağlı olmak gerekli değildir. Dağıtık sürüm kontrol sistemlerinde de bir sunucu olabilir. Bu sistemlerde yazılımcı hazırladığı sürümleri lokal makinesinde belirleyebilir ve zamanı geldiğinde sunucu ile eşleştirebilir ayrıca takım arkadaşlarının sunucuya gönderdiği değişiklikleri kendi makinesindeki kodlarına kolaylıkla uygulayabilir.
Git
Git versiyon kontrol programının özeliklerine kısaca bakacak olursak,
- Fonksiyonel açıdan SVN’e benzerlik göstermektedir. Kullanım açısından en az SVN kadar kolay ve görevleri daha basit hale getiren bir kullanıcı arayüzüne sahiptir.
- Sadece belirlenen satırlarda işlem yapılabilir.
- Birden fazla özellik eklenerek dosyalar değiştirilebilir.
- Hızlıdır.
- Çalışmalar saklanabilir.
- Lokal dallanma sağlar (local branching)
- Tüm işlemler lokal olarak yapılır.
- Program boyutu küçüktür.
- İşlem yapmadan önce işlem yapacapılacak alan üzerinde önizleme yapabilmenizi sağlar.
- Merkezi bir sistemle merkezi çalışma ağı sunar.
- Değişiklik yapan kişilerin değişikliklerini takım liderine gösterir ve değişiklikleri dahil edip etmeyeceğini sorar.
- Basit bir hosting sitesinden daha çok sosyal bir ağa benzeyen “GitHub” servisini sunar.
- Öğrenmesi kolaydır.
Mercurial
Mercurial, ücretsiz versiyon kontrol yönetim aracıdır. Kullanıcılara süre sezgisel bir arayüz kullandırarak, her boyuttaki projesi için büyük avantaj sağlamaktadır. Subversion gibi kullanıcı tabanlı mimariye sahip değildir. Her kullanıcıya yerel bir kopya bırakır, bu sayede internetten bağımsız da çalıştırılabilir. Yapı tasarımı sayesinde revizyonlar arasındaki farkları kolayca algılayabilir, zaman içerinde kolayca eski versiyonlara dönülebilir.
Bazaar
Bazaar komut kümesi açısından CVS ve SVn’e oldukça benzemektedir. Hem dağıtık hem de sunucuya bağlı olarak çalışabilmektedir. Bazaar’ı diğer versiyon kontrol sistemlerinden ayıran en büyük özelliği farklı versiyon kontrol sistemleri ile çalışabilmesi ve dosya isimlerinde Unicode desteklemesidir.

Hiç yorum yok:
Yorum Gönder