Comando de diferença
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
O comando TFVC (Controle de Versão do Team Foundation) difference
é comparado e, se possível, exibe diferenças entre dois arquivos, arquivos em duas pastas ou um conjunto de prateleiras e um arquivo local ou de servidor.
Pré-requisitos
Para usar o comando difference
, tenha a permissão Ler para todos os itens especificados definidos como Permitir. Para obter mais informações, consulte permissões TFVC padrão.
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
de argumento
descrição
<itemspec>
Necessário. Especifica o item a ser comparado. Se nenhuma versão ou caminho for especificado, a versão atual do workspace será assumida. Aceita os caminhos do servidor local e do Azure DevOps.
Para obter mais informações sobre como o TFVC analisa o itemspec
para determinar quais itens estão dentro do escopo, consulte Usar 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 uma especificação de versão para determinar quais itens estão dentro de seu escopo, consulte Usar comandos de controle de versão do Team Foundation.
<shelvesetowner>
Identifica o proprietário do conjunto de prateleiras 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 conjunto de prateleiras. Você pode criar mais de um conjunto de prateleiras com o mesmo nome no servidor que está executando o TFVC, desde que um usuário diferente possua cada conjunto de prateleiras.
<shelveset_itemspec>
Especifica o nome de uma pasta ou arquivo no conjunto de prateleiras a ser comparado com a versão base do conjunto de prateleiras.
<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 as 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 workspace 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 Arquivo A tiver dois novos caracteres de linha entre áreas inalteradas de texto e arquivo B tiver um, o resultado será exibido como uma diferença. Se ambos os arquivos tiverem apenas uma nova linha, mas arquivo A usar \r\n
como uma nova linha e arquivo B usar \n
, a opção /ignoreeol
ignorará isso como uma diferença.
/ignorecase
Não realça as diferenças na caixa de letras 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 conjunto de prateleiras a ser comparado com a versão do servidor do Azure DevOps na qual o conjunto de prateleiras se baseia.
Essa opção não pode ser combinada com um argumento itemspec
. Para comparar itens individuais de conjunto de prateleiras, você pode fornecer um shelveset_itemspec
.
/noprompt
Suprime 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 com TFVC.
Observações
Nota
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 conjunto de prateleiras 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 as mesmas, você poderá mascarar ou substituir temporariamente a propriedade de codificação para 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 Gerenciamento de tipos de arquivo.
Se você especificar dois nomes de arquivo, os dois arquivos serão comparados. 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.
Se você passar apenas um itemspec
para o comando de diferença:
Se você não fornecer um
versionspec
, sua versão atual do workspace do item será comparada com a versão do workspace base, 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 workspace 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 obter mais informações sobre como usar o utilitário de linha de comando tf
, consulte Usar comandos de 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
tipo de formato abre um aplicativo de diferença externa. Por padrão, diffmerge.exe é iniciado.Brief
formato imprime se os arquivos que estão sendo comparados diferem.Context
formato fornece linhas de contexto para as diferenças nos arquivos. Esse formato é derivado do formato de saída dediff -c
baseado em UNIX.RCS
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 o 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ída dediff -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
formato produz uma nova linha de cadeia de caracteres de diferença unificada (@@ ... @@
) somente quando a distância até a próxima cadeia de caracteres de diferença é maior que o número de linhas de contexto.Unix
tipo de saída é derivado do formato de saída de comandodiff
baseado em UNIX.O formato de saída
Unix
é 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 workspace de 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 de 314.cs que pertencem ao rótulo 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 de e271.cs em que um usuário chamado Pat foi arquivado no conjunto de prateleiras PeerCodeReview8
e a versão base do conjunto de prateleiras em que baseou suas alterações. A saída também mostra os tipos de alterações pendentes em relação a e271.cs
quando o usuário foi arquivado.
c:\projects> tf difference /shelveset:PeerCodeReview8;Pat e271.cs
O exemplo a seguir exibe as diferenças entre todos os arquivos no conjunto de prateleiras PeerCodeReview2
e a versão base do conjunto de prateleiras desses arquivos.
c:\projects> tf difference /shelveset:PeerCodeReview2
Artigos relacionados
- comando Mesclagem
- de comando
Checkin - de comando
Shelvesets - Gerenciar tipos de arquivo
- comparar pastas e arquivos