Системное администрирование Рекурсивное удаление папок .svn в Linux

При разработке программного обеспечения довольно часто возникает ситуация, когда нужно избавиться от папок .svn внутри проекта. Конечно, в SVN для этого есть команда svn export, но по сути она не удаляет папки .svn из рабочей копии, а извлекает копию проекта из удаленного репозитория (но не привычную всем рабочую копию, так как в ней не будет папок .svn). А так как экспорт идет из удаленного репозитория — то во-первых, для выполнения экспорта понадобится интернет, а во-вторых, процесс займет гораздо больше времени, нежели просто рекурсивное удаление папок .svn.

Поэтому часто вместо привычной команды svn export в Ubuntu я использую следующую команду:

find . -name .svn -print0 | xargs -0 rm -rf

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

P.S. С этого дня короткие посты в моем блоге будут публиковаться в специальном разделе «Заметки». В раздел «Блог» будут помещаться только большие статьи, в которых есть что прятать под кат.