2009-08-06 3 views
6

Notre compte avec CVSDude a été migré cette semaine. Après les suites d'une semaine sans pouvoir accéder à notre repo, il était sauvegardé avec une URL légèrement différente (un '-' changé en un '.' Essentiellement). Nous avons utilisé la commande relocate de TortoiseSVN pour changer de copie de travail et cela a fonctionné sans problème pendant une journée.SVN: un répertoire versionné du même nom existe déjà

Mais aujourd'hui, j'ai commencé à obtenir l'erreur dans le titre sur l'exécution des mises à jour. J'ai supprimé le dossier en question car il était petit, et mis à jour à nouveau. Ce dossier a été recréé dans ma copie de travail, mais un autre dossier a commencé à donner la même erreur.

J'ai googlé, et voici les deux réponses communes:

  • vous avez modifié le cas d'un nom de répertoire
  • vous vérifié dans vos fichiers .svn par erreur

Nous Je n'ai pas changé de dossier du tout - le premier dossier à commencer à se plaindre n'a pas été touché pour les week-ends - et j'ai aussi vérifié la chose .svn aussi. Les autres membres de l'équipe ne signalent pas le même problème et ils utilisent également Windows + TortoiseSVN.

Idées/Inspiration?

+0

Indique-t-il quel répertoire est erroné? Si c'est le cas, lancez "svn info " –

Répondre

0

Je pense que je ferais une caisse fraîche au lieu de mises à jour. Pouvez-vous faire un svn log -v sur le répertoire en question?

+2

Pas vraiment envie de vérifier plusieurs Gb, et d'avoir à sauvegarder tous mes fichiers non validés. –

+0

Et oui, je peux exécuter ce journal cmd, j'ai une ligne de commande SVN sur cygwin. Il fait juste une décharge massive ... qu'est-ce que cela prouve? –

1

Cela ressemble beaucoup à l'ancien problème de sensibilité à la casse. Si vous lancez svn log, vous verrez dans quel cas le repo pense que votre répertoire devrait être. Comparez avec votre locale. Je suppose qu'il n'est pas rare que le repo ait été restauré à partir de sauvegarde et tout a changé de cas.

L'autre alternative est qu'un EDI ou un outil hs a changé la casse de votre répertoire/fichier. Cela m'arrive occasionnellement avec Visual Studio. Tortoise vous indique généralement le problème exact et vous permet de le réparer.

Vous pouvez toujours essayer un nettoyage qui pourrait réparer un répertoire .svn corrompu.

Si vous voulez les binaires svn pour Windows, je les prends simplement à partir d'une installation de VisualSvn Server.

6

Cela arrive pour moi tout le temps avec la version 1.6.17, malgré le fait que le répertoire existant a l'URL attendue. Je contourne le problème en déplaçant le répertoire, en effectuant la mise à jour ou l'extraction, et en le déplaçant, en rattrapant celui qui vient d'être obtenu. Stupide, mais ça marche.

mv dir dir2 
svn co blah . 
rm -rf dir 
mv dir2 dir 
+0

Une autre option est d'utiliser svn co --depth = immediates, de sorte que tout l'arbre ne doit pas être extrait. – Ivo

0

Cela peut également se produire si un fichier ou un répertoire est ouvert dans une autre application (ou une ligne de commande). Par exemple, si svn essaie de mettre à jour le répertoire foo contenant la barre de fichiers, et que vous avez foo active dans cmd ou cygwin, ou foo/bar dans un éditeur. Le bloc de texte est particulièrement mauvais avec ceci, et parfois vous pouvez devoir le fermer entièrement.

Un bon utilitaire de Windows pour trouver quelle (s) application (s) possède des verrous ouverts sur un répertoire/fichier est "unlocker".

Questions connexes