Lista de todos los usuarios que se comprometieron con un repositorio SVN

Lista de todos los usuarios que se comprometieron con un repositorio SVN

Para un repositorio SVN determinado, necesito determinar una lista de todos los usuarios que alguna vez enviaron algo a ese repositorio. Este repositorio no es el único en el servidor SVN, pero la lista debe restringirse a ese repositorio.

Respuesta1

Mientras comencé a reescribir mi análisis de Python, me di cuenta de una manera mucho mejor de hacer lo que me pedías (analicé nombres y fechas de envío para calcular las proporciones de envío de fin de semana/día laborable para ver quién no tenía vida).

Consulte el repositorio, luego vaya a él y ejecute:

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

Eso obtiene una lista de todos los cambios que se han confirmado, busca las líneas que comienzan con la revisión y el número ( r[12341] | author | date-and-stuff...), imprime el tercer campo (autor), ordena los autores y elimina los duplicados.

Respuesta2

Forma ligera de respuesta @DrummerB para nombres de usuario con espacios, combinada con la simplicidad de @vgm64

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

Respuesta3

La respuesta de vgm64 es buena, pero no funciona bien con nombres que contienen espacios. Lo cambié y así es:

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

Respuesta4

Gana la versión Powershell de la respuesta de @Albirew:

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

información relacionada