Come posso trovare e visualizzare un changeset TFS in base al testo del commento?


130

Con TFS ho bisogno di trovare un changeset per commento e / o per sviluppatore. Forse oggi sono solo cieco, ma non vedo un modo semplice in Explorer controllo sorgente di eseguire questa operazione?


Ora in VSTS / ultimo TFS puoi ora filtrare i commit per autore nella cronologia dei commit, ma sembra che tu non riesca ancora a filtrare / cercare nei commenti di commit ... In realtà non capisco come questo non possa essere proposto, ho creato una richiesta su uservoice: visualstudio.uservoice.com/forums/…
Sÿl

Risposte:


21

Con gli elettroutensili installati:

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

3
Scusa la mia ignoranza, ma qual è il "?" comando in cui stai eseguendo il piping del risultato di thhistory?
Mal Ross,

3
È l'alias standard per Where-Object. Vedere "help where -full" per i dettagli completi.
Richard Berg,

4
Questo non funziona direttamente al cmd.exeprompt, ma funziona in una console PowerShell (con alcune modifiche al formato del parametro -like).
Emyr,

166

Se hai installato TFS Power Tools, puoi eseguirlo nel prompt dei comandi:

tfpt searchcs

per ottenere una finestra della GUI con opzioni per la ricerca per committer e testo di commento. Sto usando TFS Power Tools (versione di marzo 2011) e TFS 2010.


4
Questo ha funzionato per me, con alcuni colpi alle impostazioni. Server name: il formato dell'URL del mio server era tfs01: 8080 / tfs , che ho trovato in VS2010, menu Team, pulsante Connetti a Team Foundation Server, pulsante Server ... e c'era il server esistente. Under server path:Ho notato che sta davvero cercando il percorso della mappa locale, quindi era C: \ tfs \ myfolders \ etc, non il percorso dell'URL dal punto di vista del server.
arrivederci

1
Stackoverflow ha convertito il mio commento sopra relativo al mio formato URL in un collegamento. È davverohttp://tfs01:8080/tfs
arrivederci

Ha funzionato per me con VS2010, anche se TFS è il 2008. TFPT2010 ultima versione, agosto 2011
Paul Kapustin,

1
Funziona in Visual Studio 2012 anche con TFS 2012.
jessegavin,

2
Questo ha funzionato per me da cmd.exe ma non dalla finestra di comando VS.
rstackhouse,

100

EASY WAY e non sono necessarie app / componenti aggiuntivi di terze parti:

  1. Open Source Control Explorer
  2. "Visualizza cronologia" dalla radice del server TFS
  3. Scorri verso il basso (è veloce premendo continuamente il pulsante "Fine")
  4. Seleziona tutti i record, copia
  5. Apri Excel e incolla

Ora Excel ti permetterà di cercare tra i commenti (Excel è un'app nativa, non discutere ..).


14
Non credo che starai cercando nell'intero messaggio di commit per messaggi di commit più lunghi usando questo metodo (nota le ellissi presenti quando incolli), il che renderebbe questo utile se sei sicuro di cercare qualcosa nel primo sinossi, ma altrimenti pericolosa.

1
un modo di configurazione così semplice e zero
Mostafa Armandi,

5
Devo ammettere, all'inizio mi sono arrabbiato quando l'ho letto per la prima volta, ma poi ho detto di diamine con strumenti di terze parti, questa idea funziona perfettamente. Grazie!
Chris Hawkes

3
Questa non è una soluzione quando hai più di 100.000 changeets
Diogo Luis

3
È triste che io debba farlo. ;)
Kai Hartmann,

20

Esiste un componente aggiuntivo di Visual Studio che lo fa ora: http://visualstudiogallery.msdn.microsoft.com/3f65dee8-5a44-4771-929b-26531c482fbf .


3
È un peccato che non sia avaiale per VS 2012 e VS 2013
Andrija il

2
Se vai sul sito CodePlex del progetto, troverai una versione VS2012 (che non ho testato). findchangeset.codeplex.com
Maarten,

2
Ad essere onesti, l'uso tfpt searchcsè più semplice.
Maarten,

Ah sì. L'ho usato prima ma non riuscivo a ricordare come l'ho iniziato, lol. Devi solo avviare Visual Studio Command Prompted eseguire il comando @Maarten menzionato sopra. Ovviamente, installerai prima Power Tools!
strider

15

In alternativa, senza dover installare utensili elettrici, il seguente comando funzionerà se stai cercando il termine di ricerca findme .

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

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

NB . Per favore, ringrazia questo ragazzo se l'hai trovato utile.


2
aggiungere "/ formato: dettagliato" se si desidera cercare l'intero messaggio. Se impiega troppo tempo, imposta i limiti di data (ad es. "/ V: D1 / 1/2012 ~ D12 / 31/2012") per ridurre lo spazio di ricerca.

8

È possibile utilizzare il client della riga di comando: reindirizzare l'output della cronologia tf in un file e quindi utilizzare qualsiasi programma di ricerca preferito.


5
esempio: tf history $ / / r / user: username / formato: dettagliato> d: \ changeset_details.txt
ray


2

Non conosco un modo per farlo tramite Comment Text, ma ciò consentirà la ricerca da parte dello sviluppatore:

Se apri la voce di menu File-> Controllo del codice sorgente-> Trova nel controllo del codice sorgente-> Modifiche ... (devi essere in Esplora controllo del codice sorgente per essere disponibile). Questo aprirà la finestra di dialogo Trova changeset. È quindi possibile cercare le serie di modifiche dallo sviluppatore in una determinata cartella (o progetto) di origine.

Questo ti mostrerà i commenti, ma non puoi cercarli. (Sebbene sia possibile ordinare l'elenco in base ai commenti e trovare il commento che si sta cercando in quel modo.)

In una nota a margine, se vuoi vedere i dettagli del changeset tramite questa finestra di dialogo devi fare clic sul pulsante Dettagli. Facendo doppio clic su un changeset si chiude la finestra di dialogo.


1
@Downvoter - Perché il downvote? L'OP ha detto "e / o sviluppatore". Questa è una "risposta dello sviluppatore".
Vaccano,

2

Per vedere i check-in per un membro del team:

In Esplora team, accedi al Progetto team, vai a Membri del team, fai clic con il pulsante destro del mouse sul membro del team per il quale desideri visualizzare i changeset e seleziona "Mostra cronologia CheckIn".


2

Ho aggiunto tfpt searchcsTFS Power Tools come strumento esterno in VisualStudio:

  • Comando: C:\Program Files (x86)\Microsoft Team Foundation Server 2015 Power Tools\TFPT.EXE (o ovunque tu abbia installato i tuoi utensili elettrici TFS)
  • Argomenti: searchcs /collection:http://tfsserver:8080/tfs $(SolutionDir) (il percorso della soluzione viene convertito nel percorso del server)
  • Directory iniziale: c:\path\to\your\vs\IDE(a meno che non tf.exesia nel tuo percorso (cosa che non è il caso per impostazione predefinita) questo ti assicura di poter visualizzare i dettagli del changeset dalla finestra di ricerca, perché funziona tf.exe)

1

Sono stato in grado di farlo nella sezione del codice del portale Web TFS.

Passare a TFS nel browser, andare al codice, fare clic su changeset, quindi ricerca avanzata. Puoi filtrare per utente e intervallo di date. Non puoi cercare per commento, ma se hai in mente un intervallo di date generale, puoi filtrarlo, quindi utilizzare la ricerca del browser (ctrl + f).


Questo è molto più semplice della copia in Excel. La migliore risposta finora, IMHO. Non è nemmeno necessario inserire l'intervallo di date; fai clic su Trova e otterrai tutti i changeset; con commenti.
Protector un

1
Non c'è ricerca avanzata per me: /
Twometer

deve essere spostato o modificato dal 2015.
Allineato il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.