Quero remover todos os arquivos com versão do meu repositório, mas MANTER a estrutura de diretório com versão. Obviamente, quero deixar todos os diretórios .svn intocados.
Em outras palavras, quero esvaziar completamente a estrutura de diretórios de uma cópia de trabalho SEM prejudicar a própria estrutura de diretórios.
Por exemplo, removendo os arquivos desta estrutura:
dir/
.svn/
[files]
svsubdir1/
file1
.svn/
[files]
subdir2/
file2
file3
file4
.svn/
[files]
subsubdir1/
file5
.svn/
[files]
Deve resultar em:
dir/
.svn/
[files]
svsubdir1/
.svn/
[files]
subdir2/
.svn/
[files]
subsubdir1/
.svn/
[files]
Estou procurando algum tipo de find
comando ou algo para fazer isso, e estou tendo problemas para construir o comando. Obrigado pela ajuda!
Respostas:
deve caber na conta (a maioria vem da página de localização de
-path
). Tubo para menos e confira. O que ele faz é primeiro encontrar (o caminho termina em .svn e não recursa (remove) neste diretório) ou (se for um arquivo, imprima-o).Se parecer bom, altere-o para
A versão + une todos os arquivos em um comando rm. Se você é paranóico, faça um backup da árvore (
cp -a dir/ otherdir/
) primeiro.fonte
-delete
é aprofundada e, portanto, entra em conflito-prune
porque os arquivos dentro da pasta seriam verificados antes de a própria pasta ser examinada. A outra solução (usando, em-not -path ...
vez de,-path ... -prune
pode usar a opção -delete.Deveria fazer o truque.
fonte
-exec /bin/rm '{}'
você pode usar-delete
.