Tüm karışıklık , MS'in "Yapı numarası" ve özellikle de "Düzeltme" için kullandığı farklı anlambilimden kaynaklanmaktadır . Terimler sadece farklı şeyler ifade eder.
Çoğu kişi (kendim dahil) , ne olursa olsun yeni bir yapı oluşturmak zorunda kaldığınızda daha yüksek bir YAPI numarası aldığınız semantik bir sürüm numaralandırma şeması kullanır . Bizim için bir düzeltme sadece başka bir kod değişikliği olarak kabul edilir ve BUILD kısmı her CI çalışmasında otomatik olarak artar. Aynı MAJ.MIN.REV olan modüller birbirinin yerine geçebilir sayılır ve BUILD size hangisinin en yeni olduğunu söyler.
Ancak REVISION değerini artırmak, yeni bir kalıcı sürüm şubesi olduğunu gösterir, bu yüzden BUILD'tan önce yerleştiririz. Bu yaklaşımın dezavantajı, aşağıdaki olaylar dizisini elde edebileceğimizdir:
- taahhüt numarası 4711: Alice, A özelliğini ekledi
- CI 1.2.3.100 yapı üretti
- taahhüt numarası 4712: Bob, B özelliğini değiştirdi
- taahhüt numarası 4713: Alice, A özelliği düzeltildi ("düzeltme")
- CI 1.2.3.101 yapı üretti
Gördüğünüz gibi, düzeltme bir sonraki derlemede içerilen tek değişiklik değil, aynı zamanda Bob'un modifikasyonu bu derlemenin bir parçası haline geldi. Mevcut şubeyi dengelemek istiyorsanız, Bob'un bir demet böcek ekleyip eklemeyeceğinden asla emin olamadığınız için sıkıntılarla karşılaşabilirsiniz.
MS her iki terimi de farklı kullanır. YAPI numarası otomatik olarak artırılmaz, bunun yerine, kodun belirli bir sürümü için kullanılan kodu dondurmak için bir tür yayın dalı olarak kabul edilebilir. REVISION, bu YAPI dalına uygulanan ek "sıcak" değişiklikleri gösterir. Bu nedenle dizi şöyle olacaktır:
- taahhüt numarası 4711: Alice, gövde / anaya A özelliğini ekledi
- Carl yapı dalı oluşturuyor
1.2.100
- CI 1.2.100.0 yapı üretir
- taahhüt numarası 4712: Bob gövde / ana biriminde B özelliğini değiştirdi
- taahhüt numarası 4713: Alice,
1.2.100
dalda A özelliğini sabitledi
- CI 1.2.100.1 yapı üretir
REVİZYON terimi,
- Bir ürün revizyon (işte çoğu insan bunu nasıl kullandıkları)
- Belirli bir günlük yapının revizyonu ( MS'in yaptığı)
İki işlem arasındaki temel fark, CI yapılarına düzeltmeler uygulayıp uygulayamayacağınız ve bu nedenle dalın hangi aşamada yapıldığıdır. Bu özellik, tüm testler başarıyla tamamlandıktan sonra herhangi bir zamanda belirli bir yapı seçebilmek ve ürününüzün bir sonraki resmi sürümüne tam olarak bu sürümü tanıtmak istediğinizde önem kazanmaktadır.
Bizim durumumuzda CI aracı bir depo etiketi oluşturur, dolayısıyla gerektiğinde kullanıma hazır gerekli bilgilere her zaman sahibiz. SVN ile daha da kolaylaşır, çünkü etiketler ve dallar aynı şekilde uygulanır - bir etiket, altta bulunan bir daldan başka bir şey değildir /tags
.
Ayrıca bakınız
TFS dallanma stratejisindeki SSS bölümünden :
Hangi şubede P1 (düzeltme) biletini düzeltmeliyim?
P1, Üretimde çalışan kod tabanına en yakın olan dalda sabitlenmelidir. Bu durumda P1 Prod dalına sabitlenmelidir. Düzeltmeyi başka bir branşta uygulayarak ve üretimdeki değişiklikleri uygulayarak, sonraki bitimden yarı mamul veya test edilmemiş kodu serbest bırakma riski vardır.
Şimdi doğrudan Prod şubesine karşı çalışmanın güvenli olup olmadığını, bir kez daha düşünün, acil dikkat gerektiren bir P1'in sistemde temel bir sorun olmaması gerektiğini savunabilirsiniz. Temel bir sorun olması durumunda, Müşteri ile daha fazla analiz ve tartışma gerektirebileceği için Ürün biriktirme listesine eklenmelidir.
Bir başka iyi okuma da TFS dallanma rehberidir.