Merkezi ve Dağıtık Sistemler
Merkezi sistemlerde tüm bilgi bir noktada saklanır. İstemciler ağ üzerinden depo üzerinde yaptıkları değişiklikler gönderirler. Bu değişiklikler merkezdeki depoya uygulanır ve depo yeni bir hal alır. Değişikliklerden haberdar olmak için işlemcilerin merkeze uğraması gerekir. Sürümler arasındaki farkları sorgulamak gibi temel bir takım işlemler için hep merkezdeki bilgilere danışılması gerekir.
Dağıtık sistemlerde ise bütün üstbilgiler (önceki sürümler v.b.) yerel bilgisayarda saklanır. Bu nedenle bir merkeze ihtiyaç duymadan tüm işlemleri yapabilmeniz mümkündür.
Çalışmalarınızla ilgili tüm üstbilgilerin bir merkezde saklanması, veri yedeklemenin önemini arttırır. Halbuki bunun aksine, dağıtık sistemlerde bir depoyu alan her geliştirici çalışmanın bütün kopyasına sahiptir, dolayısı ile ne kadar geliştirici varsa, o kadar yedekleme yaparsınız. Bu nedenle geliştiriciler birbirlerine de bağımlı değillerdir.
- Dağıtık Versiyon Kontrol Sistemleri : Git , Mercurial
- Merkezi Sistemler : Svn (Subversion)
Svn vs Git
SVN sisteminde, geliştiricilerin erişebildiği uzak bir sunucuda versiyonlama yapılır. Birden fazla kullanıcının yaptığı ve onayladığı değişiklikler (commit), bir revizyon numarasıyla SVN sunucusunda kayıt altına alınır. SVN sisteminde kullanıcılar yaptıkları değişiklikleri kayıt altına alabilmeleri yani commit edebilmeleri için, o anda SVN sunucusuna erişim sağlanabiliyor olmalıdır. Yani SVN sisteminde lokal commit yoktur ve SVN sunucu her daim ayakta olmalıdır.
- Stash'in Git'e göre en büyük üstünlüklerinden biri "user management" a izin vermesidir. Çünkü Git üzerinde kullanıcı işlemleri ve bunun güvenliği "key" üzerinden yapıldığından, herhangi bir işlem gerektiğinde konfigürasyon gerekmektedir. Stash bize yönetim kolaylığı sağlamaktadır.
- Stash bizi bu zorluklardan kurtartıp LDAP ile bağlantı sağlıyor.
- Stash raporlamaya olanak vermektedir. Hangi depoda ne değişmiş, ne eklenmiş, kimin tarafından yapılmış vb. herşeyi görebiliyoruz.
- Stash'te yetkilendirmede bir üst seviye gelmiştir.