Comando Diferença

Azure DevOps Services | Azure DevOps Server | 2020 Azure DevOps Server | 2019 TFS 2018

Visual Studio | 2022 Visual Studio | 2019 | Visual Studio 2017 | Visual Studio 2015 Visual Studio 2013

Compara e, se for possível, apresenta diferenças entre dois ficheiros, ficheiros em duas pastas ou um conjunto de prateleiras e um ficheiro local ou de servidor.

Pré-requisitos

Para utilizar o comando de diferença , tem de ter a permissão de Leitura para todos os itens especificados definidos para Permitir. Para mais informações, consulte permissões TFVC predefinidos.

Sintaxe

tf diff[erence] itemspec [/version:versionspec] [/type:filetype] 
[/format:format [/ignorespace] [/ignoreeol] [/ignorecase] [/recursive] 
[/options][/noprompt][/login:username,[password]]
tf diff[erence] itemspec itemspec2 [/type:filetype] [/format: format] 
[/ignorespace] [/ignoreeol] [/ignorecase] [/recursive] [/options] [/noprompt][/login:username,[password]]
tf diff[erence] [/shelveset:shelvesetname[;shelvesetowner]] 
shelveset_itemspec [/type:filetype] 
[/format: format] [/ignorespace] [/ignoreeol] [/ignorecase] 
[/recursive] [/options] [/noprompt][/login:username,[password]]
tf diff[erence] /configure

Parâmetros

Argumento

Argumento

Descrição

itemspec

Obrigatório. Especifica o item a ser comparado. Se não for especificada nenhuma versão ou caminho, assume-se a versão *atual do espaço de trabalho *. Aceita os caminhos do servidor de controlo da versão local e da Team Foundation.

Para obter mais informações sobre como a Team Foundation analisa itens específicos para determinar quais itens estão dentro do âmbito, consulte os comandos de controlo da versão use Team Foundation.

O comando da diferença não suporta caracteres wildcard.

Este parâmetro não pode ser combinado com a opção /shelveset .

Artigospec2

Opcional. O item ao qual o itemspec deve ser comparado. Se não fornecer um segundo itemspec, é utilizada a versão mais recente do servidor de controlo da team foundation do artigo.

Tipo de ficheiro

Fornece um valor para a opção /tipo . Pode especificar "binário" ou "texto", e um número de página de código ou o nome amigável de uma página de código.

Formato

Usado com a opção /formato para especificar um formato de saída de um dos seguintes tipos:

  • Elemento visual
  • Breve
  • Contexto
  • RCS
  • SS
  • SS_SideBySide
  • SS_Unix
  • Unificado
  • Unix

Estes formatos de saídas são explicados na secção Observações deste tópico.

Versionspec

O valor fornecido pelo utilizador para a opção /versão . Para obter mais informações sobre como a Team Foundation analisa uma especificação de versão para determinar quais os itens que estão dentro do seu âmbito, consulte os comandos de controlo da versão Use Team Foundation.

Shelvesetowner

Identifica o proprietário do conjunto de prateleiras pelo nome de utilizador. Se não for fornecido um valor para este parâmetro, o utilizador atual é assumido.

Estação

Especifica o nome de um conjunto de prateleiras. Pode criar mais de uma prateleira com o mesmo nome no servidor que está a executar o Team Foundation Server desde que um utilizador diferente possua cada conjunto de prateleiras.

Shelveset_itemspec

Especifica o nome de uma pasta ou ficheiro no conjunto de prateleiras para comparar com a versão base do conjunto de prateleiras.

nome de utilizador

Fornece um valor para a opção /login . Pode especificar um valor de nome de utilizador como nome de utilizador como nome de utilizador ou Nome de Utilizador.

Opção

Opção

Descrição

/tipo

Substitui quaisquer codificações detetadas e utiliza a codificação especificada para apresentar os ficheiros ao motor de codificação diferente.

/versão

Especifica a versão do ficheiro ou pasta para comparar. Por predefinição, a Team Foundation utiliza a versão do espaço de trabalho se não fornecer uma versão específica.

Em vez de utilizar a bandeira /versão , pode especificar versões apensindo um ponto de edição e um especificador de versão para o final de cada nome de ficheiro.

/formato

Especifica um formato de saída especificado pelo argumento do formato .

/ignorar espaço

Não destaca as diferenças de espaço branco entre os ficheiros comparados.

/ignoreeol

Ignora as diferenças entre os caracteres da nova linha em dois ficheiros ou versões de ficheiros. /ignoreeol funciona de forma diferente de /ignoreSpace. /ignorespace trata oito espaços idênticos a um. No entanto, se utilizar a opção /ignoreeol e o Ficheiro A tiver dois caracteres de linha nova entre áreas inalteradas de texto, e o Ficheiro B tiver um, o resultado apresenta-se como uma diferença. Se ambos os ficheiros tiverem apenas uma nova linha, mas o Ficheiro A usa \r\n como uma nova linha e o Ficheiro B utiliza \n, /ignore a opção /ignoreEOL ignoraria isso como uma diferença.

/ignorar caso

Não destaca diferenças no invólucro de letras entre os ficheiros comparados.

/recursivo

Compara as diferenças entre a pasta atual e todas as suas sub-dobradeiras.

/opções

Especifica uma cadeia de opção para a ferramenta ser invocada por diff. Para obter mais informações, consulte associar um tipo de ficheiro com uma ferramenta de diferença e associar um tipo de ficheiro a uma ferramenta de fusão.

/conjunto de prateleiras

Especifica um conjunto de prateleiras para comparar com a versão do servidor de controlo da versão Team Foundation em que se baseia o conjunto de prateleiras.

Esta opção não pode ser combinada com um argumento específico . Para comparar itens de conjunto de prateleiras individuais, pode fornecer uma shelveset_itemspec.

/noprompt

Suprime quaisquer caixas de diálogo que de outra forma seriam exibidas durante a conclusão desta operação.

/configuração

Invoca a caixa de diálogo Configure User Tools . Esta ferramenta está disponível na interface de utilizador Visual Studio. Para obter mais informações, consulte associar um tipo de ficheiro com uma ferramenta de diferença.

/login

Especifica o nome de utilizador e a palavra-passe para autenticar o utilizador com o Servidor da Fundação da Equipa.

Observações

Nota

Pode escrever a diferença tf diff ou tf na linha de comando para executar este comando.

Pode utilizar o comando de diferença para comparar e, se for possível, apresentar diferenças entre:

  • Dois ficheiros diferentes ou duas versões do mesmo ficheiro.

  • Um ou mais dos itens numa pasta.

  • Um, alguns, ou todos os itens numa prateleira no Servidor da Fundação da Equipa.

Pode utilizar o comando de diferença para comparar ficheiros versados e não versados.

A Team Foundation categoriza todos os ficheiros por tipo. Os ficheiros de texto podem ser fundidos e comparados, lado a lado e linha a linha, desde que ambos os ficheiros tenham a mesma codificação. Se quiser comparar dois ficheiros cujas codificações não são as mesmas, pode mascarar temporariamente ou sobrepor a propriedade de codificação para um ficheiro utilizando a opção /tipo . Os ficheiros binários podem ser comparados, mas não podem ser fundidos. Quando passa um ou mais ficheiros binários para o comando da diferença, a Team Foundation indica se existem diferenças entre ele e o item ao qual está a ser comparado. Para obter mais informações sobre como a Team Foundation diferencia e trata ficheiros de tipos diferentes, consulte Managing File Types.

Se especificar dois nomes de ficheiros, os dois ficheiros são comparados. Em vez de utilizar a bandeira /versão , pode especificar versões apensindo um ponto de edição e um especificador de versão para o final de cada nome de ficheiro.

Se passar apenas um itemspec para o comando da diferença:

  • Se não fornecer uma versão específica, a versão atual do espaço de trabalho do item é comparada com a versão base do espaço de trabalho, por padrão. Por exemplo, o cabeçalho da diferença tf.h compara a versão atual do cabeçalho.h com a versão em que se baseia o cabeçalho.h.

  • Se incluir uma versão específica no seu ponto de itens como , tf difference header.h; LBeta1, Team Foundation compara esta versão com a sua versão atual do espaço de trabalho no disco.

  • Se especificar uma gama de versões como /versão:C1~C4, as versões do ficheiro nos dois pontos finais da gama são comparadas.

Para obter mais informações sobre como encontrar o utilitário da linha de comando tf , consulte os comandos de controlo da versão Use Team Foundation.

Tipos de formato de saída

O parâmetro de formato , utilizado com a opção /formato , especifica muitos formatos de saída diferentes. Os tipos de saída disponíveis são

  • Elemento visual

    O tipo de formato visual abre uma aplicação de diferença externa. Por predefinição diffmerge.exe é lançado.

  • Breve

    O formato breve imprime se os ficheiros que estão a ser comparados diferem.

  • Contexto

    O formato de contexto fornece linhas de contexto para as diferenças nos ficheiros. Este formato é derivado do formato de saída diff-c baseado em UNIX.

  • RCS

    RCS formato é semelhante a /formato:unix, exceto que as linhas de contexto não são fornecidas.

    Não é fornecida uma entrega especial para um marcador de linha em falta no final do ficheiro.

  • SS

    SS é o formato de saída de diferença padrão para Visual SourceSafe. Para mais informações, consulte Diff (Linha de Comando).

  • SS_SideBySide

    SS_SideBySide é o formato de saída lado a lado padrão para Visual SourceSafe.

  • SS_Unix

    SS_Unix é semelhante ao formato de saída /formato:unix, mas /formato:ss_unix inclui linhas de contexto e /formato:unix não.

  • Unificado

    O formato unificado é derivado do formato de saída diff-u baseado em UNIX. /formato:o contexto repete linhas de contexto idênticas entre as cordas de diferença embora /formato:unificado não.

    O formato unificado produz uma nova linha unificada de diferença (@@ ... @@@) apenas quando a distância para a próxima cadeia de diferença é maior do que o número de linhas de contexto.

  • Unix

    Este tipo de saída é derivado do formato de saída de comando difuso baseado em UNIX.

    O formato de saída Unix é construído da seguinte forma:

    <metadataline>
    "< " line prefix for lines from the first file
    "---" line
    "> " line prefix for lines from the second file
    
    <metadataline> can be one of these possibilities:
    #a#,# -- add lines from line # in file1 into file2 at lines #->#
    #,#d# -- delete lines from line # -> # in file 1 from file2 at line #
    #,#c#,# -- change lines from line # -> # in file1 into the lines in file2 at line # -> #
    
    # signs separated by commas indicate a line range.
    # signs before the character indicate line numbers in the first file
    # signs after the character indicate line numbers in the second file
    
    /// No end of line marker at the end of the file:
    /// \ No newline at end of file
    

    Exemplos

    O exemplo a seguir mostra as diferenças entre a versão local de 314.cs e a versão workspace de 314.cs que é a versão do ficheiro que foi verificado a partir do servidor de controlo de versão da Team Foundation.

    c:\projetos>tf diferença 314.cs

O exemplo a seguir mostra todos os ficheiros que foram alterados na pasta src. Não exibe ficheiros que tenham sido alterados em sub-dobradeiras de src.

c:\projects>tf difference src /format:visual

O exemplo a seguir mostra as diferenças entre o changeset 3 e o changeset 8 de 1254.cs.

c:\projects>tf difference /version:C3~C8 1254.cs

Os exemplos a seguir mostram as diferenças entre a versão de 314.cs que pertencem à etiqueta "release" e a versão que pertence ao changeset 3200.

c:\projects>tf difference 314.cs;Lrelease 314.cs;C3200

-ou-

c:\projects>tf difference 314.cs;Lrelease~C3200

O exemplo a seguir mostra a diferença entre as versões do e271.cs que um utilizador chamado Nadia guardou no shelveset PeerCodeReview8 e a versão base do shelveset que é a versão em que baseou as suas mudanças. Também exibe os tipos de alterações pendentes contra a e271.cs quando Nadia foi arquivada.

c:\projects> tf difference /shelveset:PeerCodeReview8;Nadia e271.cs

O exemplo a seguir mostra as diferenças entre todos os ficheiros no conjunto de prateleiras PeerCodeReview2 e a versão base de shelveset desses ficheiros.

c:\projects> tf difference /shelveset:PeerCodeReview2