Comando Diferença
Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
O comando Team Foundation Version Control (TFVC) difference
compara 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 difference
comando, você deve ter a permissão de leitura para todos os itens especificados definida 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
Argumento
Descrição
<itemspec>
Obrigatório. 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 caminhos de servidor locais e do Azure DevOps.
Para obter mais informações sobre como o TFVC analisa o para determinar quais itens estão dentro do escopo, consulte Usar comandos de controle de versão do itemspec
Team Foundation.
O difference
comando não suporta caracteres curinga.
Este parâmetro não pode ser combinado com a /shelveset
opção.
<itemspec2>
Opcional. O item com o qual o itemspec
deve ser comparado. Se você não fornecer um segundo itemspec
, a versão mais recente do servidor Azure DevOps do item será usada.
<filetype>
Fornece um valor para a /type
opção. Você pode especificar binary
ou text
e um número de página de código ou o nome amigável para uma página de código.
<format>
Usado com a /format
opção 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 Observações .
<versionspec>
O valor fornecido pelo usuário para a /version
opção. 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 por 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 na prateleira para comparar com a versão base do shelveset.
<username>
Fornece um valor para a /login
opção. Você pode especificar um valor de nome de usuário como ou DOMAIN\username
username
.
Opções
Opção
Descrição
/type
Substitui todas as codificações detetadas 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 usa a versão do espaço de trabalho se você não fornecer um versionspec
arquivo .
Em vez de usar o /version
sinalizador, você pode especificar versões anexando 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 format
argumento.
/ignorespace
Não realça as diferenças de espaço em branco entre os ficheiros 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 do ignorespace
, que trata oito espaços de forma idêntica a um. No entanto, se você usar a opção e o /ignoreeol
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 /ignoreeol
opção ignoraria isso como uma diferença.
/ignorecase
Não destaca 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 pelo 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 para comparar com a versão do servidor de DevOps do Azure na qual o conjunto de prateleiras se baseia.
Esta opção não pode ser combinada com um itemspec
argumento. Para comparar itens de prateleira individuais, você pode fornecer um shelveset_itemspec
arquivo .
/noprompt
Suprime todas as caixas de diálogo que seriam exibidas durante a conclusão desta operação.
/configure
Invoca a caixa de diálogo Configurar Ferramentas do 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 difference
comando 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 de DevOps do Azure.
Você pode usar o difference
comando para comparar arquivos versionados e não versionados.
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 quiser comparar dois arquivos cujas codificações não são as mesmas, você pode mascarar temporariamente ou substituir a propriedade de codificação de um arquivo usando a /type
opção.
Os arquivos binários podem ser comparados, mas não podem ser mesclados. Quando você passa um ou mais arquivos binários para o comando, o difference
TFVC indica se existem diferenças entre ele e o item com o qual ele está sendo comparado. Para obter mais informações sobre como o TFVC diferencia e trata arquivos de tipos diferentes, consulte Gerenciando 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 anexando 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 difference:
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 de header.h com a versão na qual header.h é baseado.Se você incluir um
versionspec
no ,itemspec
comotf difference header.h;LBeta1
, o TFVC compara 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 finais do intervalo serão comparadas.
Para obter mais informações sobre como usar o utilitário de linha de tf
comando, consulte Usar comandos de controle de versão do Team Foundation.
Tipos de formato de saída
O format
parâmetro, usado com a /format
opção, 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 externo. Por padrão, diffmerge.exe é iniciado.Brief
formatar imprime se os ficheiros que estão a ser comparados diferem.Context
format fornece linhas de contexto para as diferenças nos arquivos. Este formato é derivado do formato de saída baseado emdiff -c
UNIX.RCS
format é semelhante ao/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 Comparação (linha de comando).SS_SideBySide
é o formato de saída lado a lado padrão para Visual SourceSafe.SS_Unix
é semelhante ao formato de/format:unix
saída, mas/format:ss_unix
inclui linhas de contexto e/format:unix
não inclui.Unified
é derivado do formato de saída baseado emdiff -u
UNIX./format:context
repete linhas de contexto idênticas entre as cadeias de caracteres de diferença, mas/format:unified
não repete.Unified
format produz uma nova linha unificada de string de diferença (@@ ... @@
) somente quando a distância para a próxima string de diferença é maior do que o número de linhas de contexto.Unix
O tipo de saída é derivado do formato de saída de comando baseado emdiff
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 fez check-out do servidor de DevOps do Azure.
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 do 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 ao rótulo release
e a versão que pertence ao changeset 3200.
c:\projects>tf difference 314.cs;Lrelease 314.cs;C3200
-or-
c:\projects>tf difference 314.cs;Lrelease~C3200
O exemplo a seguir exibe a diferença entre as versões de e271.cs que um usuário chamado Pat engavetou na prateleira PeerCodeReview8
e a versão de prateleira base na qual eles basearam suas alterações. A saída também mostra os tipos de alterações pendentes em relação ao momento em que e271.cs
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 shelveset e a PeerCodeReview2
versão base shelveset desses arquivos.
c:\projects> tf difference /shelveset:PeerCodeReview2