CVS ve Subversion Arasındaki Fark

CVS ve Subversiyon

Eşzamanlı Sürümler Sistemi (Eşzamanlı Sürüm Sistemi veya CVS olarak da bilinir), ücretsiz bir yazılım revizyon kontrol sistemidir - yani, bilgisayarda saklanan belgeler, programlar ve diğer bilgilerdeki değişiklikleri yöneten halka açık bir programdır. Dosyalar). Birden fazla geliştiricinin işbirliği yapmasına olanak tanır.

Subversion (SVN olarak da bilinir), dosyaların geçerli ve önceki sürümlerini (kaynak kodu, web sayfaları ve belgeler gibi) korumak için kullanılan bir sürüm kontrol sistemidir. CVS'nin ve onun en uyumlu halefinin doğrudan yükseltilmesidir. Aynı zamanda açık kaynaklı bir teknolojidir ve Apache Software Foundation, Free Pascal, MediaWiki ve Google kodu gibi birçok projede yaygın olarak kullanılmaktadır..

CVS, istemci sunucu mimarisini kullanır; bu, sunucunun belirli bir projenin geçerli sürümünü (veya sürümlerini) saklamanın yanı sıra geçmişini kaydetmesi anlamına gelir. Daha sonra istemci, sunucuya bağlanmadan önce tamamlanmış olan projenin bir kopyasını 'kontrol etmek' için sunucuya bağlanır. Müşteri daha sonra projenin bu kopyası üzerinde çalışabilir ve daha sonra yaptığı değişiklikleri kontrol edebilir. CVS, bir müşterinin belirli bir projenin bir kopyasını kontrol etmesine izin vermenin yanı sıra, birden çok istemcinin aynı proje üzerinde aynı anda çalışmasına ve check-in yapmasına izin verir. İstemciler dosyaları projenin kendi çalışma kopyası içinde değiştirebilecek ve bu düzenlemeleri sunucuya gönderebilecek.

Subversion - yani, bir dizi geçici değişiklik yaratır ve bunları gerçek atomik (ya da her şeyin meydana geldiği ya da hiçbir şeyin olmadığı bir dizi veri işlemi) olarak kalıcı hale getirir. Subversion ayrıca kullanıcıların dosyaları yeniden adlandırmasına, kopyalamasına, taşımasına ve / veya kaldırmasına olanak tanır; ancak, bu dosyalar tüm düzeltme geçmişlerini saklar. Bu sistem, ayrıştırılabilir çıktı, yerel olarak istemci / sunucu katmanlı kütüphane tasarımı ve ucuz işlem olarak (dosyanın boyutundan bağımsız olarak) dallandırma ve etiketleme kullanır. PHP, Python, Perl ve Java için dil bağlamaları vardır. Subversion, verilerin boyutuna değil, değişiklik boyutuna göre maliyetler.

CVS, bir projenin farklı dallarını koruyabilir - yani, aynı projenin farklı yönleri veya permütasyonları kaynak projeden ayrılabilir ve CVS tüm sürümleri koruyacaktır (projenin yayınlanmış bir versiyonu hata düzeltmeleri için bir dal oluşturur, şu anda geliştirilmekte olan farklı bir sürüm yeni özellikler ve büyük değişiklikler içerebilir ve aynı projenin bir kolunu oluşturabilir.).

Özet:
1. CVS, birden fazla kullanıcının aynı proje üzerinde işbirliği yapmasını sağlar; Subversion, dosyaların geçerli ve önceki sürümlerini korur.
2. CVS, kullanıcıların aynı projeyi kontrol etmesine ve projede değişiklik yapmasına olanak tanır; Subversiyon gerçek atomik operasyonlar olarak gerçekleşir.
3. CVS bir projenin farklı dallarını koruyabilir; Subversion ayrıştırılabilir çıktı kullanır.