Comment supprimer récursivement les dossiers de métadonnées .svn?

11

J'ai un projet Java et il a utilisé un référentiel SVN, maintenant je décide de passer à GIT.

Cependant, le problème est que le moteur SVN que j'ai utilisé a créé dans chaque dossier du projet le .svnrépertoire de métadonnées.

Je veux nettoyer tous les dossiers du projet de ce dossier caché.

Existe-t-il une commande de terminal pour rechercher dans le dossier et le nettoyer?

Ek Kosmos
la source

Réponses:

20

Vous devrez vous déplacer dans le dossier des désirs à l'aide de la cdcommande puis écrire la commande suivante:

find -type d -name '.svn' -exec rm -rfv {} \;

Cela supprimera tous les svnfichiers des répertoires actuels et secondaires.

Treviño
la source
3

Une autre façon de faire de même est:

rm -rf `trouver. -type d -name .svn`

Chakra
la source
1
Je souhaite que Windows (j'ai ce même problème sur cette plate-forme) ait des solutions aussi propres et faciles :(
Steven
Il peut y avoir un script dans Powershell, mais je n'utilise plus Windows ;-)
Chakra
Cela échoue pour les répertoires avec des espaces dans le nom
enzotib
2

S'il est toujours connecté à svn, faites-le svn exportet il copiera le projet sans métadonnées svn :)

Tapis
la source
1

Pour les fenêtres :

  • soit utiliser UnxUtils http://unxutils.sourceforge.net/ avec les réponses précédentes
  • ou utilisez la recherche (F3) dans l'explorateur avec ".svn" comme nom de fichier, cela a aussi fonctionné pour moi
Michel Daviot
la source
0

J'ai trouvé une solution en tapant:

find ./ -name ".svn" | xargs rm -Rf
Ek Kosmos
la source
C'est dangereux, quand un dir peut contenir des espaces en son nom
enzotib
Oui. Attention aux espaces!
nanofarad