usa pharmacy miami health español caremark app cvs

pharmacy - ¿Eliminar el directorio vacío de CVS?



cvs store (7)

No estoy muy seguro de cómo sucedió esto, pero de alguna manera una jerarquía de directorios completamente vacía ha terminado en mi repositorio:

com/ com/companyname/ com/companyname/blah/ com/sun/ com/sun/java/ com/sun/java/jax_rpc_ri/

Creo que lo que sucedió fue que estos directorios tenían archivos, pero luego un desarrollador se dio cuenta de que no debería haberlos registrado en primer lugar ya que estos son subproductos del proceso de compilación, por lo que eliminó el archivos pero de alguna manera los directorios vacíos se dejan en el repositorio como reliquias antiguas.

¿Cómo puedo eliminar esto de CVS? Los únicos resultados que parece que puedo encontrar en google dicen que no debería haber necesidad de eliminar los directorios vacíos ya que CVS no los mantendrá en primer lugar, y que las opciones -P (prune) para cvs update debería eliminarlos del directorio de trabajo, que es de cero ayuda si realmente tiene directorios vacíos en su repositorio.

Un cvs commit cvs remove y cvs commit no parece resolver esta situación:

$ cvs remove -Rf com cvs remove: Removing com cvs remove: Removing com/companyname cvs remove: Removing com/companyname/blah cvs remove: Removing com/sun cvs remove: Removing com/sun/java cvs remove: Removing com/sun/java/jax_rpc_ri $ cvs commit com cvs commit: Examining com cvs commit: Examining com/companyname cvs commit: Examining com/companyname/blah cvs commit: Examining com/sun cvs commit: Examining com/sun/java cvs commit: Examining com/sun/java/jax_rpc_ri $ ls -l com total 24 drwxrwxr-x 2 matt matt 4096 Oct 15 14:38 CVS drwxrwxr-x 9 matt matt 4096 Oct 15 14:38 companyname drwxrwxr-x 4 matt matt 4096 Oct 15 14:38 sun

¡Todavía está allí!

¿SVN también tiene este extraño comportamiento?


CVS tiene una serie de defectos de diseño, nunca ser capaz de deshacerse de un directorio sin perder el historial es uno. La dificultad para renombrar archivos y directorios sin perder el historial es otra.

Considera graduarte a Subversion . cvs2svn hace un muy buen trabajo al convertir repositorios incluyendo todas las ramas y etiquetas. Los conjuntos de comandos CVS y SVN son muy similares y requieren un ajuste mínimo. (Y para evitar que se convierta en una "guerra de control de versiones") una vez que esté utilizando SVN puede pasar a cualquier número de sistemas de control de versiones más avanzados como git o SVK .


El pago y la actualización de CVS siempre verificará los directorios vacíos; así es como se construye CVS. Haga una actualización con "-P" - "ciruela" - para eliminar los directorios vacíos:

cvs update -dP

(Al agregar "-d" se actualizarán los directorios nuevos que aparecieron desde su última actualización, de lo contrario, CVS los ignorará).


Acaba de hacer

  1. rm -rvf / localCopy / project / emptyDirectory
  2. edit / localCopy / project / CVS / Entries, eliminar la línea D / emptyDirectory ////, guardar archivo
  3. rmdir -v / CVSROOT / project / emptyDirectory

para deshacerse de emptyDirectory in project. Admitir que no es legítimo interferir con los datos internos de CVS, pero parece haber funcionado (cvs versión 1.12.13).


Esto funcionó para mí. Básicamente cuando lo haces

rmdir -v / CVSROOT / project / emptyDirectory # Estamos eliminando el directorio del directorio del repositorio de CVS.

Si tiene acceso de inicio de sesión del servidor Unix del repositorio, puede viajar a la ruta y puede eliminar el directorio, o plantear la misma preocupación con el equipo de Unix.



cvs tiende a trabajar en un enfoque de dos fases con respecto a los directorios, por eso hay una opción -P para muchos comandos cvs para "Podar directorios vacíos".

Cuando esto ha sucedido, por ejemplo, quiero renombrar un directorio que acabo de agregar, elimino el directorio, elimino la entrada para el directorio en el archivo CVS / Entries, será una línea precedida de una "D".

Trabajo hecho.

Si me he comprometido, me aseguro de que mi área de trabajo actual que contiene el / los directorio / s vacíos esté registrada / o. A continuación, elimino la parte del área de trabajo a la que agregué los directorios.

Por ejemplo, en

~/Sandbox/my_project/some_stuff_i_want ~/Sandbox/my_project/empty_dir_1 ~/Sandbox/my_project/other_stuff_i_want

Me aseguro de que todo esté actualizado en ambos directorios que contienen las cosas que quiero conservar. A continuación, elimino mi proyecto de mi caja de arena.

Luego elimino los directorios vacíos del propio repositorio .

Volviendo y revisando el mismo área de trabajo, por ejemplo, mi_proyecto me dará el área de trabajo sin los directorios vacíos.

O simplemente deje todo como está y use la opción -P para que CVS compruebe todo (o actualice todo), luego elimine los directorios vacíos.

HTH

aclamaciones,

Robar


No puede eliminar el directorio de su área de trabajo, necesita eliminarlo para ir al servidor donde se guarda el depósito real. pero puede eliminar archivos del directorio con el comando cvs remove.