TF203015 L’élément $ / path / file a un changement en attente incompatible. En essayant de se déshabiller

J’utilise Visual Studio 2010 Pro contre Team Server 2010 et mon projet a été ouvert (apparemment) en tant que solution à partir du repository, mais j’aurais dû l’ouvrir en tant que “site Web”. Je l’ai découvert lors de la compilation, j’ai donc mis mes modifications à jour et supprimé le projet de mon disque local, puis j’ai rouvert le projet à partir de la source (cette fois en tant que site Web) et maintenant je ne peux plus désinstaller mes fichiers.

Est-il possible de contourner ce problème? Ai-je soufflé quelque chose? Dois-je faire une maintenance sur le serveur?

J’ai trouvé cette question sur SO # 2332685 mais je ne sais pas de quels fichiers de cache il parle (je suis sur XP: \) EDIT: Trouvé ce lien après avoir posté la question, désolé pour le retard dans la recherche, toujours pas corriger mon problème

Bien sûr, je ne trouve pas de code d’erreur pour TF203015, donc pas de résolution non plus (d’où mon inclusion du numéro dans le titre, oui?)

EDIT: Je devrais probablement mentionner que ces fichiers n’ont jamais été enregistrés en premier lieu. Est-ce important? Pouvez-vous ranger un article non vérifié? Est-ce ce que j’ai fait de mal?

EDIT: WHAP – FOUND IT !!! Utilisez “Annuler” sur les éléments qui n’existent pas car ils apparaissent dans les modifications en attente en tant que checkins.

J’avais supprimé les fichiers en essayant de recharger l’espace de travail, même si j’avais mis les modifications en suspens. Ensuite, VS2010 pensait que ces fichiers étaient toujours en attente de sauvegarde. Je n’avais pas besoin de ça, alors j’ai dû trouver “défaire” les changements dans les modifications en attente.

Alors je pourrais me déshabiller.

Je pensais que j’avais deux opérations (unshelve, commit-for-add) qui se déroulaient simultanément, et je pensais n’avoir qu’une seule opération (unshelve).

Ceci est un léger côté de la question du PO

Vous pouvez obtenir un TF203015 lorsque vous essayez de fusionner plusieurs lots d’une twig à l’autre sans avoir à le faire.

Considérons une situation où vous avez une ligne principale et une twig DEV. Vous avez dérivé DEV de MAIN et avez travaillé avec diligence sur une fonctionnalité dans DEV; vérifier le travail dans DEV lorsque vous avez progressé. Maintenant, avancez une semaine ou deux. Vous êtes maintenant complet et souhaitez fusionner dans MAIN.

C’est là que l’un de nos développeurs a rencontré cette erreur.

Il travaillait sur une solution depuis des semaines et vérifiait périodiquement les modifications apscopes à DEV, et souhaitait donc fusionner une série de modifications non contiguës dans MAIN. Ainsi, il choisit l’option de fusion, sélectionne le premier ensemble de modifications; fusionne sans problème, puis a immédiatement fusionné le prochain changeset; et coup TF203015, et son test très inutile dans la fenêtre de sortie; modifications en attente incompatibles.

Après un petit tour de passe-passe nous réalisons maintenant ce qui se passe ici; la première fusion a créé une modification en attente dans MAIN pour la solution développeurs. La prochaine tentative de fusion a également apporté des modifications à la même solution, ce qui obligerait TFS à “mettre en queue” un deuxième ensemble de modifications en attente sur les mêmes fichiers. Il ne peut pas faire ça.

Donc, dans ce scénario, TF203015 signifie; “La twig de destination a déjà des modifications en attente sur certains fichiers modifiés dans cet ensemble de modifications. Veuillez résoudre et valider les modifications de la twig de destination avant d’effectuer cette opération de fusion”

La solution; Après chaque opération de fusion, notre développeur teste l’espace de travail pour MAIN et valide la modification en attente provoquée par la fusion, puis retourne à DEV et se répète.

En fait sensible et simple, mais masqué par un message d’erreur très obtus.

Vous pouvez utiliser les outils Power Team Server Server de mars 2011 ( http://msdn.microsoft.com/en-us/vstudio/bb980963.aspx ) qui incluent la commande tfpt unshelve .

Une fois les outils d’alimentation installés, ouvrez une invite de commande Visual Studio, tfpt unshelve au répertoire contenant le projet qui vous intéresse et exécutez la commande tfpt unshelve . Il désarchivera et affichera la boîte de dialog de fusion pour que vous puissiez résoudre les conflits.

Je pense que cet article de blog m’aide à trouver cette solution: http://fluentbytes.com/the-how-and-why-behind-tf203015-file-has-an-incompatible-change-while-unshelving-a-shelve- ensemble

J’avais ce qui semblait être le même problème, mais j’avais créé une twig après avoir mis mes modifications en attente et je voulais supprimer ces modifications dans la nouvelle twig.

TFS ne peut pas aller vers un chemin différent de celui sur lequel l’étagère a été créée.

Solution: Je suis revenu à la twig d’origine, puis j’ai utilisé au-delà de la comparaison pour fusionner les modifications de ma twig d’origine à la nouvelle twig et les archiver.

Il se peut aussi qu’après avoir créé un dossier dans say un “Test” et que vous souhaitiez fusionner de dev en test, vous n’avez pas cette structure de dossier nouvellement créée vérifiée dans TFS – Vous pourrez également obtenir ce message d’erreur.

Ainsi, cette erreur de message PEUT se produire sans rien avoir à faire avec SHELVESETS aussi bien pour les autres venant de Google et trouver cette page.

Cela pourrait être la même que la réponse de Jcolebrand, mais j’ai peur de trouver la formulation un peu abstraite. Sincères excuses si je ne fais que répéter.

Dans mon scénario, le message de incompatible pending change était présenté car j’essayais de restaurer plusieurs modifications et le même fichier était affecté par plusieurs modifications.

Dans mon cas, je ne voulais pas m’engager tant que tous les changements n’auraient pas été annulés. Je pense que si j’avais pu m’engager après avoir annulé chaque changement, l’erreur ne se serait pas produite.

La méthode qui a fonctionné pour moi était la suivante:

  • J’ai opté pour un retour à la fois. J’ai trouvé que l’utilisation de la ligne de commande était en fait un moyen plus instructif de le faire car elle répertorie tous les conflits, alors que je pense que la restauration de l’interface utilisateur VS ne fait que lister le premier.
  • Lors de l’annulation d’un ensemble de modifications, s’il y avait une incompatible pending change , je devais annuler les modifications en attente de mon espace de travail pour les fichiers concernés.
  • Lorsque tous les modifications ont été annulées, j’ai dû annuler manuellement les fichiers ayant subi des incompatible pending change . La plupart du temps, cela pourrait être réalisé simplement en obtenant une version spécifique du fichier (la version “last-connues-bonne” avant que toutes les mauvaises vérifications ne commencent). Mais pour certains fichiers où il y avait eu à la fois des modifications souhaitées et des modifications non désirées, j’ai obtenu le “dernier résultat connu” et appliqué manuellement les bonnes modifications.

Ce lien a résolu mon problème:

https://blogs.infosupport.com/the-how-and-why-be-tf203015-lt-file-gt-has-an-incompatible-change-while-unshelving-a-shelve-set/

La raison en attente de modification dans le même espace de travail crée un changement incompatible. Donc, annulez les modifications en attente et essayez unshelve. Cela devrait résoudre le problème.

Si vous avez deux twigs MAIN (cible) et DEV (source), vous voulez maintenant fusionner DEV en MAIN, alors tous les fichiers que vous voulez fusionner avec votre source ne doivent pas être plus anciens que les fichiers similaires de votre twig cible.

Par exemple: vous avez modifié le fichier test.cs dans votre twig DEV, modifié au 14.03.2016. Dans votre agence MAIN, vous avez changé le test.cs au 15.03.2016. La cible est donc plus récente que le fichier source et vous avez TF203015.

Solution: naviguez dans l’explorateur TFS vers le fichier de conflit et fusionnez-le explicitement. TFS ouvrira le gestionnaire de conflits et vous pourrez fusionner les conflits manuellement. Vous pouvez ensuite fusionner le groupe de modifications sélectionné.

Remarques: Si vous avez plus de conflits, vous devez accéder à chaque fichier de conflit et le fusionner de manière explicite afin que TFS ouvre le gestionnaire de conflits et que vous puissiez le fusionner manuellement.