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

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


当前回答

在Windows上,你可以在资源管理器右键菜单中添加一个快速链接。 启动这个注册表脚本:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Folder\shell\DeleteSVN]
@="Delete SVN Folders"

[HKEY_CLASSES_ROOT\Folder\shell\DeleteSVN\command]
@="cmd.exe /c \"TITLE Removing SVN Folders in %1 && COLOR 9A && FOR /r \"%1\" %%f IN (.svn) DO RD /s /q \"%%f\" \""

这将添加一个名为“删除SVN文件夹”的项目到您的右键菜单。这将删除该文件夹中的所有。svn文件夹及其所有子文件夹。

来源(德语):http://www.sjmp.de/software/alle-svn-ordner-und-dateien-loeschen/

其他回答

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文件夹,然后控件将自动删除。

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

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

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

我发现你甚至不需要复制到一个临时位置。你可以做一个

svn export --force .

.svn文件将被删除,其他文件将保持原样。非常方便,不容易杂乱。