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
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. $CVSROOT
/CVSROOT/notify
Cervisia proporciona seis opciones para gestionar los testigos.
Para añadir un testigo a uno o varios archivos, utilice → , 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 y . Si quiere que se le notifique cualquier acción relacionada con un determinado archivo,marque la casilla . 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 → , 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 → . 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 → 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 → . 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 → . 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 → . 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 → será posible editar el archivo, pero volverá a ser de solo lectura cuando lo entregue al servidor o seleccione → .
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 → 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 → 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.