我可以忽略svn checkout上的文件夹吗?我需要在我的构建服务器上的结帐时忽略DOCs文件夹.
编辑:忽略外部不是一个选项.我有一些我需要的外部因素.
您不能直接忽略结账时的文件夹,但您可以在svn 1.5中使用稀疏结账.例如:
$ svn co http://subversion/project/trunk my_checkout --depth immediates
这会将项目主干中的文件和目录检查到"my_checkout",但不会递归到这些目录中.例如:
$ cd my_checkout && ls bar/ baz foo xyzzy/
然后得到'bar'的内容:
$ cd bar && svn update --set-depth infinity
是的,您可以使用SVN 1.6.您需要先进行结帐,然后标记要排除的文件夹,然后删除不需要的文件夹.
svn checkout http://www.example.com/project cd project svn update --set-depth=exclude docs rm -fr docs
从现在开始,对工作副本的任何更新都不会重新填充docs文件夹.
请参阅http://blogs.collab.net/subversion/2009/03/sparse-directories-now-with-exclusion/和http://subversion.apache.org/docs/release-notes/1.6.html#sparse-目录排除更多详细信息.
汤姆
对于1.5之前的版本,我发现如果您只签出最顶层的文件夹然后有选择地更新,那么从那时开始更新只会影响你签出的内容.IE浏览器.
svn co -N foo cd foo svn up -N bar svn up
-N标志使操作不是递归的.以上内容不会检查foo级别的任何其他内容,例如.说有一个文件夹lala
,最后的svn up不会检查出那个文件夹,但它会更新bar
.
但是稍后您可以svn up lala
将其添加到结帐时.
据推测,这也适用于1.5.
这是在TortoiseSVN客户端1.7.1(也可能在某些旧版本中可用):
SVN签出 - >选择存储库的URL
点击"Checkout Items"(Checkout Depth)并选择仅需要的文件夹!