web-dev-qa-db-fra.com

Visual Studio TFS affiche les fichiers non modifié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 à la dernière version et un message «Les fichiers sont identiques» s'affiche. 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é dans ce fichier? Puis-je configurer TFS pour ne pas répertorier les fichiers identiques?

84
dev.e.loper

Ceci est normal si un fichier est automatiquement extrait à la suite d'une modification et si son contenu est finalement ramené à son état d'origine. À ce stade, vous verrez le message sur le contenu identique lors de la comparaison. 

Cette entrée de blog décrit une manière pas si intuitive de gérer cela; et dans les commentaires, il est encore mieux suggéré de le gérer via la ligne de commande via les outils électriques TFS.

TFS en attente de modification en ignorant les fichiers identiques ...

43
Greg Loehr

Récemment, je viens de mettre à jour VS2010 à VS 2013, et le 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 pouvez pas savoir quels fichiers sont vraiment modifiés tant que vous n'avez pas vérifié les fichiers de comparaison avec soin.

Enfin, je trouve une solution de contournement pour ceci:
Ajoutez "Annuler les extractions non modifiées" dans les outils externes: 

  • Commande: tfpt.exe
  • Arguments: 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 le statut d'extraction, en réalité ils sont déjà annulés et identiques à la version la plus récente. Je pense que c'est un bug dans TFS. Il vous suffit de cliquer sur l'icône Actualiser de la barre d'outils sous l'Explorateur de solutions. Ces fichiers seront actualisés et indiqueront le statut correct!

16
zmaggie

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 du développeur pour VS 2013/2015) à partir de Windows Démarrer.
  3. Accédez à l'emplacement racine de votre espace de travail local à l'aide de la commande Invite.
  4. Exécutez cette commande: tfpt uu./récursif/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 sur l’invite d’ouverture de l’invite de commande du développeur (et obtenir une erreur d’espace de travail introuvable) avant de naviguer dans le dossier d’espace de travail et de l’exécuter. Si je vais directement au bon dossier, la commande n’est pas trouvée. (Je voudrais bien une solution à ce problème en soi.)

10
Phil

J'ai résolu ce problème en cliquant sur le bouton Stage All dans Modifications, puis en les décompactant avec Unstage All.

Cela a résolu le fichier inchangé que j'avais dans ma section Changes. Sympa et simple.

1
Tom 'Blue' Piddock

Pour moi, la réconciliation de l'espace de travail résout ces modifications en attente non valides:

  1. Team Explorer -> Constructions
  2. Faites un clic droit sur la dernière version avec vos modifications -> "Rapprocher l'espace de travail ..."
0
AnonyMouse

Visual Studio 2012 a introduit un nouveau concept appelé Espace de travail local .

Lorsque l'emplacement de l'espace de travail est configuré pour être local, une copie locale du fichier d'origine sera alors placée (tout comme SVN/CVS).

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

Utilisez l'explorateur de contrôle de source TFS pour "Modifier ..." l'espace de travail TFS et modifiez le paramètre "Avancé ..." - en définissant l'emplacement du serveur sur le local.

0
Rolf Kristensen