2010-12-10 31 views
1

J'ai eu un problème avec un dépôt corrompu aujourd'hui. Svn log m'a donné des erreurs de "fichier mal formé" même si svnadmin vérifiait que tout était OK.SVN "Fichier mal formé" Corrupt Repository

Il est toujours mauvais quand votre histoire de source est partie ainsi je posterai également une réponse au cas où cela aiderait quelqu'un.

Répondre

3

Sauvegardez votre dépôt!

  • run "svnadmin décharge REPOSPATH> NUL"

Notez la dernière révision, il a pu vider (p. 99), le prochain a l'erreur (par exemple 100).

  • Ouvrez les mauvais accessoires de révision de REPOSPATH \ db \ revprops.

Si elle contient des ordures ou NUL vous pouvez le corriger:

  • copie les accessoires précédents (99) sur le mauvais (100)
  • ouvrir les accessoires corrigés, définissez la date à valeur resonable (ne modifier quoi que ce soit d'autre, sauf si vous connaissez le format de fichier)

run "REPOSPATH svnadmin dump> NUL" à nouveau - il devrait se terminer sans erreurs

+0

Ce n'est pas toujours le cas. Il y a des fois que la corruption n'est pas avec les revprops, mais le fichier rev réel. Copier le rev précédent sur le rev correctif ne résout pas ce problème. Comme vous l'avez souligné, une bonne sauvegarde résout ce problème. J'ai aussi eu mon bacon sauvé parce que chaque commit a une sauvegarde incrémentielle créée. – jgifford25

+1

@ jgifford25 Bien sûr, cela peut ne pas aider tout le monde, mais je l'ai posté parce que c'était une solution facile qui n'a été mentionnée nulle part ailleurs sur le web. – laktak