¿Cómo elimino una carpeta del control de origen con TortoiseSVN?

129

¿Cómo elimino una carpeta del código fuente controlado con TortoiseSVN ?

Oportunidad
fuente
10
Buena pregunta. Esto es ridículamente complicado para lo que debería ser una tarea simple.
Paul Suart
Una nota para cualquiera que haya usado "SVN Update to revision" (en lugar de svn checkout): intente usar SVN Update to revision nuevamente pero esta vez con la profundidad de actualización configurada en Excluir.
Wallace Brown
puede eliminar la .svncarpeta relacionada
ahmednabil88
Siempre me he preguntado si está bien, en Windows / Tortoise, simplemente BORRAR una carpeta local en la PC. Entonces, hay un REPO REPO en su servidor. Y resulta que tiene una versión en su PC, LOCALFOLDER. Simplemente ya no necesita esa versión local en esa PC. En este caso, simplemente elimino la carpeta LOCALFOLDER en la PC. (No hago nada, en absoluto, desde el menú Tortuga antes de tirar LOCALFOLDER a la basura). Para ser claros, no quiero afectar a REPO de ninguna manera, simplemente no quiero / necesito la versión LOCALFOLDER. Siempre me he preguntado si está bien hacer esto.
Fattie
O, ¿Tortoise guarda "algo más" en algún lugar de la PC, de modo que a partir de ese momento Tortoise sienta que falta LOCALFOLDER?
Fattie

Respuestas:

56

Hay un elemento dedicado en el menú contextual ampliado:

  • Mantenga Shiftpresionada la tecla y haga clic derecho en la carpeta.
  • En el menú de TortoiseSVN, haga clic en "Eliminar (mantener local)"

ingrese la descripción de la imagen aquí

Imagen recortada de la página del menú contextual extendido de TortoiseSVN .
Eliminar (mantener local) la documentación publicitaria.

Bob Esponja
fuente
44
En realidad, eso es CTRL + MAYÚS al hacer clic derecho en la carpeta. Vamos Stackoverflow, ¿por qué encontré esta respuesta al final?
Hollystyles
44
¿Qué versión están usando? La versión 1.6.12 no tiene la opción Eliminar (mantener local). Ni Shift ni CTRL + Shift ayudan.
thehhv
1
Acabo de comprobar de nuevo y solo Shift + clic derecho funciona para mí. @thehhv versión 1.6.10 todavía tiene la opción.
bob esponja
1
Impresionante respuesta. Shift + clic realmente funciona con 1.6.10. Después de hacer esto, aún tendrá que confirmar el archivo para verlo desaparecer del repositorio remoto.
hotshot309
2
Esto debe marcarse como la respuesta, ya que es la forma más fácil de usar TortoiseSVN
alejosoft
176

La forma más fácil se describe aquí: http://tortoisesvn.net/unversion.html

Ese artículo es un poco extenso y algunos de los métodos no funcionaron para mí (como arrastrar la carpeta sobre sí mismo, Windows 7 no lo permitiría)).

Esto es lo que, en el artículo funcionó para mí:

Simple: cuando hace clic con el botón derecho en una copia de trabajo y elige " Exportar ..." en el menú contextual, se muestra un cuadro de diálogo de exploración de carpetas donde puede elegir la carpeta a la que desea exportar la copia de trabajo. Si ahora selecciona la misma ruta en la que está su copia de trabajo como destino (es decir, está exportando la copia de trabajo sobre sí misma), TortoiseSVN eliminará todas las carpetas .svn de esa copia de trabajo.

Stefan
fuente
3
Stefan, probé el procedimiento que describiste y TSVN me muestra el cuadro de diálogo "Desversion" (con una barra de progreso que muestra el progreso), pero después de completar el proceso, la carpeta es la misma que antes. Tengo Win7 y la carpeta está en un recurso compartido de red. ¿Podría esto tener algo que ver con la falla del procedimiento (en silencio)? (+1 de todos modos, porque este procedimiento es exactamente lo que necesito)
Heinrich Ulbricht
No debería fallar en silencio. ¿Está seguro de que las carpetas .svn ocultas siguen ahí?
Stefan
Sí, puedo verlos. Mi problema original es que quiero deshacerme de todo un directorio desprotegido (incluidos subdirectorios) en el recurso compartido de red. Esto falló porque Windows dice que alguien está usando los archivos. Entonces pensé que podría ser el caché svn y que al usar un método del mundo TSVN podría resolver este problema de acceso. Pero no hubo suerte :(
Heinrich Ulbricht
1
Para evitar la necesidad de seguir un enlace, el procedimiento se repite aquí: Simple: cuando hace clic con el botón derecho en una copia de trabajo y elige "Exportar ..." en el menú contextual, se muestra un cuadro de diálogo de exploración de carpetas donde puede elegir el carpeta a la que desea exportar la copia de trabajo. Si ahora selecciona la misma ruta en la que está su copia de trabajo como destino (es decir, está exportando la copia de trabajo sobre sí misma), TortoiseSVN eliminará todas las carpetas .svn de esa copia de trabajo.
Charley Rathkopf
Cuando probé esto, comencé a obtener errores de que el directorio que había exportado a sí mismo ahora "no era un directorio de trabajo" y estaba "obstruido" y debería limpiar, pero cuando lo intenté (IIRC) recibí un error de que el El directorio raíz estaba bloqueado. Finalmente hice un MOVIMIENTO (arrastre la carpeta a una carpeta que no sea SVN y en el menú desplegable elija "Exportar ...") y luego un Eliminar (ambos con Tortoise).
Clay Nichols
12

Si desea eliminar la carpeta del control de código fuente pero mantenerla localmente, la forma más sencilla sería

  1. crear una copia de seguridad de la carpeta (solo cópiela en otro lugar)
  2. siga las instrucciones para eliminarlo
  3. restaurar la carpeta
  4. decirle a Subversion que "Ignore" la carpeta

También debe eliminar el .svndirectorio que está dando vueltas en la carpeta que está eliminando o terminará confundiendo svn / tortoise. También puede hacer una "Exportación" para el paso 1 que eliminará cualquier .svndirectorio por usted (si está haciendo esto para un árbol de directorios completo en lugar de un solo directorio, esto es mucho más conveniente que limpiar las carpetas a mano) .

AwesomeTown
fuente
1
Para (1) puede Exportar para deshacerse de los datos SVN de la copia.
dahlbyk 02 de
Correcto: debe eliminarlo a través de TortoiseSVN, restaurarlo y luego eliminar todas las carpetas svn dentro de él (así como el archivo .version).
Oportunidad
* y luego ignórelo, aunque funcionó de maravilla (gracias)
Chance
Para mí, solo exportarlo eliminó el repositorio SVN y las marcas de verificación verdes en la carpeta que quería.
Hammad Khan
7

El menú TortoiseSVN tiene una opción de Exportación que le dará una copia de la carpeta separada del repositorio. Alternativamente, puede hacer clic con el botón derecho + arrastrar una carpeta y elegir "Exportar SVN aquí" o "Exportar SVN todo aquí".

"Exportar todo" equivale a seleccionar "Exportar archivos no versionados también" en el cuadro de diálogo Exportar, que clonará efectivamente la copia de trabajo sin las carpetas .svn.

dahlbyk
fuente
6

Haga clic derecho en el directorio, vaya a TortoiseSVN -> Eliminar . Luego haga clic derecho en el directorio principal y SVN Commit ... y eso eliminará la carpeta.

Sean Bright
fuente
2
Esto eliminará la carpeta también.
tunnuz 02 de
Esta fue la respuesta que estaba buscando ... También la encontré aquí: tortoisesvn.net/docs/release/TortoiseSVN_en/…
Muy irregular
2

Búsqueda de Windows, establecer el sistema y la marca de archivos ocultos ... nombre de archivo ".svn" ... después de buscar, ordenar para que todos los directorios .svn estén agrupados ... resalte - presione eliminar :)

Jason P Sage
fuente
2

Ejecuté el comando de tortuga "Actualizar a SVN 1.7" que tomó todas las carpetas .svn y las combinó en una sola carpeta. Luego pude eliminar solo la carpeta .svn y ¡todo estaba listo!

jhilden
fuente
2

Veo que hay tres métodos simples para eliminar la conversión y mantener una versión local de un archivo (o un directorio) con TortoiseSVN:

  1. Exportando en el mismo camino que escribió Stefan ;
  2. Se accede a la función "eliminar (mantener local)" con la tecla Mayús como respuesta de bob esponja ;
  3. Descargue y agregue para ignorar la opción de lista que estoy informando con esta respuesta

Creo que el último método es el más fácil de los tres, mientras que el primero (el más votado) es el más largo en términos de operaciones para realizar.

Zac
fuente
2

Elimine la carpeta .svn dentro de la carpeta que desea eliminar del control de versiones.

akerra
fuente
1

Esto es lo que funcionó para mí:

  1. Haga clic derecho en la carpeta / rama que desea eliminar y use TortoiseSNV-> Eliminar
  2. Realizar una limpieza. Hice esto desde la línea de comandos svn cleanup <path to the folder to delete including folder name>; de lo contrario, puede hacer lo mismo con el botón derecho en la carpeta y realizar una limpieza.
  3. Vaya al directorio principal de la carpeta que desea eliminar y confirme los cambios.

Esto debería eliminar la carpeta de su directorio de trabajo y de Subversion.

zen
fuente
1

Exportar la carpeta a una nueva ubicación mientras la opción "Exportar archivos no versionados a" seleccionada funcionó muy bien para mí. TortoiseSVN elimina todas las configuraciones específicas de Subversion y obtienes una carpeta limpia. Ahora puede eliminar el original y mover la nueva carpeta exportada allí.

Rehan Farooq
fuente
0

De vez en cuando me encuentro con carpetas de copia de Subversion que sé que ya no quiero bajo control de versiones. Quiero "deshacerlos". Por lo general, hago algún tipo de búsqueda y eliminación en todas las carpetas relacionadas con .svn, pero hay una manera más fácil si tiene instalado TortoiseSVN.

Debe estar familiarizado con el comando "Exportar". Esto hará una copia de los archivos en una nueva ubicación sin todas esas molestas carpetas .svn. Si desea 'descomprimir' algo pero no quiere una copia, simplemente haga una "exportación" y cuando Tortoise le pregunte por la "carpeta para exportar", simplemente seleccione la misma carpeta en la que se encuentra su copia de trabajo. Tortoise procederá a eliminar todas las carpetas .svn.

Cita: http://thecrumb.com/2008/09/25/removing-svn-files-with-tortoisesvn/

ganar
fuente
-1

Haga clic derecho en una copia de trabajo y elija "Exportar ..." en el menú contextual. Se muestra un cuadro de diálogo de búsqueda de carpetas.

Debe elegir la misma ruta en la que está su copia de trabajo como destino. TortoiseSVN le preguntará si desea eliminar todas las carpetas .svn de esa copia de trabajo. ¡Solo dice que sí!

Heyjee
fuente