Makale Özeti

Yazılım Geliştiriciler İçin Team Foundation Server – Source Control Explorer / 2

Makale

Yazılım Geliştiriciler İçin Team Foundation Server – Source Control Explorer / 2

Team Foundation Server (TFS) kaynak kod havuzunu kullanmak için Visual Studio 2005 üzerine Team Explorer ile beraber kurulan Source Control Explorer penceresi kullanılmaktadır.

Source Control Explorer ile yapacağımız temel işlemlere önceki makalede değinmiştik.

Source Control mekanizmasının temel mantığı olan dosyayı kullanıma al (check out), değiştir, sunucuya gönder (check in) işlemlerini nasıl yapacağımıza bakacağız.

Örneğin daha önce eklediğimiz WinClient Projesini açalım. Team Project için eklenmiş Source Control'de yer alan bir projeyi açmak için aşağıdaki adımlar takip edilebilir.

 - Eğer proje daha önce açılmış ise workspace olarak belirlenmiş yerel klasörde bulunmaktadır. Buradaki solution yada project dosyası aracılığı ile direkt olarak açılabilir.

Eğer proje ilk defa açılacaksa zaten workspace olarak belirlenen yerel konumda bulunmamaktadır. Herhangi bir durumda (ister yerel konumda olsun ister olmasın) Source Control Explorer üzerinde bir dosyaya çift tıklayarak açabilirsiniz.

Team Project Source Control havuzuna eklenen dosyaların bir proje olması yada bir projeye dahil olması gerekmemektedir. Doğrudan bir metin dosyası yada resim dosyası gibi bir dosya da eklenebilmektedir.

 

 

Source Control altında tutulan herhangi bir projeyi açılıp bir değişiklik yapılmaya çalışıldığında Visual Studio 2005 kullanıcıyı dosyayı Check Out etmesi konusunda uyarır. Yani dosyayı değiştirmeden önce kullanıma alınması gerektiğini belirtmektedir.

Örneğin proje içindeki Windows Form'u açıp üzerine toolboxdan bir buton sürüklediğimiz de dosya otomatik olarak Check Out edilir ve Solution Explorer'da dosyanın yanındaki işaret değişir.

 

Form1.cs ve Form1.Designer.cs değiştirilmek üzere otomatik olarak checkout edilmiştir. Form1.resx ise Form designeri kullanmamız dolayısıyla projeye yeni eklenmiştir.

Program.cs dosyası üzerinde değişiklik yapmak için check out etmek üzere üzerine sağ tıklayıp "Check Out For Edit" seçeneğini seçelim.

Bu aşamada kullanıcın karşısına dosya Check Out onayı için yukarıdaki form gelmektedir. Burada hangi dosyaların checkout edileceği liste olarak verilmiş ve seçme şansı tanınmıştır. Bunun yanında dosya checkout edilirken uygulanacak kilit seçeneği de seçenekler olarak listelenmiştir.

None - Allow share checkout : Bu seçenek ile kullanıcı bu dosyayı checkout etmiş iken başka kullanıcılarda server üzerinden bu dosyayı checkout edebilir ve değiştirebilir anlamına gelir. Yani dosya üzerinde herhangi bir kilit oluşturmaz.

Check Out : Diğer kullanıcıların dosyayı checkout etmesini kısıtlayarak aynı anda bir dosyayı sadece bir kullanıcının düzenleyebilmesini sağlamış olur.

Check In : Diğer kullanıcıların dosyayı checkout edebilmesini ancak dosya bizim tarafımızdan checkout edilmiş durumda iken diğer kullancıların checkin yapabilmesini yasaklar.

Dosyayı uygun kilit modunda kilitledikten sonra istenilen dosyaların yada projenin üzerine sağ tıklyıp dosya checkin edilebilmektedir.

Check In yaparken hangi dosyaların check in edileceği seçilir ve checkin ile ilgili bir yorum yazılır bu yorum o değişiklik seti içinde neler yapıldığını takip için bilgi niteliğinde olmaktadır.

Yaptığımız değişiklikten sonra diğer yazılım geliştiricilerin yapılan değişiklikleri içeren kodları kendi workspacelerine almaları gerekmektedir. Bu işlem için "Get" ile başlayan komutlar kullanılabilir.

Örneğin az önceki değişikliği yaptıktan sonra diğer yazılım geliştiricilerin formun üzerine eklenen butonu ve diğer değişiklikleri görebilmesi için Solution üzerine sağ tıklayıp "Get Latest Version" seçeneği seçerek sunucu üzerindeki dosyanın son hali istemciye yani workspace'e çekilir.

Aynı işlem Source Control Explorer üzerinde de istenilen klasöre sağ tıklayarak gerçekleştirilebilmektedir. Bu şekilde dosyanın son versiyonu istemci de yer alan workspace'e alınmış olur.

 

 

Team Foundation Server Source Control havuzunda her dosyanın geçmiş bilgisi yani önceki hali tutulmaktadır. Bu bilgiye erişmek için istenilen dosyanın üzerine sağ tıklayıp (Source Control Explorer yada Solution Explorer üzerinde) View History seçilmelidir.

Örneğin form üzerine buton eklediğimizde değişen Form1.Designer.cs dosyasın geçmiş bilgisine bakalım.

 

Listede yer alan kim tarafından ne zaman değiştirildi ve bu değişiklik hangi changesetde yer aldı açıklaması neydi gibi bilgiler geçmiş bilgisi için yeterli olmaktadır ancak dosyanın içeriğini görmek için ilgili sağ tıklayıp View seçeneğini seçmek gerekmektedir.

History listesinde sağ tıklama menüsünde yer alan Compare seçeneği seçildiğinde workspace'imizde yer alan dosyanın durumu ile seçilen geçmiş durumu yukarıdaki resimde gözüktüğü gibi görsel olarak karşılaştırılabilir biçimde görüntülenmektedir.

Cengiz HAN
Microsoft MVP