2009-09-04 7 views
6

J'ai fusionné une branche vers une autre branche et ensuite apporté quelques-unes de mes propres modifications. Quand je suis allé vérifier dans les changements, je suis arrivé cette erreur:Erreur SVN après la fusion et la validation

Erreur:
- C: \ dev \ Backend \ Backend_1.1.0.0
Dans le répertoire
C: \ dev \ Backend \ Backend_1. 1.0.0 \ Tests unitaires \ MessageProcessor.Tests de
erreur de commande de traitement 'commis' dans
'C: \ dev \ Backend \ Backend_1.1.0.0 \ Tests unitaires \ MessageProcessor.Tests'
ne peut pas déplacer
C: \ dev \ Backend \ Backend_1.1.0.0 \ Unité Tests \ MessageProcessor.Tests.svn \ dir-props 'à
C: \ dev \ Backend \ Backend_1.1.0.0 \ Unit Tests \ MessageProces sor.Tests.svn \ dir-prop-base ': Le système ne trouve pas le fichier spécifié. Maintenant je ne peux pas valider (obtenir le message "copie de travail bloquée, veuillez exécuter le nettoyage"), et l'exécution de "nettoyage" donne le même message que ci-dessus.

Lorsque je supprime le répertoire incriminé comme Greg Hewgill suggéré et effectuez une mise à jour, la mise à jour demande le nettoyage et le nettoyage génère une erreur dans un sous-répertoire différent.

Je vais vérifier une nouvelle copie de la source et fusionner manuellement mes changements, mais je me demandais si A) il y a une meilleure façon de résoudre ce problème et B) si quelqu'un sait ce que j'ai fait de mal. Utilisation de TortoiseSVN 1.6.3, Build 16613 et Subversion 1.6.3 sous Windows XP.

+0

Il y a quelque chose de louche dans le message d'erreur: il manque des caractères: "\ MessageProcessor.Tests.svn \ dir-props" devrait être "\ MessageProcessor.Tests \ .svn \ dir-props" –

+0

@wcoenen You Avons raison, mais c'est juste un copier/coller. Je le réparerai. –

+0

En fait, les barres obliques sont là quand je vais le modifier, mais elles n'apparaissent pas dans le volet de prévisualisation. Bizarre. –

Répondre

3

Je ne pense pas que vous avez fait quelque chose de mal, cela arrive parfois avec TortoiseSVN. Parfois, ceci est lié à:

  • activité du vérificateur de virus. Désactivez les vérificateurs de virus pour vos répertoires source si possible.
  • renommer des fichiers ou des répertoires que seulement changer la casse du fichier (ie tests -> Tests).

Lorsque cela se produit, j'essaie généralement de le corriger en supprimant ou renommer le répertoire incriminé (dans votre cas, C:\dev\Backend\Backend_1.1.0.0\Unit Tests\MessageProcessor.Tests) et faire ensuite une mise à jour pour recréer ce répertoire. Assurez-vous de ne pas jeter accidentellement des choses qui n'ont pas encore été commises.

+0

Bons points. J'ai essayé d'éteindre le vérificateur de virus (Norton), cela n'a eu aucun effet. Aucun des fichiers n'a été renommé du tout, encore moins le cas. J'ai essayé de supprimer le répertoire et la mise à jour, mais j'ai essayé de mettre à jour demande le nettoyage, et le nettoyage jette la même erreur pour les autres répertoires. Je vais ajouter cette information à la question. –

+0

Cela a résolu le problème pour moi. J'ai enlevé (bien déplacé) tous les sous-répertoires gênants, puis svn update et svn cleanup dans le répertoire de plus haut niveau. Tout est redevenu normal. –

0

Téléchargez une autre copie et vérifiez si celle-ci est correcte. Parfois, cela se produit lorsque les fichiers .svn corrompt (pour une raison inconnue mais arrive). Je l'ai, gardez le nouveau et voilà. Si ce n'est pas le cas, apportez les modifications et recommencez.

+0

C'est ce que j'ai fait, et la nouvelle copie est correcte. J'essaie juste de comprendre comment éviter cela dans le futur, car fusionner manuellement mes différences est une douleur. –

Questions connexes