web-dev-qa-db-fra.com

Les icônes de l'Explorateur Windows dans TortoiseSVN mettent beaucoup de temps à s'actualiser pour corriger l'état

Après avoir validé les fichiers, les icônes restent soit modifiées, soit en attente de validation pendant une longue période. Existe-t-il un moyen de forcer une actualisation pour garantir que l'icône que je vois est le bon état du fichier?

69
leora

Comme indiqué dans la FAQ : essayez d'exécuter un nettoyage.

58
Stefan

Vous pouvez essayer ceci:

TortoiseSVN -> Paramètres -> Superposition d'icônes, définissez le cache d'état sur 'Shell' au lieu de 'Par défaut'

Réf. à l'aide.

La mise en cache du shell se fait directement à l'intérieur de l'extension Shell DLL fichier, mais uniquement pour le dossier actuellement visible. À chaque fois que vous accédez à un autre dossier, les informations d'état sont extraites à nouveau.

Avantage: ne nécessite que très peu de mémoire (environ 1 Mo de RAM) et peut afficher l'état en temps réel.

Inconvénient: comme un seul dossier est mis en cache, les superpositions n'affichent pas l'état de manière récursive. Pour les grandes copies de travail, l'affichage d'un dossier dans l'Explorateur peut prendre plus de temps qu'avec le cache par défaut. De plus, la colonne mime-type N'est pas disponible.

36
gekowa

J'ai posté une réponse similaire ici mais pour vous éviter d'avoir à ouvrir le lien, je vais le citer ici:

Je ne sais pas si cela est exactement lié à votre problème, mais j'ai trouvé que TortoiseSVN peut parfois être assez lent lorsqu'il s'agit de référentiels contenant beaucoup de fichiers. Cela se manifeste dans le processus tsvncache.exe qui occupe beaucoup de mémoire. Le processus tsvncache.exe analyse les fichiers et les dossiers et leur associe les icônes familières pour indiquer les fichiers modifiés/ignorés, etc.

Un correctif consiste à dire à Tortoise SVN de ne mettre en cache que les dossiers dans lesquels vous travaillez et d'ignorer les autres. Pour ce faire, cliquez avec le bouton droit sur votre dossier de projet et sélectionnez TortoiseSVN-> Paramètres-> Superpositions d'icônes. J'ai des chemins d'exclusion définis sur c: * et d: * (essentiellement ignorer tous les lecteurs fixes) et des chemins d'inclusion définis dans mon dossier de projets.

13
Malice

Nous sommes récemment tombés sur cette question. Trouvé une solution de contournement courte et sale qui s'est avérée efficace à 100%.

Créez un fichier texte vide dans le dossier dans lequel vous souhaitez actualiser les icônes en cliquant avec le bouton droit et en sélectionnant "Nouveau" -> "Document texte". Les icônes devraient se rafraîchir comme par magie. Supprimez le fichier texte vide après bien sûr.

5
Dude

La fermeture de la fenêtre Windows Explorer et la réouverture aident. Le plus souvent, l'icône reste dans la partie arborescente de l'Explorateur Windows.

Et non - Nettoyage et F5 n'aide pas. Je suppose que cela a quelque chose à voir avec Explorer et non avec TortoiseSVN.

4
Pavel Punsky

Si vous voulez vérifier si vous avez tout validé, il y a l'option de menu "svn check for modifications". Si vous appuyez sur F5, il se mettra à jour et vous montrera la vérité. Si cela vous ennuie que les icônes de dossier sont obsolètes, vous pouvez désactiver les icônes.

2
user180326

Je ne sais pas si c'est lié mais je frappe F5 semble aider ... parfois.

D'après mon expérience avec TortoiseSVN, les performances sont en quelque sorte directement liées au nombre de répertoires extraits. Vous pouvez définir les répertoires qui doivent être inclus/exclus dans certaines propriétés TortoiseSVN pour accélérer le processus.

1
Vladimir

Le "rafraîchissement" de Windows (F5) fonctionne principalement pour moi (OK, j'appuie dessus de manière obsessionnelle aussi), mais parfois une fenêtre n'a aucune superposition d'icônes. Dans ces cas, "Nettoyage" n'aide pas non plus, quelles que soient les options que je choisis, y compris "Actualiser les superpositions de shell".

J'ai suivi le conseil de gekowa:

TortoiseSVN -> Paramètres -> Superposition d'icônes, définissez le cache d'état sur 'Shell' au lieu de 'Par défaut'

et la prochaine fois que j'ai ouvert la fenêtre, les superpositions étaient correctes. Il a fallu quelques secondes pour que la fenêtre s'ouvre, mais tout était juste après. J'ai remis le cache d'état à "Shell" et le décalage a également disparu.

Auparavant, j'avais défini le cache d'état sur "Aucun", mais cela n'a pas aidé.

1
noodle7

Accédez au répertoire sous lequel vous souhaitez mettre à jour les icônes. Faites un clic droit sur ce répertoire avec votre souris et dans le menu de l'explorateur de contexte SVN, sélectionnez "nettoyage", puis appuyez sur F5. Il devrait actualiser pour vous toutes les icônes SVN sous ce répertoire. Ça l'a fait pour moi.

Je travaille sur un énorme projet avec des milliers de fichiers et un "nettoyage" SVN est très rapide sur mon ordinateur, donc je le fais au niveau racine pour la plupart, rafraîchissant ainsi toutes les icônes. Pour les ordinateurs plus lents sans beaucoup de mémoire, un nettoyage complet pour un gros projet peut prendre un certain temps. Dans ce cas, vous pouvez actualiser uniquement le répertoire dont vous avez besoin.

Quelqu'un dit ci-dessus qu'un "nettoyage" annulera vos modifications locales, mais ce n'est pas nécessairement vrai. Cela ne revient pas pour moi ... De plus, je ne pense pas que ce soit une option que vous devriez activer. Parfois, vos caches SVN locaux sont corrompus et un nettoyage les corrigera pour vous ... cela étant souvent une nécessité pour faire vos commits, etc ...

J'espère que cela aide.

PS. Ma version de tortue SVN est: TortoiseSVN 1.6.16, Build 21511 - 64 Bit

1
Great_Mike

J'avais un problème similaire. J'ai créé une nouvelle branche et ensuite extrait une nouvelle copie de travail. La nouvelle copie de travail n'avait pas les superpositions d'icônes comme il se doit. Rien n'est apparu. Seulement après avoir tué le TSVNCache.exe processus via le gestionnaire de tâches Windows, les icônes sont-elles apparues correctement?.

1
noti

F5 n'a pas fonctionné pour moi non plus, mais j'en ai trouvé un F5 méthode qui a fonctionné.

Disons que vous avez un dossier appelé projets et qu'il y a un dossier appelé mysubversionedproject. Si vous développez l'arborescence de l'Explorateur, vous verrez

  • projets
    • mysubversionedproject

Si vous appuyez maintenant F5 cela pourrait ne pas fonctionner, comme beaucoup l'ont remarqué.

Mais si vous fermez cet arbre pour ne voir que

  • projets

(et assurez-vous que vous avez également cliqué sur les projets afin qu'ils soient réellement sélectionnés)
et appuyez sur F5 puis développez à nouveau l'arborescence, cela pourrait fonctionner.

Pour moi, mysubversionedproject a maintenant l'icône superposée, comme il se doit.

1
Magnus

Donc ... de toutes ces réponses/astuces/solutions, honnêtement tout ce que vous avez à faire est de basculer vers une autre branche préexistante en utilisant le menu déroulant - clic droit> Git Branch, puis revenez à la branche sur laquelle vous travailliez afin de voir les icônes d'état mises à jour. Voila!

0
Krunchy Ramen

Un correctif consiste à dire à Tortoise SVN de ne mettre en cache que les dossiers dans lesquels vous travaillez et d'ignorer les autres. Pour ce faire, cliquez avec le bouton droit sur votre dossier de projet et sélectionnez TortoiseSVN-> Paramètres-> Superpositions d'icônes. J'ai des chemins d'exclusion définis sur c: * et d: * (essentiellement ignorer tous les lecteurs fixes) et des chemins d'inclusion définis dans mon dossier de projets.

J'ai essentiellement fait la même chose que Malice, mais j'ai décoché les lecteurs fixes et ajouté C:\Users\YOURNAMEHERE\Documents * au répertoire include. Fonctionne très bien pour moi car tous mes projets sont dans ce dossier.

0
Mark Wheeler

S'appuyant sur la réponse de noodle7: une autre option consiste à changer:

TortoiseSVN -> Paramètres -> Superposition d'icônes, définissez le cache d'état sur 'Par défaut' au lieu de 'Shell'

Cela a fonctionné pour moi. TortoiseSVN 1.9.

0
Franc Drobnič