web-dev-qa-db-fra.com

Comment réparer "il manque la zone de travail de la copie de travail" dans SVN?

J'ai supprimé manuellement un répertoire que je viens d'ajouter, hors ligne, dans mon référentiel. Je ne peux pas restaurer le répertoire.

Toute tentative de mise à jour ou de validation échouera avec:

"blabla/.svn" containing working copy admin area is missing.

Je comprends pourquoi, mais existe-t-il quand même pour résoudre ce problème?.

Je ne veux pas extraire l'intégralité du rapport et y ajouter mes modifications manuellement, cela prendrait des heures.

183
e-satis

Selon ceci: http://www.devcha.com/2008/03/svn-directory-svn-containing-working.html

Extrayez le dossier "blabla" vers un emplacement différent, puis copiez son dossier .svn dans le "blabla" d'origine.

147
Mark

fwiw, j’ai eu une situation similaire et utilisé svn --force delete __dir __. Cela a résolu le problème pour moi. Ensuite, j'ai continué à travailler avec ma copie de travail comme d'habitude.

123
Matt Setter

Ce que j'ai fait pour résoudre ce problème a été de supprimer le local copie du dossier en question et ensuite faire un svn update du parent immédiatement après.

Je l'ai corrigé.

72
Maurizio

Pouvez-vous essayer d'extraire une nouvelle copie du répertoire parent?

Edit: Pour être un peu plus précis, je voulais suggérer de monter d’un niveau et de supprimer le répertoire qui le contient. Alors fais un

svn update --set-depth infinity

pour remplacer le répertoire.

35
Rob Wells

J'ai ajouté un répertoire à svn, puis j'ai accidentellement supprimé le dossier .svn dans.

J'ai utilisé

svn delete --keep-local folderName

pour résoudre mon problème.

6
Alexander

Je viens de faire 'svn revert/blabla' et cela a fonctionné, le dossier est de retour et je peux svn le supprimer

4
Mala

L'erreur "Répertoire 'blah/.svn' contenant la zone d'administration de la copie de travail est manquante" s'est produite lorsque j'ai tenté d'ajouter le répertoire au référentiel, mais ne disposait pas de suffisamment de privilèges de système de fichiers pour le faire. Le répertoire n'était pas déjà dans le référentiel, mais il prétendait être sous contrôle de version après l'ajout ayant échoué.

L'extraction d'une copie du répertoire parent à un autre emplacement et le remplacement du dossier .svn dans le répertoire parent de la copie de travail m'ont permis d'ajouter et de valider le nouveau répertoire (après avoir corrigé les autorisations de fichiers).

3
Rob DiCiuccio

J'ai essayé svn rm --force /path/to/dir en vain, mais j'ai finalement lancé svn up et tout a été corrigé.

2
Nathan J.B.

Nous utilisons maven et svn. C'est une erreur d'enregistrement du répertoire cible sur SVN qui a provoqué cette erreur. Supprimer tout corrige tout, si cette astuce aide quelqu'un.

2
Madu

Le plus simple qui m'a aidé:

rm -rf _dir_in_question_
svn up

Si vous avez des changements dans le répertoire problématique, alors ce n'est pas une bonne solution pour vous.

1
allprog

Je n'ai pas compris grand chose de vos posts. Ma solution est

  1. Couper le dossier problématique et copier à un endroit.
  2. Procurez-vous la solution de Subversion dans un autre répertoire de travail (juste un nouveau).
  3. Ajoutez votre dossier enregistré à la nouvelle copie de travail et ajoutez-le en tant que projet existant (s'il s'agit d'un projet comme dans mon cas).
  4. Commettre;
1
user834850

J'ai eu le même problème quand j'essayais de changer "C:\superfolder"

Messages d'erreur:

Directory 'C:\superfolder\subfolder\.svn'
containing
working copy admin area is missing
Please execute the 'Cleanup' command.

Après avoir essayé de faire un "nettoyage", j'ai eu l'erreur suivante:

 Cleanup failed to process the following paths:
 C:\superfolder\
'C:\superfolder\subfolder\' is not a working copy directory

Solution:

  1. Supprimer le dossier "sous-dossier"
  2. Nettoyer le dossier "super-dossier"
  3. Essayez de changer le dossier "super-dossier"

cela a fonctionné pour moi. S'il vous plaît laissez-moi savoir si cela fonctionne aussi pour vous.

1
Andreas

J'ai eu ce problème. Il suffit de déplacer temporairement blabla vers un autre emplacement, d'indiquer à svn de le rétablir, puis de le déplacer. Il est traité comme une nouvelle addition. Facile!

1
Boric

J'ai eu cette erreur récemment, lorsque les fichiers ont été exclus par les paramètres de mes globaux SVN. L'erreur était particulièrement désagréable puisque j'ai également supprimé les fichiers directement du référentiel - ce qui signifiait que les solutions ci-dessus refusées ne fonctionneraient pas. Dans ce cas, la suppression manuelle du répertoire .svn du répertoire que j'ai supprimé de SVN m'a permis d'exécuter une mise à jour qui m'a ensuite permis de valider.

1
Casebash

J'ai eu cette erreur récemment. Cela était dû au fait que root possédait deux fichiers dans le répertoire, ce qui donnait cette erreur.

Après avoir modifié les autorisations, tout a fonctionné comme prévu.

1
J.J.

J'ai rencontré ce problème en remplaçant une bibliothèque d'API tierce par une version plus récente, et aucune des solutions ici ne fonctionnait vraiment pour moi car je souhaitais remplacer la version SVN par la version locale. Ma solution était la suivante:

1) Déplacez le dossier incriminé dans mon répertoire personnel, supprimez-le de SVN et validez:

mv foldercausingproblem ~/
svn --force delete foldercausingproblem
svn commit --message "Temporary removing folder with old API"

2) Remettez le dossier, ajoutez-le à SVN et validez à nouveau:

mv ~/foldercausingproblem ./
svn --force add .
svn commit --message "Finally all working!"

Légèrement irritant de devoir s'engager deux fois, mais cela semble avoir bien fonctionné.

1
Jamie Brown

Tout d’abord, archivez le projet dans votre système dans un dossier. Supprimez ensuite le dossier .svn du projet en conflit, copiez le dossier .svn du nouveau dossier de paiement et collez-le dans votre dossier de copie de travail. Alors le problème est résolu.

0

Pour moi, le même problème s'est produit lorsque j'ai à la fois:

  • supprimé (--force) un fichier .map
  • ajouté * .map à svn:ignore via svn propedit svn:ignore .

Ma solution était de:

  1. annuler les modifications apportées à la propriété
  2. valider les modifications dans les fichiers
  3. extraire une nouvelle copie du dépôt (hélas!)
  4. changer la propriété et commettre
0

J'ai eu ce problème lorsque j'essayais d'ajouter un répertoire à svn. Je l'ai résolu en allant dans le navigateur repo. Faites un clic droit dans la fenêtre de gauche, choisissez Ajouter un dossier et ajoutez le répertoire directement dans le navigateur de dépôt.

J'ai ensuite supprimé le répertoire localement (après la sauvegarde bien sûr), effectué un nettoyage et une mise à jour svn et tout fonctionnait à nouveau.

0
Speck

Juste au cas où quelqu'un voudrait encore une autre solution:

  1. Enregistrez votre nouveau dossier sous "nomdossier2"
  2. Allez dans le navigateur de repo SVN Tortise
  3. Renommez "nomdossier2" en "nomdossier"
  4. Dans Windows Explorer faire une mise à jour

J'espère que ça aide quelqu'un.

-V

0
Ev.

Une de mes tâches courantes consistait à prendre un répertoire de référentiel dans le stockage intermédiaire et à le copier dans un autre référentiel - les deux sous SVN et les deux portant le même nom. La manière qui a fonctionné pour moi était la suivante:

svn --force delete PROBLEMATIC-DIR
svn export "https://OLD REPO-A/ new-repo-A"
svn add new-repo-A
svn commit new-repo-A
0
texasdave