Comment puis-je restaurer svn de contrôle si l' .svn dossier a été endommagé?
J'ai un couple de grandes caisses où l' .svn dossier est endommagé donc je suis arriver et d'erreur, "Nettoyage impossible de traiter le chemin d'accès suivant.." Et je ne peux plus valider ou mettre à jour les fichiers dans ce répertoire.
Je venais de le supprimer et de le faire passer à la caisse à nouveau, mais l'ensemble du répertoire est au cours d'un concert.
Est-il un outil qui permettra de restaurer la .svn dossiers pour des dossiers spécifiques sans avoir à télécharger tout?
Je comprends qu'il va avoir à les télécharger tous les fichiers dans un dossier, de sorte qu'il puisse déterminer s'ils ont été modifiés..mais les sous-répertoires avec des valides .svn dossiers doit être fine.
Oh.. je suis un grand fan de TortoiseSVN ou la ligne de commande pour linux.
Pensées?
Vous devez vous connecter pour publier un commentaire.
Dans le cas où vous avez modifié les fichiers, et ne peut pas les supprimer, vous pouvez utiliser la Subversion 1.5 fonctionnalité qui vous permet de "passer à la caisse avec des obstacles'.
Il suffit de supprimer le .svn répertoire de ce répertoire et de:
(vous n'avez pas besoin de supprimer dans les répertoires lors de l'utilisation de --la profondeur des fichiers, merci Eric)
Dans le cas où l'cassé répertoire est le répertoire de la copie de travail:
Et si le répertoire ci-dessus le cassé est encore de version exécuter:
dans ce répertoire.
Dans les deux échantillons de REPOS est l'url dans le référentiel qui correspond à l'cassé répertoire, et WC est le chemin d'accès au répertoire.
Les fichiers qui ont été modifiés seront dans l'etat modifié par la suite.
Si vous connaissez le dossier est endommagé .svn répertoire, vous pouvez simplement supprimer un répertoire et exécuter un svn update de nouveau. Vous pouvez avoir à supprimer tout le répertoire y compris son contenu actuel. Bien sûr, si le dossier avec le endommagée .svn répertoire est celui qui contient un gigaoctet, alors vous êtes de retour où vous avez commencé.
Faire une sauvegarde du dossier qui a le manque .svn
Puis supprimez le dossier
Si c'est la racine de la caisse, vous devrez re-caisse
Si elle n'est pas la racine, il suffit d'exécuter une mise à jour à partir d'un répertoire ci-dessus.
Puis déplacez le dossier de sauvegarde sur le dessus de cela. (Idéalement, ne pas déplacer le dos .svn dossiers)
Continuer à travailler et assurez-vous de mettre à jour/validation!
J'ai frappé dans le passé et n'a trouvé aucune solution de travail à l'exception de "l'option nucléaire" (c'est à dire supprimer le répertoire et re-check-out).
Ne sais pas si cela est votre problème, mais mon corruption a été causé par un accès scanner de virus sur la même machine que le serveur subversion.
Si les sous-répertoires et OK et c'est le sous-répertoires qui sont grandes, vous pouvez essayer un non-récursive frais de la caisse.
La solution retenue a fonctionné pour moi pour restaurer le haut-niveau .svn dossier, mais il ne reconnaît pas l'enfant des objets, donc, tout semble étrangère à SVN à ce stade, en dépit de gestion des versions intact dans les sous-dossiers.
J'ai rencontré la même erreur aujourd'hui. C'est arrivé quand j'ai essayé de passer les branches et ne parviennent pas à supprimer un fichier qui n'est pas dans le dépôt svn. Après cela, le dossier a été verrouillé et je ne peux pas utiliser n'importe quelle commande pour le faire fonctionner à nouveau.
En gros, j'ai supprimé ce que j'avais et refaire passer à la caisse. C'est beaucoup de temps, mais je veux être sûr d'svn est clair avant que je puisse commencer à travailler à nouveau. Merci!