Comando folderdiff (Controle de Versão do Team Foundation)
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Visual Studio 2019 | Visual Studio 2022
Use o comando folderdiff
do TFVC para exibir e comparar uma representação visual das diferenças entre arquivos em duas pastas de servidor, em uma pasta de servidor e em uma pasta local ou em duas pastas locais.
Pré-requisitos
Para usar o comando folderdiff
, é necessário ter a permissão de Leitura definida como Permitir. Para saber mais, consulte Permissões padrão do TFVC.
Sintaxe
tf folderdiff [sourcePath] targetPath [/recursive] [/noprompt] [/collection:TeamProjectCollectionUrl] [/filter:filter] [/filterLocalPathsOnly] [/login:username,[password]] [/view:same,different,sourceOnly,targetOnly]
Parâmetros
Argumentos
Argument
Descrição
<sourcePath>
O caminho de origem local ou do servidor na operação de comparação. Se esse argumento não for fornecido e targetPath
for o caminho mapeado local, sourcePath
será o caminho do servidor para o qual ele mapeia.
<targetPath>
O caminho de destino local ou do servidor na operação de comparação.
<filter>
Uma lista delimitada por ponto e vírgula de máscaras de filtro de inclusão e exclusão para a opção /filter
. O padrão é *
, ou incluir todos. Confira Comentários para ver uma descrição detalhada de filtros e máscaras.
<TeamProjectCollectionUrl>
A URL da coleção de projetos que contém os arquivos para os quais você quer exibir e comparar as diferenças; por exemplo http://myserver:8080/tfs/DefaultCollection
.
<username>
Mostra 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
/recursive
Opcional. Comparação completa e recursiva das duas pastas.
/noprompt
Opcional. Executa tf folderdiff
sem exibir a saída na janela Diferença de pastas do Visual Studio. Em vez disso, a janela do prompt de comando exibe a saída.
/filter
Opcional. Especifica uma lista de máscaras de inclusão e filtro usadas para corresponder aos nomes de arquivos e pastas a serem comparados.
/filterLocalPathsOnly
Opcional. Especifica que somente os caminhos locais serão filtrados, a menos que o caminho do servidor correspondente exista.
/view
Opcional. Especifica quais informações incluir na saída usando uma lista separada por vírgulas dos seguintes valores:
same
exibe arquivos com o mesmo conteúdo nos diretórios de origem e de destino.different
exibe arquivos com conteúdo diferente nos diretórios de origem e de destino.sourceOnly
exibe arquivos que existem apenas no diretório de origem.targetOnly
exibe arquivos que existem apenas no diretório de destino.
O padrão é different,sourceOnly,targetOnly
.
/collection
Especifica a coleção de projetos.
/login
Especifica o nome de usuário e a senha para autenticar o usuário no Azure DevOps.
Comentários
A janela do prompt de comando exibirá a saída se você especificar /noprompt
. Caso contrário, a janela Diferença de Pastas do Visual Studio exibirá a saída.
Quando o sistema compara a pasta mapeada local com a pasta do servidor para a qual ela está mapeada, a saída na janela Diferença de Pasta inclui uma lista de alterações pendentes. Além disso, a saída na janela Diferença de Pasta informa se a pasta local contém ou não a cópia mais recente.
A saída exibida na janela do prompt de comando lista todos os arquivos nas pastas nas cinco seções a seguir:
- Itens que existem apenas na pasta do servidor.
- Itens que existem apenas na pasta local.
- Itens que têm conteúdo diferente.
- Itens que têm conteúdo idêntico. É necessário especificar o argumento
same
com a opção/view
. - Resumo.
Filtros de arquivo e pasta
Um filtro é uma lista ordenada de máscaras de nome usadas para corresponder ao nome dos arquivos e pastas a serem comparados. As máscaras podem conter o caractere curinga de ponto de interrogação ?
para corresponder exatamente a um caractere; e o caractere curinga de asterisco *
para corresponder a zero ou mais caracteres.
Você delimita as máscaras em um filtro usando ponto e vírgula ;
. As máscaras de pasta devem terminar em uma barra invertida \
. Para especificar uma máscara de exclusão, coloque um prefixo de ponto de exclamação !
na máscara.
Os filtros são aplicados aos nomes de arquivos e pastas de acordo com as seguintes regras:
Quando um filtro especifica máscaras de arquivo e pasta, elas são separadas em uma lista de máscaras de arquivo e em uma lista de máscaras de pasta. Máscaras de arquivo se aplicam somente a nomes de arquivo. Máscaras de pasta se aplicam somente a nomes de pastas.
Para corresponder a um nome de arquivo ou pasta, o comando compara o nome a cada máscara no filtro na ordem em que foi especificado. Assim que corresponder a uma máscara, o nome será considerado uma correspondência.
Se houver uma máscara de inclusão entre as máscara do arquivo, os arquivos que não correspondem a nenhuma das máscaras de arquivo serão excluídos.
Se houver uma máscara de exclusão entre as máscara do arquivo, os arquivos que não correspondem a nenhuma das máscaras de arquivo serão incluídos.
Se houver uma máscara de inclusão entre as máscara da pasta, as pastas que não correspondem a nenhuma das máscaras de pasta serão excluídas.
Se houver uma máscara de exclusão entre as máscara da pasta, as pastas que não correspondem a nenhuma das máscaras de pasta serão incluídas.
A tabela a seguir lista exemplos de máscara de nome de filtro.
Máscara de nome | Descrição |
---|---|
*.cs |
Corresponde a todos os arquivos C#. |
My*.bmp |
Corresponde a todos os arquivos de bitmap que começam com My. |
!*.exe |
Exclui todos os arquivos executáveis. |
!objd\ |
Exclui todas as pastas objd. |
A tabela a seguir lista exemplos de filtro.
Filter | Descrição |
---|---|
*.cs;!objd\;!obj\;!bin\ |
Corresponde a todos os arquivos C#, exceto aqueles em pastas objd, obj ou bin. |
!*.resx;!*.ini;!resources\;!*junk*\ |
Exclui todos os arquivos .resx e .ini, todos os arquivos na pasta de recursos, e todos os arquivos em qualquer pasta cujo nome contenha a palavra junk. |
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.
Exemplos
O exemplo a seguir compara os arquivos na pasta do servidor e em uma pasta local, organiza os arquivos na pasta local recursivamente e exibe a saída na janela do prompt de comando.
tf folderdiff $/<serverFolder> F:\<localFolder> /recursive /noprompt