SVN – Erreur de sum de contrôle lors de la mise à jour

Lorsque j’essaie de mettre à jour certains fichiers de Subversion, j’obtiens l’erreur suivante:

org.tigris.subversion.javahl.ClientException: Checksum mismatch while updating 'D:\WWW\Project\\.svn\text-base\import.php.svn-base'; expected: '3f9fd4dd7d1a0304d8020f73300a3e07', actual: 'cd669dce5300d7035eccb543461a961e' 

Pourquoi est-ce que je reçois ça? Comment puis-je le réparer?

Le moyen le plus simple de résoudre ce problème (si vous n’avez pas beaucoup de modifications) est de copier vos modifications dans un autre répertoire, de supprimer le répertoire dans lequel votre projet est extrait et de récupérer à nouveau le projet.

Ensuite, recopiez vos modifications (ne copiez pas les dossiers .svn) et validez, puis continuez.

Si vous utilisez SVN 1.7+, il existe une solution de contournement décrite ici .

Juste pour récapituler:

  1. Aller dans le dossier avec le fichier à l’origine des problèmes
  2. Execute la commande svn update --set-depth empty (remarque: ceci supprimera vos fichiers, faites donc une copie en premier!)
  3. Exécuter la commande svn update --set-depth infinity

Ces étapes ont bien fonctionné pour moi

  1. Aller dans le dossier avec le fichier à l’origine des problèmes

  2. Execute la commande svn update --set-depth empty (remarque: ceci supprimera vos fichiers, faites donc une copie en premier!)

  3. Exécuter la commande svn update --set-depth infinity

Mais quelqu’un peut-il me dire pourquoi cela se produit? toute cause particulière de ceci, car j’ai un très gros repository et que tout cela est fait tout le temps est dur et que la caisse neuve n’est pas une option car le repo est grand.

J’ai eu un problème similaire. Le principal fournisseur était l’antivirus “FortiClient” (antivirus + VPN CLient). Quand je l’ai désactivé – toute la mise à jour / vérification a été faite correctement

J’ai trouvé un moyen plus facile de résoudre ce problème. Vous ne pouvez pas le faire directement depuis eclipse. Pas:

  1. Accédez à la structure du dossier de l’espace de travail dans Windows
  2. renommer le dossier
  3. rafraîchir en éclipse
  4. Maintenant, le dossier et les fichiers seront supprimés du projet dans eclipse et apparaîtront sous le nouveau dossier renommé
  5. Maintenant, essayez l’option “Synchroniser avec Respository”.

Cela restaurera le dossier de base de texte dans .svnfolder. La non-concordance de sum de contrôle pendant la mise à jour de l’erreur n’apparaîtra plus.

Cela m’est arrivé en utilisant le plug-in Eclipse et la synchronisation. Le fichier à l’origine du problème n’a pas été modifié localement (et en fait pas de 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.

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 y recopie le contenu. Je suppose que vous perdriez l’historique des révisions mais cela fonctionne.

Pour résoudre ce problème, procédez comme suit:

  1. Ouvrez le fichier d’entrées situé dans le répertoire .svn où vous obtenez l’erreur.
  2. Recherchez l’entrée correspondant à l’erreur de fichier et remplacez la valeur attendue par la valeur réelle en erreur.
  3. Maintenant, synchronisez et essayez de mettre à jour.

Si ça ne marche toujours pas. Essayez ces. C’est juste une solution de contournement si:

  1. Supprimez le fichier de votre système.
  2. Supprimez l’entrée du fichier du fichier d’entrées. (À partir du nom du fichier jusqu’aux caractères spéciaux).
  3. Maintenant, synchronisez et mettez à jour le fichier.

Cela permettra d’obtenir la dernière version du fichier du référentiel et tous les conflits seront résolus.

avait un problème similaire sur un serveur, mais le répertoire SVN était très volumineux, ne voulait pas supprimer et resynchroniser, donc je viens de faire une copie des fichiers localement, puis les ai supprimés. Lorsque la mise à jour a réussi et ajouté des fichiers

essayez de supprimer le fichier et supprimez la référence de fichier des entrées de fichier sous le répertoire .svn

J’ai eu une erreur similaire et corrigé comme suit:

(Mon «correctif» est basé sur une hypothèse qui peut ou peut ne pas être correcte car je ne sais pas trop comment fonctionne la subversion en interne, mais cela a certainement fonctionné pour moi)

Je suppose que .svn \ text-base \ import.php.svn-base doit correspondre à la dernière validation.

Lorsque j’ai vérifié le fichier sur lequel l’erreur se produisait, le fichier de base ne correspondait PAS à la dernière validation du référentiel.

J’ai copié le texte de la dernière validation et l’ai enregistré dans le dossier .svn, en remplaçant le fichier incorrect (en effectuant une copie de sauvegarde au cas où mes suppositions seraient fausses). (le fichier était marqué en lecture seule, j’ai effacé cet indicateur, écrasé et remis en lecture seule)

J’ai ensuite pu m’engager avec succès.

Si vous avez un collègue qui travaille avec vous:

1) lui demander de renommer le fichier causant des problèmes et de commit

2) vous update à update (maintenant vous voyez le fichier avec la sum de contrôle non valide avec un nom différent)

3) renommez-le à son nom d’origine

4) commit (et demander à votre collègue de se update à update pour récupérer le nom du fichier dans son état initial)

Cela a résolu le problème pour moi.

J’ai trouvé une très belle solution, qui a résolu mon problème. L’astuce consiste à éditer la firebase database svn (wc.db).

La solution est décrite sur cette page: http://www.exchangeconcept.com/2015/01/svn-e155037-previous-operation- a – not – finished – run – cleanup – if – it – was – interrupted/

Si le lien est en panne, regardez et suivez ces instructions: entrer la description de l'image ici

J’ai utilisé l’outil sqlite à partir de http://sqlitebrowser.org/ .

Ma solution était:

  1. Exécuter svn cleanup à partir du système de fichiers
  2. Passer à une autre twig
  3. Résoudre des conflits
  4. Passer à la twig “problématique”
  5. Exécutez le nettoyage de Spring Tool Suite
  6. Exécuter la mise à jour du projet

1.’update to reversion ‘cocher’ seulement cet élément ‘sous le répertoire 2.update à nouveau cocher’ Fully recursive ‘