Node:Los Ficheros verifymsg y rcsinfo, Next:, Previous:Los Ficheros commitinfo y loginfo y rcsinfo, Up:El directorio administrativo CVSROOT/



Los Ficheros verifymsg y rcsinfo

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.