代码之家  ›  专栏  ›  技术社区  ›  Boldewyn

SVN标签:如何不更新/签出它们?

  •  8
  • Boldewyn  · 技术社区  · 14 年前

    在许多项目中,我签出完整的存储库,然后使用标准目录结构:

    project/
        branches/
        tags/
        trunk/
    

    如果我做了 svn up project ,一切都很好 branches trunk 文件夹,但是,当然, tags 文件夹也被更新了,并且填充了(大部分)许多标记的版本,这些版本对我的工作没有价值,只占用磁盘空间。

    我怎么能除了 标签 文件夹从 svn update ?尤其是,我该怎么做呢 局部地 只有,也就是说,在不将其提交回存储库的情况下,作为 svn:ignore 关键字可以吗?

    4 回复  |  直到 14 年前
        1
  •  12
  •   elcuco    14 年前

    首先以非递归方式签出项目的顶部(-n或--non-recursive)

    svn co https://server/project -N my_project_checkout
    

    现在,在这个阶段,您只能更新主干:

    svn up my_project_checkout/trunk
    
        2
  •  15
  •   Hardcoded    14 年前

    对于这种情况,Subversion有一个称为稀疏签出的特性。

    svn up --set-depth empty project/tags
    

    这将删除所有签出的标记,只留下“tags”目录。

    另一个选择是:

    svn up --set-depth immediates project/tags
    

    它将检查标记目录本身,但不检查其内容。
    这样,您就可以轻松地看到新标签,并通过以下方式获取单个标签的内容:

    svn up --set-depth infinity project/tags/mytag
    

    编辑:

    这也适用于elcucos解决方案,甚至可以将其用于分支目录。

        3
  •  2
  •   anon    14 年前

    您应该在主干或特定的分支上进行签出和工作。听起来您已经签出了整个项目树。

        4
  •  1
  •   Thomas Meyer    14 年前

    要只更新特定文件夹,请将其传递到svn update命令。

    svn update project/branches project/trunk