2016-08-23 14 views
6

Dziwne pytanie, ale wydaje mi się całkiem rozsądne. Zasadniczo istnieje projekt, który zacząłem kilka lat temu z kilkuset liniami kodu. O dziwo, od tego czasu jest to ogromny, solidny projekt, z którego jestem bardzo dumny.Ile mojego kodu nadal jest w pobliżu?

Teraz mam pytanie, które bardzo często pojawia się w mojej głowie:

Ile mojego kodu jest nadal około?

Niemal z pewnością znaczna większość mojego kodu została przepisana w tym momencie, ale wydaje się, że powinno być bardzo możliwe, aby git dał mi obraz tego, co wciąż jest w pobliżu.

Teraz zajrzałem do tego na podstawowym poziomie, ale nie mogę znaleźć niczego innego w tym kierunku, chociaż niektóre wykresy Githuba są pomocne.

Wszelkie pomysły?

+0

Szukasz doniesieniami o kodzie, które nie zostały zmodyfikowane od czasu projekt zaczął? –

+0

@RobbieAverill, który brzmi dobrze. Każda linia kodu, którą napisałem, nie uległa zmianie od czasu, gdy ją napisałem. –

+1

Jeśli interesuje Cię, ile wierszy kodu jest niezajęty, możesz po prostu użyć winy, aby obliczyć ją w czasie. – vsminkov

Odpowiedz

4

Tak więc git blame to droga. Oto w jaki sposób można obliczyć liczbę linii, która została zmieniona przez każdego autora w aktualnej wersji

git ls-tree -r HEAD --name-only \ 
    | xargs -I{} git blame --line-porcelain {} \ 
    | sed -n 's/^author //p' \ 
    | sort \ 
    | uniq -c \ 
    | sort -rn 

które dadzą

15492 Alice 
3406 Bob 
    100 Carol 
+1

Należy jednak zauważyć, że * any * zmienia się na linię kodu (formatowanie, zmiana spacji na zakładki lub odwrotnie itd.) ukryje oryginalnego autora. –

+1

@KeithThompson niestety tak. W rzeczywistości może to nie być bezpośrednia odpowiedź na pytanie, ponieważ jest to liczba wierszy "poruszonych" przez każdego autora. – vsminkov

+2

@KeithThompson _ (na bok) _ faktycznie jest to bardzo filozoficzne pytanie o to, jak łaty wpływają na "ładowanie" kodu: D – vsminkov

Powiązane problemy