2009-09-22 11 views
5

Probablement c'est une question très facile, mais je n'ai pas encore trouvé comment supprimer tous les fichiers présents pour le moment dans un dépôt SVN externe.Supprimer tous les fichiers de svn repository

Je peux supprimer un seul fichier en utilisant:

svn delete -m "delete README" http://myrepo.com/svn/myrepo/README 

Mais maintenant, je veux supprimer tous. J'ai pensé à un script qui obtient la liste de tous les fichiers du dépôt et les supprime ensuite un par un, mais c'est fastidieux. Connaissez-vous une solution plus simple?

J'ai essayé aussi:

svn rm http://myrepo.com/svn/myrepo 
svn delete http://myrepo.com/svn/myrepo/* 

Mais rien

Merci

+0

possible duper: http://stackoverflow.com/questions/264323/svn-recursive- supprimer –

+0

cela ne fonctionne pas pour moi car je ne peux pas supprimer l'ensemble du dépôt. Je suis seulement intéressé par son contenu, en supprimant tous les fichiers là – flow

Répondre

25

Vous pouvez effectuer une extraction superficielle, puis tout supprimer.

Exemple:

svn checkout --depth immediates http://myrepo.com/svn/myrepo myworking_copy 
cd myworking_copy 
svn rm * 
svn ci -m "Deleting all" 
+0

+1, simple et fonctionne – orip

+1

salut cette solution semble vraiment simple et bonne. Je l'ai essayé, mais j'ai obtenu des erreurs, puis mis à jour vers la dernière version de SVN. Ensuite, il a reconnu l'option --depth mais j'ai toujours eu cette erreur: http://subversion.tigris.org/faq.html#unrecognized-url-error Il semble donc que mon installation de SVN n'était pas bonne. Comme je manquais de temps j'ai essayé TortoiseSVN (malheureusement seulement pour gagner $), parcouru le repo et supprimé tous les fichiers là :) En tout cas je vais résoudre l'installation de svn plus tard merci – flow

+0

Cette question peut être utile pour supprimer le répertoire repo qui contenait tous les fichiers. http://stackoverflow.com/questions/9317600/deleting-a-folder-from-svn-repository –

0

Vous n'avez pas dit quelle plate-forme que vous êtes. Si vous utilisez TortoiseSVN sur Windows et que vous avez installé TortoiseSVN, vous pouvez rechercher tous les fichiers dans la hiérarchie des dossiers en utilisant l'explorateur, marquer tous les fichiers résultants et les supprimer en utilisant Tortoise.

Si vous utilisez un dérivé Unix (y compris OSX), vous pouvez probablement faire quelque chose de similaire dans votre shell favori.

1

Vous pouvez svn rm un sous-chemin dans les prises en pension, mais pas les prises en pension lui-même. Pour l'avenir, une structure trunk/branches/tags vous conviendra probablement mieux.

Pour les supprimer avec un peu de magie bash/zsh:

REPO=http://myrepo.com/svn/myrepo && svn rm `svn ls $REPO | sed "s/^/$REPO\//"` 

qui étendra à

svn rm http://myrepo.com/svn/myrepo/file_1 http://myrepo.com/svn/myrepo/file_2 ... 
Questions connexes