13 Eylül 2015 Pazar

TFS Code Branching & Merge

TFS Code Branching & Merge 

Code Branching & Merge Nedir:  Türkçesi dallanma olan bu fonksiyonun amacı kod değişikliklerinin birden fazla dalda paralel olarak gerçekleşmesidir. Böylece bir ortamda yapılan değişikliklerin başka bir ortamı kısmen ya da tamamen aktarılmasını sağlamak mümkün olacaktır. Branch kullanılmayan sistemlerde developer bir class’ta veya metod’da geliştirme yaptığında  bu geliştirmenin tümünü Check-In etmek istemediğinde ya kodunu rafa kaldıracak, ya başka bir dosyaya kopyalacak ya da benzeri yöntemleri uygulamak zorundaydı. Tabi burada tek bir değişiklikten bahsettiğimizde bu işlem çok zor değil fakat 8 –10 sayfadan bahseder,  onlarca satır kod olduğunu varsayarsak bu yöntem hem zaman olarak hem işlem olarak oldukça zahmetli olacaktır. İşte tam da bu aşamada Braching devreye girmektedir.

Örnek vermek gerekirse;

Source control’deki uygulamamızın sırasıyla CodeBranchingDev, CodeBranchingTest ve CodeBranchingRelease olmak üzere üç kopyası olduğunu düşünelim. CodeBranchingDev uygulamasında geliştirilen kod (bu bir class olabilir veya class içinde bir kod satırı olabilir) developer tarafından CodeBranchingTest ortamına aktarılır. Aktarılan geliştirmeye ilişkin testler yapılır. Fakat buradaki testin normalden uzun süreceğini düşünelim ve birden fazla developerın etkileşimli olarak kod yazdığı bir modülde kodunu Check-In etmesi gerektiğini düşünürsek kodunun test ortamına gitmesi kaçınılmaz olacaktır ve bu durumda da uygulama kullanımında hatalarla karşılaşmak kaçınılmaz olacaktır. Fakat branching yöntemi kullanıldığında developer Check-In yaptığı kodu CodeBranchingTest ortamına birleştirme (merge) yapmadığı sürece test ekibinin çalışmasını etkilemeyeceği gibi Check-In yapmamakla bir başka developerın çalışmasınada engel olmayacaktır.

Branching Nasıl Oluşturulur

Bir uygulamayı branching’e dönüştürmek için iki yöntem vardır.

1. Source Controldeki proje içerisinde bulunan uygulama üzerine sağ tıklanır ve  Branchig & Merging menüsünde Branch seçeneği seçilir (Resim1). Eğer branch işlemi Resim1’deki gibi klasör üzerine sağ tıklayarak oluşturuluyor ise aşağıdaki (Resim2) ekran çıkar. Bu ekranda oluşturulacak olan Branc versiyon bilgisi seçilir. Otomatik olarak son versiyon seçeneği gelmektedir.


Resim1
Resim2

Branch ekranındaki seçenekler:
Soruce  : Kaynak uygulama. Otomatik olarak seçilen uygulama gelir ve değiştirilemez.
Target : Branc oluşturulacak projedeki branc ismi. Otomatik dolu gelir ve değiştirilebilir.
Branch from version : Bu panelde yer alan seçenekler ise aşağıda açıklamalarıyla birlikte belirtilmiştir.
a.      Changeset : Mevcut bir değişikilk seti seçilerek ilgili değişikliğe ait kod ile
b.      Date : Herhangi bir tarihe ait set ile
c.      Label : Etiket ile. Bu build setide olabilir. Bir uygulamanızın son aşamasına geldiğinizi, bu uygulama test edilmiş ve çalışan bir uygulama olduğunu varsayalım. Bu versiyona bir etiket ismi vererek ilerleyen aşamalarda bu versiyonu bir başka branch’e ya da ortama aktarmanız ve ulaşmanız daha kolay olacaktır. Etiketleme işlemi için aşağıdaki resimde gösterilen adımlar


  • İlgili uygulama üzerinde sağ tıklanır. Advanced menüsünde Apply Label seçeneğine tıklanır.

  • Apply Label... seçeneğine tınlandıktan sonra aşağıdaki ekrana ulaşılır.

ü  Version: Etiket atayacağınız uygulama için bu listede bulunan seçeneklerde birini seçebilirsiniz. Listede bulunan seçeneklerin açıklamalaarı yukarıda ve aşağıda anlatılmıştır.
Bir uygulamadaki etiketlere aşağıdaki resimlerdeki işlem adımlarını takip edilerek ulaşabilir, düzenleyebilir ve silebilirsiniz.



d.      Latest Version : Sunucudaki son versiyon ile
e.      Workspace Version : Çalışma alanındaki kod ile

2. Eğer branch işlemi aşağıdaki gibi ilk önce branch’e convert edilip sonradan sonradan branch oluşturulacak ise işlem aşamaları sırasıyla aşağıdaki resimlerde gösterildiği gibi yapılır.





Tüm klasörlerde bu dönüşümü uygulamak için (Recursively perform this conversion on all folders previously branched from this folder) seçeneği seçilir ve Convert butonuna tıklanır.





Devamı için tıklayınız...






Hiç yorum yok:

Yorum Gönder