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.
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.
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.
(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
La respuesta de vgm64 es buena, pero no funciona bien con nombres que contienen espacios. Lo cambié, entonces lo hace:
svn log | grep '^r\do*' | sed 's_^r[0-9]* | \([^|]*\) | .*$_\1_g' | sort | uniq
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:
svn log -q | awk -F '|' '/^r/ {sub("^ ", "", $2); sub(" $", "", $2); print $2" = "$2" <"$2">"}' | sort -u > 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 agregando file:///tmp/svn-repo
despuéssvn log -q
svn log
los usuarios que han cometido cambios? ¿O ver el repositorio no es una opción?