Empêcher automatiquement Windows 7 d'indexer les métadonnées .svn

Il y a un problème connu avec les dépôts SVN et le service d’indexation de Windows qui se disputent les fichiers de métadonnées .svn. Ici pour plus de détails.

Comment pouvons-nous configurer pour qu’il n’y ait automatiquement aucun problème à avoir des dépôts Subversion indexés par Windows (Vista/Win7) ? (Nous ne voulons pas avoir à faire quelque chose manuellement chaque fois que nous ajoutons un répertoire de dépôt.)

Une idée est de configurer Windows pour ne pas indexer automatiquement les dossiers nommés « .svn », cependant je ne trouve pas de moyen de le faire.

Je sais que vous pouvez désactiver certaines extensions, mais cela ne semble pas fonctionner puisque les fichiers de métadonnées SVN sont dans un dossier.

Remarque :


Source : Super User

J’avais le même problème et j’ai trouvé une solution. Tout mon code est stocké dans un seul dossier :

F:\projects\

Sous ce dossier se trouvent des arborescences de code et de fichiers de projet associés totalisant plus de 2 Go. J’ai constamment besoin de chercher dans cette arborescence et l’indexation Windows a en fait été un outil extrêmement utile pour faire des recherches rapides, donc la désactiver n’était pas une option. Je veux exclure les dossiers SVN parce qu’ils encombrent mes résultats de recherche, (2) c’est un fardeau inutile sur mon système, (3) SVN, Win7 et MS Security Essentials ne semblent pas bien fonctionner ensemble lors de grandes opérations SVN.

Avant d’essayer la solution, reproduisez le problème :

  • Dans l’Explorateur Windows, naviguez vers votre racine de projet indexée (F:\projects\ sur ma machine).

  • En utilisant la barre de recherche dans le coin supérieur droit de la fenêtre de l’Explorateur, cherchez « svn » (sans les guillemets)

  • Vous devriez voir un nombre incalculable de fichiers et dossiers SVN inutiles comme « .svn » et « svn-base » apparaître dans les résultats.

Solution :

  • Visitez http://code.msdn.microsoft.com/windowssearch/

  • Téléchargez CrawlScopeCommandLine.zip

  • Extrayez quelque part sur votre machine et compilez le projet

  • Ouvrez une fenêtre de console avec des droits administratifs (Ctrl+Shift+clic gauche sur l’élément « Invite de commandes » dans le menu Démarrer).

  • Naviguez vers l’endroit où vous avez compilé le projet ci-dessus.

  • Exécutez csmcmd.exe avec le paramètre /add_rule (utilisez /? d’abord pour la syntaxe).

  • Dans mon cas, j’ai entré la commande suivante :
    csmcmd.exe /add_rule file:///F:\projects\*\.svn\* /USER /EXCLUDE

J’ai compris cela en exécutant d’abord la commande : csmcmd.exe /enumerate_rules, pour lister toutes les règles existantes. Il y avait déjà des règles avec des caractères génériques (*) utilisés par Windows, ce qui prouvait que c’était possible.

Maintenant, répétez les étapes pour reproduire le problème, et vous ne devriez plus voir l’encombrement SVN dans vos résultats de recherche. Donnez à l’ordinateur un moment pour mettre à jour les index – cela a pris moins de 5 minutes sur mon système. Parfois, redémarrer le service de recherche, lancer une reconstruction/réindexation ou un redémarrage aide à accélérer les choses.

Mise à jour : Certains de mes projets SVN utilisent « .svn » et d’autres utilisent « _svn », j’ai donc ajouté ces deux règles à chaque lecteur :

csmcmd.exe /add_rule file:///F:\*\.svn\* /DEFAULT /EXCLUDE
csmcmd.exe /add_rule file:///F:\*\_svn\* /DEFAULT /EXCLUDE