CVS: Listar todos los archivos cambiados entre etiquetas (o fechas)

StackOverflow https://stackoverflow.com/questions/139759

  •  02-07-2019
  •  | 
  •  

Pregunta

¿Hay alguna forma de enumerar todos los archivos que han cambiado entre dos etiquetas en CVS?

Cada vez que hacemos una versión, aplicamos una etiqueta a todos los archivos de esa versión. Quiero encontrar todos los archivos que cambiaron entre versiones.

También funcionaría si pudiera encontrar todos los archivos que habían cambiado entre dos fechas.

¿Fue útil?

Solución

Supongo que este comando ayudaría:

cvs diff -N -c -r RELEASE_1_0 -r RELEASE_1_1 > diffs

donde RELEASE_1_0 y RELEASE_1_1 son los nombres de tus etiquetas.

Puede encontrar un poco más de información sobre el comando cvs diff aquí

además, debería ser bastante simple crear un script para hacer que el informe sea más adecuado para sus necesidades, por ejemplo: número de archivos modificados, creados eliminados, etc. Hasta donde yo sé, las herramientas de GUI de cvs más comunes (wincvs y tortuga) hacen no proporcionar algo como esto fuera de la caja.

Espero que ayude ;)

Otros consejos

Prefiero usar la opción rdiff y -s

cvs rdiff -s  -r RELEASE_1_0 -r RELEASE_1_1 module > diffs

rdiff no requiere un sandbox; -s le ofrece un resumen de los cambios.

Para obtener la lista de archivos entre dos fechas usando CVS:

cvs diff -N -c -D YYYY-MM-DD -D YYYY-MM-DD | grep "Index:" > diff.out

Más información sobre las fechas aceptadas para el indicador -D: http: / /docs.freebsd.org/info/cvs/cvs.info.Common_options.html

Para obtener una lista de archivos que han cambiado entre una versión y otra utilizando los comandos cvs estándar:

cvs -q log -NSR -rV-1-0-69::V-1-0-70 2>/dev/null >log.txt

O, alternativamente, para obtener una lista de comentarios de confirmación, simplemente suelte el -R :

cvs -q log -NS -rV-1-0-69::V-1-0-70 2>/dev/null >log.txt

Donde reemplaza V-1-0-69 y V-1-0-70 con las revisiones que está comparando.

cvs log -d ">=DATE" -N -S -R > cvs.log

El método de DLira ofrece muchos detalles, incluidos todos los cambios.

Para obtener una lista de archivos, esto funciona:

cvs diff -N -c -r RELEASE_1_0 -r RELEASE_1_1 | grep "Index:" > diffs

La mejor herramienta que he encontrado para esto es un script en perl llamado cvs2cl.pl . Esto puede generar una lista de cambios en varios formatos diferentes. Tiene muchas opciones diferentes, pero he usado las opciones de etiqueta a etiqueta como esta:

cvs2cl.pl --delta dev_release_1_2_3:dev_release_1_6_8

o

cvs2cl.pl --delta dev_release_1_2_3:HEAD

También hice comparaciones usando fechas con la misma herramienta.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top