Para un repositorio SVN dado, necesito determinar una lista de todos los usuarios que alguna vez hayan comprometido algo en ese repositorio. Este repositorio no es el único en el servidor SVN, pero la lista debe restringirse a ese repositorio.
user-accounts
svn
repository
usuario12889
fuente
fuente
svn log
los usuarios que han cometido cambios? ¿O ver el repositorio no es una opción?Respuestas:
Mientras comencé a reescribir mi análisis de Python, me di cuenta de una manera mucho mejor de hacer lo que me pediste (analicé los nombres y las fechas de envío para calcular las proporciones de envío de fin de semana / día de la semana para ver quién no tenía vida).
Echa un vistazo al repositorio, luego ve y ejecuta:
svn log | grep '^r[0-9]' | awk '{print $3}' | sort | uniq
Eso obtiene una lista de todos los cambios que se han comprometido, greps para 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.fuente
(no author)
) añadir-F ' [|] '
a awk se agarra el nombre completo:svn log | grep '^r[0-9]' | awk -F ' [|] ' '{print $2}' | sort | uniq
.Forma ligera de respuesta @DrummerB para nombres de usuario con espacios, combinada con simplicidad de @ vgm64
svn log -q | gawk -F "|" '/^r[0-9]/ { print $2 }' | sort -u
fuente
La respuesta de vgm64 es buena, pero no funciona bien con nombres que contienen espacios. Lo cambié, entonces lo hace:
fuente
Sé que este hilo es antiguo, pero dado que algunos tutoriales para convertir SVN a Git están vinculados allí, agrego un comando que generará un archivo Authors.txt:
Si este es un SVN importado, o si tropieza con el
Not a working copy
error, puede especificar la ruta local a la carpeta SVN agregandofile:///tmp/svn-repo
despuéssvn log -q
fuente