Örnek Kullanım :
svn log http://{svnhost}/{repo_name}/ -r 8536:HEAD > D:/logfile.txt
{svnhost} yerine svn reponuzun sunucu IP si veya domainini yazmalısınız. repo_name sizin proje adiniz olmalı. (projeye sağ tıklayıp, subversion kısmından zaten bu ikisini görebilrisiniz)
Yukarıdaki komut ile, 8536 dan son versiyona kadarki tüm logları D:/logfile.txt içine almasını söylemiş olduk. Bunları kendi ihtiyaçlarınıza göre değiştirebilirsiniz.
Umarım işinize yarar.
Not : Eğer şifreniz SVN de kayıtlı değilse, size bu komuttan sonra kullanıcı adı ve şifre soracaktır.
]]>Şurada okuduğumuz yazı da belirtiyor ki, FTP den dosya yüklerken , .svn klasörlerini ve içeriklerini de yanlışlıkla yükleme ihtimalimize karşı, (veya .git klasörünü) projemizin kaynak kodlarının tamamının çalınma riski oluşuyor. Hatta risk değil bu, direkt buyrun alın diyorsunuz. Bu klasörlerin içinde versiyon kontrol sistemi dahilinde olan kaynak kodların tamamı ve her versiyonu bulunuyor.
SVN ‘de FTP den atacaksanız export işlemi yapıp, projeyi SVN dosyalarından arındırmanız gerekiyor.
Google’da şu aramayı yaparsanız eğer, zaten dediğimi anlayacaksınız :
Bu yüzden, projelerinizde versiyon kontrol sistemlerini kullanıyorsanız (kullanın tabi ki..) , bu duruma özellikle dikkat ediniz. Sonradan başınız yanmasın.
]]>Eğer versiyon kontrol sistemleri ile ilgili pek bilgi sahibi değilseniz, buradan başlayabilirsiniz. Daha sonra bunların en çok kullanılanlarından GIT ve SVN arasındaki karşılaştırma için buraya göz atabilirsiniz. Ücretsiz private SVN (2 kişiye kadar) için buraya, aynı şekilde ücretsiz private GIT (5 kişiye kadar) için buraya göz atmanız faydalı olabilir.
Versiyon kontrol sistemlerini konsoldan kullanmak için buralardaki yazılarımıza da göz atabilirsiniz –> [SVN] – [GIT]
Şimdi gelelim esas konumuza. Kurulumunu gerçekleştireceğimiz program, RabbitVCS, linux ortamımızda versiyon kontrol sistemlerini basitçe kullanmamızı sağlayan bir program. Kurulumdan sonra, aynı TortoiseSVN gibi kullanacağız. Arayüz neredeyse aynı 
RabbitVCS sadece SVN için değil, GIT için de kullanılabiliyormuş, ikisi bir arada! Ancak ben şu an sadece SVN ile kullanıyorum, GIT ile kullandıktan sonra, karşılaştığım şeyleri ayrı bir yazıda anlatacağım.
RabbitVCS‘nin internet sitesine buradan erişebilirsiniz; http://rabbitvcs.org/
İlk olarak RabbitVCS ppa ekliyoruz;
sudo add-apt-repository ppa:rabbitvcs/ppa
Ardından da install ediyoruz;
sudo apt-get install rabbitvcs-core rabbitvcs-nautilus3 rabbitvcs-cli
Ayrıca eğer istiyorsak gedit extension da ekleyebiliriz;
sudo apt-get install rabbitvcs-gedit
Bu işlemlerden sonra bilgisayarımızı yeniden başlattığımızda, versiyon kontrol sistemini rahatça kullanabiliriz. Yapmanız gereken sadece sağ tık!
]]>
Bitbucket.org 5 kullanıcıya kadar size limitsiz ve ücretsiz repo hizmeti sunuyor. Diğer paketlerini incelemek isterseniz buraya göz atabilirsiniz.
Kişisel olarak hesap açabileceğiniz gibi, takım olarak da hesap açabiliyorsunuz. Onu da şuradan yapabilirsiniz.
İyi çalışmalar!
]]>
İşte yukarıda bahsettiğim gibi kodunuzu paylaşmak istemiyorsanız, www.unfuddle.com u tercih edebilirsiniz. Unfuddle kayıt sayfasında ücretli planların hemen altında ücretiz ve gizli planını seçebiliyor, 2 kullanıcı, 1 proje için ebedi ücretiz kullanabiliyorsunuz. Üstelik ücretsiz planda bile ssl hizmeti aktif. Panenize giriş yaptıktan sonra, orada ticket’lar açıp, proje yönetim gereçlerini kullanabiliyorsunuz. SVN hizmetinizi
İhtiyacı olanlara tavsiye ederim.
]]>Yeni bir projeye başlarken, kod yazma aşamasına gelmeden önce projenin modellenmesi, veritabanı mimarisinin oluşturulması gibi öne çıkan konuların ele alındığını birçoğumuz biliyoruz. Ama yine bunlardan da önce çalışma ortamımızın hazırlanması gerekiyor. Profesyonel bir şekilde proje yönetebilmek ve süreçleri ilerletebilmek için versiyon kontrol yapısının oluşturulması ölümcüldür.
Nedir bu versiyon kontrol?
Versiyon kontrol basitçe bir dosya veya dokümandaki değişiklikleri takip edebileceğimiz sistemlerdir. Bir projede birden fazla çalışan olabilir ve kimin ne zaman hangi değişikliği yaptığı bilgisine erişmeye ihtiyaç duyabiliriz. Yeni geliştirmeler ile karşılaştığımız çeşitli problemlerde geçmişe dönebilir ve projenin o zamanki halini inceleyebiliriz. Versiyon kontrol sistemini basitçe açıklamaya çalıştım. Tanımlar çoğaltılabilir.
Şimdi Linux üzerinde SVN kurulumunu ve kullanımını anlatmaya çalışacağım (İşletim sisteminizede Apache kurulu olduğu varsayılmıştır).
sudo apt-get install subversion libapache2-svn
Yukarıdaki komutu çalıştırarak SVN kurulumunu başlatıyoruz ve kolayca tamamlanıyor. An itibari ile artık SVN kurulumu tamamlandı. Her proje için ayrı bir repository oluşturmak en mantıklısıdır. Bu bağlamda tüm repository projelerini tutacağımız bir dizin belirlememiz gerekiyor. Ben /var/svn dizinini kullanmaya karar verdim.
cd /var
mkdir svn
Yukarıdaki komutları çalıştırarak /var dizini altına “svn” isimli bir klasör oluşturmuş olduk. Şimdi projemiz için bir repository oluşturalım.
svnadmin create /var/svn/project
Yukarıdaki komutu çalıştırdıktan sonra “project” isimli yeni bir repository oluşturmuş oluyoruz. Şimdi boş projemizi checkout ederek çalışma ortamımızı yaratmak adına son adımımızı atıyoruz. Benim işletim sistemimde projelerimi barındırdığım dizin /var/www/sites
cd /var/www/sites
svn co file:///var/svn/project
Yukarıdaki komutları çalıştırdığınızda /var/www/sites dizini altına “project” isimli bir klasörün oluştuğunu göreceksiniz. Yine bu klasörün içine girip bakacak olursanız “svn” isimli gizli bir klasör oluştuğunu göreceksiniz. Standar “hello word” mesajımızı vermek üzere index.php mizi oluşturacağız 
cd /var/www/sites
touch index.php
nano index.php
(Ben nano editor kullanıyorum. Siz ister konsol editorlarinden isterseniz Zend Studio,NetBeans gibi editorlerle index.php oluşturabilir ve düzenleyebilirsiniz)
“Hello word” yazıp kaydediyoruz ve çıkıyoruz. An itibari ile ekrana “Hello Word” yazdıran bir php dosyamız oldu.
Yeni eklediğimiz dosyanın SVN’ye eklenmesi
svn add index.php
svn commit -m 'index.php eklendi'
Yukarıda index.php yi eklemek üzere SVN’yi uyardık ve commit ettik. İlk commitimizi yapmış olduk. Dosyanızda yeni bir değişiklik yaparsanız bunu görmek için aşağıdaki yönergeyi izleyelim.
svn status
Değişiklik bulunan tüm dosyalar gelecek. Değişiklik yaptıysanız dosyanın başına “M” harfi gelmiş olacak. Bu dosyanın modified edildiğini belirdir.
Bir dosyanın silinmesi
svn delete index.php
Projenin güncellenmesi
svn update
SVN ile ilgili anlatılabilecek çok şey var
Zamanla eklemeye çalışacağım.
Selamlar.
]]>
Takımınız için en iyi yazılım deposunu (repository) seçerken, bir takım önemli faktörler vardır. SVN (Subversion) geçtiğimiz yıllarda üretimde fiili olarak bir standart haline geldi ve kullanıldı. Ancak, daha sonradan hayatımıza Git diye bir şey girdi.
Git, Linus Torvalds tarafından Linux çekirdek geliştirilmesi amacıyla geliştirilmiş versiyon kontrol sisteminin dağıtılmış versiyonudur. Yıllar içerisinde, yazılım geliştirme amacıyla kullanılmış ve özellikle Open Source projelerin oluşturulmasında rol alarak da çok büyümüştür. Git, çoğu takım için daha iyi bir çözüm olmasına rağmen, SVN ile kıyaslandığında azıcık daha öğrenmesi zor olarak nitelendirilebilir.
Kaynaklar : GitSvnComparison, subversion_git_comparison
]]>