web-dev-qa-db-fra.com

Arbre des sources d'erreur du correcteur orthographique

A chaque fois que j'ouvre sourcetree, je reçois ce popup ennuyeux:

 enter image description here

"SourceTree a détecté les références de fichier de dictionnaire non valides suivantes. Celles-ci sont connues pour causer des problèmes de performances. 

Voulez-vous supprimer ces dictionnaires non valides? "

Si je clique sur 'Oui' -> fermer l'arborescence -> le rouvrir -> le menu contextuel réapparaît.

Est-ce que quelqu'un sait comment résoudre ce problème?

J'utilise la version 1.9.10.0

17
raven

C'est un bug dans SourceTree. Cela ne semble pas avoir une solution de contournement (voir pourquoi les sections citées ci-dessous).

Il y a deux bugs listés sur la JIRA d'Atlassian:

SRCTREEWIN-6664 a ce commentaire d'un membre du personnel d'Atlassian:

SourceTree signale que des entrées de fichier non valides sont répertoriées dans le registre pour le vérificateur orthographique de Windows. S'ils ne sont pas supprimés, cela peut entraîner des problèmes de performances dans SourceTree. La boîte de dialogue doit répertorier les fichiers à supprimer. Cependant, il semble qu'il soit possible d'obtenir des entrées vides dans le registre, ce que nous n'avons pas vu lors des tests. Nous travaillons à améliorer la présentation de la notification dans la notification.

SRCTREEWIN-6674 concerne également ce bogue et indique que c'est SourceTree qui est à l'origine du problème.

Il semble que SourceTree crée elle-même l'entrée vide. Si j'utilise regedit pour supprimer la ligne vide supplémentaire (l'un des 2 caractères de nouvelle ligne) de _ Global _ sous HKEY_CURRENT_USER\SOFTWARE\Microsoft\Spelling\Dictionaries alors SourceTree démarrera sans le message d'erreur la prochaine fois. Mais quand il commencera, la ligne vide supplémentaire sera créée à nouveau dans cette entrée de registre!

la source

Lorsque SourceTree démarre, il crée un nouveau fichier de dictionnaire (par exemple, xljwxlxe.dic) sous %localappdata%\Temp et ajoute le dictionnaire à l'entrée de registre mentionnée précédemment (avec la ligne vide illégale). 

... Snip ...

Lorsque SourceTree se ferme, il supprime à nouveau le dictionnaire, mais laisse la ligne vide dans le registre.

la source

En gros, la seule solution consiste à supprimer les lignes vides de l'entrée de registre vérifiée par SourceTree. Mais après cela, ouvrir SourceTree rajoutera simplement les lignes vides et causera le même problème à la prochaine ouverture de SourceTree.

Mise à jour: Comme le souligne Osiris M. dans leur réponse , il existe une solution possible sur Atlassian Answers , mais cela semble fonctionner pour certaines personnes et pas pour d'autres. Cela n'a pas fonctionné pour moi.

10
reduckted

Je viens de recevoir une solution fonctionnelle du forum Atlassian .

J'ai fait ce qui suit:

  1. Supprimez tous les fichiers * .dic de votre emplacement temporaire utilisateur: %localappdata%\Temp
  2. Ouvrez SourceTree et vous recevrez la même notification, mais cette fois le programme affichera les mauvaises entrées.
  3. Après avoir accepté de supprimer les mauvaises entrées, la notification ne s'affichera plus.
14
Osiris M.

Jusqu'à ce qu'Atlassian corrige les deux bogues, ma solution consistait à planifier une tâche horaire qui exécutait le fichier de commandes Windows suivant.

Pour corriger le problème de deux caractères de nouvelle ligne au lieu d'un, il suffit de consulter le registre et de rajouter les mêmes données pour résoudre le problème.

Si vous avez encore des performances lentes dans Sourcetree, exécutez la tâche plus souvent, par exemple toutes les demi-heures.

:: fix-dictionaries.bat
@echo off

set regPath="HKEY_CURRENT_USER\Software\Microsoft\Spelling\Dictionaries"
set regName="_Global_"

for /f "tokens=2*" %%a in ('REG QUERY %regPath% /v %regName%') do set "regData=%%~b"

REG ADD %regPath% /t REG_MULTI_SZ /v %regName% /d "%regData%" /f
0
u01jmg3

J'ai eu la même erreur. J'ai une version française de Windows 10 et j'utilise le correcteur orthographique anglais sous SourceTree. Je résous l'erreur simplement en installant le package de langue anglaise pour Windows 10. J'espère que cela aidera.

0
Abderrezak