SVN garde corrompre les fichiers avec “<<<<<<< .de la mine”, comment réparer?
J'ai un Visual Studio C# projet qui est sous contrôle de version (SVN).
J'ai toujours ajoutés et mis à jour sans aucun problème. Mais il y a quelques heures Visual Studio lance le message d'erreur suivant lorsque j'essaie de lancer/reconstruire le projet:
Fichiers a une valeur non valide "<<<<<<<
.le mien". Caractères illégaux dans le chemin.
Je ne sais pas comment résoudre ce problème. Que dois-je faire?
Vous devez vous connecter pour publier un commentaire.
Ce qui se passe quand svn rencontre un conflit: Vous avez modifié un fichier, le fichier sur le serveur a été changé, et elle ne peut pas (facilement) être fusionnées automatiquement. Vous besoin de décider quelle est la bonne solution maintenant.
Subversion ajoute juste la diff dans votre fichier source (et crée des fichiers à côté d'elle, appelée OriginalName.le mien (inchangé) et OriginalName.rsomething (inchangé, version du serveur)).
Résoudre le conflit et de dire à subversion que c'est résolu.
.mine
?.rOLDREV
?.rNEWREV
? Réponse: Aucun d'entre eux. Au lieu de cela, fixer dans la origine fichier (c'est vrai: SVN de la tentative de commettre les feuilles de 4 à confusion fichiers)il suffit de supprimer le dossier obj et il a bien fonctionné.
De supprimer le code qui ne devrait pas être dans le fichier de jeter l'erreur et supprimer les trois fichiers avec les extensions .le mien, .
<somerevision>
et .<some_other_revision>
. svn mise à jour des fichiers qui contiennent maintenant des 'conflits' et vous avez besoin de résoudre ces conflits en main. Habituellement, cela signifie que vous avez édité un fichier, quelqu'un d'autre a édité le même fichier et vérifié les modifications et vous ne payez pas attention lors de la vérification du fichier modifié.Veuillez lire la Utilisation De Base chapitre dans le livre de subversion. Il comporte une section sur les La fusion des conflits par la main qui explique les marqueurs de conflit que vous avez vu.
Supprimer tout ce que vous avez dans dossier obj .
Supprimer votre dossier obj de
svn
de contrôle de version . Parce qu'à chaque génération il se mis à jour et lorsque les autres développeur de valider les modifications apportées à la solution SVN est incapable de marge dossier obj fichiers et augmenter erreurDe retirer le débogage des dossiers a fonctionné pour moi (voir le commentaire-pas de réponse ci-dessus).
Je l'ai obtenu après le déplacement de 12 dossiers à partir d'une section de svn à une nouvelle section. Donc, si vous obtenez ce après le déplacement d'un projet et l'erreur ne peut pas pointer vers un fichier réel, c'est probablement votre problème.
Si vous avez AnkhSVN ou VisualSVN installé la résolution de ce risque est plus aussi facile que cliquant droit sur le fichier dans l'explorateur de solutions et sélectionnez editer le conflit.
Cela va ouvrir le fichier modifié dans votre fusion de l'éditeur. (Voir Outils->Options->Contrôle de la Source->Subversion de l'Utilisateur des outils pour AnkhSVN). Avec un bon outil de fusion comme le libre de les utiliser SourceGear DiffMerge ou TortoiseMerge, la résolution du conflit est à seulement quelques mouseclicks loin.
J'ai eu cela se produise sur une grande échelle où les fichiers marqués résolu, mais le conflit de métadonnées est toujours là. J'ai écrit une expression régulière pour visual studio pour trouver ces derniers, pour les cas où il n'est pas possible de simplement revenir les fichiers modifiés.
http://www.codetunnel.com/blog/post/90/ever-merge-with-svn-and-mess-up-when-resolving-conflicts-read-on
J'ai fermé les IDE, puis supprimé le dossier obj et redémarré l'IDE et reconstruit mon Code. Cela a fonctionné pour moi.
À l'intérieur de votre projet :
odj folder -> Debug -> project name.csproj.Filelistabsolute.txt(snb.csproj.Filelistabsolute.txt)
À l'intérieur du fichier texte
>>>>>>>.mine
et>>>>>>>.r150
se produitpour supprimer les choses que le programme fonctionne
1)il suffit d'enregistrer vos modifications locales tout u avoir édité dans le fichier
2)rétablir le fichier
3)mettre à jour à partir de SVN
4)Coller vos changements locaux
Si vous utilisez TortoiseSVN, vous devriez avoir un droit-cliquez sur l'option sur le fichier appelé Conflits d'Édition. Cela doit apparaître TortoiseMerge qui est capable de lire ces odieux notations coincé dans le fichier (vraiment, à casser votre code de sorte que vous SAVEZ qu'il y a un problème et ne pas aveuglément le vérifier dans).
TortoiseMerge va le lire correctement et de vous présenter avec un 3-way merge. C'était ce que je cherchais. Même s'il est vrai que cela fait aussi créer les séparer .mine de et .rxxx et .ryyy fichiers, et il y a des manuels en ligne de commande et des moyens de traiter avec tout cela.