¿Cómo mostrar los commits de un usuario específico en svn? No encontré ningún interruptor para eso para svn log.
svn
bash
version-control
mimrock
fuente
fuente
--search
opción con Subversion 1.8 o un cliente más nuevo.Respuestas:
Podrías usar esto:
Le mostrará cada confirmación realizada por el usuario especificado (NOMBRE DE USUARIO).
ACTUALIZAR
Como lo sugiere @bahrep, la subversión 1.8 viene con una
--search
opción.fuente
p
).svn log
una copia de trabajo. También puede especificar su repositorio, es decirsvn log https://your-svn-repo
.--search
opción.Con Subversion 1.8 o posterior:
Además de las coincidencias de autor, esto también generará confirmaciones SVN que contienen ese nombre de usuario en el mensaje de confirmación, lo que no debería suceder si su nombre de usuario no es una palabra común.
El
-l 50
limitará la búsqueda en las últimas 50 entradas.http://svnbook.red-bean.com/en/1.8/svn.ref.svn.html#svn.ref.svn.sw.search
fuente
svn log --search foo --search bar -l 30
,.If multiple --search options are provided, a log message is shown if it matches any of the provided search patterns.
svn no viene con opciones integradas para esto. Tiene una
svn log --xml
opción, que le permite analizar la salida usted mismo y obtener las partes interesantes.Puede escribir un script para analizarlo, por ejemplo, en Python 2.6:
Si guarda lo anterior como svnLogStripByAuthor.py, puede llamarlo como:
fuente
Dado que todos parecen estar inclinándose hacia Linux (et al): Aquí está el equivalente de Windows:
fuente
funciona en su mayor parte.
O para ser más exactos:
fuente
-A
para mostrar el contexto, pero este número es estático, mientras que el mensaje de confirmación es de longitud variable. Podría hacer una solución con sed o similar, pero eso es esfuerzo. : P| awk '{ print "-" $1 }' | xargs svn log
Si bien la solución de yvoyer funciona bien, aquí hay una que utiliza la salida XML de SVN, analizándola con
xmlstarlet
.Desde aquí, puede acceder a consultas XML más avanzadas.
fuente
Aquí está mi solución usando xslt. Sin embargo, desafortunadamente, xsltproc no es un procesador de transmisión, por lo que debe limitar el registro. Ejemplo de uso:
svnLogFilter.xslt
svnLogText.xslt
fuente
Comenzando con Subversion 1.8, puede utilizar
--search
y--search-and
las opciones de línea de comandos con elsvn log
comando .Por lo tanto, debería ser tan simple como correr
svn log --search JohnDoe
.fuente
Puede usar Perl para filtrar el registro por nombre de usuario y mantener los mensajes de confirmación. Simplemente configure la variable $ / que decide qué constituye una "línea" en Perl. Si configura esto en el separador de las entradas del registro SVN, Perl leerá un registro a la vez y luego podrá hacer coincidir el nombre de usuario en todo el registro. Vea abajo:
fuente
Para obtener diferencias junto con el registro.
Obtenga los números de revisión en un archivo:
Ahora lea el archivo y ejecute diff para cada revisión:
fuente
Había escrito un script de Python:
y use:
fuente