Lista de todos os usuários que se comprometeram com um repositório SVN

Lista de todos os usuários que se comprometeram com um repositório SVN

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

informação relacionada