Node:Los Ficheros verifymsg y rcsinfo, Next:El Fichero taginfo, Previous:Los Ficheros commitinfo y loginfo y rcsinfo, Up:El directorio administrativo CVSROOT/
A veces puede que solamente quiera un programa que verifique que los
informes de cambios se ajustan a un cierto estándar y que detenga el envío si
no se cumple ese estándar. Esto puede conseguirse usando verifymsg
,
posiblemente con algo de ayuda de rcsinfo
.
El fichero verifymsg es la combinación habitual de expresiones regulares y programas. El programa recibe el informe de cambios por la entrada estándar; es de suponer que realizará ciertas comprobaciones para verificar que el informe de cambios cumple ciertos criterios, y finalmente sale con estado cero o distinto de cero. En este último caso, el envío fallará.
Mientras tanto, el lado izquierdo de rcsinfo tiene las expresiones regulares
habituales, pero el lado derecho señala a ficheros de plantilla en vez de a
programas. Un fichero de plantilla podría ser algo como esto
Condición: Arreglar: Comentarios:
o alguna otra colección de campos que se supone que un desarrollador debe
rellenar para formar un informe de cambios válido. La plantilla no es muy útil
si todo el mundo hace envíos de cambios usando la opción -m explícitamente,
pero muchos desarrolladores prefieren no hacerlo. En lugar de ello, ejecutan
floss$ cvs commit
y esperan que CVS lance automáticamente un editor de texto (como se especifica en la variable de entorno EDITOR). Ahí escriben un informe de cambios, guardan el fichero y se salen del editor, después de lo cual CVS continúa con el envío.
En ese escenario, se insertaría una plantilla rcsinfo en el editor antes
de que el usuario comience a escribir, de forma que se mostrarían los
campos junto con un recordatorio para rellenarlos. Entonces, cuando el
usuario haga un envío de cambios, se invocará el programa apropiado en
verifymsg
. Presumiblemente comprobará que el informe sigue ese
formato, y su estado de salida reflejará los resultados de su investigación
(con cero indicando éxito).
Como ayuda a los programas de verificación, la ruta a la plantilla del
fichero rcsinfo se añade como último argumento en la línea de órdenes
de verifymsg
; de esa forma el programa puede basar su proceso de
verificación en la propia plantilla si se desea.
Observe que cuando alguien obtiene una copia de trabajo en una máquina remota, el fichero de plantilla rcsinfo correspondiente se envía al cliente también (se almacena en el subdirectorio CVS/ de la copia de trabajo). Sin embargo esto significa que si se cambia el fichero rcsinfo del servidor después de esto, el cliente no verá los cambios sin volver a obtener una copia del proyecto (con actualizar simplemente no funcionará).
Fíjese también en que en el fichero verifymsg no se admite la palabra clave ALL (aunque DEFAULT sigue valiendo). Esto es para hacer más sencillo saltarse guiones de verificación por defecto y aplicar otros específicos para los subdirectorios.