2010-04-22 13 views

Odpowiedz

6

Nie sądzę, że svn posiada wbudowane wsparcie dla tej funkcji, ale można napisać mały skrypt do uruchomienia

svn log --xml 

w katalogach jakiegokolwiek repo Państwo chcieli przetestować, a następnie analizować je i wybierz tylko wpisy wykonane przez danego użytkownika.

+0

Gdzie to zrobić, w katalogu repo na serwerze? Na przykład. katalog zawierający conf, dav, db, format, hooks, locks. Jeśli tak, to mówi svn: "." nie jest kopią roboczą –

+0

Nie, będziesz chciał zrobić to na kliencie. svn co http://url.com/svn/thing; rzecz z cd; svn log --xml – Allyn

+0

To by się nie pokazało, gdyby inny użytkownik to sprawdził? Zasadniczo chcę wiedzieć, kto sprawdza pewne repozytorium. –

2

Po drugie Allyn's answer, ale mam jedno uzupełnienie: Jeśli korzystasz z systemu Windows, TortoiseSVN umożliwia filtrowanie danych wyjściowych, w tym możliwość filtrowania według nazwy użytkownika.

9

Oto mały hack, który korzysta z sed GNU, aby wykonać wyrażenie regularne na podstawie danych wyjściowych dziennika z polecenia svn. Zmień nazwę użytkownika na nazwę użytkownika, które wymagają

svn log | sed -n '/| username |/,/-----$/ p' 

Aby uzyskać listę folderów z config WebDAV (byłem na polu Ubuntu w czasie pisania) Spróbuj coś takiego ....

grep SVNPath /etc/apache2/mods-available/dav_svn.conf | grep -v \# | sed 's/^\s*SVNPath //' 

Po prostu wyświetla się jeden raz dla wiersza, dwa razy, aby usunąć skomentowane wiersze i filtruje słowo kluczowe SVNPath i powiązane z nim znaki odstępu. Twoje wyniki są folderami repo, więc jeśli zamierzasz używać polecenia svn, dodaj do pliku: //

Powiązane problemy