Comando history (Controle de Versão do Team Foundation)

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

O comando tf history do TFVC (Controle de Versão do Team Foundation) exibe o histórico de revisão de um ou mais arquivos ou pastas. Os dados de comando são exibidos na janela Histórico no Visual Studio ou, se a opção /noprompt for especificada, no prompt de comando.

Você também pode usar o Visual Studio para obter o histórico de revisão. Para saber mais, confira Obter o histórico de um item.

Pré-requisitos

Confira Permissões TFVC padrão.

Sintaxe

tf hist[ory] itemspec [/version:versionspec] 
[/stopafter:number] [/recursive] [/user:username] 
[/format:(brief|detailed)] [/slotmode] [/itemmode] [/noprompt]
[/login:username,[password]] [/sort:ascending,descending]
[/collection:TeamProjectCollectionUrl]

Parâmetros

Parâmetro

Descrição

/collection:<TeamProjectCollectionUrl>

Especifica a URL da coleção de projetos que contém os itens. Por exemplo: http://myserver:8080/tfs/DefaultCollection.

Por padrão, presume-se que a coleção de projetos seja aquela que contém o workspace que mapeia o diretório atual.

/format

Especifica quantos detalhes exibir sobre cada conjunto de alterações quando a opção /noprompt for especificada:

  • Brief (padrão): exibe uma linha sobre cada conjunto de alterações que inclui: número de ID, alterações feitas, usuário que fez as alterações, data e comentário. Alguns dos dados podem ser truncados.

  • Detailed: exibe uma descrição completa de cada conjunto de alterações pendente. Além das informações anteriores, essa opção exibe mais dados, como data com hora, itens alterados, observações de check-in e avisos de política de check-in.

/itemmode

Não é possível combinar essa opção com /slotmode. Para saber mais, confira Matt Mitrik: como alterar para o modo slot no Controle de Versão do TFS 2010.

<itemspec>

Especifica os itens cujo histórico será exibido. Para obter sintaxe, consulte Usar comandosde controle de versão do Team Foundation.

/noprompt

Suprime a exibição de janelas e caixas de diálogo, como a janela Histórico, e redireciona os dados de saída para o prompt de comando. Confira Usar comandos de controle de versão do Team Foundation.

Não exibe o histórico de revisões que ocorreram antes de um item ser movido, renomeado, ramificado ou mesclado.

/login:<username>[,<password>]

Especifica a conta de usuário na qual executar o comando. Confira Usar comandos de controle de versão do Team Foundation.

/recursive

Recupera recursivamente dados históricos em itens no diretório especificado e em quaisquer subdiretórios.

/slotmode

Não é possível combinar essa opção com /itemmode. Para saber mais, confira Matt Mitrik: como alterar para o modo slot no Controle de Versão do TFS 2010.

/sort

Classifica o histórico de revisão de um ou mais arquivos ou pastas em qualquer uma das seguintes ordens:

  • Ascending: da revisão mais antiga à mais recente.

  • Descending (padrão): da revisão mais recente à mais antiga.

É necessário usar /noprompt com essa opção.

/stopafter:<number>

Especifica o número máximo de conjuntos de alterações a serem exibidos nos dados do histórico.

/user:<username>

Filtra os dados históricos para mostrar as alterações feitas pelo usuário especificado. Um símbolo de asterisco (*) inclui dados sobre alterações de todos os usuários, o padrão.

/version:<versionspec>

Especifica a versão máxima ou as versões mínima e máxima usando a sintaxe de intervalo ~. O padrão é /version:W, a versão no workspace.

Não é possível combinar essa opção com /slotmode.

Para obter sintaxe, consulte Usar comandosde controle de versão do Team Foundation.

Comentários

  • Para saber mais detalhes sobre um conjunto de alterações, por exemplo, ver itens de trabalho associados:

    • Na janela Histórico do Visual Studio, clique duas vezes ou clique com o botão direito do mouse no conjunto de alterações e escolha Detalhes do conjunto de alterações.

    • No prompt de comando, use o comando changeset.

  • A opção /collection é útil para executar esse comando de uma conta de computador e de usuário que não tem um workspace mapeado para a coleção de projetos que contém os itens.

Exemplos

Os exemplos a seguir pressupõem que c:\code\SiteApp\Main mapeia para a pasta principal no workspace.

Obter o histórico de um único arquivo

O exemplo a seguir exibe todas as alterações feitas em program2.cs na janela Histórico.

c:\code\SiteApp\Main\SolutionA\Project1>tf history program2.cs

O exemplo a seguir exibe todas as alterações feitas em program2.cs na janela do prompt de comando.

c:\code\SiteApp\Main\SolutionA\Project1>tf history program2.cs /noprompt

Saída:

Changeset Change                     User              Date       Comment
--------- -------------------------- ----------------- ---------- -------- 
29        edit                       Jamal Hartnett    4/23/2012  Fix bug
20        add                        Raisa Pokrovskaya 4/12/2012  Add new  

Obter o histórico de todos os itens em uma pasta

O exemplo a seguir exibe todas as alterações feitas em todos os itens de SolutionA, incluindo aqueles em subpastas, na janela Histórico.

c:\code\SiteApp\Main\SolutionA>tf history * /recursive

Obter o histórico das últimas cinco alterações em todos os itens de uma pasta

O exemplo a seguir exibe as cinco últimas alterações feitas em nos itens de SolutionA, incluindo aqueles em subpastas, na janela do prompt de comando:

c:\code\SiteApp\Main\SolutionA>tf history * /noprompt /recursive /stopafter:5

Saída:

Changeset User              Date       Comment
--------- ----------------- ---------- ----------------------------------------
31        Raisa Pokrovskaya 5/15/2012
30        Raisa Pokrovskaya 4/23/2012
29        Jamal Hartnett    4/23/2012  Fix bug in new method
20        Raisa Pokrovskaya 4/12/2012  Add new method, add program2.cs to Proje
15        Raisa Pokrovskaya 4/8/2012

Obter histórico da versão x e anteriores

O exemplo a seguir exibe as alterações feitas em todos os itens de SolutionA, incluindo aqueles em subpastas, na versão 30 e anteriores, na janela do prompt de comando:

c:\code\SiteApp\Main\SolutionA>tf history /noprompt * /recursive /v:30

Saída:

Changeset User              Date       Comment
--------- ----------------- ---------- ----------------------------------------
30        Raisa Pokrovskaya 4/23/2012
29        Jamal Hartnett    4/23/2012  Fix bug in new method
20        Raisa Pokrovskaya 4/12/2012  Add new method, add program2.cs to 
15        Raisa Pokrovskaya 4/8/2012

Obter histórico da data D e antes

O exemplo a seguir exibe as alterações feitas em todos os itens de SolutionA, incluindo aqueles em subpastas, em 23/04/12 ou antes, na janela do prompt de comando:

c:\code\SiteApp\Main\SolutionA>tf history /noprompt * /recursive /v:D4/24/2012

Ou:

c:\code\SiteApp\Main\SolutionA>tf history /noprompt * /recursive /v:D2012-04-24T12:00

Saída:

Changeset User              Date       Comment
--------- ----------------- ---------- ----------------------------------------
30        Raisa Pokrovskaya 4/23/2012
29        Jamal Hartnett    4/23/2012  Fix bug in new method
20        Raisa Pokrovskaya 4/12/2012  Add new method, add program2.cs to 15        Raisa Pokrovskaya 4/8/2012

Obter histórico de um intervalo de datas

O exemplo a seguir exibe as alterações feitas em todos os itens de SolutionA, incluindo aqueles em subpastas, entre 12/04/2012 e 23/04/2012, na janela do prompt de comando:

c:\code\SiteApp\Main\SolutionA>tf history /noprompt * /recursive /v:D4/12/2012~D4/24/2012

Saída:

Changeset User              Date       Comment
--------- ----------------- ---------- ----------------------------------------
30        Raisa Pokrovskaya 4/23/2012
29        Jamal Hartnett    4/23/2012  Fix bug in new method
20        Raisa Pokrovskaya 4/12/2012  Add new method, add program2.cs to 

Obter histórico detalhado

O exemplo a seguir exibe as alterações feitas em todos os itens de SolutionA, incluindo aqueles em subpastas, entre 12/04/2012 e 23/04/2012, na janela do prompt de comando:

c:\code\SiteApp\Main\SolutionA>tf history /noprompt * /recursive /v:D4/12/2012~D4/24/2012 /format:detailed

Saída:

-------------------------------------------------------------------------------
Changeset: 30
User: Raisa Pokrovskaya (Fabrikam)
Date: Monday, April 23, 2012 1:23:05 PM

Comment:
  Much better name for this file

Items:
  rename                $/SiteApp/Main/SolutionA/Project1/programBig.cs
  delete, source rename $/SiteApp/Main/SolutionA/Project1/program3.cs;X15

-------------------------------------------------------------------------------
Changeset: 29
User: Raisa Pokrovskaya (Fabrikam)
Date: Monday, April 23, 2012 1:03:13 PM

Comment:
  Fix bug in new method

Items:
  edit $/SiteApp/Main/SolutionA/Project1/program1.cs
  edit $/SiteApp/Main/SolutionA/Project1/program2.cs

-------------------------------------------------------------------------------
Changeset: 20
User: Raisa Pokrovskaya (Fabrikam)
Date: Thursday, April 12, 2012 5:09:35 PM

Comment:
  Add new method, add program2.cs to Project1

Items:
  add $/SiteApp/Main/SolutionA/Project1/program2.cs

Check-in Notes:
  Documentation:
    An important new part of our codebase.

Policy Warnings:
  Override Reason:
    Jamal agrees with me that we can bypass for this check-in.
  Messages:
    The Code Analysis Policy requires files to be checked in through Visual
Studio with an open solution.

Obter o histórico não recursivo de uma pasta

O exemplo a seguir exibe o histórico da pasta SolutionA na janela Histórico do Visual Studio, que permite explorar alterações anteriores na pasta. Por exemplo, se a alteração mais recente na pasta for uma renomeação, será possível expandir o conjunto de alterações para ver as alterações que ocorreram antes disso.

c:\code\SiteApp\Main\SolutionA>tf history .

O exemplo a seguir exibe a alteração mais recente na pasta SolutionA na janela do prompt de comando.

c:\code\SiteApp\Main\SolutionA>tf history . /noprompt