Manuals

Apagando, Movendo e Renomeando

O Subversion permite renomear e mover ficheiro e pastas. Portanto, existem entradas para apagar e renomear no sub-menu do TortoiseSVN.

Figura 4.33. Menu de contexto do Explorerer para arquivos controlados

Menu de contexto do Explorerer para arquivos controlados


Apagando arquivos e diretórios

Para remover ficheiros ou pastas do Subversion usa TortoiseSVNRemover.

Quando TortoiseSVNRemover

Se você quer apagar um item do repositório, mas manter uma versão local não versionada do arquivo/diretório, use Menu de Contexto EstendidoExcluir (manter local). Você deve manter a tecla Shift pressionada enquando clica com o botão direito no item desejado no painel direito do "explorer" para ver este menu de contexto estendido.

If an item is deleted via the explorer instead of using the TortoiseSVN context menu, the commit dialog shows those items as missing and lets you remove them from version control too before the commit. However, if you update your working copy, Subversion will spot the missing item and replace it with the latest version from the repository. If you need to delete a version-controlled file, always use TortoiseSVNDelete so that Subversion doesn't have to guess what you really want to do.

Recuperando arquivos e diretórios excluidos

If you have deleted a file or a folder and already committed that delete operation to the repository, then a normal TortoiseSVNRevert can't bring it back anymore. But the file or folder is not lost at all. If you know the revision the file or folder got deleted (if you don't, use the log dialog to find out) open the repository browser and switch to that revision. Then select the file or folder you deleted, right click and select Context MenuCopy to... as the target for that copy operation select the path to your working copy.

Movendo arquivos e diretórios

Se você quer fazer uma simples renomeação de arquivo ou diretório, use Menu de ContextoRenomear... e entre com o novo nome para o item e estará feito.

If you want to move files around inside your working copy, perhaps to a different sub-folder, use the right mouse drag-and-drop handler:

  1. selecione os arquivos ou diretórios que você quer mover

  2. arrasto direito neles para a nova localização dentro da cópia de trabalho

  3. solte o botão direito do mouse

  4. no menu que se abre escolha Menu de ContextoSVN Mover itens sob controle de versão para cá

Submetendo o diretório pai

Já que renomear e mover arquivos está feito assim como a exclusão como complemento você deve submeter o diretório pai dos arquivos renomeados/movidos assim como os excluídos/movidos que aparecerão na janela de submissão. Se você não submeteu a parte removida da ação de renomear/mover, ela continuará no repositório e quando algum outro participante do projeto atualizar sua cópia, os velhos arquivos não serão removidos. Por exemplo eles ambas as cópias, velhas e novas.

Você deve submeter um diretório renomeado antes de alterar qualquer arquivo dentro dele, caso contrário sua cópia de trabalho pode realmente se corromper.

Another way of moving or copying files is to use the Windows copy/cut commands. Select the files you want to copy, right click and choose Context MenuCopy from the explorer context menu. Then browse to the target folder, right click and choose TortoiseSVNPaste. For moving files, choose Context MenuCut instead of Context MenuCopy.

Você pode também usar o navegador de repositório para mover itens. Leia “O Navegador de Repositório” para descobrir mais.

Não Mova Arquivos Externos

Você não deverá usar os comandos do TortoiseSVN Mover ou Renomear em um diretório que tenha sido criado usando svn:externals. Esta ação poderá causar a exclusão de um item externo em seu repositório, provavelmente chateando muitas outras pessoas. Se você precisa mover um diretório externo você deverá usar uma outra ferramenta para mover, e então ajustar as propriedades svn:externals do diretório de origem e de destino.

Procedimento em caso de conflito com o nome do arquivo

Se o repositório atualmente já contém dois arquivos com o mesmo nome diferenciados apenas pela caixa (exemplo: TEST.TXT e test.txt, você não poderá atualizar ou obter o diretório em um cliente Windows.Embora o Subversion suporte diferenciação na caixa no nome dos arquivos, o Windows não suporta.

Isto algumas vezes acontece quando duas pessoas submetem, de diferentes cópias de trabalho, arquivos salvos com o mesmo nome, mas com caixa diferente. Isto pode também acontecer quando os arquivos forem submetidos de um sistema de arquivos que trata a caixa do nome dos arquivos, como Linux.

Nestes casos, você precisa decidir qual dos arquivos você quer manter e então apagar (ou renomear) o outro arquivo no repositório.

Prevenindo dois arquivos com o mesmo nome

There is a server hook script available at: https://svn.apache.org/repos/asf/subversion/trunk/contrib/hook-scripts/ that will prevent checkins which result in case conflicts.

Reparando Renomeação de Arquivos

Algumas vezes seu amigável IDE vai renomear arquivos para você como parte de uma refatoração, e é claro isto não é o Subversion. Se você tentar submeter suas alterações, Subversion verá que há velhos arquivos perdidos e que há novos arquivos não controlados. Você poderá apenas verificar o novo nome para adicioná-lo, mas você então perderá o histórico, já que o Subversion não conhece a relação dos arquivos.

Uma maneira melhor de notificar o Subversion é identificar a alteração como uma renomeação, e você pode fazer isso usando as janelas de Submeter e Verificar alterações. Apenas selecione ambos os arquivos (perdido e não controlado) e use Menu de ContextoReparar movimento para identificar os dois arquivos como uma renomeação.

Apagando Arquivos não Controlados

Normalmente você define sua lista de arquivos ignorados para que todos os arquivos criados sejam ignorados pelo Subversion. Mas e se você quer remover todos os arquivos ignorados para produzir uma compilação limpa? Normalmente você definie isso no arquivo makefile, mas e se você está depurando o arquivo makefile, ou alterando o sistema de compilação é útil ter uma forma de limpar tudo.

TortoiseSVN provê justamente uma opção usando Menu de Contexto EstendidoApagar arquivos não controlados.... VocShift enquando clica o bot

Quando tais arquivos são removidos, a lixeira é usada, então se você cometeu algum erro ao excluir um arquivo que não estava sendo controlado, você ainda poderá restaurar o arquivo.

TortoiseSVN homepage