Visual Studio TFS affiche les fichiers inchangés dans la liste des modifications en attente

Je vois un fichier dans la fenêtre des modifications en attente. J’essaie de le comparer avec la dernière version et j’ai un message “Les fichiers sont identiques” Si les fichiers sont identiques, pourquoi ce fichier apparaît-il dans la fenêtre des modifications en attente? Qu’est-ce qui a changé à propos de ce fichier? Puis-je configurer TFS pour ne pas répertorier les fichiers identiques?

Ceci est normal si un fichier est automatiquement extrait en raison d’une modification et si, en fin de compte, le contenu du fichier revient à son état d’origine. À ce stade, vous verriez le message sur des contenus identiques lors de la comparaison.

Cette entrée de blog décrit une manière peu intuitive de gérer cela; et dans les commentaires, il y a une suggestion encore meilleure sur le traitement via la ligne de commande via les outils élecsortingques TFS.

Modifications TFS en attente ignorant les fichiers identiques …

Récemment, je viens de mettre à jour VS2010 à VS 2013, et ce problème est encore pire. Lorsque vous utilisez la comparaison, les fichiers identiques ne s’affichent pas du tout. Je déteste cela parce que vous ne pouviez pas déterminer quels fichiers sont réellement modifiés jusqu’à ce que vous vérifiiez soigneusement les fichiers de comparaison.

Enfin, je trouve une solution à ce problème:
Ajouter “Annuler les extractions inchangées” dans les outils externes:

  • Commande: tfpt.exe
  • Arguments: uu . /noget /recursive uu . /noget /recursive
  • Répertoire initial: $(SolutionDir)

Après avoir exécuté cette commande, TFS annulera automatiquement toutes les modifications redondantes dans les fichiers.
Mais ces fichiers conservent toujours leur statut, en fait ils sont déjà annulés et identiques à la dernière version. Je pense que c’est un bug dans TFS. Il vous suffit de cliquer sur l’icône Actualiser dans la barre d’outils sous l’explorateur de solutions, ces fichiers seront actualisés et afficheront le statut correct!

Pour rendre l’explication ci-dessus plus claire:

  1. Installez TFS Power Tools à l’aide du gestionnaire de packages NuGet dans VS.
  2. Ouvrez l’invite de commande Visual Studio (également appelée invite de commande de développeur pour VS 2013/2015) à partir de Windows Start.
  3. Accédez à l’emplacement racine de votre espace de travail local via l’invite de commande.
  4. Exécutez cette commande: tfpt uu. / recursive / noget
  5. Choisissez de supprimer les modifications redondantes si vous y êtes invité.

Travaillé pour moi

Plus loin:

Parfois, j’ai trouvé que je devais exécuter la commande à l’invite d’ouverture de l’invite de commande du développeur (et obtenir une erreur d’espace de travail introuvable) avant de naviguer vers le dossier de l’espace de travail et de l’exécuter. Si je vais directement au dossier correct, la commande est introuvable. (Je ne voudrais pas une solution à ce problème en soi.)

J’ai résolu ce problème en cliquant sur le bouton Stage All dans Changes puis en les désinstallant avec Unstage All .

Il a résolu le fichier inchangé que j’avais dans ma section Changes . Nice et simple.

Visual Studio 2012 a présenté un nouveau concept appelé Local Workspace .

Lorsque l’emplacement de l’espace de travail est configuré pour être local, il place une copie locale du fichier d’origine (tout comme SVN / CVS).

Il masquera alors automatiquement les fichiers inchangés des modifications en attente.

Utilisez l’explorateur de contrôle de code source TFS pour “Modifier …” l’espace de travail TFS, puis modifiez l’emplacement “Avancé …” du serveur en local.