Eliminar un archivo de SVN sin eliminarlo localmente en ninguna parte es un problema común. Un ejemplo destacado es el archivo .classpath en un proyecto de Eclipse. Poner este archivo de configuración bajo SVN es maravilloso, siempre y cuando todas las máquinas utilizadas en el proyecto tengan la misma instalación de Eclipse y Java. Una vez que se viola esta condición, los commits empiezan a romper otros proyectos de Eclipse. Este es el punto que uno tiene que eliminar un archivo de SVN sin eliminarlo en ninguna parte.
svn rm --keep-local .classpath
hace el trabajo perfectamente en una máquina y en ese momento.
El problema es que otras máquinas pueden perder ese archivo (en la actualización) o resucitarlo (en la confirmación). La falla de SVN no es para manejar --keep-local
en el repositorio ni para propagarlo a otras copias de trabajo. Por lo tanto, en todas las demás máquinas, el comando debe ejecutarse — antes de cualquier confirmación o actualización.
Esto, por supuesto, funcionará el 90%, en el mejor de los casos. Las eliminaciones y nuevas versiones ocurrirán de forma repentina. Mi solución es que cada máquina, tengo acceso directo o indirecto a, hacer
svn rm --keep-local .classpath
copy .classpath .classpath-nameOfTheMachine
svn add .classpath-nameOfTheMachine
Esto es tan pura y simple feo para ser apenas llamada una "solución". Sin embargo, siempre permitió reparaciones rápidas de cualquier accidente posterior.
posible duplicado de [SVN Eliminar archivo del repositorio sin eliminar copia local] (http://stackoverflow.com/questions/542065/svn-remove-file-from-repository-without-deleting-local-copy) – Shai