Mercurial – Versiyon Kontrol Sistemi

Bu yazımda versiyon kontrol sistemlerinden biri olan Mercurial nedir nasıl kullanılır gibi bilgiler vereceğim.
VCS(Version control system), yazılımcıların bir proje üzerinde ortak bir şekilde çalışabilmesine olanak sağlayan, gerek duyulduğunda eski kodlara ulaşılabilmesine yardımcı olan bir sistem olarak tanımlayabiliriz. En bilindikleri Git, SVN, Mercurial şeklinde gider. Ama şuan en popüler olarak kullanılan dünyada ve ülkemizde Git‘ dir.
Bense gerek alışkanlık gerekse daha kolay rahat olduğum Mercurial sistemini bu yazımda nasıl kullanıldığını bir örnek ile açıklayacağım.

Öncelikle sitesinden güncel sürümü işletim sistemimize uygun olanı indirelim. Link : https://www.mercurial-scm.org/
Projeyi atacağım yer Bitbucket sitesidir. Avantajı olarak hem Git hem de Mercurial destekleyebilmesi ve ayrıca private(özel-gizli) repo oluşturabilmeyi olanak sağlamaktadır. Link : bitbucket.org

IDE olarak Eclipse Mars‘ı kullanıyorum. Size Netbeans veya Intellij seçebilirsiniz. İndirdiğimiz dosyayı kurduktan sonra terminal ve cmd ‘ yi açarak hg –version komutunu kullanarak kurulup kurulmadığını görebiliriz. Ardından Eclipse marketplace ‘ e girerek resimdeki gibi Mercurial plugin’i yüklüyoruz.

1

Ardından bitbucket sitesinde Create Repository ‘ den yeni bir repo oluşturuyoruz.

2

Sonra Eclipse ‘ te yeni bir proje oluşturalım. Oluşturduktan sonra proje üzerine sağ tıklayıp Team->Share Project seçelim.

3

Seçeneklerden Mercurail seçip işlemi bitirelim. Artık bir projemize Mercurial‘ı uyguladık ve hemen dikkatimizi çeken projemizin üstünde bir ikon geldi. Bu commit ‘ lemediğimiz dosyaların var olduğu anlamına gelmektedir.

Bu sistem şöyle işler. Bir uzak repomuz vardır bir de local repomuz vardır ve bir de çalıştığımız workspace. Bir dosya eklersek, çıkarırsak veya değiştirirsek bunları commit’lemediğimiz sürece değişiklikler workspace’de kalır. Commitleyince local repomuz güncellenir. Ardından bu commit’i pushlarsak uzak repomuz güncellenir. En basit mantık böyle işlemektedir. Yaptığımız değişikliği Revert seçeneğiyle geri alabiliriz. Ancak commit yapmadığımız sürece revert yapabiliriz.

Ardından Eclipse->Window->Show View->Other kısmına gelip Mercurial Repositories seçelim. Aşağıdaki gibi bir ekran gelicektir.

4

Kırmızı alanla belirtilen yeri seçelim ve gelen ekranı bitbucket username, password ve repo ‘ url’i girin.

5

Ardından Team->Synchronize With seçeneğini seçip gelen ekranda combobox’tan girdiğimiz url’i seçip Finish diyelim ve şuan projemiz uzak repo ile bağlantılı hale getirdik.

Ardından basit bir Java main sınıfı projemize dahil edelim.

6

Ardından Team->Commit diyelim. Bir commit mesajı verip işlemi tamamlayalım. Bunu yaptıktan sonra projemiz üzerindeki o siyah ikon gitmiş olacak ve yerine 1 veya yaptığımız commit sayısına bağlı olarak bir sayı gelecektir. Synchronize tab’i altında da aynı işlemleri gerçekleştirebilirsiniz.

7

Ardından yine aynı yeri kullanarak bu sefer Push seçeneğini seçelim. Evet şimdi bitbucket hesabınızı kontrol ettiğinizde dosyları orada görebileceksiniz.

8

Repo link : https://bitbucket.org/uhalis/mercurialtest/

Son olarak önemli olan bir dosya dan bahsedeceğim. .hgignore isimli dosya, commit-push ‘ a girmesini istemediğimiz klasör ve dosya tanımlamalarını içerir. Genel olarak Eclipse kullanırken .settings klasörü, bin klasörü .classpath ve .project dosyalarını atmamıza gerek yoktur. Bunlar her pc’ye göre değişebileceğinden exclude edilir. Bizim için önemli olan kod ve lib’lerdir.
Bir dosyayı ignore etmek için dosya üzerine sağ tıklayıp Team->Ignore seçebiliriz. Ayrıca .hgignore dosyasını da ignore edebiliriz.

Evet bu yazımda Mercurial nasıl kullanılır hakkında elimden geldiğince yazdım. Sonraki yazılarda görüşmek üzere..

Test edilmeyen kod tuhaflaşır…

Kod Analiz Aracı : Source Monitor

Uzun bir aranın ardından tekrar yeni bir yazıyla geri dönüş yapıyorum. Bir blog tutmak sadece tutmak değil aslında güncel tutabilmek içeriği gerçekten zormuş. Bunu anladım. Neyse.. 🙂
Bu yazımızda Source Monitor isimli bir tool hakkında bildiklerimi size aktarmaya çalışacağım.
Evet, başlıkta ta belli ne olduğu programın, bir kod analiz aracı kendileri. Ücretsiz bir araçtır. Rahatlıkla indirebilirsiniz.
İndirme Link : http://www.campwoodsw.com/SourceMonitorUpdateV350.zip
Sitesi : http://www.campwoodsw.com/sourcemonitor.html

Source Monitor, bize yazdığımız kod ile ilgili bilgiler verir. Kod satır sayısı, metot bazlı karmaşıklık oranı, sınıf sayısı vb. metrikler bulunur. Bunları basit bir şekilde bize gösteren bir arayüze sahiptir. Source Monitor sayesinde, kodu iyileştirirken nerelere dikkat etmemiz gerektiğini, öncelik verirken nereden başlayacağımızı bir yol haritası çizebiliriz.

İndirme linkini kullanarak programı indirelim ve ardından zip dosyasını istediğiniz yere açın. Sonra SourceMonitor.exe uygulamasını açın. Aşağıdaki gibi bir görüntü karşılayacaktır bizi.

1

Ardından File -> New Project yapalım. Bize projenin kaynak kodunun dilini seçmemizi isteyen bir ekran geliyor. Ben burada Java’yı seçip ilerliyorum.

2

Sonra bu Source Monitor projesine vereceğimiz ismi ve kayıt edileceği yeri seçiyoruz.

3

Ardından projenizin source package’nın yolunu seçiyoruz.

4

Ardından çıkan ekrandaki tüm seçenekleri seçerek ilerleyelim. (Oradaki seçeneklerde, Modifiye edilmiş karmaşıklık metriğini kullan, boş satırları sayma ve Baş ve Sondaki yorum satırlarını sayma seçenekleri bulunuyor.)

5

Sonraki aşama Source Monitor ile ilgili bir durum, kayıt dosyasının formatını size soruyor. Ben New Source Monitor Project format olanı seçiyorum.

Sonra ilk Checkpoint olarak ayarlıyoruz ve buna bir isim veriyoruz. Source Monitor ‘ ün de default olarak yaptığı ve çoğunlukla kullanılan Baseline olarak bırakıyorum ben. Siz tabi ki istediğiniz ismi koyabilirsiniz.

6

Ardından son diyoruz ve son bir ekran bizi karşılıyor. Bu ekranda son olarak düzenlemelerinizi yapabilirsiniz. İşleme girmesini istemediğiniz sınıfları çıkarabilir veya yeni sınıflar ekleyebilirsiniz.

7

Ardından OK diyoruz ve Source Monitor hızlı şekilde bize sonuçları getiriyor. İlk gelen ekran aşağıdaki gibi

8

Evet ilk ekran gördüğünüz gibi kod hakkında genel bir bilgi veriyor. Satır sayısı, max. karmaşıklık, metot/sınıf oranı, Sınıf sayısı vb. ifadeler bulunmakta. Satıra çift tıkladığımızda ise bizi sınıf bazlı bir görünüm karşılamaktadır.

9

Sınıf ayrıntısı için de sınıflara çift tıkladığımızda, o sınıfla ilgili detaylı bilgiye sahip oluyoruz.

10

Görüldüğü gibi Source Monitor güzel bir şekilde projeyle ilgili herşeyi vermektedir.

Tekrar Baseline kısmına gelip sağ tıklayıp Display Checkpoint Kiviat Graph diyelim. Gördüğünüz bu grafik aslında projenin genel halini göstermekte ve amacımız yeşil alanın içerisinde kalmayı başarmak.. 🙂

11

Son olarak ise projenizi geliştirmeye devam ettikten sonra tekrar aynı projeyi Source Monitor ‘ de devam etmek için Sol üst köşeden New Checkpoint seçeneğini seçip (size önceden gösterdiğiniz yoldaki sınıfları ekleyerek tekrar soracaktır) Checkpoint’inize bir isim verip OK dedikten sonra hemen Baseline ‘nın üstüne yeni bir satır eklenir. Böylelikle Checkpoint ‘ lerinizi karşılaştırabilirsiniz.

12

Evet geldik son sözlere, bu yazımda çok yararlı bulduğum Source Monitor isimli aracı size tanıtmak ve anlatmak istedim. Umarım faydalı olur. Sonraki yazılarda görüşmek üzere..

Test edilmeyen kod tuhaflaşır…

Maven projelerde jar dosyası nasıl eklenir?

Merhaba, bu yazımda bir jar dosyasının Maven projelerde nasıl ekleneceğini kısaca anlatacağım.
İlk olarak nereden çıktı bu diyebilirsiniz zaten uzak repo’dan Maven bağımlılıkları indiriyor diyebilirsiniz. Evet indiriyor, peki ya kullanacağınız jar uzak repo ‘ da yoksa veya önceden yazdığınız bir kütüphaneyi projenize eklemek isterseniz ne olacak? Evet, bu durumu şimdi sırasıyla açıklayalım.

Öncelikle şu linkteki jar dosyasını indirelim. (http://code.google.com/p/kaptcha/downloads/list) Ben bu jar dosyası üzerinden gideceğim. Siz istediğiniz jar dosyasını kullanabilirsiniz tabi ki.

Command line üzerinde aşağıdaki komutu kendinize göre düzenleyip yazınız.

mvn install:install-file -Dfile=c:\desktop\ufuk\kaptcha-{version}.jar -DgroupId=com.google.code -DartifactId=kaptcha -Dversion={version} -Dpackaging=jar

Dfile, indirdiğimiz jar dosyasının yolunu veriyoruz. {version} yerine – kaptcha-2.3.2.jar – jar dosyasının biliyorsanız versiyonunu geçiniz. Bilmiyorsanız 1.o değerini verebilirsiniz.

DartifactId, projenin ismini verebilirsiniz.

Dversion, {version} yerine verdiğiniz değeri veriniz.

Yazdığımız komutu çalıştırdığımızda BUILD SUCCESSFUL çıktısını verdiyse sorun yok demektir.
ve son olarak pom.xml dosyasına bağımlılığımızı ekleyebiliriz.

 <dependency>
      <groupId>com.google.code</groupId>
      <artifactId>kaptcha</artifactId>
      <version>2.3.2</version>
 </dependency>

İşte bu kadar, herhangi bir jar dosyasını önce local repomuza ekledik ve bağımlılık olarak tanımladık.

Sonraki yazılarda görüşmek üzere!!

Test edilmeyen kod tuhaflaşır…