svn签深度

问题描述:

我有一个SVN项目有树这样的:svn签深度

/project 
    /dir1 
     /subdir1 
      -file1 
      -file2 
      ..... 
     -file1 
     -file2 
     ..... 
    /dir2 
     -file1 
     -file2 
     ..... 
    /dir3 
     /subdir1 
      -file1 
      -file2 
      ..... 
     /subdir2 
      -file1 
      -file2 
      ..... 
     /subdir3 
      -file1 
      -file2 
      ..... 
     /subdir4 
      -file1 
      -file2 
      ..... 
    /dir4 
     -file1 
     -file2 
     ..... 
-file1 
-file2 

我需要从/项目

  • 全/ DIR1
  • 全/ DIR2签

    • 所有文件
    • full/dir4
    • From/dir3我只需要/ subdir1和/ subdir3

    我可以使用svn命令行检查这些文件/文件夹的某种深度吗? 如果是的话我该怎么办? 结帐后可以将subdir2添加到dir3吗? 如何更新以此方式创建的工作副本?将正常的“svn up”命令只更新这些文件夹或完整更新项目将执行?

  • 你需要的是叫做sparse checkout

    在您的情况,您可以:

    svn co --depth files file:///project project 
    cd project 
    svn up --set-depth infinity dir1 dir2 dir4 
    svn up --set-depth empty dir3 
    svn up --set-depth infinity dir3/subdir1 dir3/subdir3 
    

    我可以添加subdir2结账后DIR3?

    是:svn up --set-depth infinity dir3/subdir2

    创造了这个办法,我如何更新工作副本?将正常的“svn up” 命令更新只有这些文件夹或完整更新的项目才会执行 ?

    是的,svn up将只更新这些文件和文件夹,即更新深度将被保留。

    +0

    感谢lot.So如果我明白,如果一个新的文件夹(例如dir5)将被添加到项目也不会被更新。我对吗? – 2012-07-26 06:17:07

    +0

    是的,dir5的父文件夹已将depth设置为'files',因此将更新新文件,但不会更新新文件夹。 – ks1322 2012-07-26 07:43:37

    +3

    如果你想自动添加新的*子目录,使用'--depth immediates'而不是'--depth文件'应该可以做到。 – 2013-11-11 12:06:51

    1)使用svn了--set深入的空文件/文件夹的路径

    //它会从系统中删除该文件

    2)使用svn了--set-无限深度文件/文件夹路径

    //它将从SVN服务器上的文件重新生成到本地系统