Sans réfléchir, j'ai ajouté et validé un fichier dans mon système osx contenant un point d'interrogation, sans penser à l'impact éventuel sur les fenêtres. Sous Windows, la mise à jour a échoué car il lui était impossible de créer un fichier avec un? dans celui-ci, je suis retourné à mon système osx et ai renommé svn le fichier, mais cela n’a pas fonctionné sous windows, car svn parcourt l’historique de toutes les étapes pour amener un espace de travail à la révision principale. Inutile de dire que je suis coincé, des idées pour résoudre ce problème?
Voici mon journal des erreurs svn actuel lors de la mise à jour (essayé avec Tortoise SVN et la ligne de commande, les deux sont identiques):
svn: E155009: Impossible d'exécuter la file d'attente de travail de la base de données WC associée à 'F:\Devel\bc\dev\trunk\appShare\media\frontend \? _ 12x15.png', élément de travail 53314 (installation de fichier appShare/media/frontend /? _ 12x15.png 1 0 1 1) svn: E720123: Impossible de déplacer "F:\Devel\bc\dev\trunk\.svn\tmp\svn-68A36D23" vers "F:\Devel\bc\dev\trunk\appShare\media\frontend \? _ 12x15.png ': La syntaxe du nom de fichier, du nom de répertoire ou du libellé de volume est incorrecte .
Chaque fois que je fais cela, je dois supprimer les enregistrements de la table WORK_QUEUE dans wc.db, puis effectuer un nettoyage avant que svn ne me laisse essayer autre chose.
Merci à cette référence pour une solution fonctionnant sur Mac avec svn
installé via brew
.
cd {work-dir-base}
sqlite3 .svn/wc.db "delete from work_queue"
Voici une autre entrée de blog traitant de ce problème .
Cela consiste à supprimer le dossier via svn sur la fenêtre qui contenait le fichier mal nommé. Cela doit indiquer à svn de ne pas mettre à jour ce dossier s'il voit une suppression locale qui n'a pas encore été validée. Dans ce cas, sauvegardez d'abord vos fichiers pour pouvoir recréer le dossier et rajouter tous les fichiers (nommés correctement, bien sûr).
Concrètement:
Ce sont les étapes que j'ai faites pour me débarrasser de cette erreur
Téléchargez sqlite à partir de https://www.sqlite.org/download.html , téléchargez les fichiers binaires précompilés pour Windows. J'ai téléchargé sqlite-tools-win32-x86-3200100.Zip qui contient le fichier .exe de sqlite.
Extrayez le zip et ajoutez le chemin dans lequel vous avez conservé le fichier sqlite3.exe dans votre variable PATH windos.
J'ai également rencontré un problème similaire:
J'ai supprimé un dossier local (pour lequel les fichiers svn ont été extraits) . Après cela, aucune des commandes svn ne fonctionnait correctement, même à partir de l'invite cmd (admin), le nettoyage de svn ne fonctionnait pas.
Réparer:
Nous avons rencontré ce problème car MalwareBytes Ransomware Protection était activé avec quelques autres composants MalwareBytes.
D'autres ont signalé que Bitdefender était également à l'origine de ce problème, sous MacOS et Windows.
L'erreur réelle que nous avons vue était
Impossible de déplacer "xxx" vers "yyy": l'accès est refusé.
Il a également brisé la capacité d'exécuter une opération de nettoyage.
Cela semble être une situation de concurrence critique - le fichier incriminé change à chaque fois. La désactivation du composant Ransomware Protection a résolu le problème.
Supprimez simplement .svn\tmp dans le workspace.Did a travaillé pour moi.
Je viens d'ouvrir le fichier dans le bloc-notes (un fichier .less dans mon cas), de le modifier (entrez par exemple) et de sauvegarder le fichier. Après cela, j'ai pu nettoyer.
La fermeture de toutes les instances de Visual Studio résout le problème.
La création d'un répertoire .svn/tmp
a résolu le problème, dans mon cas