我有一个文件夹c:\ sites\test,它包含从一个不再存在的存储库中签出的文件夹和文件。如何让Subversion停止跟踪该文件夹和任何子文件夹和文件?
我知道我可以简单地删除.svn文件夹,但是在很多层中有很多子文件夹。
我有一个文件夹c:\ sites\test,它包含从一个不再存在的存储库中签出的文件夹和文件。如何让Subversion停止跟踪该文件夹和任何子文件夹和文件?
我知道我可以简单地删除.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
其他回答
另外,如果您正在使用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还是命令行工具)。
在Windows 7上,你只需要打开项目文件夹,然后搜索“”。如果启用隐藏文件,则删除所有找到的。Svn文件夹。
svn export工作很好,但我认为这是:
svn rm --keep-local <folder/file>
它将从本地存储库中删除它。
重要的一点是,当您使用shell删除.svn文件夹时,您需要使用-depth参数来防止find命令进入刚刚删除的目录并显示错误消息,例如:
“找到:。/。svn:没有这样的文件或目录"
因此,你可以像下面这样使用find命令:
cd [dir_to_delete_svn_folders]
find . -depth -name .svn -exec rm -fr {} \;
使用以下方法:
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