Как рекурсивно удалить папки метаданных .svn?

11

У меня есть проект Java, и он использовал репозиторий SVN, теперь я решаю перейти на GIT.

Однако проблема в том, что используемый SVN движок создал в каждой папке проекта .svnкаталог метаданных.

Я хочу убрать все папки проекта из этой скрытой папки.

Есть ли какая-нибудь терминальная команда для поиска в папке и ее очистки?

Эк Космос
источник

Ответы:

20

Вам нужно будет перейти в нужную папку с помощью cdкоманды, а затем написать следующую команду:

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

Это удалит все svnфайлы из текущего и подкаталогов.

Тревиньо
источник
3

Другой способ сделать то же самое:

rm -rf `найти. -типа d -name .svn`

чакра
источник
1
Я хотел бы, чтобы у Windows (у меня была та же проблема на этой платформе) были решения, которые были бы такими простыми и понятными :(
Стивен
В Powershell может быть какой-то скрипт, но я больше не использую Windows ;-)
Chakra
Это не работает для каталогов с пробелами в имени
enzotib
2

Если он все еще подключен к SVN, просто сделайте, svn exportи он скопирует проект без метаданных SVN :)

Мат
источник
1

Для Windows:

  • либо используйте UnxUtils http://unxutils.sourceforge.net/ с предыдущими ответами
  • или используйте поиск (F3) в проводнике с ".svn" в качестве имени файла, у меня это тоже сработало
Мишель Давиот
источник
0

Я нашел решение, набрав:

find ./ -name ".svn" | xargs rm -Rf
Эк Космос
источник
Это опасно, когда какой-то
режиссер
Да. Остерегайтесь пробелов!
нанофарад