Comando Diferença
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
O comando Controle de Versão do Team Foundation (TFVC) difference
compara e, se possível, exibe diferenças entre dois arquivos, arquivos em duas pastas ou um check-in particular e um arquivo local ou de servidor.
Pré-requisitos
Para usar o comando difference
, você deve ter a permissão Leitura para todos os itens especificados definida como Permitir. Para saber mais, consulte Permissões padrão do TFVC.
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
Argumentos
Argument
Descrição
<itemspec>
Obrigatórios. Especifica o item a ser comparado. Se nenhuma versão ou caminho for especificado, a versão atual do espaço de trabalho será assumida. Aceita os caminhos do servidor local e do Azure DevOps.
Para saber mais sobre como o TFVC analisa o itemspec
a fim de definir quais itens estão dentro do escopo, confira Usar os comandos de controle de versão do Team Foundation.
O comando difference
não dá suporte a caracteres curinga.
Esse parâmetro não pode ser combinado com a opção /shelveset
.
<itemspec2>
Opcional. O item ao qual o itemspec
deve ser comparado. Se você não fornecer um segundo itemspec
, a versão mais recente do servidor do Azure DevOps do item será usada.
<filetype>
Fornece um valor para a opção /type
. Você pode especificar binary
ou text
e um número de página de código ou o nome amigável de uma página de código.
<format>
Usado com a opção /format
para especificar um formato de saída de um dos seguintes tipos:
Visual
Brief
Context
RCS
SS
SS_SideBySide
SS_Unix
Unified
Unix
Esses formatos de saída são explicados na seção Comentários.
<versionspec>
O valor fornecido pelo usuário para a opção /version
. Para obter mais informações sobre como o TFVC analisa a especificação de versão para determinar quais itens estão dentro do escopo, consulte Usar comandos do controle de versão do Team Foundation.
<shelvesetowner>
Identifica o proprietário do check-in particular pelo nome de usuário. Se um valor para esse parâmetro não for fornecido, o usuário atual será assumido.
<shelvesetname>
Especifica o nome de um check-in particular. Você pode criar mais de um check-in particular com o mesmo nome no servidor que está executando o TFVC, desde que um usuário diferente possua cada check-in particular.
<shelveset_itemspec>
Especifica o nome de uma pasta ou arquivo no check-in particular para comparar com a versão base do check-in particular
<username>
Fornece um valor para a opção /login
. Você pode especificar um valor de nome de usuário como DOMAIN\username
ou username
.
Opções
Opção
Descrição
/type
Substitui quaisquer codificações detectadas e usa a codificação especificada para apresentar os arquivos ao mecanismo de diferenciação.
/version
Especifica a versão do arquivo ou pasta a ser comparada. Por padrão, o TFVC usará a versão do espaço de trabalho se você não fornecer um versionspec
.
Em vez de usar o sinalizador /version
, você pode especificar versões acrescentando um ponto e vírgula e um especificador de versão ao final de cada nome de arquivo.
/format
Especifica um formato de saída especificado pelo argumento format
.
/ignorespace
Não realça as diferenças de espaço em branco entre os arquivos comparados.
/ignoreeol
Ignora as diferenças entre os novos caracteres de linha em dois arquivos ou versões de arquivo. /ignoreeol
funciona de forma diferente de ignorespace
, que trata oito espaços de forma idêntica a um. No entanto, se você usar a opção /ignoreeol
e o Arquivo A tiver dois novos caracteres de linha entre áreas inalteradas do texto e o Arquivo B tiver um, o resultado será exibido como uma diferença. Se ambos os arquivos tiverem apenas uma nova linha, mas o Arquivo A usar \r\n
como uma nova linha e o Arquivo B usar \n
, a opção /ignoreeol
ignorará isso como uma diferença.
/ignorecase
Não realça as diferenças no uso de letras maiúsculas e minúsculas entre os arquivos comparados.
/recursive
Compara as diferenças entre a pasta atual e todas as suas subpastas.
/options
Especifica uma cadeia de caracteres de opção para a ferramenta a ser invocada por difference
. Para obter mais informações, consulte Associar um tipo de arquivo a uma ferramenta de diferença e Associar um tipo de arquivo a uma ferramenta de mesclagem.
/shelveset
Especifica um check-in particular a ser comparado com a versão do servidor do Azure DevOps na qual o check-in particular se baseia.
Essa opção não pode ser combinada com um argumento itemspec
. Para comparar itens individuais do check-in particular, você pode fornecer um shelveset_itemspec
.
/noprompt
Suprime todas as caixas de diálogo que, de outra forma, seriam exibidas durante a conclusão desta operação.
/configure
Invoca a caixa de diálogo Configurar Ferramentas de Usuário da interface do usuário do Visual Studio. Para obter mais informações, consulte Associar um tipo de arquivo a uma ferramenta de diferença.
/login
Especifica o nome de usuário e a senha para autenticar o usuário no TFVC.
Comentários
Observação
Você pode digitar tf diff
ou tf difference
na linha de comando para executar esse comando.
Você pode usar o comando difference
para comparar e, se possível, exibir diferenças entre:
Dois arquivos diferentes ou duas versões do mesmo arquivo.
Um ou mais itens em uma pasta.
Um, alguns ou todos os itens em um check-in particular no servidor do Azure DevOps.
Você pode usar o comando difference
para comparar arquivos com versão e sem versão.
O TFVC categoriza todos os arquivos por tipo. Os arquivos de texto podem ser mesclados e comparados, lado a lado e linha por linha, desde que ambos os arquivos tenham a mesma codificação. Se você quiser comparar dois arquivos cujas codificações não são iguais, poderá mascarar ou substituir temporariamente a propriedade de codificação de um arquivo usando a opção /type
.
Arquivos binários podem ser comparados, mas não podem ser mesclados. Quando você passa um ou mais arquivos binários para o comando difference
, o TFVC indica se existem diferenças entre ele e o item ao qual ele está sendo comparado. Para obter mais informações sobre como o TFVC diferencia e trata arquivos de diferentes tipos, consulte Gerenciando tipos de arquivo.
Se você especificar dois nomes de arquivo, os dois arquivos serão comparados. Em vez de usar o sinalizador /versão, você pode especificar versões acrescentando um ponto e vírgula e um especificador de versão ao final de cada nome de arquivo.
Se você passar apenas um itemspec
para o comando Diferença:
Se você não fornecer um
versionspec
, sua versão atual do espaço de trabalho do item será comparada com a versão base do espaço de trabalho, por padrão. Por exemplo,tf difference header.h
compara a versão atual do header.h com a versão na qual header.h se baseia.Se você incluir um
versionspec
em seuitemspec
, comotf difference header.h;LBeta1
, o TFVC comparará essa versão com a versão atual do espaço de trabalho no disco.Se você especificar um intervalo de versões como
/version:C1~C4
, as versões do arquivo nos dois pontos de extremidade do intervalo serão comparadas.
Para saber mais sobre como usar o utilitário de linha de comando tf
, consulte Usar comandos do controle de versão do Team Foundation.
Tipos de formato de saída
O parâmetro format
, usado com a opção /format
, especifica muitos formatos de saída diferentes. Os seguintes tipos de saída estão disponíveis:
Visual
O tipo de formato abre um aplicativo de diferença externa. Por padrão, diffmerge.exe é iniciado.Brief
O formato imprime se os arquivos que estão sendo comparados se diferem.Context
O formato fornece linhas de contexto para as diferenças nos arquivos. Esse formato é derivado do formato de saídadiff -c
baseado em UNIX.RCS
O formato é semelhante a/format:unix
, exceto que as linhas de contexto não são fornecidas. Nenhuma entrega especial para um marcador de fim de linha ausente no final do arquivo é fornecida.SS
é o formato de saída de diferença padrão para Visual SourceSafe. Para obter mais informações, consulte Diff (linha de comando).SS_SideBySide
é o formato de saída lado a lado padrão do Visual SourceSafe.SS_Unix
é semelhante ao formato de saída/format:unix
, mas/format:ss_unix
inclui linhas de contexto e/format:unix
não.Unified
formato é derivado do formato de saídadiff -u
baseado em UNIX./format:context
repete linhas de contexto idênticas entre as cadeias de caracteres de diferença, mas/format:unified
não.Unified
O formato produz uma nova linha de cadeia de caracteres de diferença unificada (@@ ... @@
) somente quando a distância para a próxima cadeia de caracteres de diferença é maior que o número de linhas de contexto.Unix
O tipo de saída é derivado do formato de saída de comandodiff
baseado em UNIX.O
Unix
formato de saída é construído da seguinte maneira:<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 exibe as diferenças entre a versão local do 314.cs e a versão do espaço de trabalho do 314.cs que é a versão do arquivo que foi verificada no servidor do Azure DevOps.
c:\projects>tf difference 314.cs
O exemplo a seguir exibe todos os arquivos que foram alterados na pasta src , mas não exibe arquivos que foram alterados em subpastas de src.
c:\projects>tf difference src /format:visual
O exemplo a seguir exibe as diferenças entre o conjunto de alterações 3 e o conjunto de alterações 8 de 1254.cs.
c:\projects>tf difference /version:C3~C8 1254.cs
Os exemplos a seguir exibem as diferenças entre a versão do 314.cs que pertence à etiqueta release
e a versão que pertence ao conjunto de alterações 3200.
c:\projects>tf difference 314.cs;Lrelease 314.cs;C3200
-ou-
c:\projects>tf difference 314.cs;Lrelease~C3200
O exemplo a seguir exibe a diferença entre as versões do e271.cs em que um usuário chamado Pat fez um check-in particular PeerCodeReview8
e a versão base do check-in particular em que baseou suas alterações. A saída também mostra os tipos de alterações pendentes de e271.cs
quando o usuário tiver feito check-in particular.
c:\projects> tf difference /shelveset:PeerCodeReview8;Pat e271.cs
O exemplo a seguir exibe as diferenças entre todos os arquivos no PeerCodeReview2
check-in particular e a versão base do check-in particular desses arquivos.
c:\projects> tf difference /shelveset:PeerCodeReview2