Подтвердить что ты не робот

SVN рекурсивное удаление

Есть ли способ удалить папку, позволяет рекурсивно вызывать ее FolderX из строки SVN? Быстрый поиск в Google только говорит мне, как рекурсивно удалить все .svn-папки, и это не то, что я хочу сделать

4b9b3361

Ответ 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 должен делать трюк, даже если в поддереве есть файлы без вершин.

Ответ 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