Node:Eliminar directorios, Next:Renombrar ficheros y directorios, Previous:Eliminar ficheros, Up:Otros comandos útiles de CVS
Como he dicho anteriormente, en realidad CVS no mantiene los directorios
bajo control de versión, sino que, a modo de medida de ahorro, presenta
ciertos comportamientos extraños que en la mayoría de los casos hacen
simplemente "lo que conviene". Uno de estos comportamientos extraños es
que los directorios vacíos pueden tratarse de una forma especial. Si desea
eliminar un directorio de un proyecto, primero borre todos los ficheros
que contenga
floss$ cd dir floss$ rm fichero1 fichero2 fichero3 floss$ cvs remove fichero1 fichero2 fichero3 (salida de información omitida) floss$ cvs ci -m "borrados todos los ficheros" fichero1 fichero2 fichero3 (salida de información omitida)
y después ejecute "update" en el directorio anterior con la opción -P:
floss$ cd .. floss$ cvs update -P (salida de información omitida)
La opción -P le dice al comando "update" que "limpie" cualquier directorio vacío, esto es, que los elimine de la copia de trabajo. Una vez hecho esto, puede decirse que el directorio ha sido borrado; todos sus ficheros han desaparecido, y el directorio en sí es historia (al menos por lo que respecta a nuestra copia de trabajo, claro, pero sigue habiendo un directorio vacío en el repositorio).
Una interesante contrapartida de este comportamiento es que, cuando se hace una actualización normal, CVS no trae automáticamente a la copia de trabajo los nuevos directorios que se hayan creado en el repositorio. Hay un par de justificaciones variopintas para esto, ninguna de las cuales vale la pena mencionar aquí. La explicación breve es que de vez en cuando debería ejecutar "update" con la opción -d, ordenándole que traiga cualquier nuevo directorio que haya sido creado en el repositorio.