Uso de testigos

Un testigo sirve para que el servidor CVS notifique a los usuarios cuando se cambia un determinado archivo o un miembro ha empezado a editarlo. Para poder usar testigos será necesario que el archivo $CVSROOT/CVSROOT/notify esté correctamente configurado.Este tema no será tratado aquí, si necesita información sobre cómo configurarlo, lea alguno de los libros citados en el apéndice.

Cervisia proporciona seis opciones para gestionar los testigos.

Para añadir un testigo a uno o varios archivos, utilice AvanzadoAñadir testigo, podrá elegir para qué acciones quiere que CVS le notifique en el diálogo que se le muestra. Por ejemplo, si solo quiere recibir una notificación cuando se modifica un determinado archivo marque las casillas Solo y Entregas. Si quiere que se le notifique cualquier acción relacionada con un determinado archivo,marque la casilla Todos. La orden ejecutada al aceptar el diálogo será

cvs watch add -a commit nombre archivos

Puede variar dependiendo de las acciones a notificar que haya escogido.

Si ya no desea seguir de cerca los cambios de un determinado archivo, puede eliminar los testigos seleccionando AvanzadoEliminar testigo, verá un diálogo con las mismas opciones que se le ofrecieron al crearlo. Una vez que dé su confirmación, Cervisia ejecutará la orden

cvs watch remove nombre archivos

quizás con la opción -a para el evento elegido.

Finalmente, si quiere ver una lista con las personas que tienen testigos en un determinado archivo, seleccione AvanzadoMostrar testigos. Se ejecutará la orden

cvs watchers nombre archivos

Durante el uso normal de CVS, cada miembro trabaja separadamente sobre su copia local del repositorio, puede modificar archivos simplemente abriéndolos en editor sin que nadie lo sepa hasta que entregue los cambios.

Para algunos desarrolladores esta no es la forma ideal de trabajar, sino que prefieren saber si alguien está trabajando sobre un determinado archivo tan pronto como empiece a hacerlo. Esto puede hacerse con algunas órdenes de CVS. Antes de empezar a editar un archivo seleccione AvanzadoEditar desde la ventana principal de Cervisia. La orden que se ejecutará es

cvs edit nombre archivos

Esto enviará una notificación a todos los que hayan puesto un testigo edit en ese archivo, también hará que se le considere a usted como un editor de ese archivo. Puede ver una lista de todos los editores de un determinado archivo seleccionando AvanzadoMostrar editores. La orden equivalente sería

cvs editors nombre archivos

La sesión de trabajo sobre un archivo termina automáticamente cuando se entregan los cambios. En ese momento se envía una notificación unedit a todos los que hayan registrado el correspondiente testigo para ese archivo. A veces, puede que no desee entregar el archivo sino que prefiera parar el trabajo y volver a la revisión anterior. Para ello, seleccione AvanzadoDeshacer edición de archivos. Observe que Cervisia no le pedirá confirmación, con lo que nada más seleccionarlo perderá todo el trabajo realizado desde la selección de AvanzadoEditar. La orden ejecutada por Cervisia es

echo y | cvs unedit nombre archivos

Hasta ahora hemos tratado el caso en que los desarrolladores hacen y deshacen cambios voluntariamente, pero CVS también puede obligar a hacer uso de estos mecanismos. La orden para ello es cvs watch on, que no explicaremos en detalle porque su uso recae sobre todo en los administradores del repositorio. Sin embargo, los desarrolladores deben saber que, cuando se controla la edición, la copia de trabajo se descarga como solo lectura, es decir que, por omisión, no podrá editar un archivo (salvo que emplee diversas artimañas como chmod). Solo si selecciona AvanzadoEditar será posible editar el archivo, pero volverá a ser de solo lectura cuando lo entregue al servidor o seleccione AvanzadoDeshacer edición de archivos.

La interfaz de edición de Cervisia también puede ayudarle de otra forma en su trabajo con proyectos que obliguen a usar testigos. Si acaba de abrir un editor con un archivo de solo lectura haciendo doble click sobre él o seleccionando ArchivoEditar no debería ser capaz de guardar los cambios posteriores. Obviamente, existe una razón para esto: cada vez que desea modificar un archivo, será necesario ejecutar cvs edit antes así que todos los miembros que tengan un testigo sobre ese archivo recibirán una notificación informándoles que usted trabaja sobre él.

En este caso, es recomendable marcar la opción PreferenciasHacer cvs edit automáticamente cuando sea necesario así cada vez que edite el archivo haciendo doble click sobre él, Cervisia ejecutará el comando cvs edit antes de abrir el editor para que pueda editar normalmente el archivo. Cuando termine su trabajo, entréguelo al repositorio. Los archivos entregados vuelven a ser de solo lectura.