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