Comment réparer le référentiel endommagé (qui a un répertoire .svn centralisé)?

19

J'ai récemment mis à niveau mon installation TortoiseSVN vers la version 1.7.1. Cela m'a également obligé à mettre à niveau ma copie de travail. La mise à niveau a supprimé tous les répertoires .svn (sauf un) de tous les sous-répertoires, ne laissant qu'un seul à la racine.

Maintenant, à l'improviste (bien sûr, je soupçonne mon logiciel antivirus), il y a une erreur lorsque j'essaie par exemple de nettoyer la copie de travail. Je ne suis pas non plus en mesure de commettre quoi que ce soit.

Le message d'erreur lors du nettoyage est:

Le nettoyage n'a pas pu traiter les chemins suivants: C: \ svn

Impossible d'ouvrir le fichier 'C: \ svn.svn \ pristine \ 73 \ 73bcc5fa7819f84f56b81dfa0236f0aac7b7d404.svn-base': le système ne peut pas trouver le fichier spécifié.

J'ai retracé l'erreur liée à la présence d'un répertoire dans la copie de travail. Si je le renomme, alors tout fonctionne. Quand il est présent, j'obtiens l'erreur. Je l'ai également supprimé et vérifié à nouveau. Aucun changement, l'erreur persiste.

Avec les versions précédentes, je pouvais facilement réparer les dommages dans le .svn: supprimez simplement le dossier incriminé et vérifiez à nouveau. Je ne peux plus faire cela car maintenant le répertoire .svn est centralisé.

Que puis-je faire pour réparer ma copie de travail?

Heinrich Ulbricht
la source

Réponses:

21

Impossible d'ouvrir le fichier 'C: \ svn.svn \ pristine \ 73 \ 73bcc5fa7819f84f56b81dfa0236f0aac7b7d404.svn-base

J'ai juste eu une erreur similaire et j'ai dû faire ce fichier avec le bloc-notes, puis le nettoyage a fonctionné.

Dave Storm
la source
1
Mais est-ce sûr à faire? Le "nettoyage svn" rendra-t-il ce fichier non vide à nouveau? (Parce que c'était certainement avant, non?)
hans_meine
Je peux vérifier que cette méthode fonctionne, je ne sais pas quel est le résultat / la perte de la création d'un tel fichier vide - mais ne pas le créer, ne m'a pas permis de "procéder à la validation"
nrathaus
4

Au lieu de créer un fichier vide (ce que je n'ai pas osé faire), j'ai effectué une nouvelle extraction temporaire du répertoire affecté (en spécifiant la même révision) et j'ai copié le fichier manquant du nouveau sous-dossier .svn dans celui du répertoire de travail cassé. .

Afin d'illustrer davantage cela, dans mon cas, le fichier svn se plaignait était .svn/pristine/d1/d12a84ef7be5dad86b76e1a45fc3da4698d38796.svn-base, qui est exactement le chemin à trouver dans la nouvelle extraction partielle.

hans_meine
la source
3

Nous avons eu le même problème après la mise à niveau de l'ancienne version vers Tortoise SVN 1.7.7.

Comme je n'ai trouvé aucune autre solution, j'ai supprimé la copie de travail locale et l'ai à nouveau vérifiée. Ça fonctionne bien maintenant.

Tomas Chlouba
la source
2

J'ai eu le problème pendant que j'interrompais une fusion. Je n'ai pu effectuer aucune action SVN. Lors d'un nettoyage SVN, il a donné une erreur indiquant qu'il ne pouvait pas trouver un fichier spécifié qui conduisait à l'échec du nettoyage.

J'ai créé un fichier factice avec ce nom exact dans le dossier spécifié et j'ai fait un nettoyage SVN.

Ensuite, j'ai pu continuer.

user304100
la source
0

J'ai eu un problème similaire, où il disait qu'un fichier C:\working_copy\dir\file.xmlétait introuvable. J'avais supprimé le dirrépertoire. Dans mon cas, l'ajout d'un nouveau dirdossier et file.xmlfichier (avec du texte vide) a permis au nettoyage de continuer, puis j'ai pu correctement mettre à jour la copie de travail.

jevon
la source
0

Mon problème était que j'aurais besoin de reconfigurer tous les projets dans mon IDE si je vérifie à partir du référentiel zéro, je ne me souciais pas d'enregistrer les modifications.

J'ai supprimé le répertoire .svn et le référentiel de paiement dans le même répertoire.

Le problème a été résolu: j'ai pu effectuer toutes les opérations svn et le projet était toujours configuré dans IDE

Shapoval Sergio
la source