2008-10-08 20 views
47

Tengo una carpeta que es mi copia de trabajo. ¿Cómo elimino toda la funcionalidad de SVN de esta carpeta? Hay una razón para que yo haga esto, de alguna manera mi carpeta maestra que contiene todas mis copias de sitios que funcionan, de alguna manera se ha convertido en una copia de trabajo, así que tengo una copia de trabajo dentro de sí misma como tal.'Un-SVN' una copia de trabajo

Entonces, ¿hay alguna manera fácil de eliminar el control de versiones de una carpeta?

Respuesta

32

Simplemente elimine todas las carpetas ".svn". Eso es.

+20

"Exportar" es mucho más fácil –

+9

no si el repositorio remoto ha muerto, entonces la exportación es imposible – DevelopingChris

+2

Elaboración de esto. Si intenta agregar un directorio a SVN que ya tiene archivos ocultos '.svn', entonces svn rechazará agregarlo. Elimine los archivos .svn e intente 'svn add' de nuevo. Si eso no funciona Borre el directorio y haga un 'svn update yourdirectory', luego un' svn remove yourdirectory'. svn a menudo se confunde y entra en pánico, y algunas veces la única solución es soplar todo y reconstruir todo. –

4

Puede eliminar manualmente todas las carpetas .svn (asegúrese de hacer esto también para cada subcarpeta) o use una utilidad simple como Jon Gallaway's shell command.

1

¿no puede simplemente eliminar la subcarpeta .svn?

Por lo que yo sé de SVN almacena todo alrededor de su conexión con el repositorio de esta subcarpeta (por lo menos en las ventanas)

47

exportación SVN es el comando que está buscando. Puede exportar un conjunto controlado de archivos a una ubicación no controlada y usar eso.

+0

Creo que rompió la estructura svn y las herramientas no funcionan para él ... –

2

Con TortoiseSVN, puede hacer clic con el botón derecho del ratón & soltar su carpeta y elegir el comando "SVN Export All to here".

3

TortoiseSVN tiene la capacidad de exportar archivos sin sus enlaces de subversión: haga clic con el botón derecho en un repositorio (o en un directorio dentro de un repositorio), luego en TortoiseSVN y luego en Exportar. Otra forma de hacerlo es eliminar todos los directorios .svn en todas las carpetas.

4

El cliente de Windows "TortoiseSVN" tiene la función "Exportar". Exportar crea una copia en otro lugar en una carpeta diferente sin todas las carpetas ".svn" en ellos. Puede exportar desde el repositorio o desde la copia local con la opción para incluir archivos no versionados.

13

Si está utilizando TortoiseSVN, puede hacer clic derecho dentro de la carpeta raíz de su copia de trabajo y hacer clic en Exportar ... Eso funcionará incluso si tiene cambios sin compromiso.

Del mismo modo, puede hacer una exportación desde su repositorio y no creará ninguna de las carpetas .svn.

Otro enfoque directo es eliminar todas las carpetas .svn como se mencionó anteriormente.

1

Como han dicho otros, al eliminar la carpeta .svn se eliminará la funcionalidad de SVN de esa carpeta. Si lo hace de forma recursiva, va a "des-SVN" su WC completo, que es esencialmente lo que hace el comando de exportación. No estoy seguro de si es una característica de Tortoise, el binario SVN de CLI, o ambos, pero recuerdo que uno de ellos le permite hacer una exportación local que, literalmente, solo elimina las carpetas .svn de un WC. Una exportación normal crea una copia de su WC en una nueva ubicación que no está versionada.

4

¿qué tal esto:

for /f "tokens=* delims=" %%i in ('dir /s /b /a:d ".svn"') do rd /s /q "%%i" 

para eliminar de forma recursiva todos los Svn folders--

(si la función de exportación no es una opción para usted--, puede no acceso al repositorio, etc. ...)

+2

upmod para el uso gratuito de DOS :-) – endian

+0

Cuidado - eso eliminará cualquier directorio cuyo nombre termine en "svn". –

23

Si estaba utilizando unix, herramientas:

find . -type d -name .svn -print0 | xargs -0 rm -fr 
+10

Por favor use 'find. -type d -name .svn -print0 | xargs -0 rm -fr' en su lugar para evitar que se desate todo el infierno cuando los nombres de archivo contienen espacios. –

+1

** ¿Alguien puede editar la respuesta? ** –

+0

Gracias; esto era exactamente lo que (necesitaba. Estaba usando svn para administrar un sitio web, pero las actualizaciones automáticas de Wordpress realmente causaron estragos en el wc y no valía la pena sacarlo de allí.) –

3

Aquí es un script por lotes de Windows que va a eliminar todas las carpetas .svn de una subversión copia directorio de trabajo:

@echo off 
rem cleanup .svn subdirs 

setlocal enabledelayedexpansion 

rem change to directory that this batch script resides in 

if "%~1"=="" (
    echo Usage: svncleanup svn_working_copy_dir 
    exit /b 1 
) 

echo cleaning up .svn subdirs in "%~1" ... 

for /R "%~1" %%I in (.svn) do rmdir /Q /S "%%I" > NUL 2>&1 
+0

+1, esto solo eliminará .svn carpetas y nada más. –

2

I simplemente use Windows Explorer para buscar ".svn" (comenzando en la parte superior de mi copia de trabajo) y luego selecciono todas las carpetas que encuentra y las borro.

2

exportación en su lugar con la tortuga

Cuando leí todas las sugerencias anteriores me encogía porque mis archivos de origen es 3GB, con las carpetas many.svn.

Seleccione Exportar desde el menú contextual de R-click y cuando aparezca el cuadro de diálogo "dónde colocar la copia", seleccione esa misma carpeta. DE ACUERDO. Viola, todo el control de código fuente se ha ido (recursivamente), al instante.

Cuestiones relacionadas