Automatización de CVS: ¿Cómo puedo detectar que un file local haya sido eliminado para disparar un cvs remove?

Estoy buscando automatizar la copy de security de una estructura de files de Windows XP (una wiki) en CVS.
A través de llamadas repetidas a cvs commit y cvs add , puedo identificar y confirmar los files cambiados y los files recién agregados, pero no puedo ver un command cvs que me permita saber que se ha eliminado un file local.

Una posibilidad sería actualizar una estructura de files paralelos con los últimos files del repository y luego eliminar los files que solo aparecen en la segunda estructura, pero esperaba que hubiera una solución más eficiente.

Tendrá que ejecutar la actualización cvs y analizar los resultados. Le dirá qué files se han agregado, eliminado, etc. Luego puede usarlos para ejecutar los commands correctos. Una advertencia: CVS no es fácil de automatizar, porque no es muy consistente con sus posts. Pero lo conseguirás trabajando eventualmente.

Podrías hacer un

cvs -nq update 

y busca líneas como

 cvs update: warning: SourceControlledFile.xml was lost 

ACTUALIZAR:

Estoy usando CVSNT 2.5.05 en Windows XP. Descubrió que si solo corres

 cvs remove -R 

en un directory (sin el parámetro -f ) solo eliminará los files que realmente faltan del sistema de files. Para los files que todavía están allí, solo lanzará un post que su secuencia de commands de automation puede ignorar de forma segura.

Esto también es ideal para usar fuera de los scripts. Ahora solo puedo ejecutar:

 cvs -nq update | findstr /C:"U " 

Verifique para asegurarse de que todos estos sean realmente files que quiero eliminar, y luego ejecute el mismo directory:

 cvs remove -R 

Tuve éxito en Windows XP con CVSNT usando

 cvs -nq update | findstr /C:"U " 

Que produce resultados como este:

 U file1.cs U file2_23.cs U directory_1/Reports/test.rpt 

Por supuesto, esta idea (y las otras ideas) solo funcionan para la automation si no existe la posibilidad de que estos files sean realmente files que alguien haya agregado al repository desde la última vez que actualizó su copy de trabajo.

Yo personalmente uso este cmd solo para crear una list de files. Necesito hacer un cvs remove manualmente antes de hacer un commit.