SVN递归删除

时间:2008-11-05 04:12:34

标签: svn

有没有办法删除文件夹,让我们从SVN中继递归调用FolderX?在谷歌上快速搜索只告诉我如何递归删除所有.svn文件夹,这不是我想要做的

6 个答案:

答案 0 :(得分:32)

在posix系统上尝试以下内容:

find ./ -name "FolderX" | xargs svn delete --force

这将找到从当前目录开始的所有匹配文件/文件夹,并对它们执行操作,即svn delete。我不知道如果没有cygwin,如何在Windows中执行此操作。

对于win32,下面的评论者提出了类似的解决方案(cmd):

for /R . %1 in (*.EXT) do svn delete %1

答案 1 :(得分:4)

即使子树中存在未版本控制的文件,

svn delete FolX --force也应该可以解决问题。

答案 2 :(得分:2)

find . -name ".svn" -exec rm -rf {} \;

来源:Recursive SVN delete

答案 3 :(得分:0)

我创建了一个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 .

答案 4 :(得分:0)

如果要在批处理文件中使用它,请不要忘记将%加倍:

  

表示/ R. (* .EXT)中的%1执行svn删除%1

_

  

表示/ R. (* .EXT)中的%% 1执行svn delete %% 1

答案 5 :(得分:-1)

它对我来说效果很好

find directory_to_delete/ -type d -name '*.svn' | xargs rm -rf