Lista wszystkich użytkowników, którzy zobowiązali się do repozytorium SVN


8

Dla danego repozytorium SVN muszę określić listę wszystkich użytkowników, którzy kiedykolwiek cokolwiek powierzyli temu repozytorium. To repozytorium nie jest jedynym na serwerze SVN, ale lista powinna być ograniczona do tego repozytorium.


Czy możesz analizować svn log dla użytkowników, którzy dokonali zmian? Czy sprawdzanie repo nie jest opcją?
physicsmichael

Czy masz python? =)
physicsmichael

Odpowiedzi:


16

Kiedy zacząłem przepisywać moje parsowanie pythona, zdałem sobie sprawę, że jest o wiele lepszy sposób na zrobienie tego, o co prosiłeś (przeanalizowałem nazwy i daty przesłania, aby obliczyć współczynniki składania weekendów / dni tygodnia, aby zobaczyć, kto nie ma życia!)

Sprawdź repo, a następnie przejdź do niego i wykonaj:

svn log | grep '^r[0-9]' | awk '{print $3}' | sort | uniq

Dostaje listę wszystkich zatwierdzonych zmian, greps dla linii rozpoczynających się od wersji i numeru ( r[12341] | author | date-and-stuff... ), drukuje trzecie pole (autor), sortuje autorów i pozbywa się duplikatów.


@ user12889: Twoje powitanie. Właśnie trafiłem na właściwe pytanie we właściwym czasie.
physicsmichael

W przypadku, gdy pole nazwy zawiera wartość ze spacjami (w moim przypadku miałem zatwierdzenia od użytkownika (no author) ) dodawanie -F ' [|] ' awk chwyta całą nazwę: svn log | grep '^r[0-9]' | awk -F ' [|] ' '{print $2}' | sort | uniq.
Quinn Comendant

2

Odpowiedź vgm64 jest dobra, ale nie działa dobrze w przypadku nazw zawierających spacje. Zmieniłem to, więc to robi:

svn log | grep '^r\do*' | sed 's_^r[0-9]* | \([^|]*\) | .*$_\1_g' | sort | uniq

1

Lekka forma odpowiedzi @DrummerB dla nazw użytkowników ze spacjami w połączeniu z prostotą @ vgm64

svn log -q | gawk -F "|" '/^r[0-9]/ { print $2 }' | sort -u

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.