Subversion özgür/açık kaynak kodlu bir sürüm takip sistemidir. Dosyaları merkezi bir
depo[60]da tutar ve dizinler/dosyalar üzerinde sürüm denetimi sağlar.
Hangi amaçla kullanılır?
Subversion'un en temel kullanım amacı sürüm takiptir. Dosya ve dizinler üzerinde
yapılan her değişikliği hatırlaması en büyük avantajıdır. Böylece geliştirmekte olduğunuz
bir yazılım ya da belgenin eski sürümlerine rahatlıkla ulaşabilir, aradaki farkları
bulabilirsiniz. Bu ise yapılan işlerin takip edilebilmesi, geliştirilen yazılımın hangi
aşamadan hangi aşamaya geldiğinin gözlemlenebilmesi ve zaman yönetimi açısından
büyük avantajlar sağlamaktadır. Bu özelliklerinden dolayı bir çeşit 'zaman makinası'
olarak da görülmektedir.
Daha çok yazılım geliştiriciler tarafından kaynak kod paylaşımı/takibi amacı ile kullanılır.
Ancak dosya türü konusunda herhangi bir kısıtlama yoktur. Her türlü dosyanın
idaresi/takibi amacıyla kullanılabilir. Aynı anda birden çok proje açılmasına olanak verir.
CVS ile arasındaki farklar nelerdir?
Dizin Sürümleri
CVS sadece dosyaların geçmişini izleyebilir, SVN ise depo içerisinde yer alan tüm dizin
ağacını izler. Tüm dosya ve dizinlerin sürüm takibi yapılabilir.
Dizin Geçmişi
CVS sadece dosya sürümleri ile sınırlandığı gibi dosyalar üzerinde yapılan yeniden
adlandırma ya da dosya kopyalama gibi süreçleri de takip edemez. SVN'de ise dosya ve
dizinler üzerinde yapılan her türlü kopyalama, silme, yeniden adlandırma işlemlerine
sürüm numaraları verilir. Yeni oluşturulan tüm dosyalar için sıfırdan bir sürüm geçmişi oluşturulur.
[60] Burada 'depo' (repostry) kelimesi düzenli bir dosya sunucusunu ifade etmektedir.