33 votes

Suppression des fichiers .svn de tous les répertoires

Duplicata possible :
Comment supprimer le contrôle de Subversion pour un dossier ?
Ligne de commande pour supprimer les fichiers et répertoires correspondants de manière récursive

J'ai récemment converti mon dépôt cvs en svn en utilisant cvs2svn et j'ai récemment remarqué que chaque répertoire a un dossier caché appelé .svn. Mon build actuel script copie beaucoup de répertoires depuis mes répertoires de ressources versionnées et il finit par copier les fichiers .svn. Existe-t-il un moyen de faire en sorte que svn n'inclue pas ces fichiers lors du checkout ou dois-je écrire un script pour supprimer tous ces fichiers .svn. Il y a beaucoup de fichiers qui ont ces répertoires .svn cachés donc ce serait une douleur à moins que je puisse écrire un script récursif pour le faire mais je ne sais pas si je peux le faire pour mon installateur Windows. Existe-t-il un moyen facile d'empêcher svn de mettre ce répertoire caché partout dans mon projet ?

69voto

Charles Finkel Points 658

Je ne suis pas sûr que dans votre cas précis, vous souhaitiez supprimer tous ces répertoires .svn. Mais si vous le faites, voici un bash one-liner pour le faire :

find . -name .svn -print0 | xargs -0 rm -r

28voto

mcintyre321 Points 5393

Vous pouvez faire ce qu'on appelle une exportation SVN pour obtenir les fichiers sans les répertoires .svn.

http://svnbook.red-bean.com/en/1.7/svn.ref.svn.c.export.html

5voto

Nathan Taylor Points 13582

I J'ai posté ceci hier ici mais le voici à nouveau car je l'ai mis dans le mauvais fil de toute façon...


J'ai quelque chose qui devrait faire votre journée. La source originale est ici .

Il s'agit d'une extension shell (parfaitement sûre) qui ajoutera "Supprimer les dossiers SVN" à votre menu de clic droit dans Windows. Exécutez-la sur n'importe quel répertoire contenant ces fichiers gênants.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN]
@="Delete SVN Folders"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\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\" \""

Pour que cela fasse partie de votre build script copiez cet appel à cmd.exe et exécutez-le.

5voto

Eric Perie Points 41

Sur les systèmes Win32/Win64, la commande suivante devrait faire l'affaire :

del /q /s  .svn

4voto

crashmstr Points 15302

Ces dossiers sont nécessaires pour le fonctionnement de subversion avec une copie de travail (c'est à dire où vous avez fait un checkout).

Vous pouvez par exemple exporter vos données vers un autre endroit. L'exportation n'aurait pas les dossiers .svn, et vous pourriez exécuter votre script là-dessus. Documentation : export svn , Exportation de TortoiseSVN

Une autre option serait de modifier votre script pour ignorer les répertoires cachés, ou de construire un meilleur outil de construction.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X