web-dev-qa-db-fra.com

'Un-SVN' une copie de travail

J'ai un dossier qui est ma copie de travail. Comment supprimer toutes les fonctionnalités SVN de ce dossier? Il y a une raison pour laquelle je fais cela, en quelque sorte mon dossier principal qui contient toutes mes copies de travail des sites, a en quelque sorte été transformé en une copie de travail elle-même, donc j'ai une copie de travail en soi en tant que telle.

Alors, existe-t-il un moyen simple de supprimer le contrôle de version d'un dossier?

47
Chris J Allen

Supprimez simplement tous les dossiers ".svn" qu'il contient. C'est tout.

32
Gregor

svn export est la commande que vous recherchez. Vous pouvez exporter un ensemble contrôlé de fichiers vers un emplacement non contrôlé et l'utiliser.

47
Robert Elwell

Si vous utilisiez des outils de type * nix:

find . -type d -name .svn -print0 | xargs -0 rm -fr
23
Andy Lester

Si vous utilisez TortoiseSVN, vous pouvez simplement cliquer avec le bouton droit dans le dossier racine de votre copie de travail et cliquer sur Exporter ... Cela fonctionnera même si vous avez des modifications non validées.

De même, vous pouvez simplement effectuer une exportation à partir de votre référentiel et il ne créera aucun des dossiers .svn.

Une autre approche simple consiste à simplement supprimer tous les dossiers .svn comme mentionné précédemment.

13
Esteban Brenes

Vous pouvez soit supprimer manuellement tous les dossiers .svn (assurez-vous de le faire pour chaque sous-dossier également) ou utiliser un utilitaire simple comme commande Shell de Jon Gallaway .

4
Ben Hoffstein

Le client Windows "TortoiseSVN" a la fonction "Exporter". L'exportation crée une copie ailleurs dans un dossier différent sans tous ces dossiers ".svn". Vous pouvez exporter à partir du référentiel ou d'une copie locale avec l'option d'inclure des fichiers non versionnés.

4
Marko Dumic

que dis-tu de ça:

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

pour supprimer récursivement tous les dossiers .svn--

(si la fonction d'exportation n'est pas une option pour vous--, ne peut pas accéder au référentiel etc ...)

4
Scott Kramer

TortoiseSVN a la possibilité d'exporter des fichiers sans ses liaisons Subversion - clic droit sur un référentiel (ou un répertoire dans un référentiel), puis TortoiseSVN, puis Exporter. Une autre façon de procéder consiste à supprimer tous les répertoires .svn de tous les dossiers.

3
Surgical Coder

Voici un script batch Windows qui supprimera tous les dossiers .svn d'un répertoire de copie de travail Subversion:

@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
3
sakra

J'utilise simplement l'Explorateur Windows pour rechercher ".svn" (en commençant par le haut de ma copie de travail), puis je sélectionne tous les dossiers qu'il trouve et je les supprime.

2
Mike

Avec TortoiseSVN, vous pouvez faire un clic droit glisser-déposer votre dossier puis choisir une commande "SVN Exporter tout vers ici".

2
Michel

Exporter sur place avec tortue

Lorsque j'ai lu toutes les suggestions ci-dessus, j'ai grincé des dents parce que mes fichiers source font 3 Go, avec de nombreux dossiers .svn.

Sélectionnez Exporter dans le menu contextuel R-click et lorsque la boîte de dialogue "où placer la copie" apparaît, sélectionnez ce même dossier lui-même. D'ACCORD. Viola toute la cruauté de contrôle de source a disparu (récursivement) instantanément.

2
radarbob

ne pouvez-vous pas simplement supprimer le sous-dossier .svn?

Autant que je sache, SVN stocke tout sur sa connexion au référentiel dans ce sous-dossier (au moins dans Windows)

1
Sam

Comme d'autres l'ont dit, la suppression du dossier .svn supprimera la fonctionnalité SVN de ce dossier. Si vous le faites de manière récursive, vous "dé-SVN" l'ensemble de votre WC, qui est essentiellement ce que fait la commande d'exportation. Je ne sais pas si c'est une fonctionnalité de Tortoise, du binaire CLI SVN, ou des deux, mais je me souviens que l'un d'eux vous permet de faire une exportation sur place qui supprime littéralement les dossiers .svn d'un WC. Une exportation normale crée une copie de votre WC à un nouvel emplacement non versionné.

1
rmeador