Список всех пользователей, которые внесли изменения в репозиторий SVN

Список всех пользователей, которые внесли изменения в репозиторий SVN

Для заданного репозитория SVN мне нужно определить список всех пользователей, которые когда-либо что-либо коммитили в этот репозиторий. Этот репозиторий не единственный на сервере SVN, но список должен быть ограничен этим репозиторием.

решение1

Пока я переписывал свой синтаксический анализ Python, я придумал гораздо лучший способ сделать то, о чем вы просили (я проанализировал имена и даты отправки, чтобы вычислить соотношение отправки в выходные и будние дни, чтобы увидеть, у кого нет жизни!)

Проверьте репозиторий, затем перейдите в него и выполните:

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

Это возвращает список всех внесенных изменений, ищет строки, начинающиеся с ревизии и номера ( r[12341] | author | date-and-stuff...), выводит третье поле (автор), сортирует авторов и удаляет дубликаты.

решение2

Облегченная форма ответа @DrummerB для имен пользователей с пробелами в сочетании с простотой @vgm64

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

решение3

Ответ vgm64 хорош, но он не работает с именами, содержащими пробелы. Я изменил его, и теперь он работает:

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

решение4

Версия ответа @Albirew для Win Powershell:

svn log -q | Select-String "^r" | ForEach-Object {
    $parts = $_ -split '\|'
    $author = $parts[1].Trim()
    "$author = $author <$author>"
} | Sort-Object -Unique > Authors.txt

Связанный контент