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?
Supprimez simplement tous les dossiers ".svn" qu'il contient. C'est tout.
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.
Si vous utilisiez des outils de type * nix:
find . -type d -name .svn -print0 | xargs -0 rm -fr
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.
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 .
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.
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 ...)
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.
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
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.
Avec TortoiseSVN, vous pouvez faire un clic droit glisser-déposer votre dossier puis choisir une commande "SVN Exporter tout vers ici".
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.
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)
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é.