web-dev-qa-db-fra.com

Impossible d'ouvrir .svn / text-base / file.svn-base?

J'utilise TortoiseSVN. Je viens d'apporter quelques modifications à ma copie de travail et maintenant je suis allé faire un commit certains des fichiers sont passés mais dans un fichier nommé Search.aspx.cs, il est dit

Commit failed (details follow):
Can't open file 
'C:\-----\trunk\.svn\text-base\Search.aspx.cs.svn-base': 
The system cannot find the file specified.

J'ai essayé de faire une mise à jour SVN et un nettoyage SVN et rien ne restaure ce fichier. Je ne peux même pas créer un diff car cela donne une erreur similaire sur les fichiers manquants. Comment puis-je réparer ça? Qu'est-ce que j'ai fait pour le provoquer?

60
Earlz

Cela semble-t-il une réponse possible à votre situation?

(depuis http://www.uwplatt.edu/csse/tools/Subversion/subversion-help.html )

"Impossible d'ajouter le fichier '(nom ici)': un objet du même nom existe déjà.

ou

"Impossible d'ouvrir le fichier 'folder.svn\tmp\text-base\file.svn-base': Le système ne peut pas trouver le fichier spécifié."

Les deux signifient que deux fichiers dans le même dossier ont le même nom sauf pour la mise en majuscule; par exemple "Readme.txt" et "README.TXT". Unix et Subversion sont sensibles à la casse, donc les fichiers sont considérés comme complètement indépendants. Mais dans Windows n'est pas sensible à la casse, donc quand il essaie de mettre à jour README.TXT au-dessus de Readme.txt (disons), il casse.

Le moyen le plus sûr de résoudre le problème consiste à se connecter à un système Unix (tel que io.uwplatt.edu) et à utiliser les notes Unix pour consulter le référentiel qui s'y trouve. Vous pouvez ensuite utiliser la commande svn mv pour renommer l'un des fichiers. Si vous êtes en train d'essayer d'ajouter un fichier à votre référentiel, vous pouvez essayer d'utiliser TortoiseSVN-> Renommer ... pour renommer le fichier existant en quelque chose de complètement différent puis mettre à jour. Notez que vous devez utiliser les commandes de renommage de TortoiseSVN; simplement renommer le fichier dans l'Explorateur Windows ne résoudra pas vos problèmes.

J'ai eu cette même erreur, et l'utilisation du navigateur de dépôt de Tortoise SVN a pu confirmer qu'il y avait deux fichiers dans le référentiel avec le même nom ne variant que par des lettres majuscules/minuscules. Vous pouvez également résoudre ce problème via le navigateur de dépôt en supprimant l'un des fichiers (vous pouvez d'abord effectuer une différence via le navigateur de dépôt pour vous assurer d'avoir ce dont vous avez besoin).

77
pettys

Vous pouvez copier le fichier de travail: C: -----\trunk\Search.aspx.cs

à celui qui manque: C: -----\trunk.svn\text-base\Search.aspx.cs.svn-base

et ça fera l'affaire.

10
Dmitry Yakhnov

Salut, je rencontre un problème similaire aujourd'hui.

ne peut pas trouver le fichier .svn\pristine\24\24fd530d4bd82341fb514ab912c9e10adbc4ad89.svn-base Et j'utilise la méthode simple pour résoudre ce problème.

Tout d'abord, je supprime le dossier de copie de ce projet, puis je recherche ce fichier qui n'existait pas dans ce dossier.Je copie simplement une base svn d'un autre fichier et je le renomme avec 24fd530d4bd82341fb514ab912c9e10adbc4ad89.svn-base.Et puis je fais le nettoyage opération. Après cela, je rencontre un autre fichier missing.using de la même manière et enfin je résout ce problème. J'espère que ça peut t'aider

en d'autres termes, la solution est créer un nouveau fichier svn-base avec le nom des fichiers manquants

6
chunguiw

Publier ceci pour ceux qui ont le même problème où il est pas lié au même nom de fichier dans une majuscule/casse différente:

Je ne sais pas ce qui en est la cause, mais ce correctif a fonctionné pour moi:

  • extraire la section en question vers un nouvel emplacement temporaire
  • sauvegarder (en cas d'échec) et supprimer le dossier .svn dans votre emplacement principal
  • remplacez le dossier .svn de votre emplacement principal par celui de l'emplacement temporaire
  • commettre

Cela a fonctionné pour moi. Je n'ai changé qu'un seul fichier. D'une manière ou d'une autre, le dossier .svn est devenu corrompu. Veuillez sauvegarder votre travail avant de le faire.

5
Xonatron

J'ai eu un problème similaire "( Impossible d'ouvrir le fichier 'folder.svn\tmp\text-base\file.svn-base': le système ne trouve pas le fichier spécifié" ). "

Ce n'était pas à cause d'un problème de sensibilité à la casse. Mais parce que le chemin du fichier était trop long. J'ai donc renommé le dossier avec un nom plus court et l'ai déplacé à l'intérieur de C Drive et j'ai réussi mon enregistrement.

Donc, si ce n'est pas la casse, veuillez également surveiller la longueur du chemin complet vers le fichier.

2
pashups

Pour moi, le problème était: sensible à la casse

svn repository commit sous Linux: 2 fichiers du même nom sauf pour la capitalisation svn repository mis à jour sous Windows: Erreur lors de la mise à jour ou de la vérification => Le système ne trouve pas le fichier spécifié.

2
Peon

J'ai eu ce problème après avoir accidentellement effacé les dossiers .svn/tmp vides (et tous les autres dossiers vides sur mon disque dur). Aucune des solutions ci-dessus, à l'exception de la restauration d'un dossier .svn/tmp vide, n'a aidé (pour tous les dossiers .svn).

1
adams

Il semble que votre copie de travail soit corrompue - le fichier de base SVN pour Search.aspx.cs est manquant.

Ce que je fais dans une situation comme celle-ci pour effectuer une extraction distincte dans un autre répertoire pour créer une nouvelle copie de travail sur la base, exporter ma copie de travail modifiée et copier l'exportation sur la nouvelle copie de travail.

0
codekaizen

Les autres modifications se sont-elles déroulées correctement?

S'ils ont bien mis de côté le fichier incriminé, supprimez le répertoire, extrayez une nouvelle copie et rajoutez le fichier

0
mfeingold

Solution (en cas de répertoire SVN corrompu; le nettoyage, etc. ne fonctionne pas)

  1. Sauvegarde (renommer le répertoire)
  2. Commander à nouveau
  3. Renommer un nouveau répertoire
  4. Renommez l'ancien répertoire en l'ancien nom
  5. Essayez de vous engager à nouveau (si nécessaire en petites portions)
  6. Chaque fois qu'une erreur se produit: copiez le fichier SVN en question depuis un nouveau répertoire vers des sources corrompues
  7. Répétez jusqu'à ce que vous soyez heureux;)
0
Traugott Streicher

Je viens de rentrer ici parce que mon TSVN vient de déclencher la même erreur.

Dans mon cas, un simple "nettoyage" des répertoires correspondants a aidé.

0
Robert