Svn:如何签出一些目录,仍然可以在root用户更新

时间:2010-10-29 21:11:13

标签: svn branch repository-pattern commit svn-checkout

我有一个SVN项目,看起来像这样:

存储库

 project
   |-- docs
   |-- scripts
   `-- app
        |-- trunk
        |-- branches
        |     `-- development
        `-- tags
            |-- Release_1.0
            |-- ...
            `-- Release_5.3

我想要这样的工作文件夹:

工作副本

 dir_root
   |-- docs
   |-- scripts
   |-- trunk
   `-- branches
         `-- development

我想在一次提交中同时提交“dir_root / trunk”和“dir_root / docs”中的一些代码,只有1个修订号。

如何checkout忽略“tags”文件夹,仍然可以提交到多个目录。

注意

  • 我无法检出所有存储库,因为“标签”包含太多版本。
  • 我尝试使用稀疏目录,但是当我尝试提交时,它一直给我这个错误“ svn:'/ dir_root'不是工作副本”。

2 个答案:

答案 0 :(得分:1)

从错误看,dir_root下的每个文件夹都是单独结帐的。因此dir_root本身与SVN中的project文件夹不对应。

您可以首先将project--depth immediates签入dir_root。这将创建一个类似于dir_root中SVN的文件夹结构。在此之后,您可以更新您感兴趣的子文件夹(例如docstrunk等)。完成此操作后,您可以对内容进行更改,并从dir_root执行一次提交,其中包含对dir_root/trunkdir_root/docs的更改。

答案 1 :(得分:0)

使用您提到的结构创建一个带有svn:externals的目录将解决您的问题。