segunda-feira, novembro 09, 2009

Removendo .svn

De quando em vez tenho a necessidade de remover todos os diretórios de controle do svn, os famigerados ".svn", isso seria tarefa fácil se o projeto fosse pequeno, porém, alguns projetos chegam a gerar centenas desses.

Então a ideia é realiazar uma pesquisa num dados diretório em busca dos tais ".svn" e para cada ocorrência executar o "rm -rf" passando a ocorrência encontrada como argumento para xargs.

   $ find . -iname .svn | xargs rm -fr

 Note que foi usado '-iname' ao invés de '-name' para ignorar diferenciação entre maiscula e miniscula.

    find . -iname .svn: Encontra todos os diretórios ".svn"
    xargs rm -rf: O xargs é o programa que executa o que vier depois dele pra cada linha recebida como argumento.


Uma forma alternativa sem uso do xargs:

   $ find . -iname .svn -exec rm -rf {} \;


 Claro que você pode evitar a criação destes diretórios simplismente dando um:

    svn export DESTINO

Mas se eles já existirem fica a dica.
Outra coisa é que basta você trocar o nome do diretório que se deseja excluir e a dica é válida do mesmo jeito.

[]'

Nenhum comentário: