2008-12-04 23 views

Respuesta

49

He aquí un ejemplo, usando el svn log command y linux sed command, con su nombre de usuario, 'Blankman':

svn log | sed -n '/blankman/,/-----$/ p' 

Si usted está buscando para obtener esta información con informes continuos, mediante un proyecto como StatSVN, que Patrick mencionado, es muy útil. Si está usando Maven, hay un StatSCM plugin que generará esta información en el sitio de su proyecto.

+0

@JamieMcNaught, --username es para especificar con qué usuario autenticarse. – sudarkoff

+0

@sudarkoff Sí, tienes razón, quítalo ya que es incorrecto. No tengo idea de por qué pensé que funcionó. – jmc

+1

¡Hay 'svn log --search' que comienza desde SVN 1.8! http://subversion.apache.org/docs/release-notes/1.8.html#svn-log-search – bahrep

3

Sí. Usamos StatSVN para nuestros informes de subversión, y uno de los informes que hace es confirmado por el desarrollador.

TortiseSVN también le permite ver los mensajes de registro por fecha para los autores.

0

Aquí hay una pequeña secuencia de comandos para mostrar qué archivos fueron cambiados por un determinado usuario entre las revisiones.

#!/bin/bash 
# @param $1: Start revision 
# @param $2: End revision 
# @param $3: User 
# 
# Example: svn_scapegoat.sh 1000:HEAD jdoe 

svn_changed() 
{ 
    svn blame --revision $1:$2 -- $4 | grep -E "^ [0-9]* *${3} " 
} 

svn diff --revision $1:$2 --summarize | \ 
cut -c9- | \ 
while read path 
do 
    if [ -n "$(svn_changed $1 $2 $3 $path)" ] 
    then 
     echo "$3 changed $path" 
    else 
     echo "Someone else changed $path" 
    fi 
done 
3

Aquí es la versión actualizada de gama

svn log -v -r { "2011-01-01 00:00:00"}: { "2011-02-18 00: 00:00 "} | sed -n '/ russenreaktor /,/----- $/p'

7

respuesta de Shek me ayudó con lo que tenía que hacer, pero he encontrado que me dieron resultados más precisos con el siguiente truco:

svn log | sed -n '/ | blankman | /,/-----$/ p' 

De lo contrario, la lista incluye confirmaciones hechas por otros que simplemente me hacen referencia por mi nombre.

1

me encontré con este comando útil para encontrar una lista de los archivos modificados por un usuario dada:

svn log -v -r{2012-08-01}:HEAD 
| awk '/^r[0-9]+/{user=$3} /./ {if (user=="username") {print}}' 
| grep -E "^ M|^ G|^ A|^ D|^ C|^ U" 
| awk '{print $2}' 
| sort | uniq 

Y el link to the original article.

5

¿Por qué no utilizar simplemente la tortuga SVN?

Totoise SVN -> Mostrar registro Añadir el ID de usuario en la parte superior izquierda para el que desea ver la lista de cambios

4

Esto funciona para mí:

svn log | grep YOUR_USERNAME_HERE | awk '{print $1}' | sed s/r//g | xargs -I $ svn diff --summarize -c $ | sort | uniq 
15

No hay necesidad molestarse con grep, sed, etc. a partir de Subversion 1.8. The release introduced --search option that you can use with svn log command!

Las opciones le permite buscar en el historial de repositorio para:

  • autor de la revisión (svn:author propiedad no versionada),
  • fecha (svn:date propiedad no versionada),
  • texto del mensaje de registro (svn:log propiedad no versionada) ,
  • y rutas afectadas por la revisión en particular.

Ver SVNBook 1.8 | svn log command-line reference.

-2

Para ver la lista de todos los archivos modificados por un usuario en subversión para una estructura de directorios particular, primero debe dirigirse a esa estructura de directorios y en el lado derecho del panel de directorios haga clic con el botón derecho .. luego, vaya a Mostrar registro -> en la esquina superior izquierda, obtenemos la opción de filtro.

a partir de ahora poniendo el nombre de usuario puede ver todos los archivos modificados por ese usuario en particular en el panel inferior.

+0

El svn en sí está basado en línea de comandos. Tus sugerencias están relacionadas con una interfaz gráfica de terceros a su alrededor – Vic

Cuestiones relacionadas