我有一个文件夹c:\ sites\test,它包含从一个不再存在的存储库中签出的文件夹和文件。如何让Subversion停止跟踪该文件夹和任何子文件夹和文件?

我知道我可以简单地删除.svn文件夹,但是在很多层中有很多子文件夹。


当前回答

在Linux上,这将工作:

  find . -iname ".svn" -print0 | xargs -0 rm -r

其他回答

在Windows 7上,你只需要打开项目文件夹,然后搜索“”。如果启用隐藏文件,则删除所有找到的。Svn文件夹。

使用以下方法:

SVN rm——keep-local <文件夹名>删除文件夹和其中的所有内容。

SVN rm——keep-local <文件夹名>/*保留文件夹,但删除文件夹内的所有内容。

下面是一个例子:

~/code/web/sites/testapp $ svn rm --keep-local includes/data/*
D         includes/data/json
D         includes/data/json/index.html
D         includes/data/json/oembed
D         includes/data/json/oembed/1.0
D         includes/data/json/oembed/1.0/embed1.json
D         includes/data/json/oembed/1.0/embed2.json
D         includes/data/json/oembed/1.0/embed3.json

Linux下不带subshell删除。svn文件夹:

find . -name .svn -exec rm -r -f {} +

rm = remove
-r = recursive (folders)
-f = force, avoids a lot of "a your sure you want to delete file XY".

还有一个很棒的小开源工具叫做SVN Cleaner,它在Windows资源管理器上下文菜单中添加了三个选项:

删除所有。svn 删除Root .svn 删除本地回购文件

我使用rsync:

# copy folder src to srcStripped excluding subfolders named '.svn'. retain dates, verbose output
rsync -av --exclude .svn src srcStripped