Есть ли способ удалить папку, позволяет рекурсивно вызывать ее FolderX из строки SVN? Быстрый поиск в Google только говорит мне, как рекурсивно удалить все .svn-папки, и это не то, что я хочу сделать
SVN рекурсивное удаление
Ответ 1
В системе posix попробуйте следующее:
find ./ -name "FolderX" | xargs svn delete --force
Здесь будут найдены все соответствующие файлы/папки, начинающиеся в текущем каталоге и выполняющие на них действие, т.е. svn delete. Я не уверен, как это сделать в Windows, но без cygwin.
Для win32 нижеприведенный комментатор предлагает аналогичное решение (cmd):
for /R . %1 in (*.EXT) do svn delete %1
Ответ 2
svn delete FolX --force
должен делать трюк, даже если в поддереве есть файлы без вершин.
Ответ 3
find . -name ".svn" -exec rm -rf {} \;
Источник: Рекурсивное удаление SVN
Ответ 4
Я создал SH, чтобы работать легко, как обычный rm.
- В "/usr/bin" я создаю файл rm_svn_dirs, put:
#!/bin/bash
if [ $\# -eq 0 ] ; then
echo
echo "Path not found"
echo "Use:"
echo " $0 path"`
echo " $0 /var/www/test/svn/website"
echo " $0 ."
echo "Operation cancelled"
echo
exit 1
fi
echo
echo "Recursively delete .svn directories in:"
if [ $1 != "." ] ; then
echo $1
else
pwd
fi
echo
read -p "Continue? [Yes/No]: " x
if [ "$x" != "Yes" ] ; then
echo "Operation cancelled"
echo
exit 1
fi
find $1 -name .svn -exec rm -rf {} \;
echo "End!"
echo
exit 0`
-
Сохраните файл и сделайте его выполнимым:
chmod +x rm_svn_dirs
-
Чтобы использовать:
rm_svn_dirs /var/www/svn/www
rm_svn_dirs ./svn/www
rm_svn_dirs .
Ответ 5
Это сработало хорошо для меня
find directory_to_delete/ -type d -name '*.svn' | xargs rm -rf
Ответ 6
Не забудьте удвоить%, если вы хотите использовать его в пакетном файле:
для/R. % 1 in (*.EXT) do svn delete% 1
_
для/R. %% 1 in (*.EXT) do svn delete %% 1