Ce matin, je commettais plusieurs éléments dans un référentiel svn. Lors de la validation, mon système d'exploitation est tombé en panne et maintenant toutes les commandes svn (y compris le nettoyage) se retrouvent avec la même erreur.
Previous operation has not finished; run 'cleanup' if it was interrupted
Please execute the 'Cleanup' command."
Je ne reçois pas d’autres erreurs comme Subversion est bloqué car "l’opération précédente n’a pas été terminée"? et comme le référentiel est très gros, je ne veux pas tout récupérer comme suggéré ici: Problèmes avec l’opération précédente qui ne se termine pas
En fait, je viens de trouver la réponse à ma question en regardant ici
Il semble que svn soit bloqué dans l'ancienne opération . Toutes ces opérations sont stockées dans la base de données wc.db du dossier .svn.
En téléchargeant SQLite dans mon répertoire de paiement et en cours d'exécution
sqlite3.exe .svn/wc.db "select * from work_queue"
de cmd
j'ai eu une liste de toutes les opérations en attente. Ces opérations sont celles "pas finies" Puis en exécutant
sqlite3.exe .svn/wc.db "delete from work_queue"
toutes ces opérations en attente sont supprimées et je peux commettre à nouveau . Pas besoin de re checkout ou quoi que ce soit
J'ai essayé toutes les solutions énumérées dans cette page, mais mon problème n'a toujours pas été résolu.
Je l'ai résolu par un autre moyen. Au cas où certains n’auraient toujours pas trouvé de solution, essayez ceci (j'utilise TortoiseSVN 1.9.5):
Cliquez sur "Nettoyer ..." comme d'habitude et ouvrez la fenêtre de nettoyage
check "casser les serrures"
cliquez sur le bouton "OK" pour exécuter
svn cleanup a fonctionné pour moi. Vous devrez peut-être exécuter ceci en tant qu'administrateur.
J'ai essayé la solution supérieure de Sigurd V, mais la requête SELECT m'a donné des erreurs. J'utilise SVN 1.9.2 et SQLite 3.13.0.
Pour clarifier, le fichier à télécharger du site SQLite est "sqlite-tools-win32-x86-3130000.Zip (1,51 Mio)"
Voici ce que j'ai fait avec l'aide de notre logiciel:
sqlite3.exe .svn/wc.db
sqlite> select * from work_queue;
sqlite> delete from work_queue;
Capture d'écran montrant step3/4/5:
Fermez tous les fichiers ou programmes en utilisant quelque chose de votre référentiel (cela déverrouillera le svn pour le nettoyage)
Lancez 'svn cleanup' sur votre copie de travail (montrez-nous le résultat s'il y a erreur)
Ouvrez Paramètres Tortoises. Effacer toutes les données dans l'onglet Données sauvegardées
J'ai vu beaucoup de discussions et répondre à la même question. Ce que j'ai le plus souvent vu, c'est "Run Cleanup" jusqu'au niveau supérieur du répertoire. Mais j'ai essayé le plus et j'ai quand même eu l'erreur. Donc, ce que j'ai fait est de le résoudre à l'achèvement.
Installez sqllite (binaire 32 bits pour Windows). Placez le fichier exe dans le dossier où se trouve le répertoire .svn de niveau supérieur.
sqlite .svn/wc.db “select * from work_queue”;
supprimer de work_queue;
Exécutez ces trois instructions et, après cette opération, nettoyez. Il fonctionnera sans aucun hassel.
J'ai aussi cette erreur et je ne veux pas télécharger sqlite. Et finalement je résous ceci en:
alors je peux mettre à jour et commettre sans erreur!
Assurez-vous que votre répertoire de travail n'est ouvert dans aucun IDE.
S'il est ouvert, fermez-le puis faites svn clean-up.
Je suis capable de le résoudre de la manière suivante.
1) Allez dans le répertoire où vous ne pouvez pas nettoyer avec succès via svn. (Dossier racine ou dossier enfant).
2) Sélectionnez le dossier .svn dans le répertoire, coupez-le et collez-le dans le lecteur séparé ou dans un emplacement distinct
3) Maintenant, allez dans le répertoire - faites un clic droit et sélectionnez TortoiseSVN-> Repository-browser.
4) Et, vérifiez le dossier. (Il ne sera pas effectuer de nouvelle commande)
5) Tous vos éléments seront à nouveau versionnés, et le problème interne de svn sera réparé. Ce problème devrait être résolu.