Comando Diferença
Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | do 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 comando difference
, tenha a permissão de leitura para todos os itens especificados definida como Permitir. Para obter mais informações, consulte Default TFVC permissions.
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>
Necessá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 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 suporta caracteres curinga.
Este parâmetro não pode ser combinado com a opção /shelveset
.
<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 opção /type
. 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 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 Observações.
<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 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 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 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
.
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.
/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 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 /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 usa \r\n
como uma nova linha e Arquivo B usa \n
, a opção /ignoreeol
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 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 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 argumento itemspec
. Para comparar itens de prateleira individuais, você pode fornecer um shelveset_itemspec
.
/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.
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 conjunto de prateleiras no servidor de DevOps do Azure.
Você pode usar o comando difference
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 opção /type
.
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 difference
, o TFVC indica se existem diferenças entre ele e o item com o qual 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 de /version
Se você passar apenas uma 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 do header.h com a versão na qual header.h é baseado.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 finais 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 são diferentes.Context
formato fornece linhas de contexto para as diferenças nos arquivos. Este formato é derivado do formato de saídadiff -c
baseado em UNIX.RCS
formato é 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 Diff (linha de comando).SS_SideBySide
é o formato de saída lado a lado padrão para 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
formato produz uma nova linha unificada de cadeia de caracteres de diferença (@@ ... @@
) somente quando a distância para a próxima cadeia de caracteres de diferença é maior do 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 espaço de trabalho do 314.cs que é a versão do arquivo com 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
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
-ou-
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 arquivou no PeerCodeReview8
de prateleira 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 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 na PeerCodeReview2
shelveset e na versão base shelveset desses arquivos.
c:\projects> tf difference /shelveset:PeerCodeReview2