Her iki yöntemi de büyük bir ticari uygulama ile denedim.
Hangi yöntemin daha iyi olduğu yanıtı büyük ölçüde sizin durumunuza bağlıdır, ancak genel deneyimimin şimdiye kadar gösterdiklerini yazacağım.
Genel olarak daha iyi bir yöntem (deneyimlerime göre): Gövde her zaman sabit olmalıdır.
İşte bu yöntemin bazı yönergeleri ve faydaları:
- Her görevi (veya ilgili görev grubunu) kendi dalında kodlayın, bu görevleri ne zaman birleştirmek ve serbest bırakmak istediğinizde esnekliğe sahip olursunuz.
- KG, gövdeye birleştirilmeden önce her dalda yapılmalıdır.
- Her dalda KG yaparak, hatanın neyin daha kolay olduğunu tam olarak bileceksiniz.
- Bu çözüm, herhangi bir sayıda geliştiriciye göre ölçeklendirilir.
- Dallanma SVN'de neredeyse anında yapılan bir işlem olduğundan bu yöntem işe yarar.
- Gerçekleştirdiğiniz her sürümü etiketleyin.
- Bir süredir yayınlamayı planlamadığınız özellikleri geliştirebilir ve bunları ne zaman birleştireceğinize tam olarak karar verebilirsiniz.
- Yaptığınız tüm işler için kodunuzu yerine getirme avantajına sahip olabilirsiniz. Yalnızca bagajdan çıkarsanız, muhtemelen kodunuzu çok fazla taahhütte bulunmayacaksınız ve dolayısıyla korumasız ve otomatik geçmiş olmadan.
Eğer tersini yapmaya çalışır ve bagajdaki tüm gelişiminizi yaparsanız, aşağıdaki sorunlara sahip olacaksınız:
- Günlük yapılar için sürekli inşa problemleri
- Bir geliştirici projedeki diğer tüm insanlar için bir sorun üstlendiğinde verimlilik kaybı
- Daha uzun yayın döngüleri, çünkü nihayet kararlı bir versiyona ihtiyacınız var
- Daha az kararlı sürüm
Bir dalın sabit kalmasını ve gövdeyi geliştirme sanal alanı olarak tutmaya çalışırsanız ihtiyacınız olan esnekliğe sahip olmayacaksınız. Bunun nedeni, bu kararlı sürümde ne koymak istediğinizi bagajdan seçip seçememenizdir. Her şey bagajda birlikte karışık olurdu.
Özellikle gövdedeki tüm gelişmeleri yapmak istediğimi söyleyeceğim tek durum, yeni bir projeye başladığınız zamandır. Durumunuza bağlı olarak başka durumlar da olabilir.
Bu arada dağıtılmış sürüm kontrol sistemleri çok daha fazla esneklik sağlar ve hg veya git'e geçmenizi şiddetle tavsiye ederim.