Node:Eliminar directorios, Next:, Previous:Eliminar ficheros, Up:Otros comandos útiles de CVS



Eliminar directorios

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.