Comment puis-je corriger “Echec de la validation. Le fichier xxx est obsolète. chemin xxx non trouvé. ”

StackOverflow https://stackoverflow.com/questions/819896

  •  03-07-2019
  •  | 
  •  

Question

J'ai récemment rencontré un problème particulièrement délicat en ce qui concerne le résultat d'une fusion dans la subversion. Notre serveur Subversion est @ 1.5.0 et mon client TortoiseSVN est maintenant @ 1.6.1.

J'essaie de fusionner une branche de fonctionnalité dans mon coffre. La fusion semble fonctionner correctement; cependant, la validation échoue avec le message d'erreur suivant.

Commit failed (details follow):
File 
'flex/src/com/penbay/invision/portal/services/http/soap/ReportServices/GetAllBldgsParamsByRegionBySiteResultEvent.as' 
is out of date
'/svn/ibis/!svn/wrk/531d459d-80fa-ea46-bfb4-940d79ee6d2e/visualization/trunk/source/flex/src/com/penbay/invision/portal/services/http/soap/ReportServices/GetAllBldgsParamsByRegionBySiteResultEvent.as' 
path not found
You have to update your working copy first.

Mon coffre de travail est à jour. J’en ai même jeté un nouveau dans un autre dossier pour vérifier qu’il n’y avait aucune foutaise au niveau local avec la fusion. J'ai fait quelques recherches supplémentaires à ce sujet et je pense qu'une partie du problème est l'erreur de l'utilisateur. Je pense que nos problèmes sont:

  1. Certains développeurs se sont engagés avec un client Subversion avant la version 1.5 et d'autres après. Je pense que cela pourrait corrompre les informations de fusion.
  2. Dans d'autres branches, nous avons effectué des fusions partielles. C'est-à-dire que nous n'avons pas toujours effectué des fusions à la racine de la branche. Cela visait à faciliter la mise à jour des efforts Flex et .NET au sein de la même branche.
  3. Nous avons effectué des fusions (réflexives) cycliques sur notre branche. Cela a été fait parce que nous avions plusieurs branches parallèles et que nous voulions mettre à jour périodiquement notre branche avec le dernier code dans le coffre.

Toutes ces choses ne sont explicitement pas recommandées par le livre / l'équipe Subversion. Nous avons appris notre leçon et connaissons maintenant les meilleures pratiques. Cependant, nous devons d’abord fusionner et valider notre dernière branche.

Quel est le meilleur moyen de corriger les problèmes rencontrés?

La suppression de toutes les informations de fusion dans le tronc et la branche serait-elle une solution viable? Non. Je l’ai fait mais cela ne résout pas l’erreur que j’obtiens ci-dessus.

Était-ce utile?

La solution

J'ai le même problème aujourd'hui et je n'ai pas fait de fusion intermédiaire. Par conséquent, à partir de votre message d'ouverture, seul le n ° 1 est susceptible d'être appliqué. Heureusement, dans mon cas, aucune modification n'a été apportée au coffre afin que je puisse simplement remplacer le coffre par la branche. Peut-être différentes versions de svn alors? C'est assez inquiétant.

Si vous utilisez les fonctions svn move / copy / delete bien qu'aucun historique ne soit perdu dans mon cas, i svn a déplacé le tronc, puis svn a déplacé la branche vers le tronc.

Autres conseils

Je viens d'avoir ce problème, et la cause semblait être qu'un répertoire avait été marqué comme étant en conflit. Pour réparer:

svn update
svn resolved <the directory in conflict>
svn commit

Je recevais ceci sur le serveur 1.6.2, 1.6.8 Tortoise. Sous Windows, aucune fusion dans cette branche.

J'ai renommé un répertoire et d'une manière ou d'une autre (probablement à cause d'AnkhSVN), deux des fichiers du répertoire étaient marqués comme "remplacés". plutôt que "normal". Des modifications mineures supplémentaires ont été apportées à d'autres fichiers du répertoire.

La restauration des fichiers marqués comme remplacés a résolu le problème.

J'ai également eu le même problème et j'ai résolu le même problème de la manière suivante

svn resolve --accept=working <FILE/FOLDER NAME>
svn cleanup
svn update <FILE/FOLDER NAME>
svn commit <FILE/FOLDER NAME> -m "Comment"

J'espère que cela vous aidera:)

J'ai eu le même problème en essayant de valider ma copie de travail. Ce que j’ai fait, c’est d’ajouter le dossier que Subversion a signalé comme "chemin introuvable". à la liste des ignorés. S'engager (devrait réussir). Ajoutez ensuite le même dossier à Subversion. S'engager à nouveau.

Je viens d'avoir un problème similaire, mais sans aucune ramification ni fusion pour causer le problème. Ma solution de contournement était de:

  • svn exporte mon dossier de travail (y compris les fichiers non versionnés) dans un dossier temporaire.
  • renommer le dossier de travail en sauvegarde.
  • svn extraire le coffre.
  • copier tous les dossiers du dossier d'exportation temporaire sur le nouveau dossier de travail.
  • svn commit.

Tout semble aller bien maintenant.

Je sais que c'est un ancien message, mais ce problème se pose encore assez fréquemment. Le moyen le plus simple que j'ai trouvé pour le résoudre consiste à renommer / supprimer le fichier .svn / all-wcprops du dossier concerné, puis à exécuter une mise à jour et une validation.

J'ai eu le même problème, je ne sais pas quelle est la raison derrière, mais j'ai corrigé en tapant dans le terminal

svn update

puis je commets et boum ça marche!

Oh mon Dieu! Cela semble mauvais! La seule option à laquelle je peux penser est que la copie de travail est corrompue.

Essayez de supprimer la copie de travail, d'effectuer une nouvelle extraction et de fusionner à nouveau.

Si cela ne fonctionne pas, alors enregistrez un bogue.

Je suis incapable de trouver une solution satisfaisante à ce problème. Cependant, j'ai trouvé une solution peu satisfaisante.

J'ai supprimé tous les fichiers dans le coffre et validé ces modifications. J'ai ensuite exporté mon code de succursale dans le coffre, ajouté tous les fichiers et effectué une validation importante. Cela a eu l'effet de ma trompe imitant ma branche 1: 1 (qui est ce que je voulais de toute façon).

Malheureusement, cela crée un grand fossé car l'historique de tous les fichiers est maintenant "perdu". Mais en raison de contraintes de temps, il ne semblait pas y avoir d’autre option.

Je serai toujours intéressé par les réponses des autres, car j'aimerais savoir quelle était la cause première et comment l'éviter à l'avenir.

J'ai eu le même problème après avoir fusionné une branche avec une tonne de modifications dans mon coffre. Les deux seules solutions que j'ai pu voir étaient de faire la solution svn move proposée par Pacifika ou de fusionner manuellement les fichiers avec un outil de différenciation . Mais j'ai trouvé une solution de contournement ...

La machine qui ne fonctionnait pas fonctionnait sous le client Subversion 1.6.5. J'ai fait exactement la même chose sur une machine avec Subversion 1.5.4 et cela a fonctionné ! Sur les deux machines, j'ai effectué 1) un nettoyage complet du coffre, 2) svn merge ... et 3) svn commit. Mon serveur est 1.5.x pour ce que ça vaut.

J'espère que cela aide quelqu'un.

Avait un problème similaire avec le SVN 1.6.5 sur Mac 10.6.5, mis à niveau vers SVN 1.6.9 et la validation a réussi.

J'ai eu le même problème lorsque j'ai essayé de valider un package supprimé (qui contient diverses classes java mais que rien du package n'était plus nécessaire).

Ma solution / solution de contournement afin de résoudre le problème:

  • j'ai retourné le paquet entier
  • a d'abord supprimé le contenu
  • a validé le contenu supprimé
  • enfin, j'ai de nouveau validé le package supprimé (et cela a fonctionné dans la plupart des cas: -))

Cependant, de temps en temps, il n'était pas possible de valider un package supprimé (qui ne contient rien)

Ma solution de contournement:

  • J'ai créé une classe fictive dans le package
  • et après cela, j'ai répété les étapes mentionnées ci-dessus

Mon dernier indice ...

Mais parfois, il est simple de synchroniser une fois de plus le paquet / projet et ensuite tout fonctionne à nouveau.



A propos de ma configuration:

  • Eclipse Neon
  • Interface SVN: JavaHL (JNI) 1.8.13 (r1667537)
  • Gestionnaire de serveur VisualSVN, version: 3.3.1



Peut-être que je pourrais aider quelqu'un avec l'un de mes conseils.

Je pense avoir vu quelque chose de similaire lorsque des dossiers ont été déplacés sur le serveur, mais que les copies de travail étaient toujours liées à l'ancienne structure de dossiers SVN. Je ne sais pas si quelqu'un a déplacé des objets dans votre coffre avant d'avoir eu la possibilité de fusionner la branche.

Est-ce une possibilité?

Cela ressemble à un problème lié à la propriété svn: mergeinfo de se détraquer entre la branche et le tronc.

Ce qui conduit aux questions suivantes (pardonnez mes instructions en ligne de commande car j'ai beaucoup utilisé tortoise):

  1. Fusionnez-vous au niveau racine du coffre ou au niveau des sous-dossiers? D'après mon expérience, il est toujours préférable de le faire au niveau de la racine, de cette manière, le tronc entier pense qu'il a été fusionné au lieu d'une partie (cela semble confondre grandement svn dans la version 1.5.0)

  2. Ma prochaine question est la suivante: utilisiez-vous le paramètre - reintergrate ? Je ne me souviendrai jamais comment arriver à cela en tortue, mais lorsque vous revenez dans le coffre depuis une branche, vous devez utiliser ce paramètre.

  3. Avez-vous fusionné le tronc dans la branche avant de vous réintégrer? Cela peut aider à éliminer les conflits que vous pourriez voir lors de votre fusion?

  4. Avez-vous des propriétés svn: mergeinfo sur la branche qui ne se trouvent pas au niveau racine? J'ai trouvé que cela pose toujours des problèmes. Vous pouvez toujours trouver cela en allant dans svn -R pg svn: mergeinfo . Vous pouvez ensuite enregistrer les emplacements et les révisions situés sous la racine. Si vous les trouvez pertinents, déplacez-les vers la racine avec svn merge --record-only -r début: fin < emplacement > et puis supprimez-les des emplacements de sous-racine avec svn pd svn: informations de fusion < emplacement > Vous devez ensuite valider ces modifications

  5. Une fois tout ce qui est fait, essayez de fusionner à nouveau.

J'en doute, mais peut-être qu'exécuter svn cleanup sur votre répertoire de travail vous aidera.

J'ai rencontré le même problème, me suis cogné la tête et constaté que j'avais changé le répertoire dans le repertoire de "/ quot". vers " / trunk " et oublié de faire le "Switch" commande, dans TortoiseSVN!

Wow, celui-ci m'a pris un certain temps à résoudre, car j'utilisais SVN via Eclipse. En fin de compte, la seule chose qui a fonctionné pour moi a été de valider tous les fichiers non affectés, puis (avec Eclipse fermé) de renommer le répertoire du projet et de re-extraire le projet à partir de SVN. Heureux que cela fonctionne correctement maintenant!

Apparemment, SVN n’est pas un programme très fiable. J'ai eu le même problème (en utilisant SVN avec Turtoise) et je l'ai résolu en enregistrant le contenu du fichier .cs, puis en remontant 1 révision. Cela a montré des conflits comme ceci: < < < < < < < nom de fichier mes modifications

=======     code fusionné du référentiel révision "

alors que je n'ai rien fait de spécial (une seule fois, rétablissez une révision).

J'ai remplacé le contenu de ce fichier par le contenu enregistré, enregistré puis sélectionné via TortoiseSVN & # 8594; Résolu. Je pourrais ensuite valider les modifications dans le référentiel.

Merci à Jamie Bullock pour ce travail pour moi

Selon Jamie Bullock,

Je viens d'avoir ce problème, et la cause semblait être qu'un répertoire avait été marqué comme étant en conflit. Pour réparer:

  1. svn update
  2. svn résolu
  3. svn commit
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top