Node:Cambiar un mensaje log después de una entrega, Next:, Previous:Mensajes log y correos electrónicos a la entrega, Up:CVS avanzado



Cambiar un mensaje log después de una entrega

Por si alguien escribe un mensaje log deplorable, CVS permite que éste se puede reescribier después de que se haya entregado. Se hace con el indicador -m de la orden admit (esta orden se verá en más detalle más adelante) y permite cambiar un mensaje log (por revisión, por fichero) cada vez. Así es como funciona:

floss$ cvs admin -m 1.7:"Cambiar cuatro dígitos del año por dos en la
salida." date.c
RCS file: /usr/local/newrepos/someproj/date.c,v
done
floss$

El mensaje ofensivo original que fue entregado en la revisión 1.7 ha sido reemplazado por uno más inocente (aunque también más soso). No olvide los dos puntos separando el número de revisión del nuevo mensaje log.

Si el mensaje original fue entregado en múltiples fichros, tendrá que ejecurar cvs admit para cada uno de ellos, porque el número de revisión será distinto en cada fichero. Así, esta es una de las pocas órdenes en las que CVS requiere que se pase como argumento el nombre de un fichero:

floss$ cvs admin -m 1.2:"mensaje log muy aburrido" hello.c REAME.txt foo.gif
cvs admin: while processing more than one file:
cvs [admin aborted]: attempt to specify a numeric revision
floss$

Obtendría el mismo error si no le pasa ningún nombre de fichero. Parace confuso pero la razón es que CVS asumiría como argumentos implícitos todos los ficheros de directorio actual.

floss$ cvs admin -m 1.2:"mensaje log muy aburrido"
cvs admin: while processing more than one file:
cvs [admin aborted]: attempt to specify a numeric revision
floss$

Desgraciadamente esto lo encontramos a menudo en los mensajes de error. Usted debe ver las cosas desde el punto de vista de CVS para que los mensajes tengan sentido.

Invocar admin -m cambia el historial del proyecto por lo que debe usarlo con cuidado. No habrá forma de saber que un mensaje log fue cambiado alguna vez. Parecerá como si esa revisión fue entregada con el nuevo mensaje. No quedará huella del mensaje antiguo en ningún sitio (a no ser que salve el correo que se entregó la primera vez).

Aunque por su nombre pueda parecer que sólo administradores designados de CVS pueden usarlo cualquiera puede ejecutar cvs admin si tiene acceso de escritura en el proyecto. Sin embargo, es mejor usarlo con cuidado; la habilidad de cambiar el historial de un proyecto es poca comparado con el daño potencial que se puede hacer. Vea Referencia de CVS para saber más sobre admin y también como restringir su uso.