¿Cómo se elimina el control de Subversion para una carpeta?


Tengo una carpeta, c:\websites\test, que contiene carpetas y archivos que fueron extraídos de un repositorio que ya no existe. ¿Cómo consigo que Subversion deje de rastrear esa carpeta y cualquiera de las subcarpetas y archivos?

Sé que simplemente podría eliminar la carpeta .svn, pero hay muchas subcarpetas en muchas capas.

 245
svn
Author: Peter Mortensen, 2008-10-01

28 answers

También, si está utilizando TortoiseSVN, simplemente exporte a la ubicación actual de la copia de trabajo y eliminará el .carpetas y archivos svn.

http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-export.html#tsvn-dug-export-unversion

Respuesta actualizada para Subversion 1.7:
En Subversion 1.7 la copia de trabajo ha sido revisada extensamente. Sólo hay uno .carpeta svn, ubicada en la base de la copia de trabajo. Si está utilizando 1.7, entonces solo borrando el .svn folder y su contenido es una solución fácil (independientemente de usar TortoiseSVN o herramientas de línea de comandos).

 250
Author: crashmstr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-04-05 12:14:34

En Linux, esto funcionará:

  find . -iname ".svn" -print0 | xargs -0 rm -r
 150
Author: Max Cantor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-11-14 13:44:41

Intenta exportar svn.

Usted debe ser capaz de hacer algo como esto:

svn export /path/to/old/working/copy /path/to/plain/code

Y luego simplemente borra la antigua copia de trabajo.

TortoiseSVN también tiene una característica de exportación , que se comporta de la misma manera.

 118
Author: pkaeding,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-30 20:42:06

Si está ejecutando Windows, puede hacer una búsqueda en esa carpeta para .svn y que los enumerará todos. Presionando Ctrl + A seleccionará todos ellos y pulsando borrar eliminará todas las cosas 'molestas' de Subversion.

 31
Author: graham.reeds,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-13 08:58:59

En Linux el comando es:

svn delete --keep-local file_name
 21
Author: bunteKnete,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-05-09 11:59:11

Descubrí que ni siquiera necesitas copiar en una ubicación temporal. Usted puede hacer un

svn export --force .

Y el .los archivos svn se eliminarán in situ, dejando los otros archivos como están. Muy conveniente y menos propenso al desorden.

 20
Author: I. J. Kennedy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-02-02 22:33:42

Sin subconjuntos en Linux para eliminar .svn carpetas:

find . -name .svn -exec rm -r -f {} +

rm = remove
-r = recursive (folders)
-f = force, avoids a lot of "a your sure you want to delete file XY".
 9
Author: user1439712,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-19 16:00:35

Ninguna de estas respuestas fue satisfactoria para mi situación. Estoy en subversion 1.8 y tenía una copia de trabajo que solo tenía una única carpeta .svn en la primera carpeta, root. Sin embargo, quería eliminar algunas ramas de la copia de trabajo.

No importa lo que hice, cada vez que ejecuté una 'actualización' restauraría esos archivos y los devolvería a todos. No quería eliminarlos del repositorio, solo de mi computadora but pero necesitaba mantener el resto de la copia de trabajo en tacto (por lo tanto no podía simplemente quitar el .svn).

Solución? svn update --set-depth exclude <dir>

Esta es una "actualización" del lado del cliente que excluye un directorio específico. Se puede encontrar en los manuales en svnbook.com . En resumen, describe esto como:

Comenzando con Subversion 1.6, puede tomar un enfoque diferente. Primero, echa un vistazo al directorio completo. A continuación, ejecute svn update set set-depth exclude en el subdirectorio que no le importa.

Para TortoiseSVN, también puede hacer lo mismo haciendo clic derecho en la carpeta que no desea, haga clic en Update to revision..., y luego establezca la' Profundidad de actualización ' en Exclude, como se ve en esta captura de pantalla:

introduzca la descripción de la imagen aquí

 8
Author: brazilianldsjaguar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-02-03 19:52:47

Funcionó bien para mí:

find directory_to_delete/ -type d -name '*.svn' | xargs rm -rf
 8
Author: Manikandan S,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-11 19:18:21

Utilice el comando svn export:

cd c:\websites\test
svn export c:\websites\test_copy

Todos los archivos bajo control de versiones serán exportados. Verifique dos veces para asegurarse de que no se ha perdido nada.

 7
Author: 1800 INFORMATION,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-24 13:18:42

Simplemente retire el .svn carpeta dentro de la carpeta requerida entonces el control se eliminará automáticamente.

 3
Author: Ramudu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-02-15 11:10:05

En Windows, puede agregar un enlace rápido para eso al menú contextual del explorador. Simplemente inicie este script de registro:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Folder\shell\DeleteSVN]
@="Delete SVN Folders"

[HKEY_CLASSES_ROOT\Folder\shell\DeleteSVN\command]
@="cmd.exe /c \"TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \""

Esto agregará un elemento llamado "Eliminar carpetas SVN" a su menú de clic derecho. Esto eliminará todo .svn carpetas en esta carpeta y todas las subcarpetas.

Fuente (alemán): http://www.sjmp.de/software/alle-svn-ordner-und-dateien-loeschen /

 3
Author: Tobias,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-02-24 13:20:36

Puede usar "svn export" para crear una copia de esa carpeta sin datos svn, o puede agregar esa carpeta a la lista de ignorados

 2
Author: andy.gurin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-30 20:23:56

Para aquellos que usan NetBeans con SVN, hay una opción 'Subversion > Exportar'.

 2
Author: Ladik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-11-04 13:37:33

También hay una pequeña herramienta de código abierto llamada SVN Cleaner que agrega tres opciones al Menú contextual del Explorador de Windows:

  • Eliminar todo .svn
  • Elimina Todo Menos Root .svn
  • Eliminar Archivos Repo Locales
 2
Author: Martin Buberl,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-02-02 22:57:57

En Windows 7 uno puede abrir la carpeta del proyecto y hacer una búsqueda de ".svn " si los archivos ocultos están habilitados y eliminar todos los encontrados .carpetas svn.

 2
Author: Unknown_Guy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-12-16 21:15:09

LA MEJOR Y MÁS FÁCIL MANERA

Si crees que podrías ganar con un simple comando mágico, ¡fallaste! SVN es realmente complicado y siempre vuelve de alguna manera con un nuevo mensaje de error en Xcode. Tarde o temprano, lo prometo... así que tienes que hacerlo inteligente!

Como usted sabe, la práctica habitual y recomendada en Xcode es eliminar un archivo en el panel proyecto de la izquierda. Si te lo perdiste y de alguna manera lo eliminaste en Finder, estás en problemas. ¡Gran problema! Pero podrías resolverlo y tiempo libre si lo haces bien.

Primero, debe eliminar la referencia SVN al archivo o carpeta antes de que pueda eliminarlo realmente

  1. Si solo pudiera volver a poner el archivo / carpeta de la papelera o deshacer el último paso cuando lo eliminó, entonces...

  2. Vaya a la Terminal-sí, la vieja terminal-y vaya a esa ubicación. La mejor manera es simplemente escribir cd y luego tirar de la carpeta/archivo a la Terminal. Usted conseguirá algo similar

Cd /Users/UserName/Documents/Apps_Developing/...

Podrías comprobar dónde estás con

Ls

Comando que lista sus archivos.

  1. Entonces necesita eliminar la referencia svn con un comando SVN:

    Svn delete keep keep - local fileName_toDelete

Esto eliminará el archivo del repositorio SVN, PERO debe eliminarlo manualmente en Finder.

 2
Author: BootMaker,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-19 17:20:12
 1
Author: delete svn folder,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-08-17 16:33:15

La respuesta es sorprendentemente simple - exportar la carpeta a sí mismo! TortoiseSVN detecta este caso especial y le pregunta si desea que la copia de trabajo no esté versionada. Si responde sí, los directorios de control se eliminarán y tendrá un árbol de directorios sin versionar.

 1
Author: Srikanth,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-05-28 09:45:56

Otra solución Linux (más simple):

rm -r `find /path/to/foo -name .svn`
 1
Author: Dougvj,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-19 16:00:48

svn export funciona bien, pero creo que esto es:

svn rm --keep-local <folder/file>

Lo elimina de su repositorio local.

 1
Author: Javier Salinas,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-19 16:02:55

Este comando funciona para mí:

Buscar . - iname".svn " - print0 / xargs -0 rm-r

 0
Author: speby,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-12-05 01:13:25

Uso rsync:

# copy folder src to srcStripped excluding subfolders named '.svn'. retain dates, verbose output
rsync -av --exclude .svn src srcStripped
 0
Author: yeeking,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-27 21:07:51

Los usuarios de NetBeans IDE pueden hacerlo de la siguiente manera:

  1. Abra el proyecto SVN en su IDE
  2. Seleccione el proyecto

    Clic Derecho Subversion Exportación

  3. En el cuadro de diálogo

    Exportar a la carpeta /var/tmp/nombreproyecto exportación de prensa Esperen se mostrará completa te preguntará si quieres abrirlo abre sobre la marcha

  4. Ahora puedes cambiar a Git :)

 0
Author: YumYumYum,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-19 15:59:20

Mi idea es eliminar el .svn y luego mover todos los demás archivos a una nueva carpeta. Es tan simple como eso.

 0
Author: Alvin567,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-19 15:59:57

Cuando esté utilizando el sistema operativo Windows, vaya a la ubicación de su carpeta y verifique que los archivos ocultos estén abiertos, y luego puede ver la carpeta SVN allí. Sólo quita esa carpeta.

 0
Author: dush88c,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-19 16:02:14

Como un punto vital, cuando se utiliza el shell para eliminar .carpetas svn, necesita el argumento -depth para evitar que el comando find ingrese al directorio que se acaba de eliminar y muestre mensajes de error como, por ejemplo,

"buscar: ./.svn: No hay tal archivo o directorio"

Como resultado, puede usar el comando find como se muestra a continuación:

cd [dir_to_delete_svn_folders]
find . -depth -name .svn -exec rm -fr {} \;
 0
Author: fatihk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-07-19 17:18:09

En Windows 10, necesitamos ir a Windows Explorer, y luego ir a View y marcar la casilla de verificación para View hidden files.

Luego vaya a la carpeta que tiene el SVN vinculado en el Explorador de Windows y elimine la carpeta/archivo .svn.

 -1
Author: Praseeda,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-04-27 22:01:48