Como remover recursivamente pastas de metadados .svn?

11

Eu tenho um projeto Java e ele usou um repositório SVN, agora eu decido mudar para o GIT.

No entanto, o problema é que o mecanismo SVN que eu usei criou em todas as pastas do projeto o .svndiretório de metadados.

Quero limpar todas as pastas do projeto desta pasta oculta.

Existe algum comando do terminal para procurar na pasta e limpá-la?

Ek Kosmos
fonte

Respostas:

20

Você precisará mover para a pasta desejada usando o cdcomando e escreva o seguinte comando:

find -type d -name '.svn' -exec rm -rfv {} \;

Isso removerá todos os svnarquivos dos diretórios atuais e subdiretórios.

Treviño
fonte
3

Outra maneira de fazer o mesmo é:

rm -rf `encontre. -type d -name .svn`

Chakra
fonte
1
Eu gostaria que o Windows (eu tenho esse mesmo problema nessa plataforma) tivesse soluções que fossem tão limpas e fáceis :( #
Steven
Pode haver algum script em PowerShell, mas eu não usar o Windows mais ;-)
Chakra
Esta falha para diretórios com espaços no nome
enzotib
2

Se ainda estiver conectado ao svn, basta fazer svn exporte ele copiará o projeto sem os metadados do svn :)

Esteira
fonte
1

Para Windows :

  • use UnxUtils http://unxutils.sourceforge.net/ com as respostas anteriores
  • ou use a pesquisa (F3) no explorer com ".svn" como o nome do arquivo, também funcionou para mim
Michel Daviot
fonte
0

Eu gosto de uma solução digitando:

find ./ -name ".svn" | xargs rm -Rf
Ek Kosmos
fonte
Isso é perigoso, quando alguns dir pode conter espaços em seu nome
enzotib
Sim. Cuidado com os espaços!
Nanofarad