CVS ekip halinde programlama ortamında, ekip üyeleri tüm çalışmalarını diğer kişilerden ayrı şekilde kendi Çalışma Ortamlarında gerçekleştirir. Daha sonra çalışmalarını paylaşmak isteyeceklerdir. Bu paylaşma işlemini CVS Havuzu yardımıyla yaparlar.
CVS, birbirinden bir şekilde ayrı ancak son derece birbirine bağlı olan çok sayıda çalışmayı desteklemek için dal modelini kullanır. Dallar, geliştirme ekibinin süren çalışmayı paylaştıkları ve bütünleştirdikleri yerdir. Bir dal, ekip üyeleri projede değişiklik yaptıkça onlar tarafından güncellenen paylaşılan bir çalışma alanı olarak nitelendirilebilir. Bu model, ayrı kişilerin CVS ekip projesinde çalışmasını, değişiklikler yapıldıkça çalışmalarını başkalarıyla paylaşmalarını ve proje ilerledikçe başkalarının çalışmalarına erişmelerini sağlar. HEAD adı verilen özel bir dal havuzdaki ana çalışma gelişimini gösterir (HEAD genellikle gövde olarak bilinir).
Ekip üyeleri yeni çalışmalar ürettikçe, bu değişiklikleri dala göndererek bu çalışmayı başkalarıyla paylaşırlar. Benzer şekilde, kullanılabilen en son çalışmayı almak istediklerinde, yerel çalışma alanlarını daldaki değişikliklerle güncellerler. Böylece dal, ekip üyeleri yeni çalışmalarını gönderdikçe sürekli biçimde değişir.
Dal, projenin o anki durumunu etkili şekilde gösterir. Bir ekip üyesi kendi çalışma alanını daldan istediği zaman güncelleyebilir ve bu değişikliklerin güncel olduğunu bilebilir.
CVS, bir ekipte çalışmak için gerekli iki önemli özellik sunar:
Ekip tarafından gönderilen çalışmaların geçmişi
Bu çalışmayı eşgüdümlemek ve bütünleştirmek için bir yol
Yürürlükteki çalışmayı önceki taslaklarla karşılaştırabilmek, daha iyi olan eski çalışmaya geri dönmek ve benzeri işlemlerin yapılması için geçmiş önemlidir. Ekibin bütünleşik çalışmasını içeren yürürlükteki proje durumunun tek bir tanımının olmasını sağlaması açısından çalışmanın eşgüdümlenmesi önemlidir. Eşgüdümleme dal modeli aracılığıyla sağlanır.
İyimser model, ekip üyelerinin erişime sahip oldukları kaynaklarda değişiklik yapabilecekleri modeldir. Ekibin iki üyesi aynı kaynaktaki değişikliklerini dala gönderebileceği için çakışmalar ortaya çıkabilir ve bu çakışmalar çözümlenmelidir. Bu model, çakışmaların nadiren görüldüğünü varsaydığı için iyimser olarak adlandırılır.
Genellikle kaynaklar birbirinden yalıtılmış olarak bulunmazlar; çoğunlukla diğer kaynakalara açık ya da kapalı bağımlılıkları vardır. Örneğin, Web sayfalarında başka Web sayfalarına bağlar bulunur ve kaynak kodu başka kaynak kodu kaynaklarında tanımlanan yapıtlara başvurular içerir. Hiçbir kaynak bir ada değildir.
Kaynaklar dala gönderildikçe, bu bağımlılıklar etkilenebilir. Bağımlılıkların bütünlüğünün sağlanması, dal yürürlükteki proje durumunu gösterdiği için önemlidir: herhangi bir noktada bir ekip üyesi dalın içeriğini yeni çalışması için temel olarak alabilir.
Dolayısıyla en iyi iş akışı dalın bütünlüğünün korunduğu iş akışıdır.
İdeal iş akışı aşağıdaki şekildedir:
Yeni verilerle başlayın. Çalışmaya başlamadan önce, yürürlükteki dal durumuyla çalışma alanındaki kaynakları güncelleyin. Sizin için önemli olan hiçbir yerel çalışmanızın olmadığından eminseniz, güncellemenin en hızlı yolu, dalda (ya da HEAD) ilgilendiğiniz projeleri seçip Dışarı Al seçeneğini belirlemektir (ya da projeler yerel olarak bulunuyorsa, Değiştir > Havuzdan En Son seçeneğini belirlemek). Bu işlem, daldan kaynakları yerel kaynaklarınızın üzerine yazacaktır.
Değişiklikler yapın. Çalışma Ortamı'nızda yerel olarak çalışın, yeni kaynaklar yaratın, varolanları değiştirin, yol aldıkça yerel olarak saklayın.
Uyumlaştırın. Çalışmanızı göndermeye hazır olduğunuzda havuzla uyumlaştırın.
Güncelleyin. Gelen değişiklikleri inceleyin ve bunları yerel Çalışma Ortamı'nıza ekleyin. Bu şekilde, göndermek üzere olduğunuz çalışmanın bütünlüğünü etkileyecek değişiklikler olup olmadığını belirleyebilirsiniz. Çakışmaları çözümleyin. Yeniden sınayın, bütünlük denetleyicilerini çalıştırın (örneğin, kırık üst metin bağlarını denetleyin, kodunuzun derleyip derlemediğinden emin olun, vb.).
Gönderin. Değişikliklerinizin en son dal içeriğiyle bütünleşik olduğundan eminseniz, değişikliklerinizi dala gönderin. Tedbirli olmak için, gelen yeni değişiklikler varsa önceki adımı yineleyebilirsiniz.
Elbette ki bu ideal iş akışıdır. Belirli koşullar altında, gelen değişikliklerin sizi etkilemeyeceğini düşünebilir ve güncellemeden göndermeyi seçebilirsiniz. Ancak, ekip üyeleri genellikle, dalın bütünlüğünün yanlışlıkla tehlikeye girmemesi için yukarıdakine benzer bir akışını izlemeye çalışırlar.
https://www.cvshome.org adresinde CVS hakkında daha fazla bilgi bulabilirsiniz.
CVS Havuzları
Dallar
Sürümler
CVS havuzu ile uyumlaştırma
CVS havuzu yerinin yaratılması
Projenin CVS havuzundan dışarı alınması
Çalışma Ortamı'nda kaynakların değiştirilmesi
CVS kullanarak yeni projenin paylaşılması
Havuzla uyumlaştırma
Güncelleme
Çakışmaların çözümlenmesi
Daldan birleştirem
Gönderme