Corruption du référentiel SVN - SvnRepo / DB / Current

Corruption du référentiel SVN - SvnRepo / DB / Current

Récemment, l'un des référentiels sur mon serveur SVN est corrompu. Après vérification, nous avons constaté qu'il y avait un problème avec SVNRepo / DB / le fichier actuel a été corrompu en raison de mauvaises secteurs dans mon hardisk. J'ai essayé de vérifier ce référentiel mais j'ai échoué.

Comment récupérer le référentiel SVN corrompu -

Avant de commencer la récupération, nous devons connaître ce fichier. Ce fichier contient le dernier numéro de révision de votre référentiel. Sur chaque commit, le serveur SVN augmente cette valeur de +1 et gardez cela sur la dernière révision.

Maintenant, si vous vous souvenez de la version de votre référentiel, recréez simplement un nouveau fichier et mettez ce numéro dans ce fichier. Mais si vous n'en vous souvenez pas, alors le problème commence, mais ne vous inquiétez pas. Suivez les étapes ci-dessous pour trouver le numéro de révision.

  • Entrez n'importe quel numéro -

    Entrez un nombre et essayez de le maintenir plus haut que prévu la dernière révision. Dans mon cas, j'ai mis 99999 en db / fichier actuel.

    [Protégé par e-mail]: ~ $ CAT DB / Current 99999 
  • Référentiel de sauvegarde -

    Utilisez maintenant la commande suivante pour sauvegarder ce référentiel. Lorsque vous exécutez la commande suivante, cela peut se terminer par une erreur comme ci-dessous.

    [Protégé par e-mail]: ~ $ Svnadmin Dump / Path / To / Repo> / Backup / MyRepo.Dump * Révision déversée 0. * Révision déversée 1… * Révision déversée 576. * Révision déversée 577. * Révision déversée 578. Svnadmin: E160006: aucune révision de ce type 579  

    Selon votre sortie, nous avons obtenu que notre référentiel a 578 révisions. Vous pouvez simplement mettre cette valeur dans votre fichier db / actuel. Mais s'il y a plus de fichiers corrompus, continuez à suivre les étapes.

  • Référentiel de sauvegarde -

    Nous avons maintenant le dernier numéro de révision, alors spécifiez les révisions de 0 à la dernière révision à la sauvegarde.

    [Protégé par e-mail]: ~ $ svnadmin Dump -r 0: 578 / path / to / repo> / backup / myrepo.décharge 
  • Recréer un nouveau référentiel -

    Maintenant, supprimez l'ancien référentiel corrompu et créez un nouveau avec le même nom ou autre nom.

    [Protégé par e-mail]: ~ $ mv / path / to / repo / backup / [e-mail protégé]: ~ $ svnadmin Créer / path / to / repo 
  • Chargez le référentiel à partir de la sauvegarde -

    Chargez maintenant les données du référentiel du fichier de sauvegarde à l'aide de la commande suivante.

    [Protégé par e-mail]: ~ $ svnadmin Load / Path / To / Repo < /backup/myrepo.dump