Comando Destroy (Controle de Versão do Team Foundation)

Serviços de DevOps do Azure | Azure DevOps Server 2022 - Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Use o tf destroy comando para destruir ou excluir permanentemente arquivos com controle de versão do Controle de Versão do Team Foundation (TFVC).

Nota

A exclusão de um repositório TFVC dentro do Azure Devops não é permitida depois que ele for criado. O comando tf destroy apenas destruirá, ou excluirá permanentemente, arquivos ou pastas com controle de versão, mas não excluirá o repositório TFVC. Ele ainda aparecerá na lista de opções com a mensagem excluída.

Às vezes você tem que limpar sistemas de controle de versão. Por exemplo, se alguns ficheiros estiverem infetados com um vírus de computador, terá de removê-los permanentemente do controlo de versão. Não destrua os ficheiros que ainda são necessários. A ação de destruição não pode ser revertida.

Antes de executar tf destroy sem a /keephistory opção, primeiro exclua os arquivos que deseja destruir. Para obter mais informações, consulte Excluir arquivos e pastas do controle de versão.

Depois de excluir os arquivos, você pode sincronizar o depósito TFVC. Caso contrário, o depósito não será sincronizado com os itens destruídos.

Pré-requisitos

Para usar o destroy comando, você deve pertencer ao grupo de segurança Administradores do Team Foundation. Para obter mais informações, consulte Permissões TFVC padrão.

Sintaxe

tf destroy [/keephistory] <itemspec1>[;<versionspec>][<itemspec2>...<itemspecN>] 
[/stopat:<versionspec>] [/preview] [/startcleanup] [/noprompt] [/silent] [/login:username,[password]] [/collection:TeamProjectCollectionUrl]]

Parâmetros

Argumentos

Argumento

Descrição

<itemspec1> [<itemspec2>...<itemspecN>]

Especifica o caminho do servidor do arquivo ou pasta a ser destruído. Use vários itemspec valores para excluir vários itens. Por exemplo, tf destroy $/TeamProject1 $/teamProject2 $/TeamProject3.

Os caminhos locais não são suportados.

<versionspec>

Fornece uma versão como C58 para as /keephistory opções ou /stopat . Os valores permitidos são date, tip, ou um conjunto de alterações específico. 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.

<username>

Fornece um valor para a /login opção. Você pode especificar um username valor como um ou usernameDOMAIN\username .

TeamProjectCollectionUrl

A URL da coleção de projetos que contém arquivos que você deseja destruir, por exemplo, http://myserver:8080/tfs/DefaultCollection.

Opções

Opção

Descrição

/keephistory

Opcional. Especifica que o histórico de um arquivo é preservado mesmo quando seu conteúdo é destruído. Esta opção não pode ser especificada com a /preview opção.

/stopat

Opcional. Só pode ser usado se /keephistory for especificado também.

Especifica a versão do arquivo e os arquivos que se seguem posteriormente, para os quais o histórico é preservado.

A versão padrão para /stopat é tip (T) para a versão de check-in mais recente de um item.

Não é possível usar valores de rótulo ou espaço de trabalho versionspec para especificar um item para a /stopat opção.

/preview

Exibe os arquivos que seriam destruídos na janela do prompt de comando. Quando tf destroy executado no modo de visualização, os arquivos não são realmente destruídos.

Nota

O texto na janela do prompt de comando exibe a palavra Destruído com cada arquivo que seria destruído. No entanto, o arquivo não é realmente destruído quando a /preview opção é usada.

/startcleanup

Força o processo de limpeza de metadados TFVC a iniciar imediatamente após a conclusão da exclusão. Se o usuário não especificar /startcleanup, o processo de limpeza de metadados destruído ocorrerá quando a manutenção do banco de dados limpar todos os arquivos que não são mais referenciados pelo Servidor de DevOps do Azure. Por padrão, a limpeza está programada para ser executada a cada cinco dias. Sete dias após a limpeza dos metadados do TFVC, o conteúdo é excluído por outro processo de limpeza. Por padrão, esse processo de limpeza de conteúdo é executado uma vez por dia.

/noprompt ou /i

Especifica que a destruição de arquivos não é interativa. /i é um alias para /noprompt.

/silent

Especifica que, quando você destrói arquivos ou pastas, a saída não é gravada na janela do prompt de comando.

/login

Especifica o nome de usuário e a senha para autenticar o usuário com TFVC.

/collection

Especifica a coleção de projetos.

Observações

Quando você usa tf destroy para destruir arquivos de controle de versão, a camada de aplicativo do TFVC recebe a solicitação de destruição e verifica se você é um membro do grupo de segurança Administradores do Team Foundation. Se você não for um membro, o sistema exibirá uma caixa de diálogo de mensagem de erro informando que você não tem permissões suficientes para executar a operação.

Depois que o sistema verifica suas permissões, ele executa o comando destruir. Este comando exclui todas as referências de arquivo, prateleiras e alterações pendentes. A destruição real de arquivos, que é uma exclusão permanente, acontece na próxima vez que o conteúdo que não é mais referenciado pelo Azure DevOps Server é limpo. Você também pode especificar a /startcleanup opção para limpar os arquivos imediatamente após tf destroy as execuções.

Se você executar tf destroy sem especificar /i e /preview, o sistema exibirá um prompt de console Sim ou Não para cada filespec valor. Caso contrário, você pode especificar Sim para todos.

  • Se você não especificar /keephistoryo , será solicitado por um texto interativo que avisa sobre alterações pendentes, se elas existirem. O texto interativo aponta para /preview se você quiser mais informações sobre as alterações.

  • Se você especificar /keephistory, também será solicitado pelo texto Sim, Não ou Sim para Todos. Se você selecionar Sim ou Sim para Todos, o processo de destruição será iniciado e os caminhos do servidor para os itens destruídos aparecerão na janela do prompt de comando.

Destroyed: <serverItem1>
Destroyed: <serverItem2>
Destroyed: ...

Se você especificou o versionspec valor como tip, os caminhos do servidor exibidos na janela do prompt de comando incluem IDs de exclusão. Por exemplo, Destroyed: $/Test1/MyProject;X123 pode aparecer na janela do prompt de comando.

Se você usar a /preview opção, os arquivos não serão destruídos, mas o texto da linha de comando exibirá os arquivos que seriam destruídos. Por exemplo, se você digitar tf destroy /preview $/Test1/MyProject/MyProject/Program.cs na linha de comando, a janela de comando exibirá este texto:

Destroyed: $/Test1/MyProject/MyProject/Program.cs

No entanto, o arquivo não é realmente destruído porque você usou a /preview opção.

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.

Efeitos de /keephistory em outras operações de controle de versão

Se você especificar a /keephistory opção para manter o histórico de arquivos destruídos, os arquivos serão tratados como destruídos pelas seguintes operações TFVC:

  • Alterar conteúdo. Se você tentar alterar o conteúdo de um arquivo destruído, por exemplo, editar ou ramificar, o sistema emitirá uma mensagem de erro informando que o conteúdo foi destruído.

  • Ramificação, fusão ou desarquivamento. Se você tentar ramificar, mesclar ou desarquivar itens destruídos, o sistema emitirá uma mensagem de erro informando que o conteúdo dos itens foi destruído.

Destruir itens excluídos anteriormente

Se um item já tiver sido excluído, uma ID de exclusão será anexada a ele e resultará em uma alteração de nome de arquivo.

A pesquisa de código não lida com tf destroy notificações, portanto, usar tf destroy para repositórios TFVC não excluirá automaticamente arquivos do índice de pesquisa. Como resultado, esses arquivos aparecem nos resultados da pesquisa de código. Para evitar esses cenários de arquivos fantasmas, exclua os arquivos antes da tf destroy operação.

Exemplos

O exemplo a seguir exclui permanentemente o arquivo a.cs.

tf destroy $/proj/pi/a.cs

O exemplo a seguir exclui uma pasta, aFolder:

tf delete $/MyTeamProject/aFolder

Para destruir o item excluído aFolder, digite na linha de comando:

tf destroy $/MyTeamProject/aFolder;x123

onde x123 é o ID de exclusão.