我有一个文件夹c:\ sites\test,它包含从一个不再存在的存储库中签出的文件夹和文件。如何让Subversion停止跟踪该文件夹和任何子文件夹和文件?
我知道我可以简单地删除.svn文件夹,但是在很多层中有很多子文件夹。
我有一个文件夹c:\ sites\test,它包含从一个不再存在的存储库中签出的文件夹和文件。如何让Subversion停止跟踪该文件夹和任何子文件夹和文件?
我知道我可以简单地删除.svn文件夹,但是在很多层中有很多子文件夹。
当前回答
从Windows命令行:
rmdir .svn /s /q
其他回答
这些答案对我的情况都不满意。我在subversion 1.8上,我有一个工作副本,在第一个文件夹root中只有一个.svn文件夹。但是,我想从工作副本中删除一些分支。
无论我做什么,每当我运行“更新”时,它都会恢复这些文件并将它们全部带回来。我不想从存储库中删除它们,而只是从我的计算机中删除它们——但我需要保持其余的工作副本(因此不能仅仅删除.svn文件夹)。
解决方案吗?SVN update——set-depth exclude <dir>
这是排除特定目录的客户端“更新”。可以在svnbook.com的手册中找到。简而言之,它将其描述为:
从Subversion 1.6开始,您可以采用不同的方法。首先,查看完整的目录。然后在您不关心的子目录上运行svn update——set-depth exclude。
对于TortoiseSVN,你也可以通过右键单击你不想要的文件夹来做同样的事情,单击Update to revision…,然后将“更新深度”设置为“排除”,如下图所示:
答案非常简单——导出文件夹到它自己!TortoiseSVN检测到这种特殊情况,并询问您是否希望使工作副本无版本控制。如果回答“是”,则控制目录将被删除,您将拥有一个普通的、未版本化的目录树。
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 删除本地回购文件
您可以使用“svn export”来创建一个没有svn数据的文件夹的副本,或者您可以将该文件夹添加到忽略列表中