128 votes

SVN - Erreur de somme de contrôle lors d'une mise à jour

Lorsque j'essaie de mettre à jour certains fichiers à partir de 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 est-ce que je reçois ça ? Comment puis-je le réparer ?

214voto

jrd Points 787

Si vous utilisez SVN 1.7+, il existe une solution de contournement décrite ci-dessous. aquí .

Juste pour récapituler :

  1. Allez dans le dossier contenant le fichier qui pose problème
  2. Exécuter la commande svn update --set-depth empty (note : cela supprimera vos fichiers, faites-en une copie avant !)
  3. Exécuter la commande svn update --set-depth infinity

18 votes

Bien que cela ait fonctionné pour moi, notez que "svn update --set-depth empty" supprimera tout ce qui se trouve dans ce chemin, donc faites d'abord une copie.

3 votes

Cela a bien fonctionné pour réparer un dépôt géant dans un endroit éloigné. Si un nouveau checkout aurait fonctionné, cela aurait pris plus d'une heure ; cette méthode n'a pris que quelques minutes.

0 votes

Bonjour, j'utilise Windows et tortoisesvn comme client svn. J'ai essayé votre solution, mais le problème persiste.

69voto

sjakubowski Points 1393

Le moyen le plus simple de corriger 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 où votre projet est extrait, et d'extraire à nouveau le projet.

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

9 votes

J'ai juste supprimé le dossier où se trouvait un fichier problématique et j'ai mis à jour l'ensemble du projet. Maintenant, tout semble aller bien.

1 votes

+1 L'autre alternative que j'ai trouvé m'a laissé pirater la base de données svn, beaucoup plus facile

0 votes

@SeanDowney comment faire ?

6voto

Divya Points 11

J'ai trouvé un moyen plus simple de résoudre ce problème. Vous ne pouvez pas le faire directement à partir d'Eclipse. Étapes :

  1. Naviguez vers la structure du dossier de l'espace de travail dans Windows
  2. renommer le dossier
  3. rafraîchir dans l'éclipse
  4. Maintenant, le dossier et les fichiers seront supprimés du projet dans eclipse et apparaîtront dans le nouveau dossier renommé.
  5. Essayez maintenant l'option "Synchroniser avec le référentiel".

Cela va restaurer le dossier de base du texte dans le dossier .svn. L'erreur "Checksum mismatch" lors de la mise à jour n'apparaîtra plus.

1voto

J'ai eu la même erreur mais pour un seul 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'ai recopié le contenu dans ce fichier. Je suppose que vous perdriez l'historique des révisions, mais cela fonctionne.

1voto

Jason Merecki Points 1

Cela m'est arrivé en utilisant le plug-in Eclipse et en synchronisant. Le fichier à l'origine du problème n'avait subi aucune modification locale (et en fait aucune modification distante depuis ma dernière mise à jour). J'ai choisi "rétablir" pour le fichier, sans autre modification des fichiers, et tout est revenu à la normale.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X