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

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


当前回答

这对我来说很有效:

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

其他回答

对于那些使用NetBeans与SVN,有一个选项“Subversion >导出”。

NetBeans IDE用户可以这样做:

在IDE中打开SVN项目 选择项目 右击 颠覆 出口 在对话框中 导出到文件夹 /var/tmp/projectname 按出口 等待 将显示完整 会问你要不要打开它,要不要打开就飞 你现在可以切换到Git:)

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

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

另外,如果您正在使用TortoiseSVN,只需导出到当前的工作副本位置,它将删除.svn文件夹和文件。

http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-export.html#tsvn-dug-export-unversion

Subversion 1.7的更新答案: 在Subversion 1.7中,工作副本已被广泛修订。只有一个.svn文件夹,位于工作副本的底部。如果您使用的是1.7,那么只需删除.svn文件夹及其内容就是一个简单的解决方案(无论使用TortoiseSVN还是命令行工具)。

使用svn export命令:

cd c:\websites\test
svn export c:\websites\test_copy

导出版本控制下的所有文件。仔细检查,确保你没有错过任何东西。