这是我的场景:我有一个根文件夹,其中包含许多与项目相关的文件和文件夹。根文件夹受版本控制,但实际上只包含其中包含的一些文件/子文件夹。这样做是因为只需要安全地跟踪这些文件并与更大的工作组共享
现在,我不再处理该项目了,我希望尽可能少地保留本地副本。如果这有意义,我还希望副本仍然保留重新连接到repo的所有信息。在实践中,我想:
(1)是微不足道的
(3)我认为我可以手动删除它们(不使用SVN这样做),以便在下一次"更新"它会发现它们缺失并再次下载,对吧?
(2)怎么样?我找到了一些人询问你是否可以阻止SVN存储pristines,答案是否定的。但是,在积极开展项目工作时,这更倾向于作为永久性设置。在这里,我问我是否可以以某种方式删除该数据并让SVN再次下载,如果说,在一年内我需要再次开始处理回购。我可以进入SVN并下载一些"数据子文件夹"没有破坏什么?还有其他想法吗?
由于
答案 0 :(得分:1)
你想要一个sparse checkout,你希望它是如此稀疏,以至于其中没有任何内容。在结帐根目录中,运行以下命令:
svn update --set-depth empty
这将删除SVN工作副本中的所有版本化项目(它会在版本化目录中保留未版本控制的项目以及未版本控制的文件)。此命令不一定会删除pristine商店中的所有文件,但您可以在根目录中强制使用cleanup(假设您的客户端是1.8或更高版本):
svn cleanup
Version 1.8.0
(18 Jun 2013, from /branches/1.8.x)
http://svn.apache.org/repos/asf/subversion/tags/1.8.0
User-visible changes:
- Minor new features and improvements (client-side):
...
* 'svn cleanup' now runs SQLite "vacuum" to reclaim space (r1418459)