27
nov.
2013
nov.
2013
NoSVN
Divers
|
Tags :
subversion
Par Olivier Croisier
Non, NoSVN n'est pas un nouveau mouvement qui vise à faire prendre conscience qu'il y a de meilleurs moyens de gérer son code source que ce bon vieux Subversion. Quoique.
En réalité, je voulais partager le petit script windows qui me permet de supprimer récursivement tous les répertoires .svn
d'une arborescence. Pratique quand on veut copier/coller des répertoires versionnés sans risquer de provoquer des conflits tous azimuts...
Voici donc la fameuse ligne de commande, à coller dans un .bat
(ou en extension de l'explorateur de fichiers pour les plus téméraires) :
for /F "usebackq" %%i in (`dir /S /B /AD *.svn`) do rmdir /S /Q %%i
Hope this helps !
Commentaires
Sinon tu peux aussi utiliser svn 1.7+ qui comme git ne garde qu'un seul dossier .svn à la racine du checkout:)
http://subversion.apache.org/docs/r...
Evidement ça veut dire que tu as le droit d'installer une version récente de SVN sur ton poste de travail ce qui peut être un challenge dans certains environnements, je le conçois ...
Et la petite commande équivalente sous Linux :
$ find . -name ".svn" -type d -exec rm -rf {} \;
Pour les linuxiens : find . -name ".svn" -type d -exec rm -Rf {} \;
Ou tout simplement avec svn export
NIH
svn export permet de faire exactement ça :
- A la racine
- Dans une sous-arbo
- Eventuellement pour n'importe quelle révision
- Même si des fichiers ont été modifiés localement et pas commité
Attention toutefois : les seuls fichiers qui ne seront pas exportés seront ceux non encore synchronisés *et* sur lesquels on n'a pas encore fait de svn add (c'est plutôt logique, mais du coup ça peut être le rare cas dan lequel ton script est plus safe).
Pour l'extension à l'explorateur de fichiers, de souvenir, Tortoise SVN fournit un "svn export" sur le clic droit de n'importe quel répertoire synchronisé.