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

94

Je vois un fichier dans la fenêtre des modifications en attente. J'essaie de le comparer avec la dernière version et j'obtiens 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é dans ce fichier? Puis-je configurer TFS pour ne pas répertorier les fichiers identiques?

développeur
la source
Dans quelle mesure votre antivirus met-il à jour la date de dernière modification des fichiers? Ou vous travaillez sur un ordinateur portable crypté?
DOK
ScottGu explique comment l'antivirus peut modifier ces dates dans cet article (recherchez "virus") weblogs.asp.net/scottgu/archive/2006/09/22
DOK
58
Cela doit être l'une des "fonctionnalités" les plus ennuyeuses de TFS
Brad Thomas
J'ai aussi ce problème - TF fonctionne, mais pas TFPT - Je pense que c'est parce que j'utilise "TFPT - Team Foundation Power Tools 2012" avec l'espace de travail Visual Studio 2010 ...: - /
BrainSlugs83
Il semble que tout ce que j'avais à faire était de me connecter à la même collection dans Visual Studio 2012. Voir cet article pour plus de détails: stackoverflow.com/questions/1758606
...

Réponses:

49

Ceci est normal si un fichier est automatiquement extrait en raison d'une modification et si finalement le contenu du fichier est remis à 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 façon pas si intuitive de gérer cela; et dans les commentaires, il y a une suggestion encore meilleure pour le gérer via la ligne de commande via les outils électriques TFS.

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

facilitateur
la source
12
Je vous recommande fortement d'utiliser l' tfpt uuoutil électrique et non la solution hacky "No To All". Seules les modifications ajoutées et modifiées obtiennent cette invite. Par exemple: les renommages (qui sont uniquement en attente de changement de nom, pas de changement de nom + d'édition) seront annulés par l'interface utilisateur sans invite.
Edward Thomson
8
Dans le cas où le billet de blog original disparaîtrait, la commande est tfpt uu /noget /r *, qui doit être exécutée à partir de la racine de la branche. En disant cela, bien qu'il détecte correctement les modifications redondantes, puis prétend les annuler, je les vois toujours comme extraits dans VS et dans la boîte de dialogue Archiver, donc cela me semble cassé: /
Mike Chamberlain
2
Une autre possibilité que cela se produise est si vous basculez le bit "lecture seule" d'un fichier sans modifier réellement son contenu. TFS peut parfois être ennuyeux.
arviman
1
Pour référence, la solution «Non à tous» est copiée ici à partir du lien: «Une autre option consiste à« Annuler l'extraction »de toutes les modifications, et en cliquant sur« Non à tous »lorsqu'on vous demande de confirmer l'annulation de l'extraction. De cette façon, Visual Studio va "Annuler l'extraction" tous les fichiers qui ne sont pas modifiés, et tous les fichiers modifiés resteront extraits. J'utilise toujours cette méthode. "
PJSimon
Cette astuce "No To All" est sympa, mais elle a quelques inconvénients. Par exemple, j'utilise mon outil pour générer des classes DB EntityFramework. Je les génère dans un répertoire extérieur, puis je les fais simplement glisser dans ma solution. Parfois, lorsqu'il n'y a pas de modifications, il affiche toujours les modifications. Cette astuce "Non à tous" les supprime. Mais s'il y a de nouvelles classes ajoutées, qui n'existaient pas auparavant, cela les supprime du contrôle de code source - je dois les rajouter avec la main.
Souhait
17

Récemment, je viens de mettre à jour VS2010 vers VS 2013, et ce problème est encore pire. Lorsque vous utilisez la comparaison, les fichiers identiques n'apparaissent pas du tout. Je déteste cela car vous ne pouviez pas déterminer quels fichiers sont vraiment modifiés tant que vous n'avez pas vérifié attentivement les fichiers de comparaison.

Enfin, je trouve une solution de contournement pour cela:
Ajouter "Annuler les extractions inchangées" dans les outils externes:

  • Commander: 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 de vérification, en fait ils sont déjà annulés et identiques à la dernière version. Je pense que c'est un bogue 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!

zmaggie
la source
2
J'ai exécuté "tfpt uu. / Noget / recursive", et il prétend qu'il n'y a pas de changements en attente redondants dans l'espace de travail. VS2015, TFPT 2015. Tous mes changements sont des changements vides [fusionner].
fastmultiplication
J'avais essayé cela sans succès. La suppression du point de l'argument semble le faire fonctionner correctement: uu / noget / recursive
dperez
10

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 commandes Visual Studio (également appelée Invite de commandes du développeur pour VS 2013/2015) à partir de Windows Démarrer.
  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 d'annuler les modifications redondantes si vous y êtes invité.

A 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 non trouvée), avant de naviguer vers le dossier de l'espace de travail et de l'exécuter. Si je vais directement au bon dossier, la commande n'est pas trouvée. (Cela ne me dérangerait pas une solution à ce problème en soi.)

Phil
la source
Merci-du-30 novembre-2015. Je reçois le même problème à maintes reprises et votre réponse était parfaite. J'ai essayé de vous voter, mais j'ai eu une sorte d'erreur de «continuum espace-temps». Quelque chose à voir avec le 30 novembre 1955 et "requis 1,21 gigawatts non trouvé".
Phil
Malheureusement ne fonctionne pas pour moi. Unable to determine the workspace. J'ai déjà essayé de mettre à jour le cache de l'espace de travail, sans succès. Après 2 heures, je vais simplement abandonner et enregistrer les fichiers non modifiés pour m'en débarrasser.
C4d du
@ C4u J'ai peut-être commencé à en faire l'expérience moi-même, depuis le passage à VS 2015. Cependant, le problème avec les fichiers extraits a disparu. Je vais voir ce que je peux découvrir.
Phil
1
Je n'ai pas pu trouver les PowerTools à l'aide de NuGet, mais j'ai pu le trouver et l'installer via une recherche Google "Microsoft Visual Studio Team Foundation Server 2013 Power Tools"
Colin
@Versatile En regardant Visual Studio 2017, vous devrez aller dans 'Outils'> 'Extensions et mises à jour ...' Je ne me souviens pas de la structure du menu en 2013/15. Peut-être que ma réponse doit être corrigée. Si vous avez VS 2013/15 et que vous pouvez vérifier la structure du menu, n'hésitez pas à modifier ma réponse. :)
Phil
1

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

Il a résolu le fichier inchangé que j'avais dans ma Changessection. Sympa et simple.

Tom 'Blue' Piddock
la source
0

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, 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 source TFS pour "Modifier ..." l'espace de travail TFS et modifiez le paramètre "Avancé ..." - emplacement du serveur à Local.

Rolf Kristensen
la source
Mon espace de travail est local, mais les fichiers non échangés apparaissent toujours dans les modifications en attente ... Cela n'annule pas automatiquement l'extraction ...
Ozkan
0

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 -> "Réconcilier l'espace de travail ..."
AnonyMouse
la source