web-dev-qa-db-fra.com

SVN continue à corrompre les fichiers avec "<<<<<<<. Mine", comment réparer?

J'ai un projet Visual Studio C # sous contrôle de version (SVN) . Je me suis toujours engagé et mis à jour le projet sans aucun problème. Mais il y a quelques heures, Visual Studio renvoie l'erreur suivante lorsque j'essaie de lancer/reconstruire le projet:

Les fichiers ont une valeur non valide "<<<<<<< .Mine". Caractères illégaux dans le chemin.

Je ne sais pas comment résoudre ce problème. Que devrais-je faire?

44
MysticEarth

Cela se produit lorsque svn rencontre un conflit: vous avez modifié un fichier, le fichier sur le serveur a été modifié et il ne peut pas (facilement) être fusionné automatiquement. Vous besoin de décider quelle est la bonne solution maintenant.

Subversion ajoute simplement le diff dans votre fichier source (et crée ensuite des fichiers nommés OriginalName.mine (inchangé) et OriginalName.rsomething (inchangé, version du serveur)).

Résolvez le conflit et indiquez à Subversion qu'il s'agit de résolu.

65
Benjamin Podszun

supprimez simplement le dossier obj et cela fonctionnera bien.

35
marcg

Supprimez le code qui ne devrait pas être dans le fichier générant l'erreur et supprimez les trois fichiers avec les extensions .mine, .<somerevision> et .<some_other_revision>. svn a mis à jour les fichiers qui contiennent maintenant des "conflits" et vous devez les résoudre à la main. Habituellement, cela signifie que vous avez édité un fichier, que quelqu'un d'autre a édité le même fichier et a archivé les modifications.

10
Confusion

Veuillez lire le chapitre Utilisation de base dans le livre de Subversion. Il comporte une section sur Fusion de conflits à la main qui explique les indicateurs de conflit que vous voyez.

6
Wim Coenen

Supprimez tout ce que vous avez dans le dossierobj.

Supprimez votre dossierobjde svn version control. Parce que sur chaque build, il est mis à jour et lorsque d'autres développeurs valident la solution, SVN ne parvient pas à isoler les fichiers de dossiers obj ni à générer une erreur.

La valeur du fichier "<<<<<<< .mine" est invalide. Caractères illégaux dans le chemin.

5
Muhammad Nasir

Supprimer les dossiers de débogage a fonctionné pour moi (voir commentaire-pas-réponse ci-dessus) . Donc, si vous obtenez ceci après avoir déplacé un projet et que l'erreur ne pointe pas vers un fichier réel, c'est probablement votre problème.

3
done_merson

Si vous avez AnkhSVN ou VisualSVN installé, cette solution est probablement aussi simple que de cliquer avec le bouton droit de la souris sur le fichier dans l'explorateur de solutions et de sélectionner le conflit d'édition.

Cela ouvrira le fichier modifié dans votre éditeur de fusion. (Voir Outils-> Options-> Contrôle de source-> Outils d'utilisateur Subversion pour AnkhSVN). Avec un bon outil de fusion comme le libre d'utiliser SourceGear DiffMerge ou TortoiseMerge, la résolution du conflit ne prend que quelques clics de souris.

2
Bert Huijben

J'ai fermé l'IDE, puis supprimé le dossier obj, redémarré le IDE et reconstruit mon code. Cela a fonctionné pour moi.

1
Abhishek

1) Sauvegardez simplement vos modifications locales, quelles que soient les modifications apportées au fichier.

2) retourner le fichier

3) le mettre à jour depuis SVN

4) Collez vos modifications locales

1
Rohan Gala

Cela s'est produit à grande échelle où les fichiers sont marqués comme résolus mais les métadonnées de conflit sont toujours là. J'ai écrit une expression régulière pour que Visual Studio trouve ces éléments, dans les cas où il n'est pas possible de simplement restaurer les fichiers modifiés.

http://www.codetunnel.com/blog/post/90/ever-merge-with-svn-and-mess-up-when-resolution-conflicts-read-on

1
Chev

Si vous utilisez TortoiseSVN, vous devriez avoir une option de clic droit sur le fichier appelé Editer les conflits. Cela devrait faire apparaître TortoiseMerge qui est capable de lire les notations désagréables collées dans le fichier (vraiment, casser votre code pour SAVOIR qu’il ya un problème et ne pas l’enregistrer aveuglément). 

TortoiseMerge le lira correctement et vous présentera une fusion à trois. C'était ce que je cherchais. Bien qu'il soit vrai qu'il crée également les fichiers séparés .mine, .rxxx et .ryyy, et qu'il existe divers moyens manuels et en ligne de commande pour gérer tout cela. 

0
Josh Sutterfield