Como localizo e visualizo um conjunto de alterações do TFS por texto de comentário?


130

Com o TFS, preciso encontrar um conjunto de alterações por comentário e / ou pelo desenvolvedor. Talvez eu esteja cego hoje, mas não vejo uma maneira simples no Source Control Explorer de executar esta tarefa?


Agora, no VSTS / TFS mais recente, agora você pode filtrar confirmações por autor no histórico de confirmações, mas parece que ainda não é possível filtrar / pesquisar nos comentários das confirmações ... Na verdade, eu não entendo como isso não pode ser proposto, criei uma solicitação em uservoice: visualstudio.uservoice.com/forums/...
Syl

Respostas:


21

Com as Ferramentas Elétricas instaladas:

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

3
Desculpe minha ignorância, mas qual é o "?" comando no qual você está canalizando o resultado da história?
217 Ross Mal Mal

3
É o alias padrão para Where-Object. Consulte "help where -full" para obter detalhes completos.
Richard Berg

4
Isso não funciona diretamente em um cmd.exeprompt, mas em um console do PowerShell (com alguns ajustes no formato do parâmetro -like).
Emyr

166

Se você tiver o TFS Power Tools instalado, poderá executá-lo em um prompt de comando:

tfpt searchcs

para obter uma janela da GUI com opções para pesquisar por confirmador e texto do comentário. Estou usando ferramentas TFS Poder (Março de 2011 versão) e TFS 2010.


4
Isso funcionou para mim, com algumas discussões sobre as configurações. Server name: o formato de URL do meu servidor era tfs01: 8080 / tfs , encontrado no VS2010, menu Equipe, botão Conectar-se ao Team Foundation Server, Servidores ... e o servidor existente. Under server path:Percebi que ele está realmente procurando o caminho do mapa local, então era C: \ tfs \ myfolders \ etc, não o caminho do URL do ponto de vista do servidor.
goodeye

1
O Stackoverflow converteu meu comentário acima sobre meu formato de URL em um link. É realmentehttp://tfs01:8080/tfs
goodeye

Trabalhou para mim com o VS2010, embora o TFS seja 2008. Versão mais recente do TFPT2010, agosto de 2011
Paul Kapustin

1
Funciona no Visual Studio 2012 com o TFS 2012 também.
Jessegavin

2
Isso funcionou para mim no cmd.exe, mas não na janela de comando do VS.
Rstackhouse

100

EASY WAY e não são necessários aplicativos / complementos de terceiros:

  1. Open Source Control Explorer
  2. "Exibir histórico" da raiz do servidor TFS
  3. Role para a parte inferior (é rápido pressionar o botão "Finalizar" continuamente)
  4. Selecione todos os registros, copie
  5. Abra o Excel e cole

Agora, o Excel permitirá que você pesquise comentários (o Excel é um aplicativo nativo, não discuta ..).


14
Eu não acho que você procurará na mensagem de confirmação inteira mensagens de confirmação mais longas usando esse método (observe as reticências presentes quando você cola), o que tornaria isso útil se você tiver certeza de que está procurando algo no primeiro sinopse de linha, mas perigosa caso contrário.

1
tão simples um e forma de configuração de zero
Mostafa Armandi

5
Admito que, no começo, me arrepiei quando li isso pela primeira vez, mas depois disse para as ferramentas de terceiros, essa ideia funciona muito bem. Obrigado!
Chris Hawkes

3
Esta não é uma solução quando você tem mais de 100.000 changesets
Diogo Luis

3
É triste que eu tenha que fazer isso. ;)
Kai Hartmann

20

Há um suplemento do Visual Studio que faz isso agora: http://visualstudiogallery.msdn.microsoft.com/3f65dee8-5a44-4771-929b-26531c482fbf .


3
É uma pena que não é avaiale para VS 2012 e VS 2013
Andrija

2
Se você for ao site CodePlex do projeto, encontrará uma versão do VS2012 (que eu não testei). findchangeset.codeplex.com
Maarten

2
Mas, para ser sincero, usar tfpt searchcsé mais fácil.
Maarten

Ah, sim. Eu já usei antes, mas não conseguia lembrar como eu comecei, lol. Você acabou de iniciar Visual Studio Command Prompte executar o comando @Maarten mencionado acima. Obviamente, você instalaria as Ferramentas Elétricas primeiro!
Strider

15

Como alternativa, sem a necessidade de instalar ferramentas elétricas, o comando a seguir funcionará se você estiver procurando pelo termo de pesquisa findme .

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

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

NB . Por favor, agradeça esse cara se você achou isso útil.


2
adicione "/ formato: detalhado" se desejar pesquisar a mensagem inteira. Se isso demorar muito, defina limites de data (por exemplo, "/ v: D1 / 1/2012 ~ D12 / 31/2012") para reduzir o espaço de pesquisa.

8

Você pode usar o cliente de linha de comando: canalize a saída do histórico tf para um arquivo e use o programa de pesquisa que preferir.


5
exemplo: tf history $ / / r / usuário: nome de usuário / formato: detalhado> d: \ changeset_details.txt
ray


2

Não conheço uma maneira de fazer isso pelo Texto do comentário, mas isso permitirá a pesquisa pelo desenvolvedor:

Se você abrir o item de menu Arquivo-> Controle de Origem-> Localizar no Controle de Origem-> Conjuntos de Alterações ... (você deve estar no Source Control Explorer para que isso fique disponível). Isso abrirá a caixa de diálogo Localizar conjuntos de alterações. Você pode procurar conjuntos de alterações pelo desenvolvedor em uma determinada pasta de origem (ou projeto).

Isso mostrará os comentários, mas você não poderá pesquisar por eles. (Embora você possa classificar a lista pelos comentários e encontrar o comentário que está procurando dessa maneira.)

Em uma nota lateral, se você quiser ver os detalhes do conjunto de alterações por meio desta caixa de diálogo, clique no botão Detalhes. Clicar duas vezes em um conjunto de alterações fecha a caixa de diálogo.


1
@Downvoter - Por que o voto negativo? O OP disse "e / ou desenvolvedor". Esta é uma "resposta do desenvolvedor ou".
Vaccano

2

Para ver os check-ins de um membro da equipe:

No Team Explorer, navegue até o Team Project, navegue até Team Members, clique com o botão direito do mouse no membro da equipe para quem você deseja ver os conjuntos de alterações e selecione "Show CheckIn History".


2

Eu adicionei tfpt searchcsa partir das Ferramentas TFS poder como ferramenta externa no VisualStudio:

  • Comando: C:\Program Files (x86)\Microsoft Team Foundation Server 2015 Power Tools\TFPT.EXE (ou onde quer que você tenha instalado o TFS Power Tools)
  • Argumentos: searchcs /collection:http://tfsserver:8080/tfs $(SolutionDir) (o caminho da solução é convertido no caminho do servidor)
  • Diretório inicial: c:\path\to\your\vs\IDE(a menos que tf.exeesteja no seu caminho (o que não é o caso por padrão), isso garante que você possa visualizar os detalhes do conjunto de alterações na caixa de diálogo de pesquisa, pois ela é executada tf.exe)

1

Consegui fazer isso na seção de código do portal da web do TFS.

Navegue até o TFS no seu navegador, acesse o código, clique em conjuntos de alterações e, em seguida, na pesquisa avançada. Você pode filtrar por usuário e período. Não é possível pesquisar por comentário, mas se você tiver um período geral em mente, poderá filtrá-lo e usar a pesquisa do navegador (ctrl + f).


Isso é muito mais fácil do que copiar para o Excel. Melhor resposta até agora, IMHO. Você nem precisa inserir o período; basta clicar em encontrar e você obterá todos os conjuntos de alterações; com comentários.
Protector one

1
Não há pesquisa avançada para mim: /
Twometer

ele deve ter sido movido ou alterado desde 2015.
Alinhado
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.