Lorsque j'essaye de mettre à jour certains fichiers depuis Subversion, j'obtiens l'erreur:
org.tigris.subversion.javahl.ClientException:
Checksum mismatch while updating 'D:\WWW\Project\\.svn\text-base\import.php.svn-base'; expected: '3f9fd4dd7d1a0304d8020f73300a3e07', actual: 'cd669dce5300d7035eccb543461a961e'
Pourquoi ai-je ça? Comment puis-je y remédier?
Si vous utilisez SVN 1.7+, une solution de contournement est décrite ici .
Juste pour récapituler:
svn update --set-depth empty
(note: cela supprimera vos fichiers, alors faites d'abord une copie!)svn update --set-depth infinity
la source
J'ai eu un problème similaire. Le fournisseur principal était l'antivirus "FortiClient" (antivirus + VPN CLient). Lorsque je l'ai désactivé - toutes les mises à jour / vérifications ont été effectuées correctement
la source
J'ai trouvé un moyen plus simple de résoudre ce problème. Vous ne pouvez pas faire cela directement depuis Eclipse. Pas:
Cela restaurera le dossier de base du texte dans .svnfolder. L'erreur de correspondance de la somme de contrôle lors de la mise à jour n'apparaîtra plus.
la source
Cela m'est arrivé en utilisant le plug-in Eclipse et en synchronisant. Le fichier à l'origine du problème n'avait pas de modifications locales (et en fait aucune modification à distance depuis ma dernière mise à jour). J'ai choisi «revenir» pour le fichier, sans aucune autre modification des fichiers, et les choses sont revenues à la normale.
la source
J'ai eu la même erreur mais pour un fichier. Dans IntelliJ IDEA, j'ai pu faire une copie du fichier, puis aller dans le projet et supprimer le fichier en question, puis valider avec succès. Ensuite, j'ai créé un nouveau fichier avec le même nom et j'y ai recopié le contenu. Je suppose que vous perdriez l'historique des révisions, mais cela fonctionne.
la source
Si vous avez un collègue qui travaille avec vous:
1) lui demander de renommer le fichier causant des problèmes et
commit
2) vous
update
(maintenant vous voyez le fichier avec une somme de contrôle invalide avec un nom différent)3) Renommez-le à son nom d'origine
4)
commit
(et demandez à votre collègue deupdate
récupérer le nom du fichier dans son état initial)Cela a résolu le problème pour moi.
la source
J'ai trouvé une solution très agréable, qui RESOUDRE mon problème. L'astuce consiste à éditer la base de données svn (wc.db).
La solution est décrite sur cette page: http://www.exchangeconcept.com/2015/01/svn-e155037-previous-operation-has-not-finished-run-cleanup-if-it-was-interrupted/
Si le lien est en panne, regardez et suivez ces instructions:
J'ai utilisé l'outil sqlite de http://sqlitebrowser.org/ .
la source
J'utilise Tortoise SVN, après avoir essayé toutes les solutions de cette page et ne fonctionne pas,
Je sauvegarde enfin le fichier problématique. et utilisez
Repo Browser
supprimer le fichier problématique, puis mettez à jour le dossier local afin que le fichier du dossier local soit supprimé. Ensuite, recopiez le fichier de sauvegarde etAdd > Commit
puis je peux mettre à jour avec succès.Le seul inconvénient de cette méthode est que l'historique de ce fichier sera supprimé.
la source
Pour résoudre ce problème, procédez comme suit:
Si cela ne fonctionne toujours pas. Essayez-les. C'est juste une solution de contournement:
Cela obtiendra la dernière version du fichier du référentiel et tous les conflits seront résolus.
la source
avait un problème similaire sur un serveur mais le répertoire SVN était très volumineux, je ne voulais pas supprimer et resynchroniser donc j'ai juste fait une copie des fichiers localement, puis je les ai supprimés. Lorsque la mise à jour a réussi et que les fichiers sont à nouveau ajoutés.
la source
essayez de supprimer le fichier et supprimez la référence de fichier des entrées de fichier sous le répertoire .svn
la source
J'ai eu une erreur similaire et j'ai corrigé comme suit:
(Ma `` solution '' est basée sur une hypothèse qui peut être correcte ou non car je ne sais pas grand-chose sur le fonctionnement de la subversion en interne, mais cela a définitivement fonctionné pour moi)
Je suppose que .svn \ text-base \ import.php.svn-base devrait correspondre au dernier commit.
Lorsque j'ai vérifié le fichier sur lequel j'avais l'erreur, le fichier de base ne correspondait PAS à la dernière validation dans le référentiel.
J'ai copié le texte du dernier commit et l'ai enregistré dans le dossier .svn, en remplaçant le fichier incorrect (j'ai fait une copie de sauvegarde au cas où mes hypothèses seraient fausses). (le fichier a été marqué en lecture seule, j'ai effacé cet indicateur, écrasé et remis en lecture seule)
J'ai alors pu m'engager avec succès.
la source
Ma solution était:
la source
1.'update to reversion 'check' seulement cet élément 'sous le répertoire 2.update again check' Fully recursive '
la source