-- Genel

SubVersion (SVN) ile TortoiseSVN Kurulum ve Kullanımı

Subversion Nedir?

Subversion açık kaynak kodlu bir sürüm takip,  yaptığınız projeler için komuta satırından yönettiğimiz bir depolama sistemidir. Subversion’ı istenilen şekilde geliştirebilir, dağıtabilir ve kullanabilirsiniz. İki türlü kullanımı vardır. Birincisi depo -repository- olarak kullanıldığı sunucu, diğeri ise repository’deki dosyalara erişim için kullanılan client kısmıdır. İster kendi bilgisayarınızda ister uzak bir bilgisayarda repository oluşturup, yapmış olduğunuz projeleri bu depolarda saklayabilir, versiyonlayabilirsiniz. Subversion’ın görevi, projeniz üzerinde yaptığınız her değişikliği bir sürüm numarası vererek depoda saklamaktır. Bu sayede istediğiniz zaman dilediğiniz bir eski sürüme geri dönebilir, nerede ne zaman değişiklik yaptığınızı görebilirsiniz.

TortoiseSVN Nedir?

Subversion konsol satırı uygulamasıdır. TortoiseSVN ise komut satırı zorluğu yaşayan kullanıcılar için geliştirilmiş, Windows kabuğu ile bütünleşmiş, bir kaç tıklama ile bizim yerimize komutaları Subversion’a gönderip gerekli işleri yapan yardımcı programımız.

TortoiseSVN Kurulumu

Programı http://tortoisesvn.net/downloads adresinden sisteminize uygun olanı indirebilirsiniz. Yükleme bitiminde yeniden başlatalım bilgisayarımızı.

VisualSVN Kurulumu

VisualSVN, subversion tabanlı, görsel arabirimi sayesinde bizi komut satırı ve diğer konfigürasyon ayarlarından kurtaran windows üzerinde çalışan bir version control yazılımıdır. Visual Studio ile de tam uyumlu çalıştığı içindir enterprise edition sürümlerinede sahip. Biz şu adresten https://www.visualsvn.com/server/licensing/ ücretsiz olan standart edition’ı indirip kuracağız.

1    2    3

 

Yükleme sona erdikten sonra karşımıza VisualSVN’in yönetim ekranı çıkacaktır. Gayet sade, anlaşılabilir bir arayüze sahip.

 

4

Açılan ekrandan svn server’ımızdaki authenticationlar için bir kullanıcı oluşturalım yukarıdaki ekran görüntüsündeki gibi.

 

Ardından sol menüde yer alan Repositories başlığına tıklayalım, sağda açılan boş bir yere sağ tıklayarak Create New Repository diyerek yeni bir depo oluşturalım.

 

5

 

Seçenekler çıkarsa karşımıza, FSFS Repository, Single-project Repository, All Subversion users have read/write access diyerek ya da kendinize özgü ayarları yaparak devam edebilirsiniz.

Depo oluşturduktan sonra Branch, Tags ve Trunk adlı klasörleri göreceksiniz. Kısaca bahsetmek gerekirse;

Trunk: SVN’e attığımız projemizin en güncel sürümünü tutan kaynak kodlarının bulunduğu, geliştiricilerin üzerinde çalıştığı klasördür. Kararsız dosyalardan oluştuğu için son kullanıcıya bu dosyaların en halinden oluşturulan proje verilmez.

Branch: Trunk’ta son hale getirilmiş dosyalar Branch’a aktarılır. Son kullanıcıya teslim edilecek olan proje bu klasörde barındırılır. Geliştirici yine değişiklikleri Trunk içerisinde yapar.

Tags: Etiketleme işlemidir. Trunk içerisindeki proje kaynak kodunun herhangi bir aşamasının etiketlenip Tags klasörü altında tutulmasıdır.

 

Şimdi bir test yapalım.

Masaüstünde boş bir klasör oluşturup adına Proje ismini verelim ve içindede bir tane index.php dosyası olsun.

 

6

 

Daha sonra VisualSVN programımıza tekrar dönerek depomuzun bulunduğu alanda sağ tıklayıp repository url’imizi kopyalıyoruz.

 

7

 

Masaüstünde boş bir alana sağ tıklayarak TortoiseSVN menüsünden Repo-browser diyoruz.

 

8

Açılan URL penceresine az önce kopyaladığımız depo url’ini yapıştırıyoruz. Kullanıcı adı ve şifre sorabilir, VisualSVN programının kurulumunun ardından oluşturduğumuz kullanıcı adı ve şifresini girebiliriz.

 

9

10

Ardından repository açılacak içindeki klasörler ile birlikte.

Şimdi, az önce masaüstünde oluşturduğumuz Proje isimli klasörümüzün altındaki dosyaları SVN e atalım.

Proje klasörüne girelim ve boş bir alana sağ tıklayarak TortoiseSVN -> Import diyelim.

Açılacak olan pencerede Import Message kısmına bir mesaj girebilirsiniz. Bu tip mesaj alanlarını olabildiğince doldurursanız ileride revision alımlarında, update alırken vs. işinize yarayabilir.

Daha sonra aşağıda yer alan resimde URL of repository bağlantımızın yanında yer alan butonuna tıklıyoruz.

URL’imiz direk trunk klasörüne gidiyorsa buna gerek yok.

Açılan pencerede repository’den trunk klasörünü seçiyoruz ve OK diyerek devam ediyoruz.

Altta kalan pencereyede mesajımızı yazarak OK diyoruz.

13

Dosyalarımız SVN e import edildi.

Bunu görelim. Masaüstünden Proje klasörünü kaldıralım, silelim.

 

15

Daha sonra yine masaüstünde boş bir alana sağ tıklayarak SVN Checkout… diyelim. Aşağıdaki resimdeki gibi bir ekranla karşılaşacaksınız. Burada tekrar URL of repository adres alanı trunk klasörünü göstermiyorsa … butonuna tıklayarak açılan rep. browser’dan trunk klasörünü seçerek OK diyoruz. Checkout penceresine de OK diyerek devam ediyoruz.

 

16

 

Masaüstünde ilk_projem depo adımızla klasörümüz az önce import ettiğimiz dosyalarda içinde geldi.

Görüldüğü gibi depodan çekilen her dosya üzerinde yeşil bir tik işareti olacaktır. Bu işaret dosyanın import edilen versiyon ile aynı olduğunu gösterir.

Şimdi klasör içine girerek index.php dosyasını değiştirelim.

 

17

Boş bir index.php dosyası oluşturmuştuk. İçine Hello World yazan bir php kodu ekleyerek kaydedip kapatıyoruz.

 

18

 

Dosyayı kaydettikten sonra dosya üzerinde gördüğümüz yeşil tik işareti kırmızı ünlem işaretine dönüşecektir. Bu, bize, repository’deki dosya ile kopya olarak indirdiğimiz dosyanın farklı olduğunu göstermektedir.

Süper.

O zaman şimdi bu farklı dosyamızıda SVN e gönderelim ki amcalar son güncellediğimiz dosyayı çekip yenilikleri görebilsinler.

 

19

Klasör içinde sağ tıklayarak SVN Commit… diyoruz.

 

20

Açılan commit penceresinde değişen dosyaların bir listesini ve commit açıklaması göreceksiniz.

Mesajımızı yazıp OK butonuna basıyoruz.

 

21

 

Evet, güncel dosyamız svn sunucusuna 3. revizyon olarak atıldı. Bu revizyon numaralarını kullanarak örneğin projenin 12. revizyonunu indirebilirsiniz.

Update komutuda sunucuda yapılan değişiklikleri almanıza yarar. Az önce yaptığınız index.php dosyasının değişikliğini amcaların alabilmesi için update çekmeleri gerekiyor.

Diğer TortoiseSVN ekranlarını farklı bir yazıda anlatacağım.

 

 

Yorumla

Yorum