2010-06-15 23 views
0

Dans Visual Studio 2005, dans l'Explorateur de contrôle de source TFS, il s'agit d'un noeud de niveau supérieur pour le serveur TFS lui-même, avec un noeud enfant pour chaque projet d'équipe. Un clic droit sur le nœud du serveur ou sur le nœud d'un projet d'équipe donne un menu contextuel sur lequel se trouve un élément View History. En sélectionnant cette option, vous obtenez une fenêtre Historique affichant les 200 dernières modifications, soit pour le projet d'équipe spécifique sélectionné, soit pour tous les projets d'équipe.Comment VS 2005 fournit-il de l'historique pour tous les projets d'équipe TFS lorsque tf.exe ne le peut pas?

C'est cette histoire à travers tous les projets d'équipe que je m'interroge. La commande tf.exe history de ligne de commande fournit (si je comprends bien) la même fonctionnalité que celle fournie par le plug-in VS TFS Source Control. Mais je ne peux pas trouver comment obtenir tf.exe history pour fournir cette histoire across-all-Team-Projects.

Sur une ligne de commande, en supposant que je C:\ cartographié comme la racine de mon espace de travail et Foo, Bar et Baz que les projets d'équipe, je peux faire

C:\> tf history Foo /recursive /stopafter:200 

pour obtenir les 200 derniers changesets que projet d'équipe affecté Foo; ou à partir d'un dossier de projet d'équipe

C:\Bar> tf history *.* /recursive /stopafter:200 

qui fait la même chose pour le projet d'équipe Bar - noter que le caractère générique *.* est autorisé ici.

Cependant, aucun de ces travaux (chacun donne le message d'erreur affiché):

C:\> tf history /recursive /stopafter:200 

La commande histoire prend exactement un élément

C:\> tf history *.* /recursive /stopafter:200 

Impossible de déterminer la serveur de commande de source

C:\> tf history *.* /server:servername /recursive /stopafter:200 

Impossible de déterminer l'espace de travail

Je ne vois pas une option dans la documentation pour tf pour spécifier un espace de travail; il semble vouloir seulement le déterminer à partir du dossier actuel.

Alors, que fait VS 2005? Est-ce que c'est en interne faire une histoire sur chaque projet d'équipe à son tour, puis coller les résultats ensemble?

Notez également que j'ai essayé avec des outils électriques; tfpt history à partir de la ligne de commande donne exactement les mêmes messages d'erreur vu ici

Répondre

1

Vous devez être dans un répertoire mappé pour que cela fonctionne. Par exemple, si vous avez mappé "$ /" sur "C: \ TFSSOURCE", changez de répertoire en C: \ TFSSOOURCE et réessayez la commande.

+0

Aha! Cela m'a conduit à la réponse.Contrairement à ce qu'il dit dans la question, je n'avais pas * C: 'mappé à' $/'- en fait * rien * n'était mappé à' $/'et tous les projets d'équipe avaient des mappages explicites définis sur' ' C: \ Foo' etc. Configurer un mapping pour '$ /' signifie que 'tf history *. *' Fonctionne maintenant au niveau de la racine! Je me demande encore ce que VS faisait ... – AakashM

+0

C'est ainsi que fonctionne l'histoire de tf. Si vous spécifiez une spécification d'élément *. *, Elle examine le dossier de disque actuel et vérifie le mappage sur le dossier source et lance sa recherche à partir de là. – Robaticus