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

Próximas etapas