Wie finde und zeige ich einen TFS-Änderungssatz nach Kommentartext?


130

Mit TFS muss ich einen Änderungssatz nach Kommentar und / oder Entwickler finden. Vielleicht bin ich heute nur blind, aber ich sehe im Quellcodeverwaltungs-Explorer keine einfache Möglichkeit, diese Aufgabe zu erledigen?


In VSTS / dem neuesten TFS können Sie jetzt Commits nach Autor im Commit-Verlauf filtern, aber es scheint, dass Sie Commits-Kommentare immer noch nicht filtern / suchen können ... Ich verstehe eigentlich nicht, wie dies nicht vorgeschlagen werden kann, ich habe eine Anfrage erstellt auf uservoice: visualstudio.uservoice.com/forums/…
Sÿl

Antworten:


21

Mit den installierten Elektrowerkzeugen:

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

3
Entschuldigen Sie meine Unwissenheit, aber was ist das "?" Befehl, in den Sie das Ergebnis der Geschichte leiten?
Mal Ross

3
Dies ist der Standardalias für Where-Object. Ausführliche Informationen finden Sie unter "Hilfe wo -voll".
Richard Berg

4
Dies funktioniert nicht direkt an einer cmd.exeEingabeaufforderung, sondern in einer PowerShell-Konsole (mit einigen Änderungen am Format des Parameters -like).
Emyr

166

Wenn Sie TFS Power Tools installiert haben, können Sie dies an einer Eingabeaufforderung ausführen:

tfpt searchcs

um ein GUI-Fenster mit Optionen zum Suchen nach Committer und Kommentartext zu erhalten. Ich verwende TFS Power Tools (Version März 2011) und TFS 2010.


4
Dies funktionierte für mich mit einigen Änderungen an den Einstellungen. Server name: Mein Server-URL-Format war tfs01: 8080 / tfs , das ich in VS2010, Team-Menü, Schaltfläche Mit Team Foundation Server verbinden, Server ... gefunden habe, und es gab den vorhandenen Server. Under server path:Mir ist aufgefallen, dass wirklich nach dem lokalen Kartenpfad gesucht wird, also war es C: \ tfs \ myfolders \ etc, nicht der URL-Pfad aus Sicht des Servers.
Goodeye

1
Stackoverflow hat meinen obigen Kommentar zu meinem URL-Format in einen Link konvertiert. Es ist wirklichhttp://tfs01:8080/tfs
goodeye

Arbeitete für mich mit VS2010, obwohl TFS 2008 ist. TFPT2010 neueste Version, August 2011
Paul Kapustin

1
Funktioniert in Visual Studio 2012 auch mit TFS 2012.
Jessegavin

2
Dies funktionierte für mich von cmd.exe aus, aber nicht vom VS-Befehlsfenster aus.
Stapelhaus

100

EASY WAY und keine Apps / Add-Ons von Drittanbietern erforderlich:

  1. Öffnen Sie den Quellcodeverwaltungs-Explorer
  2. "Verlauf anzeigen" im Stammverzeichnis des TFS-Servers
  3. Scrollen Sie nach unten (es geht schnell, wenn Sie kontinuierlich auf die Schaltfläche "Ende" klicken).
  4. Alle Datensätze auswählen, kopieren
  5. Öffnen Sie Excel und fügen Sie es ein

Jetzt können Sie mit Excel Kommentare durchsuchen (Excel ist eine native App, streiten Sie sich nicht ..).


14
Ich glaube nicht, dass Sie mit dieser Methode die gesamte Festschreibungsnachricht nach längeren Festschreibungsnachrichten durchsuchen werden (beachten Sie die Ellipsen, die beim Einfügen vorhanden sind). Dies wäre hilfreich, wenn Sie sicher sind, dass Sie zuerst nach etwas suchen -Linie Synopse, aber sonst gefährlich.

1
so eine einfache und Null-Konfiguration Weg
Mostafa Armandi

5
Ich gebe zu, zuerst habe ich mich zusammengekauert, als ich das zum ersten Mal gelesen habe, aber dann habe ich gesagt, dass diese Idee gut funktioniert. Danke dir!
Chris Hawkes

3
Dies ist keine Lösung, wenn Sie mehr als 100.000 Änderungssätze haben
Diogo Luis

3
Es ist traurig, dass ich das tun muss. ;)
Kai Hartmann

20

Es gibt ein Visual Studio-Add-In, das dies jetzt erledigt: http://visualstudiogallery.msdn.microsoft.com/3f65dee8-5a44-4771-929b-26531c482fbf .


3
Es ist eine Schande, dass es für VS 2012 und VS 2013 nicht verfügbar ist
Andrija

2
Wenn Sie zur CodePlex-Site des Projekts gehen, finden Sie eine VS2012-Version (die ich nicht getestet habe). findchangeset.codeplex.com
Maarten

2
Aber um ehrlich zu sein, ist die Verwendung tfpt searchcseinfacher.
Maarten

Aha, ja. Ich habe es schon einmal benutzt, konnte mich aber nicht erinnern, wie ich damit angefangen habe, lol. Sie starten einfach den Visual Studio Command Promptund führen den oben genannten Befehl @Maarten aus. Natürlich würden Sie zuerst Elektrowerkzeuge installieren!
Strider

15

Alternativ funktioniert der folgende Befehl, ohne dass Sie Elektrowerkzeuge installieren müssen, wenn Sie nach dem Suchbegriff findme suchen .

Windows: tf history "$/Team Project/Development" /noprompt /recursive | findstr findme

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

NB . Bitte danke diesem Kerl, wenn du das nützlich fandest.


2
Fügen Sie "/ format: Detailed" hinzu, wenn Sie die gesamte Nachricht durchsuchen möchten. Wenn dies zu lange dauert, legen Sie Datumsgrenzen fest (z. B. "/ v: D1 / 1/2012 ~ D12 / 31/2012"), um den Suchraum zu verringern.

8

Sie können den Befehlszeilen-Client verwenden: Leiten Sie die Ausgabe des tf-Verlaufs in eine Datei und verwenden Sie dann das von Ihnen bevorzugte Suchprogramm.


5
Beispiel: tf history $ / / r / user: Benutzername / Format: detailliert> d: \ changeset_details.txt
ray


2

Ich kenne keine Möglichkeit, dies mit Kommentartext zu tun, aber dies ermöglicht die Suche nach Entwicklern:

Wenn Sie den Menüpunkt Datei-> Quellcodeverwaltung-> In Quellcodeverwaltung suchen-> Änderungssätze ... öffnen (Sie müssen sich im Quellcodeverwaltungs-Explorer befinden, damit dies verfügbar ist). Dadurch wird das Dialogfeld "Änderungssätze suchen" geöffnet. Sie können dann in einem bestimmten Quellordner (oder Projekt) nach Änderungssätzen durch den Entwickler suchen.

Dies zeigt Ihnen die Kommentare, aber Sie können nicht nach ihnen suchen. (Sie können die Liste jedoch nach den Kommentaren sortieren und den gewünschten Kommentar auf diese Weise finden.)

Nebenbei bemerkt, wenn Sie die Details des Änderungssatzes über diesen Dialog anzeigen möchten, müssen Sie auf die Schaltfläche Details klicken. Ein Doppelklick auf einen Änderungssatz schließt den Dialog.


1
@ Downvoter - Warum die Abwertung? Das OP sagte "und / oder Entwickler". Dies ist eine "Oder Entwicklerantwort".
Vaccano

2

So zeigen Sie die Checkins für ein Teammitglied an:

Navigieren Sie im Team Explorer zum Teamprojekt, navigieren Sie zu Teammitgliedern, klicken Sie mit der rechten Maustaste auf das Teammitglied, für das die Änderungssätze angezeigt werden sollen, und wählen Sie "CheckIn-Verlauf anzeigen".


2

Ich habe tfpt searchcsvon den TFS Power Tools als externes Tool in VisualStudio hinzugefügt:

  • Befehl: C:\Program Files (x86)\Microsoft Team Foundation Server 2015 Power Tools\TFPT.EXE (oder wo immer Sie Ihre TFS Power Tools installiert haben)
  • Argumente: searchcs /collection:http://tfsserver:8080/tfs $(SolutionDir) (Der Lösungspfad wird in den Serverpfad konvertiert.)
  • Erstverzeichnis: c:\path\to\your\vs\IDE(es sei denn, das tf.exebefindet sich in Ihrem Pfad (was standardmäßig nicht der Fall ist). Dadurch wird sichergestellt, dass Sie die Details des Änderungssatzes im Suchdialog anzeigen können, da er ausgeführt wird. tf.exe)

1

Dies konnte ich im Abschnitt Codecode des TFS-Webportals tun.

Navigieren Sie in Ihrem Browser zu TFS, gehen Sie zum Code, klicken Sie auf Änderungssätze und dann auf erweiterte Suche. Sie können nach Benutzer und Datumsbereich filtern. Sie können nicht nach Kommentaren suchen. Wenn Sie jedoch einen allgemeinen Datumsbereich im Auge haben, können Sie diesen nach unten filtern und die Browsersuche (Strg + F) verwenden.


Dies ist viel einfacher als das Kopieren nach Excel. Beste Antwort bisher, IMHO. Sie müssen nicht einmal den Datumsbereich eingeben. Klicken Sie einfach auf Suchen, und Sie erhalten alle Änderungssätze. mit Kommentaren.
Beschützer ein

1
Es gibt keine erweiterte Suche für mich: /
Twometer

es muss sich seit 2015 bewegt oder verändert haben.
Ausgerichtet am
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.