
Para um determinado repositório SVN, preciso determinar uma lista de todos os usuários que já cometeram algo nesse repositório. Este repositório não é o único no servidor SVN, mas a lista deve ser restrita a esse repositório.
Responder1
Enquanto comecei a reescrever minha análise de python, percebi uma maneira muito melhor de fazer o que você pediu (analisei nomes e datas de envio para calcular as taxas de envio de fim de semana/dia da semana para ver quem não tinha vida!)
Confira o repositório, vá até ele e execute:
svn log | grep '^r[0-9]' | awk '{print $3}' | sort | uniq
Isso obtém uma lista de todas as alterações que foram confirmadas, greps para as linhas que começam com a revisão e o número ( r[12341] | author | date-and-stuff...
), imprime o terceiro campo (autor), classifica os autores e elimina as duplicatas.
Responder2
Forma leve de resposta @DrummerB para nomes de usuários com espaços, combinada com a simplicidade de @vgm64
svn log -q | gawk -F "|" '/^r[0-9]/ { print $2 }' | sort -u
Responder3
A resposta do vgm64 é boa, mas não funciona bem com nomes que contêm espaços. Eu mudei, então acontece:
svn log | grep '^r\do*' | sed 's_^r[0-9]* | \([^|]*\) | .*$_\1_g' | sort | uniq
Responder4
Ganhe a versão Powershell da resposta de @Albirew:
svn log -q | Select-String "^r" | ForEach-Object {
$parts = $_ -split '\|'
$author = $parts[1].Trim()
"$author = $author <$author>"
} | Sort-Object -Unique > Authors.txt