Como posso remover dados do repositório SVN local?

2

Eu acidentalmente enviei um monte de arquivos binários usando a opção "Adicionar pasta" do TortoiseSVN quando deveria ter usado simplesmente "Criar pasta". Eu não quero esses arquivos binários no SVN porque eles ocupam muito espaço no meu HD e realmente não se beneficiam de versões de qualquer maneira. No entanto, não tenho certeza sobre a melhor forma de reverter essa bagunça de maneira a liberar a memória usada para confirmar todos esses arquivos binários. Eu posso facilmente excluir todos os arquivos e confirmar, mas não estou confiante de que isso realmente removerá os dados associados do SVN, especialmente da revisão em que foram adicionados.

Eu olhei no diretório do repositório SVN e encontrei um arquivo gigantesco "db / revs / 67", que eu suponho que representa dados para a revisão 67, na qual esses arquivos foram adicionados. Posso simplesmente excluir esse arquivo ou ele causará problemas para o SVN? Parece que eu precisaria excluir ou modificar arquivos em outro lugar, para que o SVN aja como se essas revisões nunca existissem?

    
por Aaron 17.03.2011 / 03:06

1 resposta

3

Para remover completamente uma revisão do histórico do SVN, é necessário exportar o repositório com a revisão removida e, em seguida, restaurá-lo a partir do arquivo de despejo. Para fazer isso, execute os seguintes comandos em um terminal ou no prompt de comando do Windows:

svnadmin dump /path/to/repo -r1:66 > svn.dump
ren /path/to/repo /path/to/backup
svnadmin create /path/to/repo
svnadmin load /path/to/repo < svn.dump

(Sistemas On * nix, substitua ren por mv .)

Quando tiver certeza de que tudo está bem no novo repositório, você pode excluir o backup.

Considere o uso da propriedade svn:ignore para evitar que esses arquivos sejam confirmados no repositório no futuro. Você pode adicionar arquivos à lista de ignorados com o TortoiseSVN clicando com o botão direito do mouse sobre eles, indo para TortoiseSVN , e escolhendo Adicionar à lista de ignorados .

    
por 17.03.2011 / 03:27