2009-08-31 11 views
6

Chciałbym móc zobaczyć czyjeś całkowite linie kodu dodane do naszej aplikacji. Załóżmy, że aplikacja ma 10 tys. Wierszy kodu. Chciałbym sprawdzić, ile LOC każdy programista zaangażował w repozytorium. Czy jest coś dla SubVersion, aby uzyskać tego rodzaju informacje?Jak określić całkowity wkład dewelopera w SubVersion?

+0

Po prostu z ciekawości ... dlaczego chcesz liczyć wiersze kodu? –

+0

Po prostu ciekawi mnie, jaki udział w tworzeniu ma dany programista. – swilliams

+0

Ok. Pamiętaj, że LOC jest bardzo ogólny. Możesz mieć bardziej doświadczonego programistę kompresującego coś z 15 linii w dół do 5 ... coś, o czym musisz pamiętać. –

Odpowiedz

5

Jest MPY SVN STATS i StatSVN, jeśli dobrze pamiętam, że powinien zrobić to, co chcesz i wiele więcej.

Nie sądzę, że można to zrobić za pomocą tortoisesvn wszystkie narzędzia, które znam są narzędzia wiersza poleceń i obawiam się niektórych z nich narzędzi linux.

+1

Dopóki będę mógł uruchamiać narzędzia wiersza poleceń przez cygwin, nie będzie to problemem. Wezmę jednak kolejny atak na StatSSVN. – swilliams

+0

Wygląda na to, że StatSVN (tylko 2 s) zrobił to, czego potrzebowałem. Dzięki! – swilliams

2

svn blame może Ci pomóc, poprzez podanie nazwy użytkownika w każdym wierszu kodu źródłowego.

Ich przykładem wyjściowa została

 
$ svn blame http://svn.red-bean.com/repos/test/readme.txt 
    3  sally This is a README file. 
    5  harry You should read this. 

Więc można zrobić coś takiego

cat ./*blamed | awk '{print $2}' | sort | uniq -c 

na pliku uformowana jak

 
$ cat b.txt 
3 Mark asdf 
3 Mark asdf 
3 Bill fdas 
4 Bill fdas 
5 Fred fdfd 

dostać wyjście jak

$ cat b.txt | awk '{print $2}' | sort | uniq -c 
     2 Bill 
     1 Fred 
     2 Mark 

... ale prawdopodobnie jest to lepszy sposób niż to.

+0

Czy jest to jednak tylko dla jednego pliku? Chciałbym czegoś na cały projekt. – swilliams

+0

Strona mówi, że "svn win" działa dla "określonych plików", więc zakładam, że możesz podać dowolną liczbę plików. Nie mam tutaj svn, więc nie mogę tego przetestować. –

Powiązane problemy