有没有办法递归地从SVN主干中删除一个名为FolderX的文件夹?快速搜索谷歌只告诉我如何递归删除所有 .svn 文件夹,但这不是我想要做的。
有没有办法递归地从SVN主干中删除一个名为FolderX的文件夹?快速搜索谷歌只告诉我如何递归删除所有 .svn 文件夹,但这不是我想要做的。
在类Unix操作系统上,尝试执行以下类似命令:
find ./ -name "FolderX" | xargs svn delete --force
这将在当前目录中查找所有匹配的文件/文件夹并对它们执行操作,例如svn delete。但我不确定如何在Windows上实现此操作而不使用cygwin。
针对win32,下面的评论者建议使用类似的解决方案(cmd):
for /R . %1 in (*.EXT) do svn delete %1
svn delete FolX --force
即使在子树中存在未版本化的文件,也可以完成操作。
find . -name ".svn" -exec rm -rf {} \;
我创建了一个SH文件,可以轻松地作为“rm”常用程序运行。
#!/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`
如果你想在批处理文件中使用它,请不要忘记将百分号加倍:
for /R . %1 in (*.EXT) do svn delete %1
_
对于每一个在当前目录及其子目录下的以.EXT为后缀的文件,执行svn delete %%1命令。这对我很有效
find directory_to_delete/ -type d -name '*.svn' | xargs rm -rf