2008-11-16 16 views
5

2 dosya düzeltmesi verildiğinde, kaç satır eklendiğini/değiştirildiğini/silineceğini bilmek istiyorum. Binlerce dosyanın tümünün bu bilgisine sahip olmak istiyorum. Ben ~ NewRevision ~ OldRevision ~ ~ Modifiye Eklendi ~ Düzeltmeler arasındaki değişiklik istatistiklerini belirleme

Silinen pencerelerde

Örnek çıktı

Dosya çalışıyorum

toplam svn deneyimsizim olarak bir komut dosyası veya aracı bana gelin lütfen file1.c ~ # 11 ~ 10. ~ 1 ~ 2 ~ 0

file1.c ~ # 2 ~ # 1 ~ 2 ~ 2 ~ 0

cevap

4

Subversion'ın sahip çok güzel fark aracı I zm içinde oy verildi. (Örneğin, http://www.mycode.org/svn/trunk) URL depo URL'sidir

svn diff -rOldRevision:NewRevision URL 

: Ben gibi bir komut kullanmak. Bu, diff çıkışını aradığınız formda biçimlendirmez, ancak her bir dosyanın iki revizyon numarası arasında nasıl değiştirildiğini gösterecektir.

Biçimlendirmeniz için, her dosyada kaç ekleme ve çıkarma işleminin gerçekleştiğini saymak için bir grep kullanabilirsiniz.

Bu yardımcı olur umarız!

2

SVN (veya benzer bir araç), değiştirilmiş ve başka bir şeyle değiştirilen bir satır ile değiştirilmiş bir satır arasında ayrım yapmaz. Bununla birlikte, en iyi bahsinizin bir fark elde etmesi (jordan002'nin söylediği gibi) ve daha sonra + veya - ile başlayan satırları aramak olduğunu söyledi. Her şey için - bir satır silindi, her + için bir satır eklendi (svn'yi, Unix dif yüklü bir sistemde svn diff --diff-cmd diff -x -w -x -u -rOldRev:NewRev ile fark üzerinde beyaz boşlukları yoksayabilirsiniz). Sonra onları karşılaştırabilirsiniz. Birleştirilmiş fark, @ ile başlayan satırlarla ayrılan hunks (değiştirilen dosyanın farklı bölümleri) halinde düzenlenir ve her bir ikincisi için, satırların daha azının silinip eklenen satır sayısı değiştiğini söyleyebilirsiniz. ve eklenen her satır için bir hunkta kaldırılmış olandan daha fazla bir çizgi eklenmiş ve her bir satır bir hunkta eklendiğinden daha fazla çıkarılmış, bir satır silinmiştir. Mükemmel değil, değerlendirmeniz için nispeten iyi.

Bir not daha: Programlayıcıları değerlendirmek için bunu kullanıyorsanız, dikkatli olun. LOC göreli etkinliğin ölçülmesi için harika bir yöntem değildir.

+0

Birisi benim için yukarıdaki yanıtlardan birini yazabilir mi? En az 100 dosya için veri almak zorundayım. [Ödemeli bir görev olarak reklam vermem gerekirse lütfen öneriniz] –

1

Ayrıca "seçili süre içinde kaç satır kaldırılmış, eklenmiş veya yalnızca değiştirilmiş" gibi bir görev çözmeye çalıştım. Bu yüzden basit bir kabuk senaryosu yazdım (sadece Linux için). Kod değişiklikleri hakkında bazı sipmle istatistiklerini toplar. Daha fazla detay ve paylaşılan komut burada bulabilirsiniz: http://cyber-fall.blogspot.com/2011/10/tools-linux-svn-generate-statistic.html

size ve başkalarına yardımcı olacaktır Umut!

İlgili konular