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

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


当前回答

答案非常简单——导出文件夹到它自己!TortoiseSVN检测到这种特殊情况,并询问您是否希望使工作副本无版本控制。如果回答“是”,则控制目录将被删除,您将拥有一个普通的、未版本化的目录树。

其他回答

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

svn export --force .

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

试试svn export。

你应该可以这样做:

svn export /path/to/old/working/copy /path/to/plain/code

然后删除旧的工作副本。

TortoiseSVN也有一个导出特性,其行为方式与此相同。

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

重要的一点是,当您使用shell删除.svn文件夹时,您需要使用-depth参数来防止find命令进入刚刚删除的目录并显示错误消息,例如:

“找到:。/。svn:没有这样的文件或目录"

因此,你可以像下面这样使用find命令:

cd [dir_to_delete_svn_folders]
find . -depth -name .svn -exec rm -fr {} \;

另一个(更简单的)Linux解决方案:

rm -r `find /path/to/foo -name .svn`