2009-07-06 20 views
10

Usando TortoiseSVN en Windows, ¿cómo elimino archivos del repositorio que ya se han eliminado en el sistema de archivos? Esperaría que aparecieran como "desaparecidos" o "eliminados" en mi próxima confirmación, pero ese no parece ser el caso.¿Cómo eliminar archivos de SVN que ya han sido eliminados del FS?

En Linux/Mac, acabo de ejecutar este comando:

svn st | grep ^! | cut -b7- | xargs svn delete 

-Chris

Respuesta

20

Usted tiene que usar "tortoisesvn -> Borrar" para borrar el archivo.

Si ha eliminado directamente por error, hacer una actualización svn para obtener el archivo de nuevo y luego hacer "tortuga svn-> Borrar"

:-)

1

archivos se muestran como "perdido" en el diálogo de confirmación de TortoiseSVN solo si la carpeta donde se eliminaron está versionada y todavía está presente. Si eliminó toda la carpeta, no aparecerá como faltante.

1

Si eliminó el archivo por accidente (sin usar svn) simplemente puede revertir esa modificación para recuperar el archivo, luego eliminarlo con svn. O instale la línea de comando svn en paralelo y úselo para su eliminación :)

+0

Si no recuerdo mal, incluso puede seleccionar 'svn delete' del menú de contexto en el cuadro de diálogo de reversión. –

2

Haga clic derecho y abra el navegador del repositorio TortoiseSVN. Verá el archivo en el repositorio y puede eliminarlo directamente.

1

Normalmente solo instalo cygwin en Windows, y uso svn desde la línea de comandos.

1

en Linux, teniendo en cuenta también los archivos con espacios en blanco:

svn st | grep ^! | cut -b9- | sed 's/^/"/;s/$/"/' | xargs svn rm 

esto funciona en las ventanas, así si instala Git para Windows (MSYS), o cygwin.

0

Si eliminó el archivo antes de que se cometiera por primera vez, no puede revertir desde el repositorio y luego devolver los archivos a Tortise svn> eliminar como lo sugiere Indhu.

Acabo de encontrarme con ese caso en el que utilicé Tortise svn -> Agregar algunos archivos, y luego eliminé los archivos directamente antes de comprometerme. Probablemente sea un caso poco común, pero aquí es cómo resolví mi problema:

Primero, creé archivos nuevos (vacíos) con los mismos nombres de archivo que los archivos ahora "faltantes". Luego, hice una Tortise svn> Undo Add en cada archivo. Esto provocó que svn dejara de intentar confirmar los archivos con esos nombres.

Cuestiones relacionadas