Comment trouver et afficher un ensemble de modifications TFS par texte de commentaire?


130

Avec TFS, j'ai besoin de trouver un ensemble de modifications par commentaire et / ou par développeur. Peut-être que je suis juste aveugle aujourd'hui, mais je ne vois pas un moyen simple dans l'explorateur de contrôle de source de faire cette tâche?


Maintenant dans VSTS / dernier TFS, vous pouvez maintenant filtrer les commits par auteur dans l'historique des commits, mais il semble que vous ne pouvez toujours pas filtrer / rechercher sur les commentaires des commits ... Je ne comprends pas en fait comment cela ne peut pas être proposé, j'ai créé une requête sur uservoice: visualstudio.uservoice.com/forums/…
Sÿl

Réponses:


21

Avec les outils électriques installés:

tf history $/ -r | ? { $_.comment -like '*findme*' }

3
Excusez mon ignorance, mais quel est le "?" commande dans laquelle vous insérez le résultat de tfhistory?
Mal Ross

3
C'est l'alias standard pour Where-Object. Voir "help where -full" pour plus de détails.
Richard Berg le

4
Cela ne fonctionne pas directement à une cmd.exeinvite, mais cela fonctionne dans une console PowerShell (avec quelques ajustements au format du paramètre -like).
Emyr

166

Si vous avez installé TFS Power Tools, vous pouvez l'exécuter dans une invite de commandes:

tfpt searchcs

pour obtenir une fenêtre GUI avec des options de recherche par committer et texte de commentaire. J'utilise TFS Power Tools (version de mars 2011) et TFS 2010.


4
Cela a fonctionné pour moi, avec quelques raclées sur les paramètres. Server name: le format d'URL de mon serveur était tfs01: 8080 / tfs , que j'ai trouvé dans VS2010, menu Équipe, Se connecter à Team Foundation Server, Serveurs ... bouton, et il y avait le serveur existant. Under server path:J'ai remarqué qu'il recherchait vraiment le chemin de la carte locale, donc c'était C: \ tfs \ myfolders \ etc, pas le chemin de l'url du point de vue du serveur.
revoir

1
Stackoverflow a converti mon commentaire ci-dessus concernant le format de mon URL en lien. C'est vraimenthttp://tfs01:8080/tfs
revoir

A travaillé pour moi avec VS2010, même si TFS est 2008. Dernière version de TFPT2010, août 2011
Paul Kapustin

1
Fonctionne également dans Visual Studio 2012 avec TFS 2012.
jessegavin

2
Cela a fonctionné pour moi à partir de cmd.exe mais pas à partir de la fenêtre de commande VS.
rstackhouse

100

FACILEMENT et aucune application / add-on tiers nécessaire:

  1. Explorateur de contrôle Open Source
  2. "Afficher l'historique" à partir de la racine du serveur TFS
  3. Faites défiler vers le bas (c'est rapide en appuyant sur le bouton «Fin» en continu)
  4. Sélectionnez tous les enregistrements, copiez
  5. Ouvrez Excel et collez

Maintenant, Excel vous permettra de rechercher dans les commentaires (Excel est une application native, ne discutez pas ..).


14
Je ne pense pas que vous rechercherez dans tout le message de validation des messages de validation plus longs en utilisant cette méthode (notez les ellipses présentes lorsque vous collez), ce qui le rendrait utile si vous êtes sûr que vous cherchez quelque chose dans le premier -line synopsis, mais dangereux sinon.

1
une telle configuration simple et nulle
Mostafa Armandi

5
J'avoue, au début, j'ai grincé des dents quand j'ai lu ceci pour la première fois, mais ensuite j'ai dit de diable avec des outils tiers, cette idée fonctionne très bien. Je vous remercie!
Chris Hawkes

3
Ce n'est pas une solution lorsque vous avez plus de 100.000 changesets
Diogo Luis

3
C'est triste que je doive faire ça. ;)
Kai Hartmann

20

Il existe un complément Visual Studio qui le fait maintenant: http://visualstudiogallery.msdn.microsoft.com/3f65dee8-5a44-4771-929b-26531c482fbf .


3
C'est dommage que ce ne soit pas disponible pour VS 2012 et VS 2013
Andrija

2
Si vous allez sur le site CodePlex du projet, vous trouverez une version VS2012 (que je n'ai pas testée). findchangeset.codeplex.com
Maarten

2
Mais pour être honnête, l'utilisation tfpt searchcsest plus facile.
Maarten

Ah, oui. Je l'ai déjà utilisé mais je ne me souviens pas comment je l'ai commencé, lol. Vous venez de démarrer Visual Studio Command Promptet d'exécuter la commande @Maarten mentionnée ci-dessus. Bien sûr, vous installez d'abord Power Tools!
strider

15

Sinon, sans avoir à installer d'outils électriques, la commande suivante fonctionnera si vous recherchez le terme de recherche findme .

Les fenêtres: tf history "$/Team Project/Development" /noprompt /recursive | findstr findme

Linux: tf history "$/Team Project/Development" /recursive | grep findme

NB . Merci de remercier ce gars si vous avez trouvé cela utile.


2
ajoutez "/ format: détaillé" si vous souhaitez rechercher l'intégralité du message. Si cela prend trop de temps, définissez des limites de date (par exemple "/ v: D1 / 1/2012 ~ D12 / 31/2012") pour réduire l'espace de recherche.

8

Vous pouvez utiliser le client en ligne de commande: dirigez la sortie de l' historique tf vers un fichier, puis utilisez le programme de recherche de votre choix.


5
exemple: tf history $ / / r / user: username / format: détaillé> d: \ changeset_details.txt
ray


2

Je ne connais pas un moyen de le faire par texte de commentaire, mais cela permettra une recherche par développeur:

Si vous ouvrez l'élément de menu Fichier-> Contrôle de source-> Rechercher dans le contrôle de source-> Ensembles de modifications ... (vous devez être dans l'Explorateur de contrôle de source pour que cela soit disponible). Cela ouvrira la boîte de dialogue Rechercher les ensembles de modifications. Vous pouvez ensuite rechercher des ensembles de modifications par développeur sur un dossier source (ou projet) donné.

Cela vous montrera les commentaires, mais vous ne pouvez pas les rechercher. (Bien que vous puissiez trier la liste en fonction des commentaires et trouver le commentaire que vous recherchez de cette façon.)

En passant, si vous souhaitez voir les détails du changeset via cette boîte de dialogue, vous devez cliquer sur le bouton Détails. Un double-clic sur un ensemble de modifications ferme la boîte de dialogue.


1
@Downvoter - Pourquoi le downvote? Le PO dit «et / ou développeur». Ceci est une "réponse du développeur ou".
Vaccano

2

Pour voir les enregistrements d'un membre de l'équipe:

Dans Team Explorer, accédez au projet d'équipe, accédez aux membres de l'équipe, cliquez avec le bouton droit de la souris sur le membre de l'équipe dont vous souhaitez voir les ensembles de modifications et sélectionnez «Afficher l'historique d'archivage».


2

J'ai ajouté à tfpt searchcspartir des outils électriques TFS en tant qu'outil externe dans VisualStudio:

  • Commande: C:\Program Files (x86)\Microsoft Team Foundation Server 2015 Power Tools\TFPT.EXE (ou partout où vous avez installé vos outils électriques TFS)
  • Arguments: searchcs /collection:http://tfsserver:8080/tfs $(SolutionDir) (le chemin de la solution est converti en chemin du serveur)
  • Répertoire initial: c:\path\to\your\vs\IDE(sauf si le tf.exeest dans votre chemin (ce qui n'est pas le cas par défaut), cela garantit que vous pouvez afficher les détails de l'ensemble de modifications à partir de la boîte de dialogue de recherche, car il s'exécute tf.exe)

1

J'ai pu le faire dans la section du code du portail Web TFS.

Accédez à TFS dans votre navigateur, accédez au code, cliquez sur les ensembles de modifications, puis sur la recherche avancée. Vous pouvez filtrer par utilisateur et par plage de dates. Vous ne pouvez pas effectuer de recherche par commentaire, mais si vous avez une plage de dates générale en tête, vous pouvez la filtrer puis utiliser la recherche du navigateur (ctrl + f).


C'est beaucoup plus facile que de copier vers Excel. Meilleure réponse à ce jour, à mon humble avis. Vous n'avez même pas besoin de saisir la plage de dates; cliquez simplement sur rechercher et vous obtiendrez tous les ensembles de modifications; avec des commentaires.
Protector one du

1
Il n'y a pas de recherche avancée pour moi: /
Twometer

il doit avoir déménagé ou changé depuis 2015.
Aligné le
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.