# Clean up

Se um comando do SVN não pôde ser concluído com sucesso, talvez devido a problemas no servidor, sua cópia de trabalho pode ser deixada em um estado inconsistente. Ou se precisar fazer um [<span style="text-decoration: underline;">merge</span>](https://wiki.supersoft.com.br/books/svn-basico/page/merge-comum-sem-conflitos) com a versão ou trunk.

É importante fazer o clean up no diretório para que todas as units que sofreram alterações mas que não serão salvas no servidor, retornem ao seu estado anterior às alterações, como por exemplo na imagem a seguir:

[![Cleanup_ExemploUnits.png](https://wiki.supersoft.com.br/uploads/images/gallery/2021-01/scaled-1680-/cleanup-exemplounits.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2021-01/cleanup-exemplounits.png)

<p class="callout info">Observar que, constantemente aparecem units com extensões do tipo: .dproj, .dres, .stat, etc, que geralmente se encontram com o status "non-versioned". Essas units, não devem ser enviadas ao servidor. Por isso, lembre-se de realizar o clean up </p>

A única unit que será efetivamente alterada neste exemplo, é a unit "**Funcio2.dfm**", as outras apesar de modificadas, não serão efetivamente salvas no servidor, e por isso devem ser eliminadas com o comando Clean up da seguinte forma.

No diretório desejado, clique com o botão direito, selecione a opção "TortoiseSVN" -&gt; "Clean up..." como demonstrado abaixo.

[![image-1610454861551.png](https://wiki.supersoft.com.br/uploads/images/gallery/2021-01/scaled-1680-/image-1610454861551.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2021-01/image-1610454861551.png)

A seguinte tela será aberta com todas a opções de limpeza para deixar sua cópia de trabalho em um estado limpo.

[![image-1610458585101.png](https://wiki.supersoft.com.br/uploads/images/gallery/2021-01/scaled-1680-/image-1610458585101.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2021-01/image-1610458585101.png)

As opções mais comuns e utilizados são:

[![image-1610458686668.png](https://wiki.supersoft.com.br/uploads/images/gallery/2021-01/scaled-1680-/image-1610458686668.png)](https://wiki.supersoft.com.br/uploads/images/gallery/2021-01/image-1610458686668.png)

##### "Clean up working copy status"

<span class="JLqJ4b ChMk0b" data-language-for-alternatives="pt" data-language-to-translate-into="en" data-phrase-index="4">Conforme declarado acima, esta opção tenta colocar uma cópia de trabalho inconsistente em um estado funcional e utilizável.</span> <span class="JLqJ4b ChMk0b" data-language-for-alternatives="pt" data-language-to-translate-into="en" data-phrase-index="5">Isso não afeta nenhum dado que você tenha, mas apenas os estados internos do banco de dados da cópia de trabalho.</span> <span class="JLqJ4b ChMk0b" data-language-for-alternatives="pt" data-language-to-translate-into="en" data-phrase-index="6">Este é o comando de limpeza real que você conhece de clientes TortoiseSVN mais antigos ou outros clientes SVN.</span>

##### "Break write locks"

<span class="JLqJ4b ChMk0b" data-language-for-alternatives="pt" data-language-to-translate-into="en" data-phrase-index="2">Se marcado, todos os bloqueios de gravação são removidos do banco de dados da cópia de trabalho.</span> <span class="JLqJ4b ChMk0b" data-language-for-alternatives="pt" data-language-to-translate-into="en" data-phrase-index="3">Na maioria das situações, isso é necessário para que a limpeza funcione!</span>

<span class="JLqJ4b ChMk0b" data-language-for-alternatives="pt" data-language-to-translate-into="en" data-phrase-index="5">Apenas desmarque esta opção se a cópia de trabalho for usada por outros usuários / clientes no momento.</span> <span class="JLqJ4b ChMk0b" data-language-for-alternatives="pt" data-language-to-translate-into="en" data-phrase-index="6">Mas se a limpeza falhar, você deve marcar esta opção para que a limpeza seja bem-sucedida.</span>

##### <span class="JLqJ4b ChMk0b" data-language-for-alternatives="pt" data-language-to-translate-into="en" data-phrase-index="6">"Refresh shell overlays"</span>

<span class="JLqJ4b ChMk0b" data-language-for-alternatives="pt" data-language-to-translate-into="en" data-phrase-index="6">Às vezes, as sobreposições de shell, especialmente na visualização em árvore no lado esquerdo do explorer, não mostram o status atual ou o cache de status falhou em reconhecer as alterações. Nessa situação, você pode usar este comando para forçar uma atualização.</span>

##### <span class="JLqJ4b ChMk0b" data-language-for-alternatives="pt" data-language-to-translate-into="en" data-phrase-index="6">"Include externals"</span>

<span class="JLqJ4b ChMk0b" data-language-for-alternatives="pt" data-language-to-translate-into="en" data-phrase-index="6">Se esta opção estiver marcada, todas as ações também serão realizadas para todos os arquivos e pastas incluídos na propriedade svn: externals.</span>

##### <span class="JLqJ4b ChMk0b" data-language-for-alternatives="pt" data-language-to-translate-into="en" data-phrase-index="6">"Delete unversioned files and folders"</span>

Esta é uma maneira rápida e fácil de remover todos os arquivos gerados em sua cópia de trabalho. Todos os arquivos e pastas sem controle de versão são movidos para a lixeira.

<p class="callout info">Nota: você também pode fazer o mesmo na caixa de diálogo TortoiseSVN → Revert. Lá, você também obtém uma lista de todos os arquivos e pastas sem versão para selecionar para remoção.</p>

##### "Revert all changes recursively"

Este comando reverte todas as modificações locais que ainda não foram confirmadas.

<p class="callout info">Nota: é melhor usar o comando TortoiseSVN → Revert, porque lá você pode primeiro ver e selecionar os arquivos que deseja reverter.</p>