Escribir escribe svn log
una lista increíblemente larga e inútil en una línea de comando. No tengo idea de por qué ese es el valor predeterminado. Si quisiera leer (o incluso pudiera leer) 300 entradas en el terminal, no me importaría escribir svn log --full
o algo similar.
Quizás los chicos de SVN están pensando que quería enviar esa salida a otro programa. Sin embargo, si ese es el caso, tendría más sentido tener una llamada más detallada para el programa, no para el usuario del terminal.
De todos modos, ¿cómo veo solo alguna actividad reciente como las últimas 5 o 10 entradas para ver qué cambió?
git log
.Respuestas:
limit
opción, por ejemplo:Solo las últimas 4 entradas
fuente
Además de lo que dijo Bert F , muchos comandos, incluso
log
tienen la opción-r
(o--revision
). Los siguientes son algunos ejemplos prácticos que usan esta opción para mostrar rangos de revisiones:Para enumerar todo en orden ascendente:
Para enumerar todo en orden descendente:
Para enumerar todo, desde el decimotercer hasta la base de la revisión actualmente desprotegida en orden ascendente:
Para obtener todo entre las fechas indicadas:
Puede combinar todas las expresiones anteriores con la
--limit
opción, de modo que pueda tener un control bastante granular sobre lo que se imprime. Para obtener más información sobre estas-r
expresiones, consultesvn help log
el capítulo correspondiente en el libro Control de versiones con Subversionfuente
svn log .
puede que solo me devuelva la primera revisión (del mismo modosvn log --limit 4 .
); pero si llamosvn log -r HEAD:1 .
, finalmente obtengo todas las entradas enumeradas ... Gracias de nuevo, ¡salud!svn log
solo muestra el historial de cambios de la ruta actual.Me gusta usar
-v
para el modo detallado.Le dará la identificación de confirmación, los comentarios y todos los archivos afectados.
Ejemplo de salida:
fuente
Canalice la salida a través de
less
otro localizador:fuente
En caso de que alguien esté mirando esta vieja pregunta, un comando útil para ver los cambios desde su última actualización:
svn log -r $(svn info | grep Revision | cut -f 2 -d ' '):HEAD -v
LE (gracias Gary por el comentario) lo
mismo, pero mucho más corto y más lógico:
svn log -r BASE:HEAD -v
fuente
svn log -r BASE:HEAD -v
Para agregar a lo que otros han dicho, también puede crear un alias en su archivo .bashrc o .bash_aliases:
o lo que quieras como predeterminado
fuente
Como ya has notado, el
svn log
comando ejecutado sin ningún argumento muestra todo mensajes de registro relacionados con la URL que especifique o con la carpeta de copia de trabajo donde ejecuta el comando.Siempre puede refinar / limitar los
svn log
resultados:svn log --limit NUM
mostrará solo el primer NUM de revisiones,svn log --revision REV1(:REV2)
mostrará el mensaje de registro para la revisión REV1 o para el rango REV1 - REV2,svn log --search
mostrará revisiones que coincidan con el patrón de búsqueda que especifique (el comando está disponible en Subversion 1.8 y cliente más reciente). Puedes buscar porfuente
Esta respuesta está dirigida a otras preguntas sobre las opciones de los subcomandos de Subversion. Para cada subcomando disponible (es decir, agregar, registrar, estado ...), simplemente puede agregar la
--help
opción para mostrar la lista completa de opciones disponibles que puede usar con su subcomando, así como ejemplos sobre cómo usarlas. El siguiente fragmento se toma directamente de lasvn log --help
salida del comando en la sección "ejemplos":fuente
Pero svn log todavía está en orden inverso, es decir, las entradas más recientes salen primero, se desplazan desde la parte superior de mi terminal y desaparecen. Realmente quiero ver las últimas entradas, es decir, el orden de clasificación debe ser cronológico. El único comando que hace esto parece ser,
svn log -r 1:HEAD
pero eso lleva demasiado tiempo en un repositorio con unas 10000 entradas. He venido esto:Muestra las últimas 10 entradas de subversión en orden cronológico:
fuente