SVN loglarini cikti almak

SVN de dosyalarımızı commit ederken yazdığımız mesajları topluca bir kerede dışarı alabilmemiz mümkün. Bunun için komut satırında svn komutunu çalışır hale getirip (windows için system path’e eklemelisiniz) daha sonra şu komutu yazmalısınız :
svn log

Ö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.

FTP den yanlislikla .svn veya .git klasorunu da yuklemek

Versiyon kontrol sistemi kullanmanın avantajlarından şu yazımızda bahsetmiştik. Ancak bunu bilinçsiz kullanmanın epey zararı olabiliyor.

Ş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 :

“.svn” intitle:”Index of” 

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.

ubuntu RabbitVCS kurulumu – TortoiseSVN alternatifi (ubuntu 12.04)

Projelerinizde versiyon kontrol sistemleri kullanıyorsanız, ve linux kullanıyorsanız, hoşgeldiniz.

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!

 

Subversion (SVN) vs Git

Bu konu sizin aslında, “hangi versiyon kontrol sistemini kullanmalıyım?” sorunuza da yanıt olabilecek bir niteliktedir.

Subversion (Svn) ve Git Versiyon Kontrol Sistemleri Karşılaştırması

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.

Svn & Git farklarının objektif olarak özeti

  • Git Svn den epeyce hızlıdır.
  • SVN ile bir alt ağacı(subtree) indirip çalışabilirsiniz, ancak Git’te tüm projeyi klonlamanız gerekir. Bu klonlama ile kendinize geçmişi dahil bir kopya üretmiş olursunuz.
  • Git depoları, SVN ye kıyasla epeyce daha küçüktür. Örneğin Mozilla projesi için 30 kat daha küçüktür)
  • Git, baştan itibaren dağıtma amaçlı tasarlandığından, her geliştiriceye olabildiğince yerel kontrol imkanı sağlar. (örneğin bir şeyi yapıp kendinize commit edebilirsiniz. )
  • Git branch’ları (yan dalları) , SVN’e göre basit ve daha az kaynak harcarlar.
  • Git branch’lar kendi geçmişini tutarlar.
  • Git branchlar üzerinde daha çok denetim ve karıştırma (merge) imkanı sağlar.
  • Git depo dosyaları basittir. Tamir etme vb işlemlerinde ihtimaliz daha yüksektir.
  • SVN depolarını merkezi olarak yedeklemek daha basittir.
  • Git depo klonları, full bir klondur. Yani onun üzerinden yeni bir repo yapabilirsiniz.
  • SVN nin kullanıcı arayüzü, Git’inkinden daha gelişmiştir.
  • SVN nin versiyonlarında (revisions) dolaşmak 1,2,3,… şeklinde isim verdiğinden çok daha basittir. Git, ne idüğü belirsiz SHA-1 hash’ler kullanıyor.

Kaynaklar : GitSvnComparison, subversion_git_comparison