在许多项目中,我查看了完整的存储库,然后是标准目录结构:
project/
branches/
tags/
trunk/
如果我执行svn up project
,branches
和trunk
文件夹就可以了,但当然,tags
文件夹也会更新并填充(大部分)有很多标记版本,对我的工作没有价值,只占用磁盘空间。
除tags
的{{1}}文件夹外,我该怎么办?特别是,我如何才能在本地中执行此操作,也就是说,不将其提交回存储库,因为使用svn update
关键字的解决方案会做什么?
答案 0 :(得分:16)
对于这种情况,Subversion有一个名为Sparse Checkout的功能。
svn up --set-depth empty project/tags
这将删除所有签出的标签,只留下“标签”目录。
另一种选择是:
svn up --set-depth immediates project/tags
将检查标签目录本身,但不检查其内容 通过这种方式,您可以轻松查看新标记并获取单个标记的内容:
svn up --set-depth infinity project/tags/mytag
修改强>
这也适用于elcucos解决方案,您甚至可以将它用于分支目录。
答案 1 :(得分:13)
首先以非递归方式检查项目顶部(-N或 - 非递归)
svn co https://server/project -N my_project_checkout
现在,在此阶段,您只能更新主干:
svn up my_project_checkout/trunk
答案 2 :(得分:2)
您应该检查并在行李箱或特定分支机构工作。听起来你已经检查了整个项目树。
答案 3 :(得分:1)
要仅更新特定文件夹,请将它们传递给svn update命令。
svn update project/branches project/trunk