SVN标签:如何不更新/签出它们?
在许多项目中,我查看了完整的存储库,然后获得了标准目录结构:SVN标签:如何不更新/签出它们?,svn,tags,Svn,Tags,在许多项目中,我查看了完整的存储库,然后获得了标准目录结构: project/ branches/ tags/ trunk/ 如果我做了一个svn-up项目,那么分支和主干文件夹都没问题,但是,当然,标签文件夹也会被更新,并且(大部分)充满了很多标签版本,这些版本对我的工作没有价值,只会占用磁盘空间 如何从svn更新中删除标签文件夹?特别是,我如何仅在本地执行此操作,即不将其提交回存储库,使用svn:ignore关键字的解决方案就可以了?您应该在主干或特定分支上签出并工
project/
branches/
tags/
trunk/
如果我做了一个svn-up项目
,那么分支
和主干
文件夹都没问题,但是,当然,标签
文件夹也会被更新,并且(大部分)充满了很多标签版本,这些版本对我的工作没有价值,只会占用磁盘空间
如何从
svn更新中删除标签
文件夹?特别是,我如何仅在本地执行此操作,即不将其提交回存储库,使用svn:ignore
关键字的解决方案就可以了?您应该在主干或特定分支上签出并工作。听起来您已经签出了整个项目树。首先,您要以非递归方式(-N或--non-recursive)签出项目的顶部
现在,在此阶段,您只能更新主干:
svn up my_project_checkout/trunk
要仅更新特定文件夹,请将其传递给svn update命令
svn update project/branches project/trunk
对于这种情况,Subversion有一个称为稀疏签出的功能
svn up --set-depth empty project/tags
这将删除所有签出的标记,只留下“标记”目录
另一个选择是:
svn up --set-depth immediates project/tags
它将检出标记目录本身,但不会检出其内容。
通过这种方式,您可以轻松查看新标签,并通过以下方式获取单个标签的内容:
svn up --set-depth infinity project/tags/mytag
编辑:
这也适用于elcucos解决方案,您甚至可以将其用于您的分支目录。事实上,是的,我正在检查整个内容,因为它a)适合特定项目的工作流程,b)可以通过单个svn up
轻松更新(与2svn up
用于拆分签出相比)。我希望有一个解决方案能够保持完整回购协议的签出。好的,但在某些情况下,它可能比您在trunk
下需要的还要多。问题是,是否可以说您只需要目录“a”、“b”和“d”,而不需要目录“c”?
svn up --set-depth infinity project/tags/mytag